# M03 — Renderer Facade and Safe Extraction ## Outcome Закрыть монолитный streamer стабильным API и постепенно извлечь тестируемые подсистемы без rewrite. ## Steps - [ ] Ввести `WorldRenderFacade` для focus, environment, entity visuals, ground query и metrics. - [ ] Запретить gameplay/editor доступ к внутренним очередям streamer. - [ ] Извлечь pure `StreamingTargetPlanner`. - [ ] Извлечь `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: - Revision/worktree: - Commands: - Results: - Fidelity comparison: - Changed files: - Remaining risks: