Move editor scene runtime under services

This commit is contained in:
2026-04-28 03:22:36 +08:00
parent b1ae6c462d
commit c032b415c6
27 changed files with 53 additions and 36 deletions

View File

@@ -109,7 +109,7 @@ Completed boundary cuts:
- The private `editor/app` compatibility include root is gone from
`XCEditorCore` and `XCEditor`. App implementation files now include through
explicit module roots such as `app/Composition`, `app/Features`,
`app/Windowing`, `app/Scene`, `app/Services`, `app/Support`,
`app/Windowing`, `app/Services`, `app/Support`,
`app/Host/Interfaces`, `app/Host/Win32`, and `app/Host/D3D12`; only
executable-host code consumes `app/Bootstrap`.
- Concrete `app/Rendering/**` files now build through the
@@ -346,7 +346,7 @@ Initial contents:
- `app/Composition/**`
- `app/Features/**`
- `app/Project/**` or `app/Services/Project/**`
- `app/Scene/**` or `app/Services/Scene/**`
- `app/Services/Scene/**`
- `app/Core/UtilityWindows/**`
- `app/Core/Windowing/**`
- `app/Windowing/**` core files that do not require Win32 or D3D12
@@ -469,13 +469,20 @@ Completed:
```text
Rendering/Viewport/SceneViewportRenderRequest.h
-> Core/Scene/SceneViewportRenderRequest.h
Scene/EditorSceneRuntime.h
Scene/EditorSceneBridge.h
Scene/SceneToolState.h
Scene/SceneViewportCameraController.h
-> Services/Scene/
```
Current shape:
```text
Core/Scene/SceneViewportRenderRequest.h
Scene/EditorSceneRuntime.h
Services/Scene/EditorSceneRuntime.h
Services/Scene/EditorSceneBridge.h
Rendering/Viewport/SceneViewportRenderService.h
```
@@ -483,6 +490,9 @@ Rendering/Viewport/SceneViewportRenderService.h
not a rendering implementation detail. Keep future scene-to-viewport request
values under `Core/Scene` so scene services can build requests without taking
an `app/Rendering/**` include dependency.
Scene runtime, scene bridge, scene tool state, and scene viewport camera
control are service-layer implementation and live under `Services/Scene`;
the app root no longer owns a concrete `Scene` service directory.
- Scene viewport shader paths are runtime configuration now. Build them from
the runtime repo root in the viewport runtime service, inject them into
`SceneViewportRenderService`, and keep grid/selection render passes from