Extract layout bootstrap and thin NodeCanvas startup shells
This commit is contained in:
@@ -80,13 +80,13 @@ What is still carrying too much live ownership:
|
||||
Current hotspot files:
|
||||
|
||||
- `src/canvas.cpp`: 2645 lines
|
||||
- `src/app_layout.cpp`: 229 lines
|
||||
- `src/app_layout.cpp`: 125 lines
|
||||
- `src/canvas_modes.cpp`: 1798 lines
|
||||
- `src/node.cpp`: 1594 lines
|
||||
- `src/main.cpp`: 390 lines
|
||||
- `src/main.cpp`: 271 lines
|
||||
- `src/node_panel_brush.cpp`: 1197 lines
|
||||
- `src/node_stroke_preview.cpp`: 890 lines
|
||||
- `src/node_canvas.cpp`: 831 lines
|
||||
- `src/node_canvas.cpp`: 852 lines
|
||||
- `src/app.cpp`: 502 lines
|
||||
- `src/app_dialogs.cpp`: 142 lines
|
||||
|
||||
@@ -135,7 +135,14 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
`execute_legacy_canvas_draw_unmerged_node_canvas_shell(...)`, while the
|
||||
broader unmerged cache/viewport/background/composite pass setup now also
|
||||
routes through
|
||||
`execute_legacy_canvas_draw_unmerged_node_canvas_pass(...)`.
|
||||
`execute_legacy_canvas_draw_unmerged_node_canvas_pass(...)`, while
|
||||
`NodeCanvas::draw()` setup, merged-pass shell, and unmerged-pass shell now
|
||||
also route through `prepare_legacy_node_canvas_draw_setup(...)`,
|
||||
`execute_legacy_canvas_draw_node_canvas_shell(...)`,
|
||||
`execute_legacy_canvas_draw_merged_pass(...)`, and
|
||||
`execute_legacy_canvas_draw_node_canvas_unmerged_pass(...)`, which
|
||||
materially shortens the live `NodeCanvas::draw()` body even though the file
|
||||
itself is still large.
|
||||
- `app_layout.cpp` and `app_dialogs.cpp` are still mixed shell/controller files
|
||||
rather than thin composition/binding surfaces, even though tools-menu binding
|
||||
plus nested panels/options submenu wiring now live in
|
||||
@@ -154,8 +161,9 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
persisted floating/docked panel-state ownership now also live in
|
||||
`src/app_layout_ui_state.cpp`, while draw-toolbar binding now also lives in
|
||||
`src/app_layout_draw_toolbar.cpp`, while brush-refresh now also lives in
|
||||
`src/app_layout_brush.cpp`, and `src/app_layout.cpp` is now mostly
|
||||
layout/bootstrap composition, while the
|
||||
`src/app_layout_brush.cpp`, while layout bootstrap plus reload/load
|
||||
continuation wiring now also lives in `src/app_layout_bootstrap.cpp`, and
|
||||
`src/app_layout.cpp` is now mostly thin call-through entrypoints, 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
|
||||
@@ -193,8 +201,9 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
while the retained Win32 VR/HMD shell now also routes through
|
||||
`src/platform_windows/windows_vr_shell.h` instead of staying inline in
|
||||
`src/main.cpp`, while RenderDoc startup/frame capture, SHCore DPI bootstrap,
|
||||
Win32 error-string conversion, and the GL debug pre/post callbacks now also
|
||||
live in `src/platform_windows/windows_bootstrap_helpers.cpp` instead of
|
||||
Win32 error-string conversion, the GL debug pre/post callbacks, and the WMI
|
||||
startup probe now also live in
|
||||
`src/platform_windows/windows_bootstrap_helpers.cpp` instead of
|
||||
`src/main.cpp`, while Win32 lifecycle running-state, close/shutdown
|
||||
sequencing, FPS title update/wakeup posting, stylus frame update, window
|
||||
preference save, and VR lifecycle wrappers now also live in
|
||||
|
||||
@@ -235,6 +235,13 @@ Current slice:
|
||||
`execute_legacy_canvas_draw_unmerged_node_canvas_pass(...)`, which removes
|
||||
another coherent outer-shell block even though the broader node draw loop
|
||||
still lives in `src/node_canvas.cpp`.
|
||||
- `NodeCanvas::draw()` setup, merged-pass shell, and unmerged-pass shell now
|
||||
also route through `prepare_legacy_node_canvas_draw_setup(...)`,
|
||||
`execute_legacy_canvas_draw_node_canvas_shell(...)`,
|
||||
`execute_legacy_canvas_draw_merged_pass(...)`, and
|
||||
`execute_legacy_canvas_draw_node_canvas_unmerged_pass(...)`, which
|
||||
materially shortens the live `NodeCanvas::draw()` body even though the file
|
||||
itself is still large.
|
||||
|
||||
Write scope:
|
||||
- `src/node_stroke_preview.cpp`
|
||||
@@ -313,7 +320,7 @@ targets look like helpers under one old monolith.
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
`src/app_layout.cpp` is still a 229-line mixed file that builds menus,
|
||||
`src/app_layout.cpp` is still a 125-line mixed file that builds menus,
|
||||
attaches callbacks, computes planner inputs, and mutates UI state directly.
|
||||
|
||||
Current slice:
|
||||
@@ -348,6 +355,9 @@ Current slice:
|
||||
layout/bootstrap composition.
|
||||
- Brush-refresh now also lives in `src/app_layout_brush.cpp`, and
|
||||
`src/app_layout.cpp` is down to the remaining layout/bootstrap composition.
|
||||
- Layout bootstrap plus reload/load continuation wiring now also lives in
|
||||
`src/app_layout_bootstrap.cpp`, and `src/app_layout.cpp` is down to thin
|
||||
call-through entrypoints plus the remaining local helper pocket.
|
||||
|
||||
Write scope:
|
||||
- `src/app_layout.cpp`
|
||||
@@ -505,6 +515,9 @@ Current slice:
|
||||
conversion, `UnadjustWindowRectEx`, and GL debug pre/post callbacks now also
|
||||
live in `src/platform_windows/windows_bootstrap_helpers.cpp` instead of
|
||||
`src/main.cpp`
|
||||
- the WMI startup probe now also lives in
|
||||
`src/platform_windows/windows_bootstrap_helpers.cpp` instead of
|
||||
`src/main.cpp`
|
||||
- Win32 lifecycle running-state, close/shutdown handling, FPS title update and
|
||||
wakeup posting, stylus frame update, window preference save, and VR
|
||||
lifecycle wrappers now also live in
|
||||
|
||||
Reference in New Issue
Block a user