docs(M03): accept M2 prototype cache state

This commit is contained in:
2026-07-17 17:07:27 +04:00
parent 1de50f98ce
commit 20a64b5dfc
2 changed files with 34 additions and 12 deletions
@@ -78,9 +78,9 @@ shutdown-lifetime cache-state service.
## Status ## Status
- State: ready - State: accepted
- Done: cache state, loader/test adapters, lifecycle verifier and required documentation - Done: cache state, loader/test adapters, lifecycle verifier and required documentation
- Next: integrate and run post-merge acceptance - Next: continue M2 animation request/materialization extraction
- Blocked by: - Blocked by:
## Handoff ## Handoff
@@ -99,3 +99,13 @@ shutdown-lifetime cache-state service.
repository/world-renderer specs, module registry and `RENDER.md`. repository/world-renderer specs, module registry and `RENDER.md`.
<!-- OPENWC_HANDOFF:READY:M03-RND-M2-PROTOTYPE-CACHE-001:cd664eb --> <!-- OPENWC_HANDOFF:READY:M03-RND-M2-PROTOTYPE-CACHE-001:cd664eb -->
## Integration
- Merge commit: `1de50f9`
- Post-merge results: prototype cache `cases=16 iterations=100
elapsed_ms=37.978`; shutdown, raw repository, finalizer, extractor, Mesh cache,
pipeline, materials, facade, internal-access `31`, manifest `7/7`,
documentation and coordination gates passed.
<!-- OPENWC_INTEGRATION:ACCEPTED:M03-RND-M2-PROTOTYPE-CACHE-001:1de50f9 -->
+22 -10
View File
@@ -27,7 +27,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
## Evidence ## Evidence
- Date: 2026-07-17 - 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`, `1fafdde`, `7cd07dd`; - 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`, `7cd07dd`, `1de50f9`;
packages `M03-RND-SCHEDULER-001`, `M03-RND-INTERNAL-ACCESS-GATE-001`, 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-GROUND-QUERY-001`, `M03-RND-FACADE-ENVIRONMENT-001`,
`M03-RND-FACADE-ENTITY-001`, `M03-RND-TERRAIN-CACHE-SERVICE-001`, `M03-RND-FACADE-ENTITY-001`, `M03-RND-TERRAIN-CACHE-SERVICE-001`,
@@ -49,7 +49,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
`M03-RND-M2-MESH-RESOURCE-CACHE-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`, `M03-RND-M2-RUNTIME-MESH-FINALIZER-001`,
`M03-RND-M2-RAW-MODEL-REPOSITORY-001` `M03-RND-M2-RAW-MODEL-REPOSITORY-001`,
`M03-RND-M2-PROTOTYPE-CACHE-001`
- Commands: dedicated scheduler/planner/facade/focus/coordinate/manifest/shutdown - Commands: dedicated scheduler/planner/facade/focus/coordinate/manifest/shutdown
headless verifiers; Godot cold editor parse; coordination, documentation and diff gates. headless verifiers; Godot cold editor parse; coordination, documentation and diff gates.
- Results: scheduler `cases=6 iterations=20000 elapsed_ms=10.216`; planner - Results: scheduler `cases=6 iterations=20000 elapsed_ms=10.216`; planner
@@ -178,6 +179,15 @@ Runtime и Editor используют facade; planner/scheduler тестиру
(`3.200ms`), finalizer, extractor, cache, pipeline, shutdown, facade, (`3.200ms`), finalizer, extractor, cache, pipeline, shutdown, facade,
internal-access `34`, `7/7` manifest, documentation and coordination gates internal-access `34`, `7/7` manifest, documentation and coordination gates
remained green. remained green.
M2 prototype cache state passed `cases=16 iterations=100
elapsed_ms=50.266` with invalid admission, exact static/animated identity,
independent positive/negative outcomes, first-wins duplicate release,
detached/in-tree shutdown ownership and idempotent clear contracts. Forty-six
autonomous headless regressions and checkpoint dry-run `7/7` passed; the
proprietary ADT probe remained unavailable. Post-merge cache (`37.978ms`),
shutdown, raw repository, finalizer, extractor, Mesh cache, pipeline,
materials, facade, internal-access `31`, `7/7` manifest, documentation and
coordination gates remained green.
M02 terrain-query regression M02 terrain-query regression
remained green (13 pre-existing expired M00 claim warnings). remained green (13 pre-existing expired M00 claim warnings).
- Fidelity comparison: all 16 historical operation limits and drain sites were - Fidelity comparison: all 16 historical operation limits and drain sites were
@@ -247,11 +257,12 @@ Runtime и Editor используют facade; planner/scheduler тестиру
insertion polling order; loaded/failed transitions preserve completion-order insertion polling order; loaded/failed transitions preserve completion-order
finalization FIFO and opaque statuses. All three pending-plus-finalize metrics, finalization FIFO and opaque statuses. All three pending-plus-finalize metrics,
both clear sites and shutdown ResourceLoader drain order are unchanged; cache both clear sites and shutdown ResourceLoader drain order are unchanged; cache
path selection, I/O, permits, shared missing state and adoption remain loader-owned. path selection, I/O, permits and adoption decisions remain loader-owned;
missing outcomes now belong to the prototype cache state.
Prepared static M2 Mesh lookups retain exact Resource identity, same-path Prepared static M2 Mesh lookups retain exact Resource identity, same-path
replacement and map-refresh lifetime; the only clear remains final shutdown replacement and map-refresh lifetime; the only clear remains final shutdown
after asynchronous drain. Shared missing/prototype/animated caches and after asynchronous drain. Shared missing/static/animated prototype state now
materialization remain loader-owned. belongs to `M2PrototypeCacheState`; materialization remains loader-owned.
Direct Mesh Resources, temporary PackedScene instances and prototype/rebuild Direct Mesh Resources, temporary PackedScene instances and prototype/rebuild
subtrees retain the same depth-first first-Mesh rule. PackedScene still subtrees retain the same depth-first first-Mesh rule. PackedScene still
instantiates once and frees its temporary root synchronously before return; instantiates once and frees its temporary root synchronously before return;
@@ -261,8 +272,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
attempts the same M2Builder rebuild, and failure marks/reuses the original. attempts the same M2Builder rebuild, and failure marks/reuses the original.
Raw FileAccess/ClassDB M2Loader I/O now belongs to the stateless repository; Raw FileAccess/ClassDB M2Loader I/O now belongs to the stateless repository;
exact path resolution and `load_m2`/`load_m2_animated` names are unchanged. exact path resolution and `load_m2`/`load_m2_animated` names are unchanged.
Loader-owned normalization, fallback order, missing/prototype caches, builders Loader-owned normalization, fallback order, builders and result adoption remain
and result adoption remain unchanged. unchanged; the same prototype/negative transitions now use cache-state methods.
No new build-12340 parity claim is made; asset-backed visual/p95/p99 comparison remains pending. 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/ - Changed files: scene-free scheduler and verifier; streamer budget composition/
permit delegation; scheduler module spec; world renderer/module registry/RENDER notes; permit delegation; scheduler module spec; world renderer/module registry/RENDER notes;
@@ -293,6 +304,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
stateless M2 Mesh resource extractor and three loader traversal adapters, stateless M2 Mesh resource extractor and three loader traversal adapters,
M2 runtime Mesh finalizer and loader raw-data/finalize/clear adapters, M2 runtime Mesh finalizer and loader raw-data/finalize/clear adapters,
stateless M2 raw model repository and three native-load adapters, stateless M2 raw model repository and three native-load adapters,
shutdown-lifetime M2 prototype cache state and all positive/negative adapters,
expanded facade/internal-access/coordinate verifiers; work-package claims and this evidence. expanded facade/internal-access/coordinate verifiers; work-package claims and this evidence.
- Remaining risks: worker concurrency and stale-result validation remain - Remaining risks: worker concurrency and stale-result validation remain
streamer-owned; cancellation stops new permits but does not interrupt streamer-owned; cancellation stops new permits but does not interrupt
@@ -308,9 +320,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
and boundary traversal p95/p99 remain pending; path grouping is not yet and boundary traversal p95/p99 remain pending; path grouping is not yet
culling-driven spatial-cell grouping; M2 rebuild classification and static culling-driven spatial-cell grouping; M2 rebuild classification and static
request/finalize bookkeeping, prepared Mesh cache ownership and first-Mesh request/finalize bookkeeping, prepared Mesh cache ownership and first-Mesh
traversal plus refresh/rebuild/fallback and raw native M2 I/O are separated, traversal plus refresh/rebuild/fallback, raw native M2 I/O and prototype/
but synchronous parsing, ResourceLoader, shared missing state and Mesh adoption negative cache state are separated, but synchronous parsing, ResourceLoader,
remain in the loader or its direct call path; raw animation request state and Mesh adoption remain in the loader call path; raw
WMO ResourceLoader/FileAccess I/O, live fallback and group materialization WMO ResourceLoader/FileAccess I/O, live fallback and group materialization
remain in the loader; remain in the loader;
asset-backed WMO placement/portal/material/leak/p95/p99 evidence remains pending; asset-backed WMO placement/portal/material/leak/p95/p99 evidence remains pending;