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
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
# M03-RND-WMO-RUNTIME-SCENE-PREPARER-001
|
||||||
|
|
||||||
|
<!-- OPENWC_CLAIM:M03-RND-WMO-RUNTIME-SCENE-PREPARER-001:sindo-main-codex:2026-08-03 -->
|
||||||
|
|
||||||
|
## 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:
|
||||||
Reference in New Issue
Block a user