From dd8cfbf79cafb9919baa9f5441345bbc20fb8597 Mon Sep 17 00:00:00 2001 From: sindoring Date: Fri, 17 Jul 2026 13:04:17 +0400 Subject: [PATCH] docs(M03): accept M2 mesh resource extractor Work-Package: M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001 Agent: sindo-main-codex Tests: post-merge extractor, cache, pipeline, classifier, materials, shutdown, facade, internal-access, manifest, documentation and coordination gates pass Fidelity: preserves first-Mesh preorder and temporary PackedScene cleanup; asset-backed visual parity remains unclaimed --- .../M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001.md | 13 ++++++++-- targets/03-renderer-facade.md | 26 ++++++++++++++----- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/coordination/claims/M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001.md b/coordination/claims/M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001.md index 5e4e069..eeda188 100644 --- a/coordination/claims/M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001.md +++ b/coordination/claims/M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001.md @@ -78,9 +78,9 @@ including temporary PackedScene instance cleanup, from `StreamingWorldLoader`. ## Status -- State: ready +- State: accepted - Done: extractor, three loader/test adapters, contract verifier and required documentation -- Next: integrator merge and post-merge smoke +- Next: isolated M2 Mesh material preparation finalizer extraction - Blocked by: ## Handoff @@ -98,3 +98,12 @@ including temporary PackedScene instance cleanup, from `StreamingWorldLoader`. module registry, `world-renderer.md` and `RENDER.md`. + +## Integration + +- Merge commit: `fa85985` +- Post-merge results: extractor `cases=10 iterations=10000 + elapsed_ms=38.172`; cache, pipeline, classifier, 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 b91d178..b6c6f0b 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`; +- 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`; 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`, @@ -46,7 +46,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру `M03-RND-ADT-WATER-SCENE-FINALIZER-001`, `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-CACHE-001`, + `M03-RND-M2-MESH-RESOURCE-EXTRACTOR-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 @@ -151,6 +152,14 @@ Runtime и Editor используют facade; planner/scheduler тестиру `7/7` passed. Post-merge cache state (`38.686ms`), pipeline, classifier, materials, shutdown, facade, internal-access `34`, `7/7` manifest, documentation and coordination gates remained green. + M2 mesh resource extractor passed `cases=10 iterations=10000 + elapsed_ms=39.243` with direct/invalid Resource, depth-first order, + null-Mesh sibling continuation, subtree ownership, PackedScene Mesh identity + and temporary-root release contracts. Thirty-six renderer/coordinate + regressions and checkpoint dry-run `7/7` passed. Post-merge extractor + (`38.172ms`), cache, pipeline, classifier, 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 @@ -223,8 +232,12 @@ 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, extraction, + after asynchronous drain. Shared missing/prototype/animated caches, refresh/rebuild 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. 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; @@ -252,6 +265,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру memoized M2 runtime mesh rebuild classifier and loader query/clear adapters, 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, 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 @@ -266,9 +280,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру asset-backed visual transform recheck, grouping/build/tasks/caches/finalization 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 and prepared Mesh cache ownership are separated, - but ResourceLoader I/O, shared missing state, Mesh extraction/preparation and - finalization remain in the loader; raw + 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 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;