render: extract WMO render resource finalizer

This commit is contained in:
2026-07-18 14:03:27 +04:00
parent fb7c9f174e
commit a86f8f2212
12 changed files with 751 additions and 56 deletions
+15 -6
View File
@@ -41,6 +41,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
`M03-RND-WMO-RENDER-BUILD-PLANNER-001`,
`M03-RND-WMO-RENDER-BUILD-QUEUE-001`,
`M03-RND-WMO-RENDER-RESOURCE-CACHE-001`,
`M03-RND-WMO-RENDER-RESOURCE-FINALIZER-001`,
`M03-RND-WMO-SCENE-RESOURCE-CACHE-001`,
`M03-RND-ADT-WATER-LOAD-PIPELINE-001`,
`M03-RND-ADT-WATER-SCENE-FINALIZER-001`,
@@ -124,6 +125,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру
Post-merge cache state (`51.949ms`), shutdown, WMO queue/resolver, facade,
internal-access `41`, `7/7` manifest, documentation and coordination gates
remained green.
WMO render Resource finalizer passed `cases=24 iterations=1000
elapsed_ms=3.938` with insertion-order status polling, non-terminal retention,
failed/null/wrong-script/stale rejection, current/newer exact Resource
adoption and source boundaries. All 60 autonomous headless regressions passed;
internal-access remained `30`, documentation covered `47` module
specifications, coordination retained `34` historical expired-claim warnings
and checkpoint dry-run kept all `7/7` plans.
WMO scene Resource cache state passed `cases=11 iterations=100
elapsed_ms=40.768`; its initial direct no-`.godot` run passed (`43.636ms`),
render-cache state, WMO queue/planner/registry/resolver/material/shutdown and
@@ -391,8 +399,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
retains validity checks, materialization, permits and Node destruction.
Lightweight WMO render cache paths retain the same cached/pending/missing
transitions, retry behavior for absent files and map-reset versus final-shutdown
lifetime. `ResourceLoader`, script identity and `FORMAT_VERSION` validation
remain loader-owned before the extracted state accepts a Resource.
lifetime. Terminal `ResourceLoader` polling, exact script identity and
`FORMAT_VERSION` validation now belong to the WMO render Resource finalizer;
loader-owned request admission and shutdown drain order are unchanged.
Cached WMO scene paths retain direct negative caching for missing/oversize/
request-start failures, terminal missing state for load/validation failures and
the prior transient-reset versus final-shutdown lifetime. File-size limits,
@@ -473,8 +482,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
stateful WMO placement registry and global/tile add/release/clear adapters,
stateless WMO render build step planner and loader cursor-adoption adapter,
typed WMO render build job/queue and loader enqueue/drain/cancel/clear adapters,
lightweight WMO render Resource/missing/request state and loader I/O/validation/
reset adapters,
lightweight WMO render Resource/missing/request state and loader lookup/request/
reset adapters, plus terminal Resource polling/validation/publication finalizer,
cached WMO PackedScene/missing/request state and loader file-size/I/O/probe/
validation/reset adapters,
ADT water pending/task/result pipeline state and loader enqueue/start/publish/
@@ -536,8 +545,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
observers produce typed per-operation state, including native observation;
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;
cached-scene WMO ResourceLoader/FileAccess I/O, live fallback and group
materialization remain in the loader; lightweight render terminal I/O is separated;
asset-backed WMO placement/portal/material/leak/p95/p99 evidence remains pending;
ADT water parsing and active worker interruption remain loader-owned;
materialization is separated but remains synchronous main-thread work behind