Files
open-wc/docs/ROADMAP.md
T
sindoring f77f50c0f9 docs(M04): prioritize renderer fidelity milestone
Work-Package: M04-RND-FIDELITY-ROADMAP-001
Agent: sindo-main-codex-renderer-roadmap
Tests: coordination, documentation, target sequence, old-link and diff gates pass
Fidelity: original build-12340 captures are authoritative; Noggit is secondary reference
2026-08-02 17:41:18 +04:00

6.3 KiB
Raw 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 — Renderer fidelity и graphics foundation

  • Original-client build-12340 corpus: две базовые позиции выбранной локации, settings/time/weather/camera metadata, static и temporal evidence.
  • Точные color, terrain, M2/WMO material, sky/fog/weather и shadow rules.
  • MH2O/MCLQ/MLIQ liquids, GPU animation, characters, particles и ribbons.
  • Раздельные Blizzlike335 и opt-in Enhanced/Racing graphics profiles.
  • Paired semantic-region comparison, human approval и traversal/GPU budgets.

Готово, когда утверждённая capture matrix не содержит неклассифицированных визуально различимых gaps, а общие graphics contracts пригодны клиенту, Editor preview и racing fork.

M2 — 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 и получить идентичное состояние.

M3 — 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 без молчаливой потери данных.

M4 — 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 в ожидаемой позиции.

M5 — 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 квест полностью проходится клиентом.

M6 — Playable network client

  • Auth, realm, character selection и world session.
  • Entity/update fields и world spawn.
  • Movement prediction/reconciliation.
  • Basic HUD, targeting, chat и disconnect recovery.

Готово, когда клиент стабильно входит в мир, перемещается и видит синхронизированные entities.

M7 — Core gameplay

  • Combat/spells/auras/death.
  • Inventory/equipment/loot/vendors.
  • Quest runtime и world map/minimap.
  • Character visuals и animation coverage.
  • Lua/FrameXML foundation.

Готово, когда базовый leveling loop проходит без внешнего клиента.

M8 — 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.

M9 — 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. original-client renderer fidelity и frame pacing текущего M04;
  3. корректность протокола и authoritative state;
  4. пользовательский vertical slice;
  5. diagnostics и testability;
  6. opt-in визуальные улучшения после Blizzlike evidence.

Не делать раньше времени

  • прямую запись в production DB;
  • универсальный visual scripting для любой C++ механики;
  • массовую реализацию Lua API без работающего UI slice;
  • полный custom renderer до bounded shader/backend spike и profiler evidence;
  • multi-expansion abstraction до устойчивого профиля 3.3.5a;
  • proprietary asset packaging в репозитории.