Extract layout bootstrap and thin NodeCanvas startup shells

This commit is contained in:
2026-06-16 17:57:17 +02:00
parent 0441dc4077
commit 1442c13dd7
10 changed files with 595 additions and 458 deletions

View File

@@ -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