# M03-RND-WMO-RENDER-RESOURCE-FINALIZER-001 ## Owner - Agent ID: `sindo-main-codex` - Target: M03 Renderer Facade and Safe Extraction - Branch: `work/sindo-main-codex/m03-wmo-render-resource-finalizer` - Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-render-resource-finalizer` ## Outcome Move lightweight WMO render-cache terminal ResourceLoader polling, script/format validation and Resource/missing publication from the loader into one service. ## Non-goals - Change `.res` cache path selection or threaded request admission. - Own WMO build permits, queues, placement state, Nodes or materialization. - Change `WMOStreamingResource.FORMAT_VERSION`, fallback order or visible output. - Combine render Resource and PackedScene finalization behind a generic callback. ## Paths - Exclusive: `src/render/wmo/wmo_render_resource_finalizer.gd`, `src/tools/verify_wmo_render_resource_finalizer.gd`, `docs/modules/wmo-render-resource-finalizer.md`, this claim - Shared: loader, WMO render cache state spec/verifier, world renderer registry/spec, `RENDER.md`, M03 Evidence ## Contracts and data - Pending requests are polled in detached Dictionary insertion order. - Only LOADED/FAILED statuses complete requests. - Failed, null, wrong-script and stale-format Resources publish missing outcome. - Current exact-script Resources are adopted without duplication. - Request admission, reset/shutdown drain order and cache lifetime are unchanged. ## Dependencies - Requires: accepted WMO render Resource cache state - Blocks: remaining loader-owned WMO orchestration/materialization cleanup ## Verification - Synthetic status/order/load/validation/adoption/source/timing contracts; adjacent WMO/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: accepted - Done: implementation, verification and documentation - Next: next unclaimed M03 renderer extraction package - Blocked by: ## Handoff - Commit: `a86f8f2` (`render: extract WMO render resource finalizer`) - Results: finalizer PASS `cases=24 iterations=1000 elapsed_ms=3.938`; adjacent WMO cache/queue/planner/registry/resolver/scene-cache/shutdown checks passed; autonomous headless suite `60/60`; documentation `47`; coordination passed with `34` historical warnings; checkpoint dry-run `7/7`. - Remaining risks: terminal ResourceLoader polling remains a synchronous main-thread boundary; no serialized private WMO, corrupt-cache, visual, leak, descriptor-pressure or p95/p99 evidence was added. - Documentation updated: new full module specification with API/I/O and data-flow/state/sequence/dependency diagrams; adjacent WMO cache/world-renderer specs, module registry, `RENDER.md` and M03 Evidence. - Merge: `1acddab` (`merge: WMO render resource finalizer`) - Post-merge: finalizer PASS `cases=24 iterations=1000 elapsed_ms=3.777`; WMO cache/queue/planner/registry/resolver/scene-cache/shutdown, facade, internal-access `30`, manifest and checkpoint dry-run `7/7`, documentation `47` and coordination gates passed.