coordination: claim cached M2 animation resource observer
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
# M03-RND-M2-CACHED-ANIMATION-RESOURCE-OBSERVER-001
|
||||||
|
|
||||||
|
<!-- OPENWC_CLAIM:M03-RND-M2-CACHED-ANIMATION-RESOURCE-OBSERVER-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-cached-animation-resource-observer`
|
||||||
|
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-m2-cached-animation-resource-observer`
|
||||||
|
|
||||||
|
## Outcome
|
||||||
|
|
||||||
|
Move cached-GLB animated M2 lookup, allow/deny and primitive/schema safety
|
||||||
|
selection, threaded request admission and static-only transition from the loader
|
||||||
|
into a service that produces `M2BuildResourceSnapshot`.
|
||||||
|
|
||||||
|
## Non-goals
|
||||||
|
|
||||||
|
- Move native GryphonRoost raw-data build, debug logging or finalize drains.
|
||||||
|
- Own/free prototype Nodes or change cache/pipeline ownership.
|
||||||
|
- Change allow/deny defaults, primitive limits, candidate order or GLB rules.
|
||||||
|
- Change batching, permits, cache formats, profiles or visible output.
|
||||||
|
|
||||||
|
## Paths
|
||||||
|
|
||||||
|
- Exclusive: `src/render/m2/m2_cached_animation_resource_observer.gd`,
|
||||||
|
`src/tools/verify_m2_cached_animation_resource_observer.gd`,
|
||||||
|
`docs/modules/m2-cached-animation-resource-observer.md`, this claim
|
||||||
|
- Shared: loader, M2 snapshot/animation pipeline/prototype specs and verifiers,
|
||||||
|
world renderer, module registry, `RENDER.md` and M03 Evidence
|
||||||
|
|
||||||
|
## Contracts and data
|
||||||
|
|
||||||
|
- Cached animated prototype wins; static-only and pending states do not request.
|
||||||
|
- Empty allowlist rejects; denylist wins; matching is stripped/case-insensitive.
|
||||||
|
- Historical nested/lowercase/basename `.glb` order remains exact.
|
||||||
|
- Candidate requires animations, primitive limit and accepted empty or
|
||||||
|
`pivot_prefix_v1` schema; other schemas are rejected.
|
||||||
|
- Successful/`ERR_BUSY` request is remembered and reported pending; no usable
|
||||||
|
candidate or request failure marks animation static.
|
||||||
|
- Service produces a snapshot borrowing the exact prototype and frees nothing.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- Requires: accepted static observer `5ebf4de`, snapshot and animation pipeline
|
||||||
|
- Blocks: native animation observation and remaining finalize extraction
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- Synthetic cache/pipeline/snapshot lifecycle, policy/path/GLB metadata fixtures,
|
||||||
|
source boundaries and timing; 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: active
|
||||||
|
- Done: ownership/compatibility contract
|
||||||
|
- Next: implementation, verification and documentation
|
||||||
|
- Blocked by:
|
||||||
|
|
||||||
|
## Handoff
|
||||||
|
|
||||||
|
- Commit:
|
||||||
|
- Results:
|
||||||
|
- Remaining risks:
|
||||||
|
- Documentation updated:
|
||||||
Reference in New Issue
Block a user