diff --git a/coordination/claims/M02-GMP-TERRAIN-QUERY-001.md b/coordination/claims/M02-GMP-TERRAIN-QUERY-001.md index 81a77ba..9284fac 100644 --- a/coordination/claims/M02-GMP-TERRAIN-QUERY-001.md +++ b/coordination/claims/M02-GMP-TERRAIN-QUERY-001.md @@ -1,6 +1,7 @@ # M02-GMP-TERRAIN-QUERY-001 — Player terrain query boundary + ## Ownership @@ -78,7 +79,40 @@ changing current spawn/ground-snap behavior. ## Status -- State: active -- Done: claim and isolated worktree from updated master -- Next: implement contract/adapter, migrate player, test and document +- State: ready-for-review +- Done: typed query/sample contract, cached ADT adapter, player migration, + synthetic interpolation/cache/failure tests, injected scene regression and documentation +- Next: M02 integrator reviews and merges before camera-rig extraction - Blocked by: + +## Handoff + +- Commit: `a45d521` +- Branch: `work/sindo-main-codex/m02-terrain-query` +- Outcome: `ThirdPersonWowController` no longer loads ADTs, caches tile + dictionaries, selects chunks or interpolates height grids. It consumes a + replaceable typed `TerrainQuery` and retains only existing offset/snap policy. +- Public contracts: additive immutable `TerrainGroundSample`, replaceable + `TerrainQuery`, cached `AdtTerrainQuery` and player `set_terrain_query`. + Coordinate contract version, ADT/native format and renderer caches are unchanged. +- Verification: `TERRAIN_QUERY PASS contract=4 interpolation=1 cache=1 + failures=2 player_injection=1`; player-input and local-movement regressions + passed; asset-free scene exited `0`; coordinate boundary passed with five + required consumers and StreamingFocus passed; renderer dry-run passed eight + pre-capture gates and seven checkpoint plans; coordination/documentation/diff gates passed. +- Fidelity: synthetic fractional-grid fixture locks the inherited 145-height + outer-grid bilinear result within `0.002` Godot units; injected scene locks + spawn offset `0.05` and physics snap. This is sandbox-regression evidence, + not build-12340 triangle/hole/collision parity. +- Local verification inputs: isolated worktree reused the existing ignored + native DLL and generated ADT resource scripts. Proprietary extracted data and + character GLB were absent, so renderer dry-run logged expected missing-corpus + diagnostics while all contract steps returned success. +- Rebuild/migration: none; caches are transient and existing formats remain unchanged. +- Remaining risks: first ADT parse remains synchronous as before; unavailable + tiles cache until query replacement; player still owns snap policy; exact + ADT triangle choice, holes, slopes, liquids and collision remain open. +- Documentation: inline public APIs plus `docs/modules/terrain-query.md` with + inputs/outputs, data-flow, cache state and cross-boundary sequence diagrams, + ownership, failure/recovery, capability status and source map. Coordinate and + movement consumer specifications were updated. diff --git a/docs/modules/coordinate-mapping.md b/docs/modules/coordinate-mapping.md index a430bf7..0c24593 100644 --- a/docs/modules/coordinate-mapping.md +++ b/docs/modules/coordinate-mapping.md @@ -7,7 +7,7 @@ | Status | Implemented | | Target/work package | `M01-FND-COORDS-001`, `M01-FND-COORD-TILE-AXIS-002`, `M01-QAR-COORD-FIXTURES-001`, `M01-FND-COORD-BOUNDARY-GATE-001`, `M01-QAR-SERVER-SPAWN-RENDERER-001`, `M02-GMP-TERRAIN-QUERY-001` consumer migration | | Owners | Foundation/domain | -| Last verified | `working tree`, 2026-07-14 | +| Last verified | `a45d521`, 2026-07-14 | | Profiles/capabilities | All profiles; contract version 2 | ## Purpose diff --git a/docs/modules/local-player-movement.md b/docs/modules/local-player-movement.md index 7a6eefc..e31eebe 100644 --- a/docs/modules/local-player-movement.md +++ b/docs/modules/local-player-movement.md @@ -7,7 +7,7 @@ | Status | Implemented | | Target/work package | M02 / M02-GMP-MOVEMENT-001 | | Owners | Gameplay local movement state; scene composition owns the instance | -| Last verified | `working tree`, 2026-07-14 | +| Last verified | `a45d521`, 2026-07-14 | | Profiles/capabilities | Current render sandbox; production/debug profile gate pending | ## Purpose diff --git a/docs/modules/terrain-query.md b/docs/modules/terrain-query.md index ff9b289..e53485a 100644 --- a/docs/modules/terrain-query.md +++ b/docs/modules/terrain-query.md @@ -7,7 +7,7 @@ | Status | Implemented | | Target/work package | M02 / M02-GMP-TERRAIN-QUERY-001 | | Owners | Gameplay terrain-query contract; ADT adapter owns parsed tile cache | -| Last verified | `working tree`, 2026-07-14 | +| Last verified | `a45d521`, 2026-07-14 | | Profiles/capabilities | Current sandbox ADT ground height; renderer/physics backend planned | ## Purpose