# OpenWC Targets

<!-- OPENWC_TARGET_INDEX_VERSION:1 -->

Этот каталог задаёт обязательную последовательность реализации. Архитектура описана в `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:
```
