Extract main toolbar and thin startup/node helpers

This commit is contained in:
2026-06-16 12:33:36 +02:00
parent acd34540e0
commit 184f662493
7 changed files with 507 additions and 320 deletions

View File

@@ -293,7 +293,7 @@ targets look like helpers under one old monolith.
Status: In Progress
Why now:
`src/app_layout.cpp` is still a 1249-line mixed file that builds menus,
`src/app_layout.cpp` is still a 743-line mixed file that builds menus,
attaches callbacks, computes planner inputs, and mutates UI state directly.
Current slice:
@@ -313,6 +313,9 @@ Current slice:
`src/app_layout_sidebar.cpp`, and `App::init_sidebar()` is now a thin
call-through, but edit-menu wiring and broader layout composition are still
inline in `src/app_layout.cpp`.
- Main-toolbar binding now also lives in `src/app_layout_main_toolbar.cpp`,
and `App::init_toolbar_main()` is now a thin call-through, but edit-menu
wiring and broader layout composition are still inline in `src/app_layout.cpp`.
Write scope:
- `src/app_layout.cpp`
@@ -473,6 +476,12 @@ Current slice:
wakeup posting, stylus frame update, window preference save, and VR
lifecycle wrappers now also live in
`src/platform_windows/windows_lifecycle_shell.cpp` instead of `src/main.cpp`
- `main.cpp` startup/window/bootstrap flow now also routes through named local
helpers for runtime-data discovery, startup-state initialization, window
creation, pixel-format setup, GL loader init, runtime-info logging, and
core-context upgrade sequencing, but the retained Win32 shell still needs
those helpers moved into platform-owned modules before the file materially
shrinks
- 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
@@ -632,6 +641,12 @@ Why now:
mixes raw `Node*`, shared ownership, direct `add_child(...)`, and callback
captures across mutation points.
Current slice:
- `src/node.cpp` child attach/detach/reorder paths now route through named
local helpers instead of repeating raw mutation logic inline. That improves
scene-graph mutation clarity, but it does not yet change the ownership model
or move those paths behind checked handles.
Write scope:
- `src/node.*`
- `src/layout.*`