# OpenWC Targets Этот каталог задаёт обязательную последовательность реализации. Архитектура описана в `docs/`, фактическое состояние renderer — в `RENDER.md`, а здесь находятся исполняемые milestones. Полная инженерная декомпозиция всех подсистем находится в [`DEVELOPMENT_ROADMAP.md`](DEVELOPMENT_ROADMAP.md). Перед работой над milestone агент читает соответствующий subsystem plan из `targets/roadmap/`, но статус меняет только в исполняемом target-файле M00–M13. Параллельная командная работа выполняется по [`../docs/TEAM_WORKFLOW.md`](../docs/TEAM_WORKFLOW.md): отдельные worktrees, claims, exclusive paths, contract-first и интегратор milestone. ## Current target `M03` — [03-renderer-facade.md](03-renderer-facade.md) Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей. Статусные метки применяются только к исполняемым файлам `targets/[0-9][0-9]-*.md`. `DEVELOPMENT_ROADMAP.md` и `targets/roadmap/` являются нормативной декомпозицией, но не создают параллельную систему статусов. ## 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) | — | DONE | | M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | DONE | | M02 | [Player decomposition](02-player-decomposition.md) | M01 | DONE | | M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | ACTIVE | | 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 | M12 выполняется восемью completeness waves, определёнными в [`DEVELOPMENT_ROADMAP.md`](DEVELOPMENT_ROADMAP.md), а не одной массовой реализацией. 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; - выполнен documentation gate: inline public API, module spec, inputs/outputs и обязательные diagrams; - выполнен coding gate: явные имена, KISS, отсутствие premature abstraction и необоснованной optimization; - проходят `tools/verify_coordination.ps1` и `tools/verify_documentation.ps1`; - воспроизводимость без proprietary данных в Git. ## Evidence format В конце target-файла агент заполняет: ```text ## Evidence - Date: - Revision/worktree: - Commands: - Results: - Fidelity comparison: - Changed files: - Remaining risks: ```