3.2 KiB
3.2 KiB
NewEditor XCUIEditorLib Retirement Plan
Date: 2026-04-22
Status: Completed
Goal
- Remove
XCUIEditorLibas a first-class build target fromnew_editor. - Stop treating
new_editor/include + new_editor/srcas a separately promoted module-layer library in the current product build. - Flatten the current XCUI shared sources directly back into
XCUIEditorApp, so the build graph matches the actual product shape.
Why The Previous Plan Was Deleted
- The deleted plan assumed
XCUIEditorLibshould keep growing into a formal editor module layer. - That premise conflicts with the current architecture direction and with the explicit requirement that this extra lib layer should not continue to exist.
- Continuing to move logic into
XCUIEditorLibwould deepen the wrong boundary instead of removing it.
Current Reality
XCUIEditorLibis only defined innew_editor/CMakeLists.txt.XCUIEditorAppis the only active build target that links it.- The current source lists are already centralized in one file, so removing the lib layer is mainly a build-graph flattening task, not a source-tree migration task.
Constraints
- Do not introduce a renamed replacement library target.
- Do not replace
XCUIEditorLibwith another fake public layer. - Do not move app business sources into
new_editor/src. - Do not split this into new glue targets just to preserve the old layering narrative.
- Keep the active executable target as
XCUIEditorApp.
Execution Plan
Phase A. Remove The Wrong Plan Baseline
Status: Completed
Target:
- Delete the invalid
XCUIEditorLib-promotion plan fromdocs/plan. - Replace it with a retirement plan that matches the actual desired direction.
Validation:
docs/planno longer contains the deleted plan.- The active plan explicitly treats
XCUIEditorLibas a retirement target, not a destination layer.
Phase B. Flatten XCUIEditorLib Into XCUIEditorApp
Status: Completed
Target:
- Remove the
add_library(XCUIEditorLib ...)target. - Compile the same
include/srcsource set directly as part ofXCUIEditorApp. - Move any target-local include paths or compile settings required by those sources onto
XCUIEditorApp. - Remove the executable link dependency on
XCUIEditorLib. - Clean up stale post-build visible lib artifacts if needed.
Validation:
new_editor/CMakeLists.txtno longer definesXCUIEditorLib.XCUIEditorAppdirectly owns the old XCUI shared source set.XCUIEditorAppno longer linksXCUIEditorLib.
Phase C. Reconfigure, Build, Smoke
Status: Completed
Target:
- Reconfigure
build/new_editor. - Build
XCUIEditorApp. - Launch
build/new_editor/Debug/XCUIEditor.exefor a short smoke run.
Validation:
- Configure succeeds.
- Build reaches
XCUIEditorApp. - Smoke log contains:
EnsureEditorStartupScene loaded scene=Main Scene[app] initialize end[app] shutdown end
Acceptance
XCUIEditorLibis no longer an active build target innew_editor/CMakeLists.txt.XCUIEditorAppbecomes the direct owner of the former XCUI shared source set.- No replacement fake public lib target is introduced.
- The active plan no longer frames
XCUIEditorLibas a future architecture destination.