From 07f08044f4683b6ac127da5493906f7720fa654d Mon Sep 17 00:00:00 2001 From: sindoring Date: Tue, 14 Jul 2026 12:01:49 +0400 Subject: [PATCH 1/3] docs(M01): claim milestone closeout Work-Package: M01-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex --- .../claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md diff --git a/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md b/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md new file mode 100644 index 0000000..ebb2c94 --- /dev/null +++ b/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md @@ -0,0 +1,73 @@ +# M01-QAR-INTEGRATOR-CLOSEOUT-001 — M01 milestone closeout + + + +## Ownership + +- Target: M01 +- Program: QAR +- Owner/Agent ID: sindo-main-codex +- Branch: `work/sindo-main-codex/m01-integrator-closeout` +- Lease expires UTC: 2026-07-16 +- Integrator: sindo-main-codex, continuing the user-directed milestone workflow on 2026-07-14 + +## Outcome + +Audit every merged M01 work package on current `master`, record final evidence, +close M01 and activate M02 only if all target verification and documentation +criteria pass. + +## Non-goals + +- Change coordinate, identity, streaming or renderer behavior. +- Start M02 implementation. +- Add new compatibility or visual-parity claims. +- Commit proprietary assets, generated UIDs, caches or capture output. + +## Paths + +- Exclusive: M01/M02 target status, M01 final Evidence and M01 claim acceptance markers +- Shared/hotspots: `targets/README.md`, `targets/DEVELOPMENT_ROADMAP.md`, this claim +- Generated/ignored: local Godot imports, renderer corpus and `user://` reports + +## Contracts and data + +- Public APIs, schemas, cache formats and migrations: unchanged +- Coordinate contract remains version 2 +- Fixture schema remains version 1 +- Consumers: milestone sequence and M02 work packages + +## Dependencies + +- Requires: all seven M01 READY commits integrated through master `c8e99f2` +- Blocks: M02 activation +- External state: server-spawn GUI hashes and original-client numeric evidence are recorded; proprietary files remain outside Git + +## Verification + +- Commands: all M01 domain/fixture/boundary/focus/identity/spawn gates, + unified renderer dry-run, coordination/documentation checks and diff hygiene +- Fidelity evidence: five build-12340 points, raw ADT metadata, pinned + AzerothCore spawn and cache-complete GUI marker capture +- Performance: no runtime change; preserve recorded renderer cold/warm evidence + +## Documentation deliverables + +- M01 final target Evidence and checklist +- M01 claim integration-acceptance markers +- Target index and roadmap transition to M02 +- API/module specifications and diagrams are audited, not changed unless a gap is found + +## Simplicity and naming + +- Important names introduced: none beyond the closeout work-package ID +- Simplest approach: evidence/status-only integrator patch +- Rejected complexity: new one-off closeout framework or behavioral changes +- Unavoidable complexity: none + +## Status + +- State: active +- Done: confirmed seven M01 READY commits are ancestors of current master +- Next: run post-merge gates, audit docs/evidence and prepare transition +- Blocked by: -- 2.52.0 From dd412e6d0dc1f9f00767cae8a6e34b65c2f3afc1 Mon Sep 17 00:00:00 2001 From: sindoring Date: Tue, 14 Jul 2026 12:13:43 +0400 Subject: [PATCH 2/3] test(M01): close coordinates and seams milestone Work-Package: M01-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex Tests: all M01 domain gates, unified renderer dry-run, coordination and documentation gates Fidelity: five build-12340 points, raw ADT and mapped AzerothCore spawn evidence; no 1:1 claim --- .../claims/M01-FND-COORD-BOUNDARY-GATE-001.md | 2 +- .../claims/M01-FND-COORD-TILE-AXIS-002.md | 2 +- coordination/claims/M01-FND-COORDS-001.md | 2 +- .../claims/M01-FND-DOMAIN-IDENTITIES-001.md | 2 +- .../claims/M01-QAR-COORD-FIXTURES-001.md | 2 +- .../M01-QAR-SERVER-SPAWN-RENDERER-001.md | 2 +- .../claims/M01-RND-STREAMING-FOCUS-001.md | 2 +- targets/01-coordinates-and-seams.md | 56 ++++++++++++++----- targets/02-player-decomposition.md | 2 +- targets/DEVELOPMENT_ROADMAP.md | 2 +- targets/README.md | 6 +- 11 files changed, 53 insertions(+), 27 deletions(-) diff --git a/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md b/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md index cf7c0c4..fa0086d 100644 --- a/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md +++ b/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md @@ -1,7 +1,7 @@ # M01-FND-COORD-BOUNDARY-GATE-001 — Coordinate conversion boundary gate - + ## Ownership diff --git a/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md b/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md index b3a1677..3e59b03 100644 --- a/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md +++ b/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md @@ -1,7 +1,7 @@ # M01-FND-COORD-TILE-AXIS-002 — ADT filename axis correction - + ## Ownership diff --git a/coordination/claims/M01-FND-COORDS-001.md b/coordination/claims/M01-FND-COORDS-001.md index 68b3582..fe94c51 100644 --- a/coordination/claims/M01-FND-COORDS-001.md +++ b/coordination/claims/M01-FND-COORDS-001.md @@ -1,7 +1,7 @@ # M01-FND-COORDS-001 — Canonical coordinate contracts - + ## Ownership diff --git a/coordination/claims/M01-FND-DOMAIN-IDENTITIES-001.md b/coordination/claims/M01-FND-DOMAIN-IDENTITIES-001.md index 96958ef..77c3a54 100644 --- a/coordination/claims/M01-FND-DOMAIN-IDENTITIES-001.md +++ b/coordination/claims/M01-FND-DOMAIN-IDENTITIES-001.md @@ -1,7 +1,7 @@ # M01-FND-DOMAIN-IDENTITIES-001 — Stable domain identity namespaces - + ## Ownership diff --git a/coordination/claims/M01-QAR-COORD-FIXTURES-001.md b/coordination/claims/M01-QAR-COORD-FIXTURES-001.md index a70a5a1..0da82ab 100644 --- a/coordination/claims/M01-QAR-COORD-FIXTURES-001.md +++ b/coordination/claims/M01-QAR-COORD-FIXTURES-001.md @@ -1,7 +1,7 @@ # M01-QAR-COORD-FIXTURES-001 — Coordinate golden fixtures - + ## Ownership diff --git a/coordination/claims/M01-QAR-SERVER-SPAWN-RENDERER-001.md b/coordination/claims/M01-QAR-SERVER-SPAWN-RENDERER-001.md index d7560e5..9bef8de 100644 --- a/coordination/claims/M01-QAR-SERVER-SPAWN-RENDERER-001.md +++ b/coordination/claims/M01-QAR-SERVER-SPAWN-RENDERER-001.md @@ -1,7 +1,7 @@ # M01-QAR-SERVER-SPAWN-RENDERER-001 — Golden server spawn renderer evidence - + ## Ownership diff --git a/coordination/claims/M01-RND-STREAMING-FOCUS-001.md b/coordination/claims/M01-RND-STREAMING-FOCUS-001.md index 830cab7..7fdb23e 100644 --- a/coordination/claims/M01-RND-STREAMING-FOCUS-001.md +++ b/coordination/claims/M01-RND-STREAMING-FOCUS-001.md @@ -1,7 +1,7 @@ # M01-RND-STREAMING-FOCUS-001 — Explicit streaming focus contract - + ## Ownership diff --git a/targets/01-coordinates-and-seams.md b/targets/01-coordinates-and-seams.md index 1ab3753..f1c66a9 100644 --- a/targets/01-coordinates-and-seams.md +++ b/targets/01-coordinates-and-seams.md @@ -1,6 +1,7 @@ # M01 — Coordinates and Architecture Seams - + + ## Outcome @@ -8,13 +9,13 @@ ## Steps -- [ ] Создать domain/value-object слой без `Node`/`Resource` dependencies. -- [ ] Определить canonical WoW, Godot, ADT tile/chunk и local coordinate types. -- [ ] Реализовать единственный `CoordinateMapper` для position и orientation. -- [ ] Собрать golden points из ADT, server spawn и оригинального клиента. -- [ ] Ввести `StreamingFocus` вместо неявной зависимости от active Camera3D. -- [ ] Ввести stable `ContentId`, `EntityId` и отличить их от WoW GUID/server entry. -- [ ] Запретить ручные axis conversion через code review rule/test search. +- [x] Создать domain/value-object слой без `Node`/`Resource` dependencies. +- [x] Определить canonical WoW, Godot, ADT tile/chunk и local coordinate types. +- [x] Реализовать единственный `CoordinateMapper` для position и orientation. +- [x] Собрать golden points из ADT, server spawn и оригинального клиента. +- [x] Ввести `StreamingFocus` вместо неявной зависимости от active Camera3D. +- [x] Ввести stable `ContentId`, `EntityId` и отличить их от WoW GUID/server entry. +- [x] Запретить ручные axis conversion через code review rule/test search. ## Verification @@ -28,10 +29,35 @@ Renderer/test scene получают focus через контракт; коор ## Evidence -- Date: -- Revision/worktree: -- Commands: -- Results: -- Fidelity comparison: -- Changed files: -- Remaining risks: +- Date: 2026-07-14 +- Revision/worktree: merged master `c8e99f2`; closeout + `work/sindo-main-codex/m01-integrator-closeout` +- Commands: `tools/run_render_baseline.ps1 -DryRun -WaitSeconds 0.1 + -MeasureSeconds 0.1`; `verify_coordinate_mapper.gd`; + `verify_coordinate_golden_fixtures.gd`; `verify_streaming_focus.gd`; + `verify_domain_identities.gd`; coordination/documentation/diff gates. +- Results: CoordinateMapper PASS (`5` golden points, `8` tile boundaries, + `2` raw MCNK, `5` yaw); golden fixtures PASS (`1` server spawn, `1` raw ADT, + `5` original-client points); StreamingFocus PASS (`1` contract, `2` runtime + scenes, `3` capture tools); identities PASS (`5/5/6/5`); conversion boundary + PASS (`84` files, one native boundary, one oracle, four consumers, six + classifiers); server-spawn renderer PASS at ADT `(32,48)`, MCNK `(3,12)`; + renderer manifest PASS (`7/7/7`) and calibration maximum error `0.000015`. +- Fidelity comparison: five build-12340 camera observations, pinned AzerothCore + Human Warrior spawn and private raw ADT metadata agree through coordinate + contract version 2. Cache-complete cold/warm GUI capture places the mapped + spawn marker on rendered Northshire terrain with focus `(32,48)`, quality + `100/100`, missing cache `0`; PNG SHA-256 values are recorded in the server + spawn handoff. The final ADT-boundary regression passed `2/2`; the full M01 + regression captured `14/14`, with `11` strict passes and three low-mean + timing/animation-phase differences rather than coordinate drift. +- Changed files: `src/domain/coordinates/`, `src/domain/identity/`, + `src/domain/streaming/`, migrated sky/player/streaming/terrain consumers, + coordinate/renderer fixtures and tools, runtime scenes, ADR 0001/0002, + coordinate/domain/renderer module specs, coding/render documentation and + M01 coordination claims. +- Remaining risks: TrinityCore populated spawn equivalence is not verified; + native parser conversion remains one separately calibrated boundary; MDDF/ + MODF placement Euler parity is outside world-yaw scope; renderer visual parity + gaps and the known anonymous ObjectDB teardown warning continue. No `1:1` + compatibility claim is made by M01. diff --git a/targets/02-player-decomposition.md b/targets/02-player-decomposition.md index 6ab733c..59ad015 100644 --- a/targets/02-player-decomposition.md +++ b/targets/02-player-decomposition.md @@ -1,6 +1,6 @@ # M02 — Player Decomposition - + ## Outcome diff --git a/targets/DEVELOPMENT_ROADMAP.md b/targets/DEVELOPMENT_ROADMAP.md index 5d561d0..cb3b069 100644 --- a/targets/DEVELOPMENT_ROADMAP.md +++ b/targets/DEVELOPMENT_ROADMAP.md @@ -21,7 +21,7 @@ OpenWC должен предоставить четыре согласованн - MPQ/BLP/ADT/WDT/M2/WMO native parsing и renderer vertical slice уже существуют. - Runtime streaming, terrain quality, MultiMesh M2, WMO caches, liquids, sky и character experiments находятся в рабочем состоянии, но сосредоточены в крупных orchestration scripts. -- Renderer baseline M00 завершён: paired comparison с оригинальным клиентом записывает измеренные gaps без заявления parity, а обязательные diagnostic gaps закрыты или явно классифицированы. Текущая работа M01 вводит coordinate и architecture seams. +- Renderer baseline M00 завершён: paired comparison с оригинальным клиентом записывает измеренные gaps без заявления parity, а обязательные diagnostic gaps закрыты или явно классифицированы. M01 завершил coordinate, identity и streaming-focus seams; текущая работа M02 декомпозирует player input, movement, terrain query, camera и presentation без observable regression. - Gameplay domain, network protocol, production UI/Lua, audio orchestration и server adapters в основном предстоит реализовать. - Editor plugin пока решает extraction/preview задачи, но не является полноценной authoring platform. diff --git a/targets/README.md b/targets/README.md index c2b39f0..bdf57f2 100644 --- a/targets/README.md +++ b/targets/README.md @@ -10,7 +10,7 @@ ## Current target -`M01` — [01-coordinates-and-seams.md](01-coordinates-and-seams.md) +`M02` — [02-player-decomposition.md](02-player-decomposition.md) Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей. @@ -34,8 +34,8 @@ | ID | Цель | Зависит от | Статус | |---|---|---|---| | M00 | [Renderer baseline](00-render-baseline.md) | — | DONE | -| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | ACTIVE | -| M02 | [Player decomposition](02-player-decomposition.md) | M01 | OPEN | +| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | DONE | +| M02 | [Player decomposition](02-player-decomposition.md) | M01 | ACTIVE | | 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 | -- 2.52.0 From fc81059dfa79fd1de2a2d68583c72e1a60abe3f0 Mon Sep 17 00:00:00 2001 From: sindoring Date: Tue, 14 Jul 2026 12:14:39 +0400 Subject: [PATCH 3/3] docs(M01): mark milestone closeout ready Work-Package: M01-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex --- .../claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md b/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md index ebb2c94..7322e4f 100644 --- a/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md +++ b/coordination/claims/M01-QAR-INTEGRATOR-CLOSEOUT-001.md @@ -1,6 +1,7 @@ # M01-QAR-INTEGRATOR-CLOSEOUT-001 — M01 milestone closeout + ## Ownership @@ -67,7 +68,34 @@ criteria pass. ## Status -- State: active -- Done: confirmed seven M01 READY commits are ancestors of current master -- Next: run post-merge gates, audit docs/evidence and prepare transition +- State: ready-for-review +- Done: accepted seven M01 packages, reran post-merge gates, recorded complete + target Evidence, closed M01 and activated M02 +- Next: merge closeout commit before starting an M02 implementation claim - Blocked by: + +## Handoff + +- Commit: `dd412e6` +- Branch: `work/sindo-main-codex/m01-integrator-closeout` +- Outcome: M01 is `DONE` with all seven checklist items and complete Evidence; + M02 is the only `ACTIVE` target and `targets/README.md` points to it. +- Integration audit: all seven M01 READY commits are ancestors of master + `c8e99f2`; their claims now carry `OPENWC_INTEGRATION:ACCEPTED` markers. +- Verification: unified renderer dry-run passed project load, material/dedupe/ + shutdown gates, manifest `7/7/7`, calibration maximum error `0.000015`, + coordinate boundary (`84` files) and server-spawn renderer `(32,48)/(3,12)`; + coordinate mapper, golden fixtures, StreamingFocus and domain identity gates + passed. Coordination and documentation gates passed; coordination reports + only five already-expired M00 claim warnings. +- Fidelity: closeout preserves five build-12340 coordinate observations, raw ADT + evidence, pinned AzerothCore spawn mapping and cache-complete Northshire GUI + evidence without claiming original-client visual parity or TrinityCore row + equivalence. +- Rebuild/migration: none. Coordinate contract remains version 2; fixture schema + remains version 1; renderer cache formats are unchanged. +- Remaining risks: recorded in M01 Evidence—TrinityCore populated spawn, + placement Euler parity, native parser boundary and broader renderer parity. +- Documentation: M01 target Evidence/checklist, target index and roadmap current + state updated. Existing coordinate, identity and renderer module specs/API/ + diagrams were audited and passed the documentation gate. -- 2.52.0