Files
open-wc/docs/ROADMAP.md

115 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Roadmap OpenWC
> Этот документ объясняет стратегию на высоком уровне. Исполняемый порядок, текущий статус, checklist и доказательства завершения ведутся только в [`../targets/README.md`](../targets/README.md). При расхождении `targets/` имеет приоритет.
Полный roadmap с точки зрения разработки, contracts, subsystem dependencies и gates находится в [`../targets/DEVELOPMENT_ROADMAP.md`](../targets/DEVELOPMENT_ROADMAP.md).
## Стратегия
Работа идёт вертикальными срезами. Каждый срез включает 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 в репозитории.