docs(M03): accept M2 prototype cache state
This commit is contained in:
@@ -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 -->
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user