coordination: claim M2 build resource snapshot
This commit is contained in:
@@ -0,0 +1,86 @@
|
|||||||
|
# M03-RND-M2-BUILD-RESOURCE-SNAPSHOT-001
|
||||||
|
|
||||||
|
<!-- OPENWC_CLAIM:M03-RND-M2-BUILD-RESOURCE-SNAPSHOT-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-m2-build-resource-snapshot`
|
||||||
|
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-m2-build-resource-snapshot`
|
||||||
|
|
||||||
|
## Outcome
|
||||||
|
|
||||||
|
Replace loose per-step M2 animated/static resource variables with a typed
|
||||||
|
observation snapshot consumed by the dispatch planner and materializer adapter.
|
||||||
|
|
||||||
|
## Non-goals
|
||||||
|
|
||||||
|
- Move ResourceLoader I/O, cache lookup/request execution or retry ownership.
|
||||||
|
- Own or free prototype Nodes or Mesh Resources.
|
||||||
|
- Change dispatch priority, batch sizing, queue ordering, permits or visuals.
|
||||||
|
- Change M2 cache paths, formats, allowlists or native animation selection.
|
||||||
|
|
||||||
|
## Paths
|
||||||
|
|
||||||
|
- Exclusive: `src/render/m2/m2_build_resource_snapshot.gd`,
|
||||||
|
`src/tools/verify_m2_build_resource_snapshot.gd`,
|
||||||
|
`docs/modules/m2-build-resource-snapshot.md`, this claim
|
||||||
|
- Shared/hotspots: `src/render/m2/m2_build_dispatch_planner.gd`, its verifier/spec,
|
||||||
|
`src/scenes/streaming/streaming_world_loader.gd`, M2 queue/materializer/cache
|
||||||
|
specs and tests, `docs/modules/world-renderer.md`, `docs/modules/README.md`,
|
||||||
|
`RENDER.md`, `targets/03-renderer-facade.md`
|
||||||
|
- Generated/ignored: `.godot`, native DLL, generated resources/caches and proprietary corpus
|
||||||
|
|
||||||
|
## Contracts and data
|
||||||
|
|
||||||
|
- Snapshot retains normalized path, optional animated prototype, animation
|
||||||
|
request state, optional static Mesh and terminal missing-model state.
|
||||||
|
- Static observation is adopted only after animation is not pending, the batch
|
||||||
|
is positive and no animated prototype exists.
|
||||||
|
- Accessors borrow exact engine references without transferring/freeing ownership.
|
||||||
|
- Diagnostics expose only path and scalar availability flags.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- Requires: accepted M2 dispatch planner on master `b113db0`
|
||||||
|
- Blocks: extracting M2 resource observation/request service ownership
|
||||||
|
- External state: prototype/cache/pipeline/resource lifetime remains loader-owned
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- Commands: dedicated identity/adoption/diagnostic/lifetime/source/timing verifier;
|
||||||
|
dispatch/queue/batch/materializer/cache/pipeline/shutdown/facade/internal-access/
|
||||||
|
manifest regressions; documentation, coordination and checkpoint dry-run gates
|
||||||
|
- Fixtures: synthetic Node3D prototype and ArrayMesh resources
|
||||||
|
- Fidelity evidence: exact resource presence/pending/missing values and branch order
|
||||||
|
- Performance budget: 20,000 snapshot construct/adopt/read cycles under one second
|
||||||
|
|
||||||
|
## Documentation deliverables
|
||||||
|
|
||||||
|
- Inline API docs
|
||||||
|
- Module spec with inputs/outputs, ownership and source map
|
||||||
|
- Data-flow, lifecycle/state, sequence and dependency diagrams
|
||||||
|
- Adjacent dispatch/queue/world-renderer/module-registry/RENDER updates
|
||||||
|
|
||||||
|
## Simplicity and naming
|
||||||
|
|
||||||
|
- Important name: `M2BuildResourceSnapshot`
|
||||||
|
- Simplest solution: one small RefCounted value holder with explicit accessors
|
||||||
|
- Rejected complexity: generic resource union, signals, callbacks and cache ownership
|
||||||
|
- Unavoidable complexity: two-phase animation then optional static observation
|
||||||
|
- Measured optimization evidence: bounded synthetic lifecycle loop
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
- State: active
|
||||||
|
- Done: contract and ownership boundary
|
||||||
|
- Next: implementation, verification and documentation
|
||||||
|
- Blocked by:
|
||||||
|
|
||||||
|
## Handoff
|
||||||
|
|
||||||
|
- Commit:
|
||||||
|
- Results:
|
||||||
|
- Remaining risks:
|
||||||
|
- Documentation updated:
|
||||||
Reference in New Issue
Block a user