81 lines
3.3 KiB
Markdown
81 lines
3.3 KiB
Markdown
# M03-RND-WMO-SCENE-RESOURCE-FINALIZER-001
|
|
|
|
<!-- OPENWC_CLAIM:M03-RND-WMO-SCENE-RESOURCE-FINALIZER-001:sindo-main-codex:2026-07-20 -->
|
|
|
|
## Owner
|
|
|
|
- Agent ID: `sindo-main-codex`
|
|
- Target: M03 Renderer Facade and Safe Extraction
|
|
- Branch: `work/sindo-main-codex/m03-wmo-scene-resource-finalizer`
|
|
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-scene-resource-finalizer`
|
|
|
|
## Outcome
|
|
|
|
Move cached WMO PackedScene terminal ResourceLoader polling, probe validation,
|
|
probe lifetime and scene/missing publication from the loader into one service.
|
|
|
|
## Non-goals
|
|
|
|
- Change `.tscn` path selection, file-size admission or request start behavior.
|
|
- Own live fallback, placement/build jobs, attached Nodes or scheduler permits.
|
|
- Change WMOBuilder cache metadata/version rules or visible output.
|
|
- Merge PackedScene and lightweight render Resource finalization generically.
|
|
|
|
## Paths
|
|
|
|
- Exclusive: `src/render/wmo/wmo_scene_resource_finalizer.gd`,
|
|
`src/tools/verify_wmo_scene_resource_finalizer.gd`,
|
|
`docs/modules/wmo-scene-resource-finalizer.md`, this claim
|
|
- Shared: loader, WMO scene cache state spec/verifier, world renderer registry/spec,
|
|
`RENDER.md`, M03 Evidence
|
|
|
|
## Contracts and data
|
|
|
|
- Pending requests are polled in detached Dictionary insertion order.
|
|
- Only LOADED/FAILED statuses complete requests.
|
|
- Failed, null, non-PackedScene, non-Node3D and stale scenes publish missing.
|
|
- Accepted PackedScenes retain exact Resource identity.
|
|
- Validation instantiates once and releases accepted/rejected Node3D probes once.
|
|
- Admission, oversize logging, live fallback and shutdown order are unchanged.
|
|
|
|
## Dependencies
|
|
|
|
- Requires: accepted WMO scene Resource cache state
|
|
- Blocks: remaining loader-owned WMO live fallback/materialization cleanup
|
|
|
|
## Verification
|
|
|
|
- Synthetic status/order/type/probe/validation/lifetime/adoption/source/timing
|
|
contracts; adjacent WMO/renderer gates; full suite and checkpoint dry-run.
|
|
|
|
## Documentation deliverables
|
|
|
|
- Inline API docs; module API/I/O/ownership; data-flow/state/sequence/dependency
|
|
diagrams; adjacent renderer docs and M03 Evidence.
|
|
|
|
## Status
|
|
|
|
- State: accepted
|
|
- Done: implementation, verification and documentation
|
|
- Next: next unclaimed M03 renderer extraction package
|
|
- Blocked by:
|
|
|
|
## Handoff
|
|
|
|
- Commit: `7779e9e` (`render: extract WMO scene resource finalizer`)
|
|
- Results: finalizer PASS `cases=26 iterations=1000 elapsed_ms=4.186`;
|
|
adjacent WMO scene/render cache/finalizer/queue/planner/registry/resolver and
|
|
shutdown checks passed; autonomous headless suite `61/61`; documentation `48`;
|
|
coordination passed with `34` historical warnings; checkpoint dry-run `7/7`.
|
|
- Remaining risks: PackedScene probe validation remains synchronous main-thread
|
|
work; no serialized private WMO stale/oversize, long leak, visual,
|
|
descriptor-pressure or p95/p99 evidence was added.
|
|
- Documentation updated: new full module specification with API/I/O and
|
|
data-flow/state/sequence/dependency diagrams; adjacent WMO cache/world-renderer
|
|
specs, module registry, `RENDER.md` and M03 Evidence.
|
|
- Merge: `6a0f9bd` (`merge: WMO scene resource finalizer`)
|
|
- Post-merge: finalizer PASS `cases=26 iterations=1000 elapsed_ms=3.970`;
|
|
WMO scene/render cache/finalizer/queue/planner/registry/resolver/shutdown,
|
|
facade, internal-access `30`, manifest and checkpoint dry-run `7/7`,
|
|
documentation `48` and coordination gates passed.
|