[Add] New Tasks (The tasks have not been verified)

This commit is contained in:
2026-03-30 10:50:02 +07:00
parent 5434a7e601
commit 129fcf783b
21 changed files with 2230 additions and 6 deletions
+114
View File
@@ -0,0 +1,114 @@
---
id: TASK-0001
title: Зафиксировать MVP-архитектуру диаблоида на FishNet
summary: Описать каноническую архитектуру MVP, включая разделение player/world, authority, сетевые границы, детерминизм и связи между подсистемами.
priority: Highest
area: architecture
owner: unassigned
created: 2026-03-30
updated: 2026-03-30
execution_time: 1d
depends_on: []
canonical_docs:
- docs/tasks/Index.md
- docs/tasks/_template.md
related_files:
- Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs
- Assets/Scripts/WorldGen/WorldAutotileProfile.cs
- Assets/Scripts/Player/SimplePlayerInputMover.cs
---
# TASK-0001 - Зафиксировать MVP-архитектуру диаблоида на FishNet
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
Допустимые значения статуса:
- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`
## Why
Без общей архитектуры легко получить несовместимые решения между генерацией мира, сетевым кодом, сохранениями, персонажами, инвентарем и AI. Эта задача должна зафиксировать правила MVP до начала активной реализации.
## Expected Outcome
Появляется документ или набор canonical notes, где определены: модель мира и игрока, границы ответственности сервера и клиента, правила детерминизма по seed, формат идентификаторов чанков и сущностей, а также зависимости между будущими системами.
## Current Context
В проекте уже есть рабочий слой генерации мира в `Assets/Scripts/WorldGen/*`, но нет зафиксированной архитектуры под сетевую игру, классы персонажей, боевую систему и сохранения.
## Source Of Truth
- `docs/tasks/Index.md`
- код в `Assets/Scripts/WorldGen/*`
- явные решения человека по MVP после создания этой задачи
## Read First
- `docs/tasks/Index.md`
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
- `Assets/Scripts/WorldGen/WorldAutotileProfile.cs`
- `Assets/Scripts/Player/SimplePlayerInputMover.cs`
## Scope In
- зафиксировать high-level архитектуру MVP
- описать authority model для FishNet
- определить канонические идентификаторы игрока, мира, чанка, врага и предмета
- определить границы между runtime world data, player save data и session state
## Scope Out
- полноценная реализация подсистем
- контентная балансировка
## Constraints
- сохраняйте существующий worldgen как стартовую точку, если человек явно не меняет направление
- предпочитайте минимальную архитектуру, достаточную для MVP
- все последующие задачи должны опираться на решения из этой задачи
## If You Find Drift
- если текущий код worldgen конфликтует с новой сетевой моделью, фиксируйте конфликт отдельно
- не ломайте существующий editor tooling без отдельного решения
## Suggested Approach
1. Описать целевой gameplay loop MVP и обязательные подсистемы.
2. Зафиксировать границы server authority, client prediction и persistence.
3. Связать решения с конкретными task-файлами и артефактами кода.
## Acceptance Criteria
- есть каноническое описание архитектуры MVP с понятными границами подсистем
- определено, где живут данные мира, игрока, сессии и чанка
- определено, какие части обязаны быть детерминированными по seed
## Verification
- вычитка документа на непротиворечивость с `Index.md`
- проверка, что все downstream task-файлы опираются на решения из этой задачи
## Risks / Open Questions
- без раннего решения по authority возможно придется переписывать боевую систему и AI
## Human Decisions Needed
- none currently
## Decision Log
- `2026-03-30` - архитектурную задачу вынесли в отдельный highest-priority task перед реализацией сетевых и боевых систем.
## Handoff Notes
После фиксации архитектуры обновить `canonical_docs` в downstream task-файлах, если появится новый канонический документ.