render: extract M2 animation resource finalizer

This commit is contained in:
2026-07-18 13:30:24 +04:00
parent ff952da7d8
commit e7cd967dce
17 changed files with 1066 additions and 121 deletions
+16 -3
View File
@@ -61,7 +61,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
`M03-RND-M2-BUILD-RESOURCE-SNAPSHOT-001`,
`M03-RND-M2-STATIC-BUILD-RESOURCE-OBSERVER-001`,
`M03-RND-M2-CACHED-ANIMATION-RESOURCE-OBSERVER-001`,
`M03-RND-M2-NATIVE-ANIMATION-RESOURCE-OBSERVER-001`
`M03-RND-M2-NATIVE-ANIMATION-RESOURCE-OBSERVER-001`,
`M03-RND-M2-ANIMATION-RESOURCE-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
@@ -305,6 +306,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру
observer, repository, prototype cache, snapshot, dispatch, shutdown, facade,
internal-access `30`, manifest `7/7`, documentation `44`, coordination and
checkpoint dry-run `7/7`.
M2 animation resource finalizer passed `cases=28 iterations=1000
elapsed_ms=0.673` with exact
pending/loaded/failed polling order, empty-path discard, completion FIFO,
cache/static skips, Resource/candidate identity, repair, adoption and source cases.
All 58 autonomous headless regressions passed; internal-access remained `30`,
documentation covered `45` module specifications, coordination retained `34`
historical expired-claim warnings and checkpoint dry-run kept all `7/7` plans.
M02 terrain-query regression
remained green (13 pre-existing expired M00 claim warnings).
- Fidelity comparison: all 16 historical operation limits and drain sites were
@@ -350,6 +358,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
order, animation presence, primitive cap, accepted empty/`pivot_prefix_v1`
schema rules and request/static-only transitions. Native GryphonRoost remains
first through its observer, so selection and visible behavior are unchanged.
Cached animation terminal work retains pending insertion-order polling,
completion-order FIFO, one popped record per permit, candidate-before-material
lookup, exact repair/validation/adoption and `M2_ANIM_CACHE` fields.
WMO cache-key normalization, positive MODF identity with tile/index fallback
and world position/Euler/unclamped-scale transforms are unchanged across
lightweight render, cached-scene and live-prototype paths.
@@ -472,6 +483,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
adapters plus generated GLB metadata regression fixtures,
native M2 animation resource observer and loader/raw-repository/prototype-cache
adapters plus synthetic lifecycle and exact-dependency regression fixtures,
cached M2 animation resource finalizer and loader/pipeline/scene-finalizer/
prototype-cache adapters plus synthetic terminal-I/O regression fixtures,
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
@@ -501,8 +514,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
batching still needs culling/performance evidence; typed M2 pending state is
separated and dispatch decisions are explicit; static and cached-animation
observers produce typed per-operation state, including native observation;
action execution and root cleanup remain in loader; both ResourceLoader finalize
drains remain loader-owned;
animation terminal ResourceLoader drain is extracted, while action execution,
material-prototype lookup, root cleanup and static Mesh finalize drain remain loader-owned;
WMO ResourceLoader/FileAccess I/O, live fallback and group materialization
remain in the loader;
asset-backed WMO placement/portal/material/leak/p95/p99 evidence remains pending;