Files
open-wc/coordination/claims/M01-FND-COORD-TILE-AXIS-002.md
T
sindoring dd412e6d0d 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
2026-07-14 12:13:43 +04:00

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-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: 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_x now grow east from canonical Y and tile_y/chunk_y grow 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.adt hash 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