diff --git a/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md b/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md index 9a04300..cf7c0c4 100644 --- a/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md +++ b/coordination/claims/M01-FND-COORD-BOUNDARY-GATE-001.md @@ -1,6 +1,7 @@ # M01-FND-COORD-BOUNDARY-GATE-001 — Coordinate conversion boundary gate + ## Ownership @@ -79,7 +80,52 @@ or world-to-ADT tile formulas outside explicit contract/native-oracle boundaries ## Status -- State: active -- Done: repository audit and exception taxonomy -- Next: mapper extensions, consumer migration, enforcement gate and documentation +- State: ready-for-review +- Done: mapper extensions, consumer migration, repository gate, review rule, + integrated renderer gate, regression fixtures and documentation +- Next: integrator review, merge and M01 completion-evidence audit - Blocked by: + +## Handoff + +- Commit: `47dec6c` +- Branch: `work/sindo-main-codex/m01-coordinate-boundary-gate` +- Outcome: all audited GDScript world/tile conversions in sky, streaming, + player spawn/ground sampling and terrain probes route through typed + `CoordinateMapper` boundaries. A repository scan rejects new manual + world-center, legacy axis-conversion, world-to-tile, tile-local and + tile-center formulas. +- Contract/schema: additive `godot_to_adt_tile`, + `godot_to_adt_tile_local` and `adt_tile_local_to_godot` APIs; no persisted + format, cache version or renderer radius changes. +- Verification: CoordinateConversionBoundaries PASS (`83` files, one native + boundary, one independent oracle, four consumers, six classifier guards); + CoordinateMapper PASS (`5` golden points, `8` tile boundaries, `2` raw MCNK, + `5` yaw cases); renderer calibration PASS (`5` points, maximum error + `0.000015`); renderer manifest PASS (`7/7/7`); unified render baseline dry-run, + headless project load, runtime cache shutdown, coordination, documentation + and whitespace gates passed. +- GUI regression: final ADT-boundary capture compared `2/2`, missing `0`, + failed `0` (cold mean `0.0002324`, changed ratio `0.0013741`; warm mean + `0.0000226`, changed ratio `0.0001285`). Earlier full capture produced all + `14` images; `11/14` met the strict changed-pixel threshold. The three + threshold-only differences retained low mean error (`<= 0.00622`) and were + visually classified as cold M2 readiness and liquid animation phase, with + unchanged camera, geometry alignment, area and streaming focus. +- Fidelity: existing build-12340 calibrated points, raw ADT fixture and server + spawn fixture remain unchanged. Native parser workers retain exactly one + formula in `wow_chunk_reader.h`; the calibration verifier retains exactly one + independent formula so mapper and oracle cannot share a common-mode defect. +- Rebuild: none. Local ignored extracted assets/native binary/cache junctions + were used for runtime checks and are not part of the commit. +- Remaining risks: source scanning intentionally recognizes narrow high-signal + formula signatures rather than parsing arbitrary algebra; native formula + parity still relies on calibration/raw fixtures. Model-local M2/WMO basis + transforms and Godot-space LOD distance math are intentionally outside scope. +- Recommended merge order: after `7c64e8d`; this package closes the remaining + M01 manual axis-conversion checklist item, but only the milestone integrator + may update target Evidence/status or set `OPENWC_TARGET_DONE`. +- Documentation: coding review rule, coordinate-mapping module API/input-output/ + data-flow/capability/risk/source-map sections, ADR 0001 and `RENDER.md` were + updated. Existing pure synchronous data-flow diagram remains authoritative; + no state/sequence diagram changed.