Extract canvas plane data, brush preset list, and WinMain bridge

This commit is contained in:
2026-06-16 22:29:08 +02:00
parent 2a2f0c7dd6
commit 338f115540
11 changed files with 215 additions and 149 deletions

View File

@@ -79,12 +79,12 @@ What is still carrying too much live ownership:
Current hotspot files:
- `src/canvas.cpp`: 429 lines
- `src/canvas.cpp`: 396 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 402 lines
- `src/node.cpp`: 260 lines
- `src/main.cpp`: 141 lines
- `src/node_panel_brush.cpp`: 337 lines
- `src/main.cpp`: 130 lines
- `src/node_panel_brush.cpp`: 255 lines
- `src/node_stroke_preview.cpp`: 545 lines
- `src/node_canvas.cpp`: 219 lines
- `src/app.cpp`: 171 lines
@@ -216,7 +216,9 @@ Current architecture mismatches that must be treated as real blockers:
`src/platform_windows/windows_bootstrap_helpers.cpp` instead of
`src/main.cpp`, 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`, while retained input-state zeroing and reverse
instead of `src/main.cpp`, while the `WinMain` argv conversion bridge now
also lives in `src/platform_windows/windows_bootstrap_helpers.*` instead of
staying inline in `src/main.cpp`, while retained input-state zeroing and reverse
key-map initialization now also live in
`src/platform_windows/windows_window_shell.*` instead of `src/main.cpp`,
while the remaining interactive Win32 runtime
@@ -267,7 +269,11 @@ Current architecture mismatches that must be treated as real blockers:
while `Canvas::draw_objects_direct(...)` and `Canvas::draw_objects(...)` now
route through `src/legacy_canvas_object_draw_services.*` instead of staying
inline in `src/canvas.cpp`, which trims another coherent object-draw and
viewport-state execution family from the live canvas shell, while
viewport-state execution family from the live canvas shell, while the
static canvas plane geometry/orientation data now also lives in
`src/legacy_canvas_plane_data.cpp` instead of staying inline in
`src/canvas.cpp`, which trims another retained data-ownership pocket from
the live canvas shell, while
`Canvas::stroke_draw_samples(...)`, `Canvas::stroke_commit()`, and the
larger stroke commit/sample execution family now also route through
`src/legacy_canvas_stroke_commit_services.*` instead of staying inline in
@@ -305,7 +311,10 @@ Current architecture mismatches that must be treated as real blockers:
handling, item construction, and added-state update now also route through
`src/legacy_brush_preset_panel_ui.*` instead of staying inline in
`src/node_panel_brush.cpp`, which materially thins another retained preset
panel UI pocket, while `NodeCanvas::handle_event()` now also routes
panel UI pocket, while the retained `LegacyBrushPresetListServices` block
now also lives in `src/legacy_brush_preset_list_services.*` instead of
staying inline in `src/node_panel_brush.cpp`, which trims another retained
preset workflow pocket, while `NodeCanvas::handle_event()` now also routes
through `execute_node_canvas_handle_event(...)`, which trims another coherent
input-routing block from `src/node_canvas.cpp` even though the file is still
a live canvas/controller shell, while `NodeCanvas` restore/clear context,