render: extract M2 Mesh resource finalizer
This commit is contained in:
@@ -62,7 +62,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
`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-ANIMATION-RESOURCE-FINALIZER-001`
|
||||
`M03-RND-M2-ANIMATION-RESOURCE-FINALIZER-001`,
|
||||
`M03-RND-M2-MESH-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
|
||||
@@ -317,6 +318,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
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.
|
||||
M2 Mesh resource finalizer passed `cases=31 iterations=1000
|
||||
elapsed_ms=0.767` with insertion-order status polling, loaded/failed FIFO,
|
||||
empty-path discard, cached/null/current/stale Mesh outcomes, exact dependency
|
||||
arguments, raw-read suppression and loader source boundaries. All 59 autonomous
|
||||
headless regressions passed; internal-access remained `30`, documentation
|
||||
covered `46` 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
|
||||
@@ -400,14 +408,16 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
M2 stale-cache rebuild selection retains the same positive billboard flag/
|
||||
vertex-count tests, referenced non-identity UV rotation, exclusive
|
||||
`0.000001` speed threshold, four-stage cap and first-decision-per-path cache
|
||||
lifetime. Raw loading, material refresh version, M2Builder rebuild/fallback and
|
||||
Mesh adoption remain loader-owned.
|
||||
lifetime. Material refresh version and M2Builder rebuild/fallback remain in
|
||||
the runtime finalizer; static raw loading and Mesh adoption now belong to the
|
||||
Mesh resource finalizer.
|
||||
Static M2 mesh pending requests preserve normalized-path dedupe and Dictionary
|
||||
insertion polling order; loaded/failed transitions preserve completion-order
|
||||
finalization FIFO and opaque statuses. All three pending-plus-finalize metrics,
|
||||
both clear sites and shutdown ResourceLoader drain order are unchanged; cache
|
||||
path selection, I/O, permits and adoption decisions remain loader-owned;
|
||||
missing outcomes now belong to the prototype cache state.
|
||||
both clear sites and shutdown ResourceLoader drain order are unchanged. Cache
|
||||
path selection/request admission and permits remain loader-owned; terminal
|
||||
I/O and Mesh/missing adoption belong to the Mesh resource finalizer, with
|
||||
missing outcomes retained by prototype cache state.
|
||||
Animated M2 pending requests preserve normalized-path dedupe and Dictionary
|
||||
insertion polling order; loaded/failed transitions preserve completion-order
|
||||
finalization FIFO and opaque statuses. All three pending-plus-finalize metrics,
|
||||
@@ -489,6 +499,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
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,
|
||||
static M2 Mesh resource finalizer and loader/pipeline/extractor/runtime-finalizer/
|
||||
raw-repository/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
|
||||
@@ -505,8 +517,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
|
||||
culling-driven spatial-cell grouping; M2 rebuild classification and static
|
||||
request/finalize bookkeeping, prepared Mesh cache ownership and first-Mesh
|
||||
traversal plus refresh/rebuild/fallback, raw native M2 I/O and prototype/
|
||||
negative cache state are separated, but synchronous native parsing/build and
|
||||
Mesh adoption remain in the loader call path; cached animation eligibility/
|
||||
negative cache state are separated; static Mesh terminal polling/adoption is
|
||||
also separated, but synchronous native parsing/build remains in its
|
||||
main-thread service call path; cached animation eligibility/
|
||||
request admission is extracted while terminal ResourceLoader polling remains;
|
||||
raw
|
||||
animated-instance materialization is now separated but remains synchronous
|
||||
@@ -518,8 +531,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;
|
||||
animation terminal ResourceLoader drain is extracted, while action execution,
|
||||
material-prototype lookup, root cleanup and static Mesh finalize drain remain loader-owned;
|
||||
animation and static Mesh terminal ResourceLoader drains are extracted, while
|
||||
action execution, material-prototype lookup and root cleanup 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;
|
||||
|
||||
Reference in New Issue
Block a user