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
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# M01-FND-COORD-BOUNDARY-GATE-001 — Coordinate conversion boundary gate
|
# M01-FND-COORD-BOUNDARY-GATE-001 — Coordinate conversion boundary gate
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-FND-COORD-BOUNDARY-GATE-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-FND-COORD-BOUNDARY-GATE-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-FND-COORD-BOUNDARY-GATE-001:47dec6c -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-FND-COORD-BOUNDARY-GATE-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-FND-COORD-TILE-AXIS-002 — ADT filename axis correction
|
# M01-FND-COORD-TILE-AXIS-002 — ADT filename axis correction
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-FND-COORD-TILE-AXIS-002:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-FND-COORD-TILE-AXIS-002:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-FND-COORD-TILE-AXIS-002:a7072e3 -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-FND-COORD-TILE-AXIS-002:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-FND-COORDS-001 — Canonical coordinate contracts
|
# M01-FND-COORDS-001 — Canonical coordinate contracts
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-FND-COORDS-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-FND-COORDS-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-FND-COORDS-001:f45695c -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-FND-COORDS-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-FND-DOMAIN-IDENTITIES-001 — Stable domain identity namespaces
|
# M01-FND-DOMAIN-IDENTITIES-001 — Stable domain identity namespaces
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-FND-DOMAIN-IDENTITIES-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-FND-DOMAIN-IDENTITIES-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-FND-DOMAIN-IDENTITIES-001:c1dc07c -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-FND-DOMAIN-IDENTITIES-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-QAR-COORD-FIXTURES-001 — Coordinate golden fixtures
|
# M01-QAR-COORD-FIXTURES-001 — Coordinate golden fixtures
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-QAR-COORD-FIXTURES-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-QAR-COORD-FIXTURES-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-QAR-COORD-FIXTURES-001:ce4f7ec -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-QAR-COORD-FIXTURES-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-QAR-SERVER-SPAWN-RENDERER-001 — Golden server spawn renderer evidence
|
# M01-QAR-SERVER-SPAWN-RENDERER-001 — Golden server spawn renderer evidence
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-QAR-SERVER-SPAWN-RENDERER-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-QAR-SERVER-SPAWN-RENDERER-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-QAR-SERVER-SPAWN-RENDERER-001:318e6ae -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-QAR-SERVER-SPAWN-RENDERER-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# M01-RND-STREAMING-FOCUS-001 — Explicit streaming focus contract
|
# M01-RND-STREAMING-FOCUS-001 — Explicit streaming focus contract
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M01-RND-STREAMING-FOCUS-001:sindo-main-codex:2026-07-15 -->
|
<!-- OPENWC_CLAIM:M01-RND-STREAMING-FOCUS-001:sindo-main-codex:2026-07-15 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M01-RND-STREAMING-FOCUS-001:7815385 -->
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-RND-STREAMING-FOCUS-001:c8e99f2 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# M01 — Coordinates and Architecture Seams
|
# M01 — Coordinates and Architecture Seams
|
||||||
|
|
||||||
<!-- OPENWC_TARGET:ACTIVE -->
|
<!-- OPENWC_TARGET:DONE -->
|
||||||
|
<!-- OPENWC_TARGET_DONE:M01:work/sindo-main-codex/m01-integrator-closeout:2026-07-14 -->
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
||||||
@@ -8,13 +9,13 @@
|
|||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
- [ ] Создать domain/value-object слой без `Node`/`Resource` dependencies.
|
- [x] Создать domain/value-object слой без `Node`/`Resource` dependencies.
|
||||||
- [ ] Определить canonical WoW, Godot, ADT tile/chunk и local coordinate types.
|
- [x] Определить canonical WoW, Godot, ADT tile/chunk и local coordinate types.
|
||||||
- [ ] Реализовать единственный `CoordinateMapper` для position и orientation.
|
- [x] Реализовать единственный `CoordinateMapper` для position и orientation.
|
||||||
- [ ] Собрать golden points из ADT, server spawn и оригинального клиента.
|
- [x] Собрать golden points из ADT, server spawn и оригинального клиента.
|
||||||
- [ ] Ввести `StreamingFocus` вместо неявной зависимости от active Camera3D.
|
- [x] Ввести `StreamingFocus` вместо неявной зависимости от active Camera3D.
|
||||||
- [ ] Ввести stable `ContentId`, `EntityId` и отличить их от WoW GUID/server entry.
|
- [x] Ввести stable `ContentId`, `EntityId` и отличить их от WoW GUID/server entry.
|
||||||
- [ ] Запретить ручные axis conversion через code review rule/test search.
|
- [x] Запретить ручные axis conversion через code review rule/test search.
|
||||||
|
|
||||||
## Verification
|
## Verification
|
||||||
|
|
||||||
@@ -28,10 +29,35 @@ Renderer/test scene получают focus через контракт; коор
|
|||||||
|
|
||||||
## Evidence
|
## Evidence
|
||||||
|
|
||||||
- Date:
|
- Date: 2026-07-14
|
||||||
- Revision/worktree:
|
- Revision/worktree: merged master `c8e99f2`; closeout
|
||||||
- Commands:
|
`work/sindo-main-codex/m01-integrator-closeout`
|
||||||
- Results:
|
- Commands: `tools/run_render_baseline.ps1 -DryRun -WaitSeconds 0.1
|
||||||
- Fidelity comparison:
|
-MeasureSeconds 0.1`; `verify_coordinate_mapper.gd`;
|
||||||
- Changed files:
|
`verify_coordinate_golden_fixtures.gd`; `verify_streaming_focus.gd`;
|
||||||
- Remaining risks:
|
`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.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# M02 — Player Decomposition
|
# M02 — Player Decomposition
|
||||||
|
|
||||||
<!-- OPENWC_TARGET:OPEN -->
|
<!-- OPENWC_TARGET:ACTIVE -->
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ OpenWC должен предоставить четыре согласованн
|
|||||||
|
|
||||||
- MPQ/BLP/ADT/WDT/M2/WMO native parsing и renderer vertical slice уже существуют.
|
- 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.
|
- 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 в основном предстоит реализовать.
|
- Gameplay domain, network protocol, production UI/Lua, audio orchestration и server adapters в основном предстоит реализовать.
|
||||||
- Editor plugin пока решает extraction/preview задачи, но не является полноценной authoring platform.
|
- Editor plugin пока решает extraction/preview задачи, но не является полноценной authoring platform.
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
## Current target
|
## 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` метки у предыдущей.
|
Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей.
|
||||||
|
|
||||||
@@ -34,8 +34,8 @@
|
|||||||
| ID | Цель | Зависит от | Статус |
|
| ID | Цель | Зависит от | Статус |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| M00 | [Renderer baseline](00-render-baseline.md) | — | DONE |
|
| M00 | [Renderer baseline](00-render-baseline.md) | — | DONE |
|
||||||
| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | ACTIVE |
|
| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | DONE |
|
||||||
| M02 | [Player decomposition](02-player-decomposition.md) | M01 | OPEN |
|
| M02 | [Player decomposition](02-player-decomposition.md) | M01 | ACTIVE |
|
||||||
| M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | OPEN |
|
| M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | OPEN |
|
||||||
| M04 | [Godot Editor shell](04-editor-shell.md) | M03 | OPEN |
|
| M04 | [Godot Editor shell](04-editor-shell.md) | M03 | OPEN |
|
||||||
| M05 | [Content Project](05-content-project.md) | M04 | OPEN |
|
| M05 | [Content Project](05-content-project.md) | M04 | OPEN |
|
||||||
|
|||||||
Reference in New Issue
Block a user