5.4 KiB
Roadmap OpenWC
Этот документ объясняет стратегию на высоком уровне. Исполняемый порядок, текущий статус, checklist и доказательства завершения ведутся только в
../targets/README.md. При расхожденииtargets/имеет приоритет.
Полный roadmap с точки зрения разработки, contracts, subsystem dependencies и gates находится в ../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
При равной ценности порядок такой:
- безопасность данных и воспроизводимость;
- корректность протокола и authoritative state;
- пользовательский vertical slice;
- diagnostics и testability;
- frame pacing;
- визуальная точность и polish.
Не делать раньше времени
- прямую запись в production DB;
- универсальный visual scripting для любой C++ механики;
- массовую реализацию Lua API без работающего UI slice;
- большой rewrite существующего renderer;
- multi-expansion abstraction до устойчивого профиля 3.3.5a;
- proprietary asset packaging в репозитории.