# M03-RND-M2-ANIMATION-RESOURCE-FINALIZER-001 ## Owner - Agent ID: `sindo-main-codex` - Target: M03 Renderer Facade and Safe Extraction - Branch: `work/sindo-main-codex/m03-m2-animation-resource-finalizer` - Worktree: `C:\Users\sindo\open-wc-worktrees\m03-m2-animation-resource-finalizer` ## Outcome Move cached animated M2 ResourceLoader status polling, terminal Resource load, candidate finalization, prototype/static-only adoption and success diagnostics from the loader into a dedicated two-phase finalization service. ## Non-goals - Change cached animation eligibility, request admission or native-first order. - Move material-prototype lookup, permit ownership, playback or materialization. - Change ResourceLoader status order, cache formats, profiles or visible output. - Generalize static and animated ResourceLoader paths behind callbacks/frameworks. ## Paths - Exclusive: `src/render/m2/m2_animation_resource_finalizer.gd`, `src/tools/verify_m2_animation_resource_finalizer.gd`, `docs/modules/m2-animation-resource-finalizer.md`, this claim - Shared: loader, animation pipeline/scene finalizer/prototype cache/cached observer/world-renderer specs and verifiers, module registry, `RENDER.md`, M03 Evidence ## Contracts and data - Pending request snapshots are polled in existing Dictionary insertion order. - Empty Resource paths are discarded and marked static-only immediately. - Only LOADED/FAILED statuses move into completion-order finalize FIFO. - One permit processes one popped terminal record, including skipped/stale records. - Existing prototype/static-only state suppresses terminal Resource loading. - LOADED Resource is instantiated before material-prototype lookup is requested. - Candidate repair/finalize/adoption and exact `M2_ANIM_CACHE` debug fields remain. - Rejected candidates are released by the existing animated scene finalizer. ## Dependencies - Requires: accepted animation pipeline, scene finalizer, cached/native observers - Blocks: remaining loader-owned M2 material-prototype lookup and action execution ## Verification - Synthetic polling/status/FIFO/skip/load/candidate/repair/adoption/log/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: