# OpenWC Targets Этот каталог задаёт обязательную последовательность реализации. Архитектура описана в `docs/`, фактическое состояние renderer — в `RENDER.md`, а здесь находятся исполняемые milestones. ## Current target `M00` — [00-render-baseline.md](00-render-baseline.md) Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей. ## Definition of fidelity 1:1 `1:1` означает совпадение наблюдаемого поведения с оригинальным клиентом WoW 3.3.5a build 12340 для выбранного сценария: - wire protocol и update fields; - игровые состояния и переходы; - координаты, timing и server authority; - UI/Lua/FrameXML semantics; - выбор assets, animation, audio и visual rules; - edge cases, ошибки и recovery. Современные улучшения разрешены только за feature flag/profile и не могут менять `Blizzlike335` по умолчанию. Визуальная пиксельная идентичность ограничена возможностями Godot, но каждое осознанное расхождение документируется и измеряется. ## Последовательность | ID | Цель | Зависит от | Статус | |---|---|---|---| | M00 | [Renderer baseline](00-render-baseline.md) | — | ACTIVE | | M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | OPEN | | M02 | [Player decomposition](02-player-decomposition.md) | M01 | OPEN | | M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | OPEN | | M04 | [Godot Editor shell](04-editor-shell.md) | M03 | OPEN | | M05 | [Content Project](05-content-project.md) | M04 | OPEN | | M06 | [Server database adapters](06-server-adapters.md) | M05 | OPEN | | M07 | [World Editor vertical slice](07-world-editor-slice.md) | M06 | OPEN | | M08 | [Network foundation](08-network-foundation.md) | M03 | OPEN | | M09 | [Gameplay domain](09-gameplay-domain.md) | M08 | OPEN | | M10 | [Playable client slice](10-playable-client.md) | M09, M03 | OPEN | | M11 | [Quest end-to-end](11-quest-end-to-end.md) | M07, M10 | OPEN | | M12 | [WoW 3.3.5a completeness](12-client-completeness.md) | M11 | OPEN | | M13 | [Dungeon authoring](13-dungeon-authoring.md) | M12 foundation | OPEN | M07 и M08 могут выполняться параллельными командами только после M06/M03 соответственно и только если пользователь явно разрешил параллельную работу. Их результаты сходятся в M11. `recast-rs` запланирован как optional navigation backend в M05, исследовательский CLI spike и world validation в M07, затем полноценная dungeon navigation validation в M13. Он не блокирует M00–M04 и не считается автоматически совместимым с server `mmaps`. `rilua` зарегистрирован как Lua 5.1.1 runtime/test-oracle candidate для M12. До compatibility spike он не добавляется как dependency; UI строится через заменяемый `LuaRuntime`, поскольку WoW API, FrameXML, secure actions и taint не входят в готовый VM. Wowser зарегистрирован как независимый MIT reference для M08 и M12: auth → world protocol lifecycle, binary/data handling, asset pipeline и общий client coverage. Его старый browser stack не является кандидатом на интеграцию; полезные решения принимаются только после проверки против build 12340 и server cores. ## Общий quality gate Каждая цель должна сохранить: - headless загрузку Godot project; - затронутые unit/contract/integration tests; - renderer checkpoints при изменении рендера; - отсутствие новых нарушений dependency rules; - обновлённые документы и diagnostics; - воспроизводимость без proprietary данных в Git. ## Evidence format В конце target-файла агент заполняет: ```text ## Evidence - Date: - Revision/worktree: - Commands: - Results: - Fidelity comparison: - Changed files: - Remaining risks: ```