render: extract WMO runtime Mesh finalizer

This commit is contained in:
2026-07-18 14:33:48 +04:00
parent 49e70260ed
commit ae40e3f1d4
9 changed files with 659 additions and 72 deletions
+16 -1
View File
@@ -44,6 +44,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
`M03-RND-WMO-RENDER-RESOURCE-FINALIZER-001`,
`M03-RND-WMO-SCENE-RESOURCE-CACHE-001`,
`M03-RND-WMO-SCENE-RESOURCE-FINALIZER-001`,
`M03-RND-WMO-RUNTIME-MESH-FINALIZER-001`,
`M03-RND-ADT-WATER-LOAD-PIPELINE-001`,
`M03-RND-ADT-WATER-SCENE-FINALIZER-001`,
`M03-RND-M2-RUNTIME-REBUILD-CLASSIFIER-001`,
@@ -154,6 +155,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру
cache/finalizer/queue/planner/registry/resolver/shutdown, facade,
internal-access `30`, manifest and checkpoint dry-run `7/7`, documentation
`48` and coordination.
WMO runtime Mesh finalizer passed `cases=27 iterations=1000` with null/current/
non-ArrayMesh exact identity, refresh-version stamping, null/unmarked surface
retention, compact texture indices, exact flags/shader/blend/default and
ShaderMaterial colors, builder-result adoption and source boundaries. All 63
autonomous headless verifiers passed; internal-access remained `30`,
documentation covered `49` module specifications, coordination retained `34`
historical expired-claim warnings and checkpoint dry-run kept all `7/7` plans.
ADT water load pipeline state passed `cases=12 iterations=100
elapsed_ms=86.170`; its initial direct no-`.godot` run passed (`94.576ms`),
WMO caches/queue/planner/registry/resolver/material/shutdown and 18 adjacent
@@ -423,6 +431,11 @@ Runtime и Editor используют facade; planner/scheduler тестиру
request admission remain loader-owned; terminal I/O, `PackedScene` probe,
WMOBuilder metadata validation and probe release belong to the scene finalizer.
Rejected non-Node3D probes are now freed without changing fallback or output.
Cached WMO runtime material refresh remains version `10`; exact Mesh identity,
stale stamping, surface order, compact texture path indices, cached metadata/
colors and WMOBuilder output adoption are unchanged. Those rules now belong to
the runtime Mesh finalizer while cached-scene/build-job Node traversal, permits,
attachment and lifetime remain loader-owned.
ADT water requests retain FIFO order and tile-key deduplication; tile release
removes pending requests without cancelling active work, task completion and
result publication order are unchanged, and the mutex remains limited to the
@@ -503,6 +516,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
cached WMO PackedScene/missing/request state and loader file-size/admission/
reset adapters, plus terminal PackedScene polling/probe/lifetime/publication
finalizer,
WMO runtime Mesh finalizer and four loader Mesh-delegation adapters,
ADT water pending/task/result pipeline state and loader enqueue/start/publish/
drain/release/reset/shutdown/metrics adapters,
stateless ADT water scene finalizer and both loader build/attach adapters,
@@ -563,7 +577,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
animation and static Mesh terminal ResourceLoader drains are extracted, while
action execution, material-prototype lookup and root cleanup remain loader-owned;
cached-scene WMO FileAccess/size admission, live fallback and group
materialization remain in the loader; both WMO terminal I/O paths are separated;
materialization remain in the loader; both WMO terminal I/O paths and runtime
Mesh material refresh are 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