dd412e6d0d
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
4.3 KiB
4.3 KiB
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-001at1c0dfc7 - Blocks: coordinate golden fixtures and all coordinate consumers
- External state: private
Azeroth_31_49.adtused 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: ready-for-review
- Done: raw-corpus diagnosis, filename/local/chunk axis correction, contract version 2 documentation and regression fixtures
- Next: integrator review and merge before coordinate consumer work
- Blocked by:
Handoff
- Commit:
a7072e3 - Branch:
work/sindo-main-codex/m01-coordinate-tile-axis-fix - Outcome:
tile_x/chunk_xnow grow east from canonical Y andtile_y/chunk_ygrow south from canonical X; public method names unchanged - Contract/schema: coordinate contract version 2; no persisted format, cache or migration
- Verification: coordinate mapper PASS (5 build-12340 points, 8 boundaries,
2 recorded raw MCNK origins, 5 yaw cases); M00 calibration PASS with maximum
error
0.000015; renderer manifest, coordination, documentation, dependency and whitespace checks passed - Fidelity: private
Azeroth_31_49.adthash and raw MCNK origins recorded in ADR 0001; OpenRealm independently uses the same filename-axis ordering - Rebuild: none; private/generated prerequisites remain outside Git
- Remaining risks: server spawn fixture, native placement conversion and MDDF/MODF Euler semantics remain subsequent M01 packages
- Recommended merge order: merge this correction before golden fixture or consumer migration
- Documentation: ADR 0001 and coordinate-mapping module data flow, contract version, capability evidence and known risks updated