Extract UI state and Win32 window shell

This commit is contained in:
2026-06-16 13:16:19 +02:00
parent cb9d06c6dc
commit 8ea56cbd30
12 changed files with 619 additions and 670 deletions

View File

@@ -153,6 +153,11 @@ Current slice:
`legacy_node_stroke_preview_execution_services.h`, which trims another
coherent pass-setup block from `src/node_stroke_preview.cpp`, but broader
preview-pass orchestration is still inline.
- `NodeStrokePreview::draw_stroke_immediate()` immediate preview pass
sequencing now also routes through the private
`execute_stroke_draw_immediate_pass_sequence(...)` helper, which removes
another live orchestration block from the node even though worker/readback
flow still remains in the file.
- `NodeCanvas` merged-path per-plane merged-texture draw execution now also
routes through `execute_legacy_canvas_draw_merge_layer_texture(...)`.
- `NodeCanvas` merged-path and non-blend checkerboard background setup now also
@@ -298,7 +303,7 @@ targets look like helpers under one old monolith.
Status: In Progress
Why now:
`src/app_layout.cpp` is still a 717-line mixed file that builds menus,
`src/app_layout.cpp` is still a 353-line mixed file that builds menus,
attaches callbacks, computes planner inputs, and mutates UI state directly.
Current slice:
@@ -325,6 +330,9 @@ Current slice:
`App::init_menu_edit()` is now a thin call-through, but draw-toolbar,
brush-refresh, and broader layout composition are still inline in
`src/app_layout.cpp`.
- UI-direction plus persisted floating/docked panel-state ownership now also
lives in `src/app_layout_ui_state.cpp`, and `src/app_layout.cpp` is down to
the remaining draw-toolbar, brush-refresh, and layout/bootstrap composition.
Write scope:
- `src/app_layout.cpp`
@@ -489,8 +497,11 @@ Current slice:
`src/platform_windows/windows_bootstrap_helpers.*` for runtime-data
discovery, startup-state initialization, window creation, pixel-format
setup, GL loader init, runtime-info logging, and core-context upgrade
sequencing, which materially thins `src/main.cpp`, but the retained Win32
window procedure and broader shell flow are still open
sequencing
- the Win32 window procedure and retained message-handling shell now also live
in `src/platform_windows/windows_window_shell.*` instead of `src/main.cpp`,
which materially thins the entry file even though broader runtime/entrypoint
composition is still open
- prepared-file background work now runs through an `AppRuntime`-owned worker
queue instead of a retained static worker in `src/app_events.cpp`
- canvas async import/export/save/open background work now also runs through an