Files
open-wc/coordination/claims/M03-RND-WMO-SCENE-INSTANCE-FACTORY-001.md
sindoring f978a16806 targets: accept WMO scene instance factory
Work-Package: M03-RND-WMO-SCENE-INSTANCE-FACTORY-001
Agent: sindo-main-codex
Tests: post-merge WMO/placement/facade/internal-access/manifest/docs/coordination smoke passed
Fidelity: valid cached/live behavior preserved; invalid-root lifetime leak fixed
2026-08-01 10:51:35 +04:00

3.7 KiB

M03-RND-WMO-SCENE-INSTANCE-FACTORY-001

Owner

  • Agent ID: sindo-main-codex
  • Target: M03 Renderer Facade and Safe Extraction
  • Branch: work/sindo-main-codex/m03-wmo-scene-instance-factory
  • Worktree: C:\Users\sindo\open-wc-worktrees\m03-wmo-scene-instance-factory

Outcome

Move WMO cached-scene instantiation/currentness validation and live-prototype duplication with shared name/placement application into one main-thread factory.

Non-goals

  • Change cache lookup/admission, ResourceLoader or prototype construction.
  • Change runtime Mesh/material/occluder/shadow preparation.
  • Change attachment, placement registry, queues, permits or lifetime.
  • Change scene cache version rules or placement formulas.

Paths

  • Exclusive: src/render/wmo/wmo_scene_instance_factory.gd, src/tools/verify_wmo_scene_instance_factory.gd, docs/modules/wmo-scene-instance-factory.md, this claim
  • Shared: loader, adjacent WMO verifier/spec, renderer registry/specification, RENDER.md, M03 Evidence

Contracts and data

  • Null scenes/prototypes and non-Node3D instantiation/duplication return null.
  • Cached instances failing the injected currentness validator are synchronously freed.
  • Accepted instances retain exact descendant Resource identities.
  • Both paths apply relative_path.get_file().get_basename() and the exact placement-resolver Transform3D.
  • The factory returns detached roots and retains no Node or Resource.

Dependencies

  • Requires: accepted WMO placement resolver and runtime scene preparer
  • Blocks: remaining loader-owned WMO cache/prototype orchestration cleanup

Verification

  • Synthetic cached/live type, validation, freeing, exact identity, name, transform, dependency/order, ownership, source and bounded-timing contracts; adjacent WMO/renderer gates 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: 7e97b19 (render: extract WMO scene instance factory)
  • Results: factory PASS cases=41 iterations=1000 elapsed_ms=5.297; placement resolver dependency PASS cases=10 iterations=20000 elapsed_ms=28.740; suite 65/66 with no unexpected failures and only the proprietary ADT placement probe unavailable; editor parse had zero script diagnostics; checkpoint dry-run retained 7/7; documentation passed with 52 module specifications; coordination passed with 77 historical warnings.
  • Fidelity: valid cached/live cache-validation distinction, basename, exact Transform3D and descendant Resource identity are unchanged. Invalid non-Node3D cached roots are now freed synchronously, fixing an error-path leak without changing valid visible output.
  • Remaining risks: instantiation/duplication remains synchronous; no private WMO portal/room, visual, long-traversal, leak/GPU or p95/p99 evidence.
  • Documentation: new full factory module specification; placement resolver consumers/sequence, renderer registry/source map and RENDER.md updated.
  • Merge: 541279e (merge: WMO scene instance factory)
  • Post-merge: factory PASS cases=41 iterations=1000 elapsed_ms=5.308; placement resolver cases=10/31.207ms; runtime preparation/finalization, adjacent WMO services, shutdown, materials, facade, internal-access 30, manifest 7/7, documentation 52 and coordination passed.