Extract app frame and ui state services

This commit is contained in:
2026-06-17 19:26:42 +02:00
parent 0c609b9d15
commit 52ed7ddeb0
14 changed files with 435 additions and 254 deletions

View File

@@ -25,6 +25,24 @@ agent or engineer to remove them without reconstructing context from chat.
owns that document-open handoff inline while retained dialog creation,
unsaved-project prompting, project-open execution, and title/layer refresh
still remain.
- 2026-06-17: `DEBT-0003` was narrowed again. `App::update()` in
`src/legacy_app_runtime_shell_services.cpp` no longer owns retained
app-frame layout-update and canvas-toolbar refresh execution inline;
`src/legacy_app_frame_services.*` now owns that frame-update execution
behind an explicit `App&` plus `AppFrameUpdatePlan` seam, while draw-time
execution, UI observer walking, and broader app-frame ownership still
remain.
- 2026-06-17: `DEBT-0003` was narrowed again. `App::tick()` and
`App::resize()` in `src/app_events.cpp` no longer own retained app-frame
tick and surface-resize execution inline; `src/legacy_app_frame_services.*`
now owns the tick/resize execution against explicit `App&` plus frame plans,
while broader event dispatch and runtime/platform frame ownership still
remain.
- 2026-06-17: `DEBT-0045` was narrowed again.
`src/app_layout_ui_state.cpp` no longer owns retained floating/docked panel
save/restore serialization inline; that panel-persistence family now lives in
`src/legacy_app_ui_state_services.*`, while RTL direction execution and
broader preference/runtime ownership still remain.
- 2026-06-17: `DEBT-0035` was narrowed again.
`src/app_layout_main_toolbar.cpp` no longer owns the retained main-toolbar
button wiring inline; `src/legacy_main_toolbar_binding_services.*` now owns
@@ -48,6 +66,12 @@ agent or engineer to remove them without reconstructing context from chat.
submenu popup flow or panel-item wiring inline; that binding now lives in
`src/legacy_tools_menu_binding_services.*`, while retained Tools command
execution and options-menu preference wiring still remain in the app shell.
- 2026-06-17: `DEBT-0063` was narrowed again.
`src/app_layout_sidebar.cpp` no longer owns the retained color-popup open /
close wiring inline; that binding now lives in
`src/legacy_sidebar_color_popup_services.*` with explicit `App&`,
popup-root, trigger-button, and panel dependencies, while retained
stroke/grid/layer popup families still remain on the sidebar shell.
- 2026-06-17: `DEBT-0038` was narrowed again. The retained cloud upload and
download background execution in `src/legacy_cloud_services.cpp` now routes
through `AppRuntime::canvas_async_task` instead of a file-static worker