[Add] New Tasks

This commit is contained in:
2026-04-08 21:23:40 +07:00
parent 5feafdbcd3
commit a97a3f1fc1
3 changed files with 203 additions and 1 deletions
+2
View File
@@ -64,3 +64,5 @@
| TASK-0022 | ToDo | Highest | worldgen | unassigned | 1d | docs/tasks/items/TASK-0022.md | Интегрировать спавн врагов в VoxelWorldGenerator: спавнить по загрузке чанка и учитывать kill-state. |
| TASK-0023 | InProgress | Highest | ai | abysscion | 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-0025 | ToDo | Highest | build | unassigned | 1d | docs/tasks/items/TASK-0025.md | Описать и зафиксировать flow локального теста билда: сборка, запуск, host/client сценарий и обязательный smoke checklist. |
| TASK-0026 | BackLog | High | ui | unassigned | 2d | docs/tasks/items/TASK-0026.md | Реализовать миникарту и механизм сохранения открытой карты у хоста так, чтобы состояние миникарты было общим для всех игроков мира. |
+99
View File
@@ -0,0 +1,99 @@
---
id: TASK-0025
title: Описать flow локального теста билда
summary: Зафиксировать repeatable flow локального теста билда: как собрать проект, как запускать host/client сценарий и что обязательно проверять перед ручным прогоном.
priority: Highest
area: build
owner: unassigned
created: 2026-03-31
updated: 2026-03-31
execution_time: 1d
depends_on: []
canonical_docs:
- docs/tasks/Index.md
related_files:
- ProjectSettings/
- Assets/Scenes/
---
# TASK-0025 - Описать flow локального теста билда
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
## Why
Без зафиксированного локального flow билд-тестов сложно быстро и одинаково проверять игру перед изменениями, особенно когда проект одновременно развивается в networking, voxel worldgen и gameplay.
## Expected Outcome
Есть понятный и повторяемый локальный сценарий проверки билда: как собрать проект, как запустить игру, как проверить host/client сценарий и какие smoke-checks обязательны перед ручным завершением теста.
## Current Context
Сейчас локальная проверка билда не оформлена как канонический процесс. Из-за этого каждый новый прогон легко делается по-разному и важные регрессии можно пропустить.
## Source Of Truth
- `ProjectSettings/...`
- фактический build pipeline проекта
- актуальные игровые сцены и точка входа в игру
## Read First
- `README.md`
- `docs/tasks/Index.md`
- `ProjectSettings/...`
- `Assets/Scenes/...`
## Scope In
- описать локальную сборку проекта для основного target
- зафиксировать host/client сценарий локального прогона
- описать smoke checklist после запуска билда
- указать, какие артефакты или логи нужно смотреть при сбое
## Scope Out
- автоматизация CI/CD
- полное end-to-end покрытие всех игровых сценариев
## Constraints
- flow должен быть достаточно коротким для частого повторения
- шаги должны быть воспроизводимыми на одной машине разработчика
## Suggested Approach
1. Зафиксировать основной build target и точку входа.
2. Описать последовательность сборки и запуска host/client локально.
3. Сформировать короткий smoke checklist.
4. Добавить заметки по типовым ошибкам и логам.
## Acceptance Criteria
- есть документированный flow локального теста билда
- есть checklist для host/client smoke test
- новый человек или AI может повторить прогон без уточнений в чате
## Verification
- пройти описанный flow вручную
- убедиться, что шаги не зависят от скрытых предположений
## Risks / Open Questions
- если build flow сильно зависит от окружения, понадобится отдельно фиксировать prerequisites
## Human Decisions Needed
- none currently
## Decision Log
- `2026-03-31` - задача добавлена для стандартизации ручной локальной проверки билда.
## Handoff Notes
Если в проекте появится отдельный build script или launcher, этот task нужно обновить и сослаться уже на него как на канонический entry point.
+101
View File
@@ -0,0 +1,101 @@
---
id: TASK-0026
title: Реализовать миникарту и сохранение карты у хоста
summary: Добавить миникарту и хранить ее открытое состояние у хоста так, чтобы карта была общей для всех игроков мира и сохранялась вместе с world-state.
priority: High
area: ui
owner: unassigned
created: 2026-03-31
updated: 2026-03-31
execution_time: 2d
depends_on:
- TASK-0003
- TASK-0004
canonical_docs:
- docs/tasks/Index.md
related_files:
- Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.cs
- Assets/Scenes/
---
# TASK-0026 - Реализовать миникарту и сохранение карты у хоста
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
## Why
Миникарта нужна как gameplay и navigation feature, но ее состояние не должно жить только локально у клиента. Хост должен быть источником истины для открытой карты мира, чтобы все игроки видели согласованное состояние.
## Expected Outcome
В игре есть миникарта, а открытые области карты сохраняются в состоянии мира у хоста и корректно восстанавливаются для всех игроков при повторном входе в мир.
## Current Context
Воксельный мир уже генерируется чанками, а world persistence выделен в отдельные задачи. Миникарта должна опираться на те же координаты чанков и храниться как часть world-state, а не как чисто локальный UI cache.
## Source Of Truth
- `docs/tasks/items/TASK-0003.md`
- `docs/tasks/items/TASK-0004.md`
- runtime реализация minimap и world save
## Read First
- `docs/tasks/items/TASK-0003.md`
- `docs/tasks/items/TASK-0004.md`
- `Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.cs`
## Scope In
- базовое UI отображение миникарты
- определение, какие области карты считаются открытыми
- host-authoritative хранение открытой карты мира
- восстановление состояния миникарты для всех игроков
## Scope Out
- полнофункциональная world map с маркерами, пингами и пользовательскими заметками
- сложная система fog-of-war по каждому игроку отдельно
## Constraints
- источник истины по открытой карте у хоста
- состояние карты должно быть частью world-state, а не только локального клиента
- решение должно быть совместимо с chunked voxel world
## Suggested Approach
1. Определить формат minimap data на уровне чанков/областей.
2. Выбрать правило открытия карты: посещение, радиус обзора, загрузка чанка или явный reveal.
3. Сохранить это состояние в world save у хоста.
4. Подключить синхронизацию minimap state для новых и уже подключенных игроков.
## Acceptance Criteria
- миникарта отображает мир в согласованной форме
- открытая карта сохраняется у хоста
- новые игроки и повторно подключившиеся игроки получают актуальное состояние карты
## Verification
- ручной тест: открыть часть мира, перезапустить мир и проверить восстановление
- ручной тест: второй игрок подключается и получает ту же карту
## Risks / Open Questions
- нужно решить, хранить ли карту как coarse chunk-state, bitmap или другой компактный формат
## Human Decisions Needed
- none currently
## Decision Log
- `2026-03-31` - задача добавлена как backlog feature с host-authoritative persistence minimap state.
## Handoff Notes
Если позже понадобится отдельная личная карта игрока, не ломать эту задачу: вынести per-player overlays поверх общего world minimap state.