refactor(new_editor): split utility window semantics from workspace

This commit is contained in:
2026-04-22 21:02:24 +08:00
parent dcede7f975
commit 34c635ba22
40 changed files with 715 additions and 391 deletions

View File

@@ -1,7 +1,7 @@
# NewEditor Workspace Utility Window Semantic Split Plan
Date: 2026-04-22
Status: In Progress
Status: Implementation Complete, Manual Verification Pending
## 0. Execution Progress
@@ -29,6 +29,34 @@ What is intentionally not done yet:
This means the root shell/content ownership boundary has been extracted first, while feature semantics remain unchanged for safety.
### Completed on 2026-04-22
Phase C, Phase D, and Phase E implementation are now in place.
Completed changes:
1. a first-class utility window domain now exists:
- `EditorUtilityWindowKind`
- `EditorWindowOpenUtilityWindowRequest`
- `EditorUtilityWindowCoordinator`
- `EditorUtilityWindowRegistry`
2. color picker open intent no longer routes through detached workspace mutation
3. the color picker now opens through utility-window coordination and utility content
4. color picker has been removed from:
- `UIEditorPanelRegistry`
- shell hosted-panel composition
- workspace detached-panel request plumbing
5. `openDetachedPanel` has been deleted from frame transfer routing
6. `UIEditorWindowWorkspaceController::OpenPanelInNewWindow(...)` has been deleted
7. `toolWindow` and related workspace utility inference have been deleted
8. detached floating-window placement logic is now shared instead of duplicated
9. `XCUIEditorApp` Debug build passes after this phase
What is intentionally not claimed yet:
1. manual GUI regression verification is still required for the matrix in section 10
2. no drag/drop or panel movement was automated during this step
## 1. Objective
This plan solves the problem from the architectural root, not by adding another special case.