diff --git a/coordination/claims/M03-RND-M2-MESH-RESOURCE-FINALIZER-001.md b/coordination/claims/M03-RND-M2-MESH-RESOURCE-FINALIZER-001.md new file mode 100644 index 0000000..0e52bd8 --- /dev/null +++ b/coordination/claims/M03-RND-M2-MESH-RESOURCE-FINALIZER-001.md @@ -0,0 +1,71 @@ +# M03-RND-M2-MESH-RESOURCE-FINALIZER-001 + + + +## Owner + +- Agent ID: `sindo-main-codex` +- Target: M03 Renderer Facade and Safe Extraction +- Branch: `work/sindo-main-codex/m03-m2-mesh-resource-finalizer` +- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-m2-mesh-resource-finalizer` + +## Outcome + +Move static M2 ResourceLoader status polling, terminal Resource/Mesh extraction, +runtime Mesh preparation, Mesh-cache adoption and missing outcome from the +loader into one dedicated finalization service. + +## Non-goals + +- Change static cache path selection or threaded request admission. +- Merge static and animated terminal services behind a generic callback layer. +- Own permits, MultiMesh materialization, prototype Nodes or SceneTree roots. +- Change material refresh version, rebuild rules, cache formats or visible output. + +## Paths + +- Exclusive: `src/render/m2/m2_mesh_resource_finalizer.gd`, + `src/tools/verify_m2_mesh_resource_finalizer.gd`, + `docs/modules/m2-mesh-resource-finalizer.md`, this claim +- Shared: loader, Mesh pipeline/cache/extractor/runtime-finalizer/raw-repository/ + prototype specs and verifiers, world renderer, registry, `RENDER.md`, M03 Evidence + +## Contracts and data + +- Pending requests are polled in existing Dictionary insertion order. +- Empty Resource paths are discarded and marked missing immediately. +- Only LOADED/FAILED statuses enter completion-order finalize FIFO. +- One permit pops exactly one terminal record, including skipped/cached records. +- Existing cached Mesh suppresses terminal Resource retrieval. +- Loaded Resource uses exact first-Mesh extraction and current refresh-version path. +- Raw M2 data loads only when the extracted Mesh is stale. +- Prepared Mesh is stored by existing replacement semantics; failures mark missing. + +## Dependencies + +- Requires: accepted Mesh pipeline/cache/extractor/runtime finalizer/raw repository +- Blocks: remaining loader-owned M2 materialization and orchestration cleanup + +## Verification + +- Synthetic polling/FIFO/skip/load/extract/refresh/store/missing/source/timing + contracts; adjacent M2/renderer gates; full headless suite and checkpoint dry-run. + +## Documentation deliverables + +- Inline API docs; module API/I/O/ownership; data-flow/state/sequence/dependency + diagrams; adjacent renderer docs and M03 Evidence. + +## Status + +- State: active +- Done: ownership/compatibility contract +- Next: implementation, verification and documentation +- Blocked by: + +## Handoff + +- Commit: +- Results: +- Remaining risks: +- Documentation updated: