gmp(M02): extract player terrain query #23
@@ -1,6 +1,7 @@
|
|||||||
# M02-GMP-TERRAIN-QUERY-001 — Player terrain query boundary
|
# M02-GMP-TERRAIN-QUERY-001 — Player terrain query boundary
|
||||||
|
|
||||||
<!-- OPENWC_CLAIM:M02-GMP-TERRAIN-QUERY-001:sindo-main-codex:2026-07-16 -->
|
<!-- OPENWC_CLAIM:M02-GMP-TERRAIN-QUERY-001:sindo-main-codex:2026-07-16 -->
|
||||||
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-TERRAIN-QUERY-001:a45d521 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
@@ -78,7 +79,40 @@ changing current spawn/ground-snap behavior.
|
|||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
- State: active
|
- State: ready-for-review
|
||||||
- Done: claim and isolated worktree from updated master
|
- Done: typed query/sample contract, cached ADT adapter, player migration,
|
||||||
- Next: implement contract/adapter, migrate player, test and document
|
synthetic interpolation/cache/failure tests, injected scene regression and documentation
|
||||||
|
- Next: M02 integrator reviews and merges before camera-rig extraction
|
||||||
- Blocked by:
|
- 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.
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
| Status | Implemented |
|
| 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 |
|
| 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 |
|
| Owners | Foundation/domain |
|
||||||
| Last verified | `working tree`, 2026-07-14 |
|
| Last verified | `a45d521`, 2026-07-14 |
|
||||||
| Profiles/capabilities | All profiles; contract version 2 |
|
| Profiles/capabilities | All profiles; contract version 2 |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
| Status | Implemented |
|
| Status | Implemented |
|
||||||
| Target/work package | M02 / M02-GMP-MOVEMENT-001 |
|
| Target/work package | M02 / M02-GMP-MOVEMENT-001 |
|
||||||
| Owners | Gameplay local movement state; scene composition owns the instance |
|
| 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 |
|
| Profiles/capabilities | Current render sandbox; production/debug profile gate pending |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
| Status | Implemented |
|
| Status | Implemented |
|
||||||
| Target/work package | M02 / M02-GMP-TERRAIN-QUERY-001 |
|
| Target/work package | M02 / M02-GMP-TERRAIN-QUERY-001 |
|
||||||
| Owners | Gameplay terrain-query contract; ADT adapter owns parsed tile cache |
|
| 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 |
|
| Profiles/capabilities | Current sandbox ADT ground height; renderer/physics backend planned |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
Reference in New Issue
Block a user