From cfa3dc1009c8686cabba33b453696538bf8ca67b Mon Sep 17 00:00:00 2001 From: sindoring Date: Sat, 1 Aug 2026 10:28:50 +0400 Subject: [PATCH] coordination: claim WMO runtime scene preparer Work-Package: M03-RND-WMO-RUNTIME-SCENE-PREPARER-001 Agent: sindo-main-codex Tests: not run (coordination only) Fidelity: behavior-preserving extraction planned --- .../M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 coordination/claims/M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md diff --git a/coordination/claims/M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md b/coordination/claims/M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md new file mode 100644 index 0000000..8d44286 --- /dev/null +++ b/coordination/claims/M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md @@ -0,0 +1,64 @@ +# 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 `Occluders` and 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: