Thin node loader, Win32 wrappers, and canvas mode shells

This commit is contained in:
2026-06-17 00:10:39 +02:00
parent acee4db356
commit 371095770d
9 changed files with 302 additions and 289 deletions

View File

@@ -81,9 +81,9 @@ Current hotspot files:
- `src/canvas.cpp`: 17 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 191 lines
- `src/node.cpp`: 257 lines
- `src/main.cpp`: 156 lines
- `src/canvas_modes.cpp`: 1 line
- `src/node.cpp`: 231 lines
- `src/main.cpp`: 87 lines
- `src/node_panel_brush.cpp`: 2 lines
- `src/node_stroke_preview.cpp`: 160 lines
- `src/node_canvas.cpp`: 85 lines
@@ -131,6 +131,16 @@ Latest slice:
`src/legacy_brush_preset_list_services.*`, and
`src/legacy_brush_preset_services.*`), leaving
`src/node_panel_brush.cpp` as a thin translation unit.
- `Node::load_internal(...)` now routes through
`load_legacy_ui_node(...)` in `src/legacy_ui_node_loader.*`, which moves the
init/attribute-parse/create/child-load/loaded shell out of `src/node.cpp`.
- The remaining Win32 shell wrappers for close, async lock/swap, stylus/FPS
updates, VR start/stop, window-state save, and the window-handle accessor now
live in `src/platform_windows/windows_platform_services.cpp` instead of
`src/main.cpp`, leaving `main.cpp` as a thinner entry/runtime dispatcher.
- The entire `CanvasModeGrid` implementation plus `ActionModeGrid` undo/redo
glue now live in `src/legacy_canvas_mode_helpers.cpp` instead of
`src/canvas_modes.cpp`, leaving `src/canvas_modes.cpp` as a minimal shell.
Current architecture mismatches that must be treated as real blockers: