Work-Package: M02-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex Tests: all M02 contracts, renderer dry-run, documentation and coordination gates passed Fidelity: direct binding evidence and reference-only timing/routing are separated; remaining locomotion/camera gaps stay explicit
6.3 KiB
OpenWC Targets
Этот каталог задаёт обязательную последовательность реализации. Архитектура описана в docs/, фактическое состояние renderer — в RENDER.md, а здесь находятся исполняемые milestones.
Полная инженерная декомпозиция всех подсистем находится в DEVELOPMENT_ROADMAP.md. Перед работой над milestone агент читает соответствующий subsystem plan из targets/roadmap/, но статус меняет только в исполняемом target-файле M00–M13.
Параллельная командная работа выполняется по ../docs/TEAM_WORKFLOW.md: отдельные worktrees, claims, exclusive paths, contract-first и интегратор milestone.
Current target
M03 — 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 | — | DONE |
| M01 | Coordinates and architecture seams | M00 | DONE |
| M02 | Player decomposition | M01 | DONE |
| M03 | Renderer facade and extraction | M02 | ACTIVE |
| M04 | Godot Editor shell | M03 | OPEN |
| M05 | Content Project | M04 | OPEN |
| M06 | Server database adapters | M05 | OPEN |
| M07 | World Editor vertical slice | M06 | OPEN |
| M08 | Network foundation | M03 | OPEN |
| M09 | Gameplay domain | M08 | OPEN |
| M10 | Playable client slice | M09, M03 | OPEN |
| M11 | Quest end-to-end | M07, M10 | OPEN |
| M12 | WoW 3.3.5a completeness | M11 | OPEN |
| M13 | Dungeon authoring | M12 foundation | OPEN |
M12 выполняется восемью completeness waves, определёнными в 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-файла агент заполняет:
## Evidence
- Date:
- Revision/worktree:
- Commands:
- Results:
- Fidelity comparison:
- Changed files:
- Remaining risks: