render: extract M2 build dispatch planner

This commit is contained in:
2026-07-18 02:34:18 +04:00
parent 1fb566f9bc
commit 17f5cc0faa
12 changed files with 632 additions and 36 deletions
+15 -2
View File
@@ -56,7 +56,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
`M03-RND-M2-ANIMATION-PLAYBACK-001`,
`M03-RND-M2-ANIMATED-INSTANCE-MATERIALIZER-001`,
`M03-RND-M2-STATIC-BATCH-MATERIALIZER-001`,
`M03-RND-M2-BUILD-QUEUE-001`
`M03-RND-M2-BUILD-QUEUE-001`,
`M03-RND-M2-BUILD-DISPATCH-PLANNER-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
@@ -251,6 +252,13 @@ Runtime и Editor используют facade; planner/scheduler тестиру
Post-merge queue (`65.998ms`), planner, static/animated materializers, Mesh/
prototype state, shutdown, materials, facade, internal-access `30`, manifest
`7/7`, documentation and coordination gates remained green.
M2 build dispatch planner passed `cases=10 iterations=20000
elapsed_ms=11.933` with animation-wait priority, zero/negative batch advance,
animated/static selection, unresolved static retry, terminal missing-model
serial advancement, detached results and source/dependency boundaries. All 53
autonomous headless regressions and checkpoint dry-run `7/7` passed; the
proprietary ADT probe remained unavailable. Internal-access inventory remains
`30`; resource observation/requests and action execution remain loader-owned.
M02 terrain-query regression
remained green (13 pre-existing expired M00 claim warnings).
- Fidelity comparison: all 16 historical operation limits and drain sites were
@@ -282,6 +290,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
Pending M2 builds retain keyed latest-job replacement, duplicate/stale FIFO
entries, one-key rotation, strong root/group references and exact group/offset/
serial progression; releasing queue records still never frees scene nodes.
M2 build dispatch retains pending-animation priority before batch planning,
animated-before-static selection, unresolved-static rotation without progress,
and the historical serial increment for terminally missing positive batches.
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.
@@ -397,6 +408,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
M2 animated instance materializer and loader log/Editor-owner adapter,
M2 static batch materializer and loader readiness/cursor/Editor-owner adapter,
typed M2 build job/queue and loader enqueue/drain/progress/cancel/clear adapters,
stateless M2 build dispatch planner and loader resource-observation/action adapter,
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
@@ -420,7 +432,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
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, while resource readiness/dispatch and root cleanup remain in loader;
separated and dispatch decisions are explicit, while resource observation/
requests, action execution and root cleanup remain in loader;
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;