Files
open-wc/coordination/claims/M03-RND-TERRAIN-CHUNK-QUEUE-001.md
T

4.2 KiB

M03-RND-TERRAIN-CHUNK-QUEUE-001 — Pure terrain chunk geometry queue planner

Ownership

  • Target: M03
  • Program: RND
  • Owner/Agent ID: sindo-main-codex
  • Branch: work/sindo-main-codex/m03-terrain-chunk-queue
  • Lease expires UTC: 2026-07-19
  • Integrator: M03 milestone integrator

Outcome

Extract chunk-geometry create/remove desired-operation calculation from the streamer into a scene-free TerrainChunkGeometryQueuePlanner.

Non-goals

  • Move queue storage/drains, render budgets, tile-LOD queues or async tasks.
  • Move chunk Mesh/Node/RID creation/removal or terrain state ownership.
  • Change removal-first execution, nearest-first create order or LOD selection.
  • Change coordinate conversions, radii, cache formats or quality profiles.
  • Add dependencies or mark the broad terrain service checklist complete.

Paths

  • Exclusive: src/render/terrain/terrain_chunk_geometry_queue_planner.gd, src/tools/verify_terrain_chunk_geometry_queue_planner.gd, docs/modules/terrain-chunk-geometry-queue-planner.md, this claim
  • Shared/hotspots: src/scenes/streaming/streaming_world_loader.gd, docs/modules/world-renderer.md, docs/modules/README.md, RENDER.md, targets/03-renderer-facade.md
  • Generated/ignored: .godot, native DLL, generated ADT resources, caches and proprietary renderer corpus

Contracts and data

  • Input: loader-owned tile-state read model plus immutable GodotWorldPosition
  • Output: fresh create/remove request arrays; planner retains no queue state
  • Removal: current chunks absent from desired state, or all current chunks while tile LOD is desired
  • Creation: missing or LOD-mismatched chunks, sorted by origin XZ distance
  • Queue/cache/schema/coordinate versions: unchanged

Dependencies

  • Requires: integrated terrain LOD planner master b568768
  • Blocks: broader terrain service extraction and dependency/performance acceptance
  • External state: none; tests use synthetic tile/chunk dictionaries

Verification

  • Commands: dedicated removal/create/mismatch/tile-fallback/sparse/order and bounded timing verifier; loader source boundary; facade/cache/LOD/internal-access/ manifest/shutdown/scheduler/streaming planner and repository gates
  • Fidelity evidence: extracted branch/order/distance rules and loader drain order
  • Performance budget: bounded linear planning plus existing create sort; no engine resource, task, cache or persistent allocation framework

Documentation deliverables

  • Inline planner API documentation
  • New module spec with inputs/outputs, data-flow, lifecycle, sequence, ownership, failure, performance and source map
  • World renderer/module registry/RENDER.md updates

Simplicity and naming

  • Important name: TerrainChunkGeometryQueuePlanner
  • Simplest solution: one stateless planner returning two fresh arrays
  • Rejected complexity: generic operation graph, queue class, callback strategy, spatial index or ownership transfer
  • Unavoidable complexity: raw dictionaries remain at the loader/ADT adapter boundary
  • Measured optimization evidence: bounded synthetic multi-tile verifier

Status

  • State: handoff
  • Done: pure planner, loader queue adoption, semantic/timing regressions and docs
  • Next: milestone integrator merge and asset-backed performance acceptance later in M03
  • Blocked by:

Handoff

  • Commit: f800e11 (refactor(M03): extract terrain chunk queue planner)
  • Results: dedicated contract PASS (cases=8, iterations=100, 235.096 ms); LOD/cache/facade/internal-access/manifest/shutdown/scheduler/streaming/focus/ ground/terrain-query/coordinate regressions PASS; internal inventory remains 42; editor parse has no script errors; documentation/coordination/diff gates PASS; checkpoint dry-run planned 7/7 entries with expected missing-private- corpus diagnostics
  • Remaining risks: planner adds a second linear tile-state pass; asset-backed p95/p99 and visual acceptance remain pending; queue drains, terrain state and Mesh/Node/RID finalization remain loader-owned
  • Documentation updated: terrain-chunk-geometry-queue-planner.md, module registry, world-renderer.md, RENDER.md, inline API documentation and data-flow/lifecycle/sequence diagrams