f8348cf0cb
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
94 lines
3.9 KiB
Markdown
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.
|