архитектура и цели для агентов

This commit is contained in:
2026-07-10 10:28:37 +04:00
parent f561e52aa9
commit 93bfe114c0
46 changed files with 2826 additions and 55 deletions
+112
View File
@@ -0,0 +1,112 @@
# Roadmap OpenWC
> Этот документ объясняет стратегию на высоком уровне. Исполняемый порядок, текущий статус, checklist и доказательства завершения ведутся только в [`../targets/README.md`](../targets/README.md). При расхождении `targets/` имеет приоритет.
## Стратегия
Работа идёт вертикальными срезами. Каждый срез включает data, domain, adapter, presentation, editor support, diagnostics и tests. Горизонтальная реализация всех opcodes или всех editor-панелей без пользовательского результата не считается milestone.
## M0 — Архитектурный фундамент
- Утвердить документы и ADR workflow.
- Ввести module boundaries и dependency checks.
- Выделить input, camera, movement, terrain query и character presentation из тестового контроллера.
- Заменить зависимость streamer от Camera3D на `StreamingFocus`.
- Зафиксировать coordinate mapper и golden points.
Готово, когда render sandbox сохраняет текущее качество, а domain тестируется без scene tree.
## M1 — Content Project и Editor shell
- `addons/openwc_editor` с workspace и docks.
- Content Project schema, stable IDs, save/load/migration.
- Selection, command history, autosave/recovery.
- Validation dock и headless validation.
- Read-only asset/content browser.
Готово, когда небольшой synthetic project можно создать, изменить, undo, перезапустить Editor и получить идентичное состояние.
## M2 — Server inspector и adapters
- TrinityCore/AzerothCore connection profiles.
- Schema detection и capabilities.
- Read-only snapshots creatures, gameobjects, spawns и quests.
- Канонические модели, semantic diff и ID allocation.
- SQL change-set dry-run на disposable DB.
Готово, когда одна сущность round-trip проходит оба поддерживаемых adapter profile без молчаливой потери данных.
## M3 — World Editor MVP
- Map viewport и coordinate overlays.
- Server spawn visualization.
- Selection, transform gizmo, placement и paths.
- NPC inspector, validation и undo/redo.
- Change set и dev apply.
Готово, когда NPC размещается в Editor и появляется на тестовом core в ожидаемой позиции.
## M4 — Quest vertical slice
- Quest form и chain graph.
- Kill/collect/explore objectives, giver/ender, rewards и localization.
- Dependency/reachability/economy validation.
- Dev deploy и integrated playtest launcher.
Готово, когда созданный в Editor квест полностью проходится клиентом.
## M5 — Playable network client
- Auth, realm, character selection и world session.
- Entity/update fields и world spawn.
- Movement prediction/reconciliation.
- Basic HUD, targeting, chat и disconnect recovery.
Готово, когда клиент стабильно входит в мир, перемещается и видит синхронизированные entities.
## M6 — Core gameplay
- Combat/spells/auras/death.
- Inventory/equipment/loot/vendors.
- Quest runtime и world map/minimap.
- Character visuals и animation coverage.
- Lua/FrameXML foundation.
Готово, когда базовый leveling loop проходит без внешнего клиента.
## M7 — Dungeon authoring
- DungeonPackage, encounters, triggers, doors и spawn groups.
- SmartAI/script skeleton generation.
- Encounter graph validation и tuning profiles.
- Group/instance/loot/lockout runtime.
Готово, когда custom dungeon собирается, разворачивается и проходится группой на test core.
## M8 — Compatibility и completeness
- Feature matrix WoW 3.3.5a.
- Addon compatibility tiers.
- Social, PvP, professions, economy services, vehicles и cinematics.
- Core revision matrix, migration и release packaging.
- Performance, accessibility, localization и soak hardening.
## Приоритет backlog
При равной ценности порядок такой:
1. безопасность данных и воспроизводимость;
2. корректность протокола и authoritative state;
3. пользовательский vertical slice;
4. diagnostics и testability;
5. frame pacing;
6. визуальная точность и polish.
## Не делать раньше времени
- прямую запись в production DB;
- универсальный visual scripting для любой C++ механики;
- массовую реализацию Lua API без работающего UI slice;
- большой rewrite существующего renderer;
- multi-expansion abstraction до устойчивого профиля 3.3.5a;
- proprietary asset packaging в репозитории.