From 540be5d4a2d67805fedbc2455721e79fb79297b1 Mon Sep 17 00:00:00 2001 From: Alexander Borisov Date: Tue, 7 Apr 2026 01:23:33 +0300 Subject: [PATCH] assigned task to abseshn --- docs/tasks/Index.md | 4 ++-- docs/tasks/items/TASK-0023.md | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/tasks/Index.md b/docs/tasks/Index.md index e66f9e4c..0f40a202 100644 --- a/docs/tasks/Index.md +++ b/docs/tasks/Index.md @@ -62,5 +62,5 @@ | TASK-0020 | BackLog | High | security | unassigned | 1d | docs/tasks/items/TASK-0020.md | Добавить серверные ограничения и валидации против читов и некорректных клиентских команд. | | TASK-0021 | ToDo | High | architecture | unassigned | 2d | docs/tasks/items/TASK-0021.md | Привести проект в порядок: разнести код по asmdef, навести структуру Editor/Runtime и добавить базовые автотесты. | | TASK-0022 | ToDo | Highest | worldgen | unassigned | 1d | docs/tasks/items/TASK-0022.md | Интегрировать спавн врагов в VoxelWorldGenerator: спавнить по загрузке чанка и учитывать kill-state. | -| TASK-0023 | ToDo | Highest | ai | unassigned | 2d | docs/tasks/items/TASK-0023.md | Реализовать runtime NavMesh bake для voxel-чанка и интегрировать обновление навигации при загрузке/изменении чанков. | -| TASK-0024 | ToDo | Highest | art | unassigned | 2d | docs/tasks/items/TASK-0024.md | Заменить Minecraft-placeholder арт на легальные ассеты для продакшена и зафиксировать источник/лицензии. | +| TASK-0023 | InProgress | Highest | ai | unassigned | 2d | `docs/tasks/items/TASK-0023.md` | Реализовать runtime NavMesh bake для voxel-чанка и интегрировать обновление навигации при загрузке/изменении чанков. | +| TASK-0024 | ToDo | Highest | art | unassigned | 2d | docs/tasks/items/TASK-0024.md | Заменить Minecraft-placeholder арт на легальные ассеты для продакшена и зафиксировать источник/лицензии. | \ No newline at end of file diff --git a/docs/tasks/items/TASK-0023.md b/docs/tasks/items/TASK-0023.md index 0ede8382..23ec9bb9 100644 --- a/docs/tasks/items/TASK-0023.md +++ b/docs/tasks/items/TASK-0023.md @@ -6,7 +6,7 @@ priority: Highest area: ai owner: unassigned created: 2026-03-31 -updated: 2026-03-31 +updated: 2026-04-07 execution_time: 2d depends_on: - TASK-0003 @@ -22,6 +22,7 @@ related_files: Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там. + ## Why AI врагов (`TASK-0012`) опирается на NavMesh. Воксельный мир генерируется чанками в рантайме, значит навигация должна обновляться динамически, иначе враги не смогут корректно находить путь. @@ -43,16 +44,19 @@ AI врагов (`TASK-0012`) опирается на NavMesh. Воксельн - обновлять NavMesh при загрузке/выгрузке чанков - ограничения производительности: throttle, бюджет на кадр, батчирование + ## Scope Out - полноценный crowd simulation - оптимизация под большие карты без ограничений + ## Constraints - runtime bake не должен фризить игру - результат должен быть одинаков в рамках одного мира при одинаковых чанках + ## Suggested Approach 1. Выбрать подход: `NavMeshSurface` (если используется пакет) или ручной `NavMeshBuilder.UpdateNavMeshDataAsync`. @@ -60,6 +64,7 @@ AI врагов (`TASK-0012`) опирается на NavMesh. Воксельн 3. Встроить вызов bake в lifecycle чанка: после генерации mesh/коллайдера. 4. Добавить throttling и очереди обновлений. + ## Acceptance Criteria - после генерации чанка враг способен построить путь по поверхности чанка @@ -84,4 +89,4 @@ AI врагов (`TASK-0012`) опирается на NavMesh. Воксельн ## Handoff Notes -Если в проекте нет пакета NavMeshComponents, возможно придется добавить его или реализовать минимальный runtime builder. +Если в проекте нет пакета NavMeshComponents, возможно придется добавить его или реализовать минимальный runtime builder. \ No newline at end of file