Extract UI state and Win32 window shell
This commit is contained in:
@@ -80,12 +80,12 @@ What is still carrying too much live ownership:
|
||||
Current hotspot files:
|
||||
|
||||
- `src/canvas.cpp`: 2645 lines
|
||||
- `src/app_layout.cpp`: 717 lines
|
||||
- `src/app_layout.cpp`: 353 lines
|
||||
- `src/canvas_modes.cpp`: 1798 lines
|
||||
- `src/node.cpp`: 1594 lines
|
||||
- `src/main.cpp`: 847 lines
|
||||
- `src/main.cpp`: 487 lines
|
||||
- `src/node_panel_brush.cpp`: 1197 lines
|
||||
- `src/node_stroke_preview.cpp`: 948 lines
|
||||
- `src/node_stroke_preview.cpp`: 890 lines
|
||||
- `src/node_canvas.cpp`: 910 lines
|
||||
- `src/app.cpp`: 502 lines
|
||||
- `src/app_dialogs.cpp`: 142 lines
|
||||
@@ -144,7 +144,10 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
now also lives in `src/app_layout_main_toolbar.cpp` and
|
||||
`App::init_toolbar_main()` is now a thin call-through, while edit-menu
|
||||
binding now also lives in `src/app_layout_edit_menu.cpp` and
|
||||
`App::init_menu_edit()` is now a thin call-through, while the
|
||||
`App::init_menu_edit()` is now a thin call-through, while UI-direction and
|
||||
persisted floating/docked panel-state ownership now also live in
|
||||
`src/app_layout_ui_state.cpp`, and `src/app_layout.cpp` is now mostly
|
||||
layout/bootstrap composition, while the
|
||||
informational overlay opener family now also lives in
|
||||
`src/app_dialogs_info_openers.cpp` and the corresponding `App::dialog_*`
|
||||
entrypoints are thinner, while the export/video/PPBR dialog family now also
|
||||
@@ -192,8 +195,10 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
`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` even though broader window
|
||||
procedure and retained shell flow still remain there,
|
||||
sequencing, while 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 `src/main.cpp` even
|
||||
though broader entrypoint/runtime composition still remains there,
|
||||
while `App::rec_loop()` now delegates worker-iteration orchestration into
|
||||
the retained recording bridge, `App::update_rec_frames()` now delegates
|
||||
recording label refresh through that same retained recording path, and the
|
||||
@@ -212,7 +217,10 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
still owns worker-side readback flow and encoder-state label reads, while the
|
||||
main live-pass request assembly and framebuffer-copy setup now also route
|
||||
through `src/legacy_node_stroke_preview_execution_services.h`, even though
|
||||
broader preview-pass orchestration still lives in `src/node_stroke_preview.cpp`, while
|
||||
broader preview-pass orchestration still lives in
|
||||
`src/node_stroke_preview.cpp`, while the immediate preview pass-sequencing
|
||||
family inside `draw_stroke_immediate()` now also routes through
|
||||
`NodeStrokePreview::execute_stroke_draw_immediate_pass_sequence(...)`, while
|
||||
`Node` child attach/detach/reorder operations now route through named local
|
||||
helpers in `src/node.cpp`, which makes the scene-graph mutation paths easier
|
||||
to reason about without yet reducing the file or moving ownership into
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user