cfa3dc1009
Work-Package: M03-RND-WMO-RUNTIME-SCENE-PREPARER-001 Agent: sindo-main-codex Tests: not run (coordination only) Fidelity: behavior-preserving extraction planned
2.3 KiB
2.3 KiB
M03-RND-WMO-RUNTIME-SCENE-PREPARER-001
Owner
- Agent ID:
sindo-main-codex - Target: M03 Renderer Facade and Safe Extraction
- Branch:
work/sindo-main-codex/m03-wmo-runtime-scene-preparer - Worktree:
C:\Users\sindo\open-wc-worktrees\m03-wmo-runtime-scene-preparer
Outcome
Move cached/live WMO subtree preparation—recursive Mesh finalization, direct Occluders-child policy and recursive shadow enabling—from the loader into one stateless main-thread service.
Non-goals
- Change scene/prototype loading, validation, placement or attachment.
- Change WMO material refresh rules, cache versions or builder behavior.
- Change occlusion/shadow defaults or add visibility/portal behavior.
- Change queue, scheduler, ownership or shutdown lifecycle.
Paths
- Exclusive:
src/render/wmo/wmo_runtime_scene_preparer.gd,src/tools/verify_wmo_runtime_scene_preparer.gd,docs/modules/wmo-runtime-scene-preparer.md, this claim - Shared: loader, renderer module registry/specification,
RENDER.md, M03 Evidence
Contracts and data
- Cached preparation finalizes every MeshInstance3D Mesh and non-null MultiMeshInstance3D Mesh in depth-first traversal order.
- Live preparation does not cross the runtime Mesh finalizer boundary.
- Disabled occlusion removes only the direct child named
Occludersand queues it for deletion; enabled occlusion retains it. - Enabled shadows recursively set every GeometryInstance3D to ON; disabled shadows preserve existing per-node values.
- The service borrows the subtree and retains no Node or Resource.
Dependencies
- Requires: accepted WMO runtime Mesh finalizer
- Blocks: remaining loader-owned WMO scene/prototype orchestration cleanup
Verification
- Synthetic cached/live traversal, exact resource/order, occluder, shadow, invalid-input, ownership, source and bounded-timing contracts; adjacent WMO, renderer, documentation and coordination gates; checkpoint dry-run.
Documentation deliverables
- Inline API docs; module API/I/O/ownership; data-flow/sequence/dependency diagrams; adjacent renderer docs and M03 Evidence.
Status
- State: active
- Done: scope and historical path distinction identified
- Next: implement and verify subtree preparation delegation
- Blocked by: