From f9c467b71fa6f8d40f797476ddefcd4cddafb087 Mon Sep 17 00:00:00 2001 From: sindoring Date: Mon, 13 Jul 2026 14:09:20 +0400 Subject: [PATCH] docs(M01): claim ADT tile axis correction Work-Package: M01-FND-COORD-TILE-AXIS-002 Agent: sindo-main-codex Tests: not applicable (claim only) Fidelity: raw Azeroth_31_49 ADT and OpenRealm independently expose swapped filename axes --- .../claims/M01-FND-COORD-TILE-AXIS-002.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 coordination/claims/M01-FND-COORD-TILE-AXIS-002.md diff --git a/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md b/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md new file mode 100644 index 0000000..1cdf2e0 --- /dev/null +++ b/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md @@ -0,0 +1,82 @@ +# M01-FND-COORD-TILE-AXIS-002 — ADT filename axis correction + + + +## Ownership + +- Target: M01 +- Program: FND +- Owner/Agent ID: sindo-main-codex +- Branch: `work/sindo-main-codex/m01-coordinate-tile-axis-fix` +- Lease expires UTC: 2026-07-15 +- Integrator: M01 milestone integrator + +## Outcome + +Correct the additive coordinate contract so `AdtTileCoordinate(tile_x, tile_y)` +matches actual `Map_tileX_tileY.adt` filenames and MCNK `indexX/indexY` axes. + +## Non-goals + +- Migrating renderer/native consumers. +- Changing canonical, server, Godot or ADT placement position arithmetic. +- Adding server-spawn fixtures or `StreamingFocus`. +- Committing proprietary ADT bytes. + +## Paths + +- Exclusive: `src/domain/coordinates/coordinate_mapper.gd`, + `src/domain/coordinates/adt_chunk_coordinate.gd`, + `src/tools/verify_coordinate_mapper.gd` +- Shared/hotspots: `docs/adr/0001-canonical-world-coordinates.md`, + `docs/modules/coordinate-mapping.md`, this claim +- Generated/ignored: local extracted ADT and Godot import metadata + +## Contracts and data + +- Public API/events: method names unchanged; corrected tile/chunk axis semantics +- Schema/format version: coordinate contract version increments from 1 to 2 +- Migration/compatibility: no released consumer exists; contract was merged but + not yet consumed, so correction precedes consumer rollout +- Consumers: future renderer, network, gameplay and server-data adapters + +## Dependencies + +- Requires: merged `M01-FND-COORDS-001` at `1c0dfc7` +- Blocks: coordinate golden fixtures and all coordinate consumers +- External state: private `Azeroth_31_49.adt` used read-only for evidence + +## Verification + +- Commands: coordinate mapper probe, M00 calibration, manifest, documentation + and coordination gates +- Fixtures: build 12340 Elwynn point must resolve to `Azeroth_31_49.adt`; + MCNK `(0,0)` and `(15,15)` establish chunk-axis direction +- Fidelity evidence: local ADT SHA-256 + `18185B5FAC9566D9C57A9C19ABD75F108370D1795639B6077167C0EFD3672FAE`; + OpenRealm independently indexes filename X from world Y and filename Y from world X +- Performance budget: unchanged constant-time scalar arithmetic + +## Documentation deliverables + +- Inline public API docs: corrected tile/chunk direction comments +- Module specification: contract version, formulas, capability evidence and risk +- Data-flow diagram: corrected filename/chunk axes +- ADR: corrected decision and evidence +- Sequence/state diagrams: not applicable; pure synchronous mapper + +## Simplicity and naming + +- Important names introduced: none +- Simplest considered solution: swap the two filename formulas and corresponding + local/chunk ownership calculations +- Rejected complexity/abstractions: compatibility flag for a contract with no consumers +- Unavoidable complexity and justification: ADT filename axes differ from client X/Y order +- Measured optimization evidence: not applicable + +## Status + +- State: active +- Done: raw-corpus and independent-reference diagnosis +- Next: regression test, mapper correction and documentation update +- Blocked by: