diff --git a/coordination/claims/M03-RND-M2-ANIMATED-SCENE-FINALIZER-001.md b/coordination/claims/M03-RND-M2-ANIMATED-SCENE-FINALIZER-001.md index 0da5e35..aa2bf51 100644 --- a/coordination/claims/M03-RND-M2-ANIMATED-SCENE-FINALIZER-001.md +++ b/coordination/claims/M03-RND-M2-ANIMATED-SCENE-FINALIZER-001.md @@ -78,9 +78,9 @@ main-thread finalizer. ## Status -- State: ready for integration +- State: accepted - Done: finalizer, loader adapters, lifecycle/material verifier and required documentation -- Next: integrate on master and run post-merge acceptance gates +- Next: continue animated M2 playback/instance materialization extraction - Blocked by: ## Handoff @@ -99,3 +99,12 @@ main-thread finalizer. prototype/world-renderer specs, module registry and `RENDER.md`. + +## Integration + +- Merge commit: `e7a7c67` +- Post-merge results: finalizer `cases=13 iterations=10000 + elapsed_ms=40.314`; animation pipeline, prototype state, 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 a82a81f..e918aeb 100644 --- a/targets/03-renderer-facade.md +++ b/targets/03-renderer-facade.md @@ -26,8 +26,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру ## Evidence -- Date: 2026-07-17 -- 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`; +- 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`; 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`, @@ -51,7 +51,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру `M03-RND-M2-RUNTIME-MESH-FINALIZER-001`, `M03-RND-M2-RAW-MODEL-REPOSITORY-001`, `M03-RND-M2-PROTOTYPE-CACHE-001`, - `M03-RND-M2-ANIMATION-LOAD-PIPELINE-001` + `M03-RND-M2-ANIMATION-LOAD-PIPELINE-001`, + `M03-RND-M2-ANIMATED-SCENE-FINALIZER-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 @@ -197,6 +198,15 @@ Runtime и Editor используют facade; planner/scheduler тестиру probe remained unavailable. Post-merge pipeline (`70.309ms`), prototype state, shutdown, materials, facade, internal-access `30`, `7/7` manifest, documentation and coordination gates remained green. + M2 animated scene finalizer passed `cases=13 iterations=10000 + elapsed_ms=40.126` with invalid Resource/root lifetime, exact candidate + transfer, depth-first Mesh/AnimationPlayer traversal, material override + priority, first-material fallback, source-index mapping and source-boundary + contracts. All 48 autonomous headless regressions and checkpoint dry-run + `7/7` passed; the proprietary ADT probe remained unavailable. Post-merge + finalizer (`40.314ms`), animation pipeline, prototype state, shutdown, + materials, facade, internal-access `30`, `7/7` manifest, documentation and + coordination gates remained green. M02 terrain-query regression remained green (13 pre-existing expired M00 claim warnings). - Fidelity comparison: all 16 historical operation limits and drain sites were @@ -274,6 +284,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру both clear sites and shutdown ResourceLoader drain order are unchanged. GLB eligibility/cache selection, I/O, permits, instantiation, material repair and prototype/static-fallback decisions remain loader-owned. + Animated scene candidates retain PackedScene-only/Node3D-root admission, + depth-first positional material mapping, source-index clamp, per-surface + override priority, first-material fallback and at-least-one-AnimationPlayer + acceptance. Accepted exact roots/player counts return to loader adoption/logs; + 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. 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 @@ -321,6 +338,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру stateless M2 raw model repository and three native-load adapters, 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, 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