# M03-RND-WMO-RUNTIME-MESH-FINALIZER-001 ## Owner - Agent ID: `sindo-main-codex` - Target: M03 Renderer Facade and Safe Extraction - Branch: `work/sindo-main-codex/m03-wmo-runtime-mesh-finalizer` - Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-runtime-mesh-finalizer` ## Outcome Move cached WMO runtime Mesh material refresh versioning, surface iteration and material-definition reconstruction from the loader into one service. ## Non-goals - Change WMO traversal, placement, build-job scheduling or Node materialization. - Change WMOBuilder shader/material behavior or cache formats. - Change texture path ordering, metadata names or visible output. - Generalize M2 and WMO finalization behind a shared abstraction. ## Paths - Exclusive: `src/render/wmo/wmo_runtime_mesh_finalizer.gd`, `src/tools/verify_wmo_runtime_mesh_finalizer.gd`, `docs/modules/wmo-runtime-mesh-finalizer.md`, this claim - Shared: loader, WMO build/cache and world renderer specs/verifiers, `RENDER.md`, M03 Evidence ## Contracts and data - Null meshes remain null; accepted meshes retain exact Resource identity. - Refresh metadata version `10` remains the admission boundary. - Only stale `ArrayMesh` surfaces with cached WMO texture metadata are rebuilt. - Texture indices remain compact and ordered texture0, texture1, texture2. - WMO flags, shader, blend mode and cached colors are forwarded unchanged. - Scene traversal, builder material semantics and shutdown order are unchanged. ## Dependencies - Requires: accepted WMO render and scene Resource finalizers - Blocks: remaining loader-owned WMO runtime materialization cleanup ## Verification - Synthetic identity/version/type/surface/metadata/color/definition/source/timing contracts; adjacent WMO/renderer gates; full 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: `ae40e3f` (`render: extract WMO runtime Mesh finalizer`) - Results: finalizer PASS `cases=27 iterations=1000 elapsed_ms=0.402` in the full run; autonomous headless suite `63/63`; documentation `49`; coordination passed with `34` historical warnings; checkpoint dry-run `7/7`. - Remaining risks: WMOBuilder surface mutation remains synchronous main-thread work; no private WMO corpus, visual comparison, leak/GPU or p95/p99 evidence. - Documentation updated: new full module specification with API/I/O and data-flow/state/sequence/dependency diagrams; renderer registry/source map, `RENDER.md` and M03 Evidence. - Merge: `d65ebee` (`merge: WMO runtime Mesh finalizer`) - Post-merge: finalizer PASS `cases=27 iterations=1000 elapsed_ms=0.202`; WMO scene/render cache/finalizer/queue/planner/registry/resolver, shutdown, materials, facade, internal-access `30`, manifest and checkpoint dry-run `7/7`, documentation `49` and coordination gates passed.