# 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: