2.5 KiB
2.5 KiB
M03-RND-M2-NATIVE-ANIMATION-RESOURCE-OBSERVER-001
Owner
- Agent ID:
sindo-main-codex - Target: M03 Renderer Facade and Safe Extraction
- Branch:
work/sindo-main-codex/m03-m2-native-animation-resource-observer - Worktree:
C:\Users\sindo\open-wc-worktrees\m03-m2-native-animation-resource-observer
Outcome
Move native GryphonRoost M2 animation candidate selection, synchronous raw read, native animated build, prototype/static-only adoption and debug diagnostics from the loader into a dedicated observer.
Non-goals
- Change the exact native candidate predicate or add more animated models.
- Move cached-GLB observation, ResourceLoader polling/finalize or playback.
- Own attached instances, consume permits or change queue/batch behavior.
- Change native parsing/building, cache formats, profiles or visible output.
Paths
- Exclusive:
src/render/m2/m2_native_animation_resource_observer.gd,src/tools/verify_m2_native_animation_resource_observer.gd,docs/modules/m2-native-animation-resource-observer.md, this claim - Shared: loader, M2 cached observer/snapshot/raw repository/prototype specs and
verifiers, world renderer, module registry,
RENDER.mdand M03 Evidence
Contracts and data
- Only case-insensitive paths containing
gryphonroostare native candidates. - Cached animated prototype wins; static-only state suppresses repeated reads.
- Empty raw data or animated surfaces marks animation static.
- Builder result must be non-null with at least one child; rejection marks static.
- Successful result is adopted through first-wins prototype cache semantics.
- Existing
M2_NATIVE_ANIM_CACHEfields and debug gating remain exact. - Observer attaches/frees no Node and starts no async work.
Dependencies
- Requires: accepted cached observer
6f385ed, raw repository and prototype state - Blocks: remaining ResourceLoader polling/finalize extraction
Verification
- Synthetic candidate/cache/static/raw/build/adoption/lifetime/logging/source and 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: active
- Done: ownership/compatibility contract
- Next: implementation, verification and documentation
- Blocked by:
Handoff
- Commit:
- Results:
- Remaining risks:
- Documentation updated: