render: extract native M2 animation resource observer
This commit is contained in:
@@ -60,7 +60,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
`M03-RND-M2-BUILD-DISPATCH-PLANNER-001`,
|
||||
`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-CACHED-ANIMATION-RESOURCE-OBSERVER-001`,
|
||||
`M03-RND-M2-NATIVE-ANIMATION-RESOURCE-OBSERVER-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
|
||||
@@ -294,6 +295,12 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
Merge `f79e064` passed post-merge observer (`61.514ms`), animation pipeline,
|
||||
snapshot, dispatch, prototype cache, shutdown, facade, internal-access `30`,
|
||||
manifest `7/7`, documentation `43`, coordination and checkpoint dry-run `7/7`.
|
||||
M2 native animation resource observer passed `cases=33 iterations=20000
|
||||
elapsed_ms=16.881` with exact candidate, dependency, cached/static, raw/surface/build
|
||||
failure, preserved childless lifetime, adoption, dependency and source cases.
|
||||
All 57 autonomous headless regressions passed; internal-access remained `30`,
|
||||
documentation covered `44` 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
|
||||
@@ -331,11 +338,14 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
One build operation now carries the exact normalized path, optional animated
|
||||
prototype, pending-animation state, optional static Mesh and missing outcome in
|
||||
a typed snapshot; releasing it never frees either borrowed engine resource.
|
||||
Cached animated lookup now preserves cached/static/pending priority, empty-
|
||||
Native GryphonRoost observation now preserves case-insensitive substring
|
||||
selection, cached/static priority, synchronous animated raw read, non-empty
|
||||
surface and child requirements, first-wins adoption and exact success-log fields.
|
||||
Cached animated lookup preserves cached/static/pending priority, empty-
|
||||
allowlist rejection, denylist precedence, normalized/lowercase/basename path
|
||||
order, animation presence, primitive cap, accepted empty/`pivot_prefix_v1`
|
||||
schema rules and request/static-only transitions. Native GryphonRoost remains
|
||||
first and loader-owned, so selection and visible behavior are unchanged.
|
||||
first through its observer, so selection and visible behavior are unchanged.
|
||||
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.
|
||||
@@ -456,6 +466,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
static M2 build resource observer and loader/cache/pipeline/snapshot adapters,
|
||||
cached M2 animation resource observer and loader/prototype/pipeline/snapshot
|
||||
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,
|
||||
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
|
||||
@@ -478,12 +490,14 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
raw
|
||||
animated-instance materialization is now separated but remains synchronous
|
||||
main-thread work; asset-backed traversal/visual/leak/p95/p99 evidence is pending;
|
||||
native parsing/build also remains synchronous and the historically unfreed
|
||||
childless builder result remains a documented leak edge;
|
||||
static MultiMesh materialization is also separated but remains synchronous;
|
||||
headless timing does not measure transform upload GPU cost and spatial-cell
|
||||
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, while native observation, action
|
||||
execution and root cleanup remain in loader; both ResourceLoader finalize
|
||||
observers produce typed per-operation state, including native observation;
|
||||
action execution and root cleanup remain in loader; both ResourceLoader finalize
|
||||
drains remain loader-owned;
|
||||
WMO ResourceLoader/FileAccess I/O, live fallback and group materialization
|
||||
remain in the loader;
|
||||
|
||||
Reference in New Issue
Block a user