Files
open-wc/docs/ROADMAP.md

5.4 KiB
Raw Permalink Blame History

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

При равной ценности порядок такой:

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