diff --git a/coordination/claims/M03-RND-M2-RUNTIME-MESH-FINALIZER-001.md b/coordination/claims/M03-RND-M2-RUNTIME-MESH-FINALIZER-001.md index 3c73966..049de46 100644 --- a/coordination/claims/M03-RND-M2-RUNTIME-MESH-FINALIZER-001.md +++ b/coordination/claims/M03-RND-M2-RUNTIME-MESH-FINALIZER-001.md @@ -78,9 +78,9 @@ Mesh finalizer while retaining raw-file I/O in the loader. ## Status -- State: ready +- State: accepted - Done: finalizer, loader/test adapters, transition/rebuild verifier and required documentation -- Next: integrator merge and post-merge smoke +- Next: further M2 raw-data I/O/prototype state extraction - Blocked by: ## Handoff @@ -98,3 +98,13 @@ Mesh finalizer while retaining raw-file I/O in the loader. cache/pipeline specs, module registry, `world-renderer.md` and `RENDER.md`. + +## Integration + +- Merge commit: `1fafdde` +- Post-merge results: finalizer `cases=11 iterations=100 + elapsed_ms=54.349`; classifier, extractor, cache, pipeline, materials, + shutdown, facade, internal-access `34`, manifest `7/7`, documentation and + coordination gates passed. + + diff --git a/targets/03-renderer-facade.md b/targets/03-renderer-facade.md index b6c6f0b..6bd90b2 100644 --- a/targets/03-renderer-facade.md +++ b/targets/03-renderer-facade.md @@ -27,7 +27,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру ## Evidence - Date: 2026-07-17 -- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`; +- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`, `396be5e`, `f88bf97`, `3f84717`, `d2cb52f`, `f9e5a4f`, `c06aed5`, `a878e7c`, `60603e1`, `b4955d6`, `ada0fd9`, `f470775`, `874fd0f`, `38f831e`, `83b3618`, `3094561`, `fa85985`, `1fafdde`; packages `M03-RND-SCHEDULER-001`, `M03-RND-INTERNAL-ACCESS-GATE-001`, `M03-RND-FACADE-GROUND-QUERY-001`, `M03-RND-FACADE-ENVIRONMENT-001`, `M03-RND-FACADE-ENTITY-001`, `M03-RND-TERRAIN-CACHE-SERVICE-001`, @@ -47,7 +47,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру `M03-RND-M2-RUNTIME-REBUILD-CLASSIFIER-001`, `M03-RND-M2-MESH-LOAD-PIPELINE-001`, `M03-RND-M2-MESH-RESOURCE-CACHE-001`, - `M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001` + `M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001`, + `M03-RND-M2-RUNTIME-MESH-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 @@ -160,6 +161,14 @@ Runtime и Editor используют facade; planner/scheduler тестиру (`38.172ms`), cache, pipeline, classifier, materials, shutdown, facade, internal-access `34`, `7/7` manifest, documentation and coordination gates remained green. + M2 runtime mesh finalizer passed `cases=11 iterations=100 + elapsed_ms=53.719` with current/stale raw-data gating, empty/ordinary marking, + synthetic triangle billboard rebuild, failed-rebuild fallback, version `2` + metadata and classifier-clear contracts. Thirty-seven renderer/coordinate + regressions and checkpoint dry-run `7/7` passed. Post-merge finalizer + (`54.349ms`), classifier, extractor, cache, pipeline, materials, shutdown, + facade, internal-access `34`, `7/7` manifest, documentation and coordination + gates remained green. M02 terrain-query regression remained green (13 pre-existing expired M00 claim warnings). - Fidelity comparison: all 16 historical operation limits and drain sites were @@ -232,12 +241,16 @@ Runtime и Editor используют facade; planner/scheduler тестиру path selection, I/O, permits, shared missing state and adoption remain loader-owned. Prepared static M2 Mesh lookups retain exact Resource identity, same-path replacement and map-refresh lifetime; the only clear remains final shutdown - after asynchronous drain. Shared missing/prototype/animated caches, - refresh/rebuild and materialization remain loader-owned. + after asynchronous drain. Shared missing/prototype/animated caches and + materialization remain loader-owned. Direct Mesh Resources, temporary PackedScene instances and prototype/rebuild subtrees retain the same depth-first first-Mesh rule. PackedScene still instantiates once and frees its temporary root synchronously before return; the extractor retains no state or Resource reference. + Runtime material refresh remains version `2`; current Meshes skip raw loading, + empty/ordinary data marks and reuses the original, billboard/UV-rotation data + attempts the same M2Builder rebuild, and failure marks/reuses the original. + Raw FileAccess/ClassDB M2Loader I/O remains loader-owned. No new build-12340 parity claim is made; asset-backed visual/p95/p99 comparison remains pending. - Changed files: scene-free scheduler and verifier; streamer budget composition/ permit delegation; scheduler module spec; world renderer/module registry/RENDER notes; @@ -266,6 +279,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру M2 mesh load pipeline state and loader request/poll/finalize/metric/clear adapters, prepared M2 Mesh resource cache state and loader lookup/store/shutdown adapters, stateless M2 Mesh resource extractor and three loader traversal adapters, + M2 runtime Mesh finalizer and loader raw-data/finalize/clear adapters, 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 @@ -281,8 +295,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру and boundary traversal p95/p99 remain pending; path grouping is not yet culling-driven spatial-cell grouping; M2 rebuild classification and static request/finalize bookkeeping, prepared Mesh cache ownership and first-Mesh - traversal are separated, but ResourceLoader I/O, shared missing state, Mesh - preparation and finalization remain in the loader; raw + traversal plus refresh/rebuild/fallback are separated, but ResourceLoader/raw + M2 I/O, shared missing state and Mesh adoption remain in the loader; raw 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;