79 lines
3.1 KiB
Markdown
79 lines
3.1 KiB
Markdown
# M03-RND-WMO-RUNTIME-MESH-FINALIZER-001
|
|
|
|
<!-- OPENWC_CLAIM:M03-RND-WMO-RUNTIME-MESH-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-runtime-mesh-finalizer`
|
|
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-runtime-mesh-finalizer`
|
|
|
|
## Outcome
|
|
|
|
Move cached WMO runtime Mesh material refresh versioning, surface iteration and
|
|
material-definition reconstruction from the loader into one service.
|
|
|
|
## Non-goals
|
|
|
|
- Change WMO traversal, placement, build-job scheduling or Node materialization.
|
|
- Change WMOBuilder shader/material behavior or cache formats.
|
|
- Change texture path ordering, metadata names or visible output.
|
|
- Generalize M2 and WMO finalization behind a shared abstraction.
|
|
|
|
## Paths
|
|
|
|
- Exclusive: `src/render/wmo/wmo_runtime_mesh_finalizer.gd`,
|
|
`src/tools/verify_wmo_runtime_mesh_finalizer.gd`,
|
|
`docs/modules/wmo-runtime-mesh-finalizer.md`, this claim
|
|
- Shared: loader, WMO build/cache and world renderer specs/verifiers,
|
|
`RENDER.md`, M03 Evidence
|
|
|
|
## Contracts and data
|
|
|
|
- Null meshes remain null; accepted meshes retain exact Resource identity.
|
|
- Refresh metadata version `10` remains the admission boundary.
|
|
- Only stale `ArrayMesh` surfaces with cached WMO texture metadata are rebuilt.
|
|
- Texture indices remain compact and ordered texture0, texture1, texture2.
|
|
- WMO flags, shader, blend mode and cached colors are forwarded unchanged.
|
|
- Scene traversal, builder material semantics and shutdown order are unchanged.
|
|
|
|
## Dependencies
|
|
|
|
- Requires: accepted WMO render and scene Resource finalizers
|
|
- Blocks: remaining loader-owned WMO runtime materialization cleanup
|
|
|
|
## Verification
|
|
|
|
- Synthetic identity/version/type/surface/metadata/color/definition/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: `ae40e3f` (`render: extract WMO runtime Mesh finalizer`)
|
|
- Results: finalizer PASS `cases=27 iterations=1000 elapsed_ms=0.402` in the
|
|
full run; autonomous headless suite `63/63`; documentation `49`; coordination
|
|
passed with `34` historical warnings; checkpoint dry-run `7/7`.
|
|
- Remaining risks: WMOBuilder surface mutation remains synchronous main-thread
|
|
work; no private WMO corpus, visual comparison, leak/GPU or p95/p99 evidence.
|
|
- Documentation updated: new full module specification with API/I/O and
|
|
data-flow/state/sequence/dependency diagrams; renderer registry/source map,
|
|
`RENDER.md` and M03 Evidence.
|
|
- Merge: `d65ebee` (`merge: WMO runtime Mesh finalizer`)
|
|
- Post-merge: finalizer PASS `cases=27 iterations=1000 elapsed_ms=0.202`;
|
|
WMO scene/render cache/finalizer/queue/planner/registry/resolver, shutdown,
|
|
materials, facade, internal-access `30`, manifest and checkpoint dry-run
|
|
`7/7`, documentation `49` and coordination gates passed.
|