Files
open-wc/coordination/claims/M03-RND-WMO-RENDER-GROUP-MATERIALIZER-001.md
T
sindoring 57d3330944 targets: accept WMO render group materializer
Work-Package: M03-RND-WMO-RENDER-GROUP-MATERIALIZER-001
Agent: sindo-main-codex
Tests: post-merge WMO/facade/internal-access/manifest/docs/coordination smoke passed
Fidelity: behavior-preserving extraction; asset-backed visual evidence remains pending
2026-08-01 10:25:15 +04:00

89 lines
3.7 KiB
Markdown

# M03-RND-WMO-RENDER-GROUP-MATERIALIZER-001
<!-- OPENWC_CLAIM:M03-RND-WMO-RENDER-GROUP-MATERIALIZER-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-render-group-materializer`
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-wmo-render-group-materializer`
## Outcome
Move one-step WMO MeshInstance3D and MultiMeshInstance3D creation, render
settings and attachment from the loader into one main-thread materializer.
## Non-goals
- Change WMO placement, resource loading, build-step planning or queue state.
- Change runtime Mesh finalization, WMOBuilder material behavior or cache formats.
- Change permits, visibility distances, shadow policy or visible output.
- Generalize M2 and WMO materialization behind a shared abstraction.
## Paths
- Exclusive: `src/render/wmo/wmo_render_group_materializer.gd`,
`src/tools/verify_wmo_render_group_materializer.gd`,
`docs/modules/wmo-render-group-materializer.md`, this claim
- Shared: loader, renderer module registry/specification, `RENDER.md`, M03 Evidence
## Contracts and data
- Mesh and MultiMesh resources retain exact identity.
- Names and optional transforms preserve existing indexed fallback behavior.
- Shadow and positive visibility-range settings are applied unchanged.
- The supplied WMO root becomes the sole SceneTree owner of the created node.
- Editor persisted ownership remains an explicit loader composition policy.
## Dependencies
- Requires: accepted WMO render build queue/planner and runtime Mesh finalizer
- Blocks: remaining loader-owned WMO runtime traversal cleanup
## Verification
- Synthetic Mesh/MultiMesh identity, naming, transform, rendering, attachment,
invalid-input, ownership, source and bounded-timing contracts; adjacent WMO and
renderer gates; full autonomous suite and 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: `f4d5e29` (`render: extract WMO render group materializer`)
- Results: materializer PASS `cases=37 iterations=1000 elapsed_ms=2.771`;
autonomous headless suite `63/64`, with only the proprietary
`verify_adt_m2_placements.gd` probe unavailable because `data/extracted` is
absent; cold/editor parse completed without script diagnostics after restoring
ignored generated/native worktree artifacts; checkpoint dry-run retained
`7/7`; documentation passed with `50` module specifications; coordination
passed with `77` historical expired-claim warnings.
- Fidelity: exact Mesh/MultiMesh identity, indexed/fallback presentation,
render settings, attachment and scheduler/queue boundaries are unchanged.
No private-asset or original-client visual parity claim is added.
- Remaining risks: synchronous main-thread Node creation remains; no private WMO
visual comparison, long traversal, leak/GPU or p95/p99 evidence.
- Documentation: new full module specification with API/I/O and data-flow,
sequence/dependency diagrams; renderer registry/source map and `RENDER.md`
updated.
<!-- OPENWC_HANDOFF:READY:M03-RND-WMO-RENDER-GROUP-MATERIALIZER-001:f4d5e29 -->
<!-- OPENWC_INTEGRATION:ACCEPTED:M03-RND-WMO-RENDER-GROUP-MATERIALIZER-001:705354d -->
- Merge: `705354d` (`merge: WMO render group materializer`)
- Post-merge: materializer PASS `cases=37 iterations=1000 elapsed_ms=3.236`;
all nine adjacent WMO services, shutdown, materials, facade, internal-access
`30`, manifest `7/7`, documentation `50` and coordination passed.