75 lines
2.9 KiB
Markdown
75 lines
2.9 KiB
Markdown
# M03-RND-WMO-RENDER-RESOURCE-FINALIZER-001
|
|
|
|
<!-- OPENWC_CLAIM:M03-RND-WMO-RENDER-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-render-resource-finalizer`
|
|
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-render-resource-finalizer`
|
|
|
|
## Outcome
|
|
|
|
Move lightweight WMO render-cache terminal ResourceLoader polling, script/format
|
|
validation and Resource/missing publication from the loader into one service.
|
|
|
|
## Non-goals
|
|
|
|
- Change `.res` cache path selection or threaded request admission.
|
|
- Own WMO build permits, queues, placement state, Nodes or materialization.
|
|
- Change `WMOStreamingResource.FORMAT_VERSION`, fallback order or visible output.
|
|
- Combine render Resource and PackedScene finalization behind a generic callback.
|
|
|
|
## Paths
|
|
|
|
- Exclusive: `src/render/wmo/wmo_render_resource_finalizer.gd`,
|
|
`src/tools/verify_wmo_render_resource_finalizer.gd`,
|
|
`docs/modules/wmo-render-resource-finalizer.md`, this claim
|
|
- Shared: loader, WMO render 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, wrong-script and stale-format Resources publish missing outcome.
|
|
- Current exact-script Resources are adopted without duplication.
|
|
- Request admission, reset/shutdown drain order and cache lifetime are unchanged.
|
|
|
|
## Dependencies
|
|
|
|
- Requires: accepted WMO render Resource cache state
|
|
- Blocks: remaining loader-owned WMO orchestration/materialization cleanup
|
|
|
|
## Verification
|
|
|
|
- Synthetic status/order/load/validation/adoption/source/timing contracts;
|
|
adjacent WMO/renderer gates; full headless 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: ready
|
|
- Done: implementation, verification and documentation
|
|
- Next: merge and post-merge acceptance
|
|
- Blocked by:
|
|
|
|
## Handoff
|
|
|
|
- Commit: `a86f8f2` (`render: extract WMO render resource finalizer`)
|
|
- Results: finalizer PASS `cases=24 iterations=1000 elapsed_ms=3.938`;
|
|
adjacent WMO cache/queue/planner/registry/resolver/scene-cache/shutdown checks
|
|
passed; autonomous headless suite `60/60`; documentation `47`; coordination
|
|
passed with `34` historical warnings; checkpoint dry-run `7/7`.
|
|
- Remaining risks: terminal ResourceLoader polling remains a synchronous
|
|
main-thread boundary; no serialized private WMO, corrupt-cache, visual, leak,
|
|
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.
|