docs(M03): accept M2 unique placement registry

This commit is contained in:
2026-07-16 10:02:14 +04:00
parent 2342430439
commit 1b6c46870d
2 changed files with 19 additions and 4 deletions
@@ -78,11 +78,14 @@ streamer into a scene-free `M2UniquePlacementRegistry`.
## Status ## Status
- State: handoff - State: accepted
- Done: stateful registry, loader adapters, migrated smoke, regressions and docs - Done: stateful registry, loader adapters, migrated smoke, regressions and docs
- Next: milestone integrator merge and asset-backed boundary traversal later in M03 - Next: asset-backed boundary traversal and further M2-service extraction later in M03
- Blocked by: - Blocked by:
<!-- OPENWC_HANDOFF:READY:M03-RND-M2-UNIQUE-REGISTRY-001:acb3a80 -->
<!-- OPENWC_INTEGRATION:ACCEPTED:M03-RND-M2-UNIQUE-REGISTRY-001:2342430 -->
## Handoff ## Handoff
- Commit: `acb3a80` (`refactor(M03): extract M2 unique placement registry`) - Commit: `acb3a80` (`refactor(M03): extract M2 unique placement registry`)
@@ -98,3 +101,5 @@ streamer into a scene-free `M2UniquePlacementRegistry`.
- Documentation updated: `m2-unique-placement-registry.md`, module registry, - Documentation updated: `m2-unique-placement-registry.md`, module registry,
`world-renderer.md`, `RENDER.md`, inline API documentation and data-flow, `world-renderer.md`, `RENDER.md`, inline API documentation and data-flow,
lifecycle and sequence diagrams lifecycle and sequence diagrams
- Integration: accepted in master merge `2342430`; post-merge registry, legacy
smoke, internal-access, facade and manifest gates passed
+12 -2
View File
@@ -27,11 +27,12 @@ Runtime и Editor используют facade; planner/scheduler тестиру
## Evidence ## Evidence
- Date: 2026-07-16 - Date: 2026-07-16
- Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`; - Revision/worktree: master merges `7ece2ab`, `7e35de7`, `80cb084`, `d6e5b53`, `c69abd6`, `606770c`, `630a0c1`, `f36fabb`, `24aef13`, `2342430`;
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`,
`M03-RND-TERRAIN-LOD-PLANNER-001`, `M03-RND-TERRAIN-CHUNK-QUEUE-001` `M03-RND-TERRAIN-LOD-PLANNER-001`, `M03-RND-TERRAIN-CHUNK-QUEUE-001`,
`M03-RND-M2-UNIQUE-REGISTRY-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
@@ -53,6 +54,9 @@ Runtime и Editor используют facade; planner/scheduler тестиру
Terrain chunk geometry queue planner passed `cases=8 iterations=100 Terrain chunk geometry queue planner passed `cases=8 iterations=100
elapsed_ms=229.324`; internal-access remained `42` and post-merge facade and elapsed_ms=229.324`; internal-access remained `42` and post-merge facade and
`7/7` manifest gates stayed green. `7/7` manifest gates stayed green.
M2 unique placement registry passed `cases=10 iterations=100 elapsed_ms=35.513`;
the historical `uid:11785` cross-tile smoke, internal-access `42`, facade and
`7/7` manifest gates remained green after merge.
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
@@ -71,6 +75,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
Chunk operation planning preserves stable removals, nearest-first create sorting, Chunk operation planning preserves stable removals, nearest-first create sorting,
tile-LOD remove-all takeover, sparse tile-origin fallback and XZ-only distance; tile-LOD remove-all takeover, sparse tile-origin fallback and XZ-only distance;
loader still drains removals first through the shared `chunk_geometry` budget. loader still drains removals first through the shared `chunk_geometry` budget.
M2 positive `MDDF.uniqueId` retains `uid:<decimal>` first-owner semantics,
within-call duplicate suppression, cross-tile skip/retry and unkeyed pass-through.
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;
@@ -80,6 +86,8 @@ Runtime и Editor используют facade; planner/scheduler тестиру
scene-free terrain quality Mesh cache and loader store/restore/clear adapters, scene-free terrain quality Mesh cache and loader store/restore/clear adapters,
immutable terrain chunk LOD policy, pure planner and both loader plan adapters, immutable terrain chunk LOD policy, pure planner and both loader plan adapters,
pure terrain chunk geometry queue planner and loader queue-adoption adapter, pure terrain chunk geometry queue planner and loader queue-adoption adapter,
stateful M2 unique placement registry, loader reserve/release/clear adapters and
migrated historical dedupe smoke,
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: queue storage length and worker concurrency/stale-result logic - Remaining risks: queue storage length and worker concurrency/stale-result logic
remain streamer-owned; cancellation stops new permits but does not interrupt remain streamer-owned; cancellation stops new permits but does not interrupt
@@ -90,5 +98,7 @@ Runtime и Editor используют facade; planner/scheduler тестиру
chunk LOD asset-backed p95/p99 and visual acceptance remain pending; chunk LOD asset-backed p95/p99 and visual acceptance remain pending;
chunk queue planning adds a second tile-state pass whose asset-backed p95/p99 chunk queue planning adds a second tile-state pass whose asset-backed p95/p99
still needs acceptance, while queue drains and geometry finalization remain monolithic; still needs acceptance, while queue drains and geometry finalization remain monolithic;
private Azeroth data was absent for the asset-backed ADT placement probe; M2
grouping/build/tasks/caches/finalization and boundary traversal p95/p99 remain pending;
M03 still needs further terrain/M2/WMO/liquid service extraction M03 still needs further terrain/M2/WMO/liquid service extraction
and dependency/performance acceptance. and dependency/performance acceptance.