Files
open-wc/coordination/claims/M03-RND-WMO-RUNTIME-SCENE-PREPARER-001.md
T
sindoring f8348cf0cb targets: accept WMO runtime scene preparer
Work-Package: M03-RND-WMO-RUNTIME-SCENE-PREPARER-001
Agent: sindo-main-codex
Tests: post-merge WMO/facade/internal-access/manifest/docs/coordination smoke passed
Fidelity: cached/live, occluder and shadow behavior preserved; asset-backed evidence pending
2026-08-01 10:38:59 +04:00

94 lines
3.9 KiB
Markdown

# 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: ready
- Done: implementation, verification and documentation
- Next: integrator review and merge
- Blocked by:
## Handoff
- Commit: `ffed91c` (`render: extract WMO runtime scene preparer`)
- Results: preparer PASS `cases=31 iterations=1000 elapsed_ms=3.669`;
updated Mesh-finalizer boundary PASS `cases=28 iterations=1000
elapsed_ms=0.204`; headless suite `64/65` with no unexpected failures and
only the proprietary ADT placement probe unavailable without `data/extracted`;
editor parse had zero script diagnostics; checkpoint dry-run retained `7/7`;
documentation passed with `51` module specifications; coordination passed
with `77` historical expired-claim warnings.
- Fidelity: cached/live preparation distinction, exact Mesh traversal order,
direct `Occluders` lookup/removal and enabled/preserved shadow semantics are
unchanged. No private-asset or original-client parity claim is added.
- Remaining risks: recursive Resource/SceneTree mutation remains synchronous;
no asset-backed WMO portal/room, visual, leak/GPU or p95/p99 evidence.
- Documentation: new full module specification with API/I/O and data-flow,
sequence/dependency diagrams; Mesh-finalizer ownership spec, renderer registry,
world-renderer source map and `RENDER.md` updated.
<!-- OPENWC_HANDOFF:READY:M03-RND-WMO-RUNTIME-SCENE-PREPARER-001:ffed91c -->
<!-- OPENWC_INTEGRATION:ACCEPTED:M03-RND-WMO-RUNTIME-SCENE-PREPARER-001:57d0a9f -->
- Merge: `57d0a9f` (`merge: WMO runtime scene preparer`)
- Post-merge: preparer PASS `cases=31 iterations=1000 elapsed_ms=3.486`;
Mesh finalizer `cases=28`/`0.199ms`; all nine adjacent WMO services, shutdown,
materials, facade, internal-access `30`, manifest `7/7`, documentation `51`
and coordination passed.