48 lines
2.7 KiB
Markdown
48 lines
2.7 KiB
Markdown
# M03 — Renderer Facade and Safe Extraction
|
||
|
||
<!-- OPENWC_TARGET:ACTIVE -->
|
||
|
||
## Outcome
|
||
|
||
Закрыть монолитный streamer стабильным API и постепенно извлечь тестируемые подсистемы без rewrite.
|
||
|
||
## Steps
|
||
|
||
- [ ] Ввести `WorldRenderFacade` для focus, environment, entity visuals, ground query и metrics.
|
||
- [ ] Запретить gameplay/editor доступ к внутренним очередям streamer.
|
||
- [x] Извлечь pure `StreamingTargetPlanner`.
|
||
- [x] Извлечь `RenderBudgetScheduler` с bounded queues/cancellation.
|
||
- [ ] Затем извлекать terrain, M2, WMO и liquid services по одному.
|
||
- [ ] Сохранить cache versioning и main-thread GPU finalization rules.
|
||
- [ ] Добавить dependency и performance regression checks.
|
||
|
||
## Fidelity evidence
|
||
|
||
Все baseline checkpoints сравниваются до/после; placement, visibility, animation и materials не меняются без отдельной fidelity-задачи.
|
||
|
||
## Exit criteria
|
||
|
||
Runtime и Editor используют facade; planner/scheduler тестируются без полного мира; p95/p99 и hitch budgets не хуже согласованного baseline.
|
||
|
||
## Evidence
|
||
|
||
- Date: 2026-07-16
|
||
- Revision/worktree: master merge `7ece2ab`; package `M03-RND-SCHEDULER-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
|
||
`cases=5 average_ms=1.804`; facade/focus passed; coordinate boundary
|
||
`files=111 consumers=6`; renderer manifest retained `7/7` checkpoints;
|
||
shutdown ownership and repository gates passed (13 pre-existing expired M00 claim warnings).
|
||
- Fidelity comparison: all 16 historical operation limits and drain sites were
|
||
preserved; chunk removal/create retain their shared removal-first budget.
|
||
Defaults, quality presets, cache versions and visual rules are unchanged.
|
||
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;
|
||
work-package claim and this evidence.
|
||
- Remaining risks: queue storage length and worker concurrency/stale-result logic
|
||
remain streamer-owned; cancellation stops new permits but does not interrupt
|
||
in-flight work; M03 still needs remaining facade contracts, internal-access
|
||
restrictions, service extraction and dependency/performance acceptance.
|