diff --git a/coordination/claims/M03-RND-M2-ANIMATION-PLAYBACK-001.md b/coordination/claims/M03-RND-M2-ANIMATION-PLAYBACK-001.md index 0132add..e984e7b 100644 --- a/coordination/claims/M03-RND-M2-ANIMATION-PLAYBACK-001.md +++ b/coordination/claims/M03-RND-M2-ANIMATION-PLAYBACK-001.md @@ -77,9 +77,9 @@ mutation and native animator data/start behavior from `StreamingWorldLoader`. ## Status -- State: ready for integration +- State: accepted - Done: playback controller, loader adapters, verifier and required documentation -- Next: integrate on master and run post-merge acceptance gates +- Next: extract animated M2 instance/batch materialization - Blocked by: ## Handoff @@ -99,3 +99,12 @@ mutation and native animator data/start behavior from `StreamingWorldLoader`. renderer specs, module registry and `RENDER.md`. + +## Integration + +- Merge commit: `c0fc191` +- Post-merge results: playback `cases=15 iterations=20000 elapsed_ms=23.008`; + animated finalizer/pipeline, prototype, build, shutdown, materials, facade, + internal-access `30`, manifest `7/7`, documentation and coordination passed. + + diff --git a/targets/03-renderer-facade.md b/targets/03-renderer-facade.md index e918aeb..8f278d3 100644 --- a/targets/03-renderer-facade.md +++ b/targets/03-renderer-facade.md @@ -27,7 +27,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру ## Evidence - Date: 2026-07-18 -- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`, `1fafdde`, `7cd07dd`, `1de50f9`, `3dccd3e`, `e7a7c67`; +- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`, `1fafdde`, `7cd07dd`, `1de50f9`, `3dccd3e`, `e7a7c67`, `c0fc191`; packages `M03-RND-SCHEDULER-001`, `M03-RND-INTERNAL-ACCESS-GATE-001`, `M03-RND-FACADE-GROUND-QUERY-001`, `M03-RND-FACADE-ENVIRONMENT-001`, `M03-RND-FACADE-ENTITY-001`, `M03-RND-TERRAIN-CACHE-SERVICE-001`, @@ -52,7 +52,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру `M03-RND-M2-RAW-MODEL-REPOSITORY-001`, `M03-RND-M2-PROTOTYPE-CACHE-001`, `M03-RND-M2-ANIMATION-LOAD-PIPELINE-001`, - `M03-RND-M2-ANIMATED-SCENE-FINALIZER-001` + `M03-RND-M2-ANIMATED-SCENE-FINALIZER-001`, + `M03-RND-M2-ANIMATION-PLAYBACK-001` - Commands: dedicated scheduler/planner/facade/focus/coordinate/manifest/shutdown headless verifiers; Godot cold editor parse; coordination, documentation and diff gates. - Results: scheduler `cases=6 iterations=20000 elapsed_ms=10.216`; planner @@ -207,6 +208,14 @@ Runtime и Editor используют facade; planner/scheduler тестиру finalizer (`40.314ms`), animation pipeline, prototype state, shutdown, materials, facade, internal-access `30`, `7/7` manifest, documentation and coordination gates remained green. + M2 animation playback controller passed `cases=15 iterations=20000 + elapsed_ms=23.415` with exact phase, ordinary/fish/bird priorities, + substring/first-name fallback, loop/play/seek, native exact-script order, + five-field reference copy, phase and detached diagnostics. All 49 autonomous + headless regressions and checkpoint dry-run `7/7` passed; the proprietary ADT + probe remained unavailable. Post-merge playback (`23.008ms`), animated + finalizer/pipeline, prototype, build, shutdown, materials, facade, + internal-access `30`, `7/7` manifest, documentation and coordination passed. M02 terrain-query regression remained green (13 pre-existing expired M00 claim warnings). - Fidelity comparison: all 16 historical operation limits and drain sites were @@ -291,6 +300,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру rejected roots are synchronously freed, including the previously leaked non-Node3D imported-root edge case. I/O, permits, material-source selection, prototype/static outcome and playback policy remain loader-owned. + Animated instance playback retains the exact path/index hash phase, ordinary/ + fish/bird priority lists, case-insensitive substring and first-name fallbacks, + linear looping of every imported animation, selected play and positive-length + phase seek. Native animators retain exact-script depth-first pairing, five + reference/value assignments, optional prepare, phase and debug sampling. + Instance duplication/attachment, visibility, shadows, Editor ownership and + diagnostic log formatting remain loader-owned. Prepared static M2 Mesh lookups retain exact Resource identity, same-path replacement and map-refresh lifetime; the only clear remains final shutdown after asynchronous drain. Shared missing/static/animated prototype state now @@ -339,6 +355,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру shutdown-lifetime M2 prototype cache state and all positive/negative adapters, M2 animation load pipeline state and loader request/poll/finalize/metric/clear adapters, M2 animated scene finalizer and loader candidate/material/player traversal adapters, + M2 animation playback controller and loader native/imported playback adapters, expanded facade/internal-access/coordinate verifiers; work-package claims and this evidence. - Remaining risks: worker concurrency and stale-result validation remain streamer-owned; cancellation stops new permits but does not interrupt