3.6 KiB
3.6 KiB
M03-RND-M2-MESH-RESOURCE-FINALIZER-001
Owner
- Agent ID:
sindo-main-codex - Target: M03 Renderer Facade and Safe Extraction
- Branch:
work/sindo-main-codex/m03-m2-mesh-resource-finalizer - Worktree:
C:\Users\sindo\open-wc-worktrees\m03-m2-mesh-resource-finalizer
Outcome
Move static M2 ResourceLoader status polling, terminal Resource/Mesh extraction, runtime Mesh preparation, Mesh-cache adoption and missing outcome from the loader into one dedicated finalization service.
Non-goals
- Change static cache path selection or threaded request admission.
- Merge static and animated terminal services behind a generic callback layer.
- Own permits, MultiMesh materialization, prototype Nodes or SceneTree roots.
- Change material refresh version, rebuild rules, cache formats or visible output.
Paths
- Exclusive:
src/render/m2/m2_mesh_resource_finalizer.gd,src/tools/verify_m2_mesh_resource_finalizer.gd,docs/modules/m2-mesh-resource-finalizer.md, this claim - Shared: loader, Mesh pipeline/cache/extractor/runtime-finalizer/raw-repository/
prototype specs and verifiers, world renderer, registry,
RENDER.md, M03 Evidence
Contracts and data
- Pending requests are polled in existing Dictionary insertion order.
- Empty Resource paths are discarded and marked missing immediately.
- Only LOADED/FAILED statuses enter completion-order finalize FIFO.
- One permit pops exactly one terminal record, including skipped/cached records.
- Existing cached Mesh suppresses terminal Resource retrieval.
- Loaded Resource uses exact first-Mesh extraction and current refresh-version path.
- Raw M2 data loads only when the extracted Mesh is stale.
- Prepared Mesh is stored by existing replacement semantics; failures mark missing.
Dependencies
- Requires: accepted Mesh pipeline/cache/extractor/runtime finalizer/raw repository
- Blocks: remaining loader-owned M2 materialization and orchestration cleanup
Verification
- Synthetic polling/FIFO/skip/load/extract/refresh/store/missing/source/timing contracts; adjacent M2/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: accepted
- Done: implementation, verification and documentation
- Next: next unclaimed M03 renderer extraction package
- Blocked by:
Handoff
- Commit:
ddeb708(render: extract M2 Mesh resource finalizer) - Results: finalizer PASS
cases=31 iterations=1000 elapsed_ms=0.767; adjacent Mesh pipeline/cache/extractor/runtime-finalizer/raw-repository/ prototype/shutdown checks passed; autonomous headless suite59/59; documentation46; coordination passed with34historical warnings; checkpoint dry-run7/7. - Remaining risks: terminal instantiation/raw parsing/rebuild remain synchronous main-thread work behind existing permits; no private-asset 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 M2 module specs,
world-renderer registry/spec,
RENDER.mdand M03 Evidence. - Merge:
34b7000(merge: M2 Mesh resource finalizer) - Post-merge: finalizer PASS
cases=31 iterations=1000 elapsed_ms=0.826; adjacent M2 pipeline/cache/extractor/runtime/repository/prototype/shutdown, facade, internal-access30, manifest7/7, documentation46and coordination gates passed.