Remove editor app include root

This commit is contained in:
2026-04-27 19:16:08 +08:00
parent 3b945dc6d4
commit 8353da05e5
164 changed files with 472 additions and 436 deletions

View File

@@ -38,8 +38,9 @@ incomplete:
- `XCEditorCore` now limits its public app include surface to
`editor/app/Core`, `editor/app/Commands`, `editor/app/State`, and
`editor/app/Host`, but the app still carries internal include-path residue
and has not yet converged on the final directory names.
`editor/app/Host`, and app/core sources now include through explicit module
roots instead of a private `editor/app` compatibility root. The app has not
yet converged on the final directory names.
- Feature panels no longer use `Composition/EditorContext.h` directly, but
app-core tests still need to be restored before the boundary is exercised
outside the executable host.
@@ -75,13 +76,20 @@ Completed boundary cuts:
now live under `editor/app/Core/Windowing`, and
`XCEditorCore` no longer exports the whole `editor/app` root as a public
include directory.
- 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/Rendering`, `app/Scene`, `app/Services`,
`app/Support`, `app/Bootstrap`, and `app/Platform/Win32`.
The root issue is not the existence of a single executable target by itself.
The root issue was that shared app contracts were stored inside concrete layer
directories, and CMake exposed the whole `editor/app` include root through
`XCEditorCore` usage requirements. The public include surface has now been
narrowed; remaining work is to remove internal source compatibility with the
private app root and finish wiring app-core tests against the narrowed surface.
narrowed, and internal source compatibility with the private app root has now
been removed. Remaining work is to finish wiring app-core tests against the
narrowed surface and continue converging host code on the target directory
shape.
## Target Directory Shape
@@ -402,9 +410,10 @@ Completed cuts:
- Neutral host-facing contracts now live under `app/Host/Interfaces/`.
- `EditorWindowTransferRequests`, window screen geometry, and title-bar chrome
metrics now live under `app/Core/Windowing/`.
- `XCEditorCore` now keeps `editor/app` as a private implementation include
root while exposing only `app/Core`, `app/Commands`, `app/State`, and
`app/Host` through its public usage requirements.
- `XCEditorCore` now exposes only `app/Core`, `app/Commands`, `app/State`, and
`app/Host` through its public usage requirements, and both `XCEditorCore`
and `XCEditor` enumerate explicit private module roots instead of using
`editor/app` as a compatibility include directory.
- Remaining work in this phase is to continue converging concrete host code on
the `app/Host/Win32` and `app/Host/D3D12` directory shape.