# 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 в репозитории.