Extract final canvas wrappers and preview mix pass

This commit is contained in:
2026-06-16 23:02:05 +02:00
parent 5f76716732
commit a8e4e02e94
14 changed files with 458 additions and 604 deletions

View File

@@ -79,13 +79,13 @@ What is still carrying too much live ownership:
Current hotspot files:
- `src/canvas.cpp`: 368 lines
- `src/canvas.cpp`: 17 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 402 lines
- `src/node.cpp`: 260 lines
- `src/main.cpp`: 130 lines
- `src/node_panel_brush.cpp`: 255 lines
- `src/node_stroke_preview.cpp`: 490 lines
- `src/node_panel_brush.cpp`: 231 lines
- `src/node_stroke_preview.cpp`: 343 lines
- `src/node_canvas.cpp`: 219 lines
- `src/app.cpp`: 113 lines
- `src/app_dialogs.cpp`: 168 lines
@@ -262,6 +262,10 @@ Current architecture mismatches that must be treated as real blockers:
pass planning, shader setup, and live render request assembly now also
routes through `src/legacy_node_stroke_preview_runtime_services.*` instead
of staying inline in `src/node_stroke_preview.cpp`, while
`NodeStrokePreview` remaining mix-pass planning and execution now also route
through `src/legacy_node_stroke_preview_draw_services.*`, which trims the
last dedicated mix-orchestration pocket from `src/node_stroke_preview.cpp`,
while
`NodeCanvas::draw()` unmerged-pass blend-gate, layer-orientation, and
callback-assembly setup now also route through
`execute_node_canvas_draw_unmerged_pass(...)`, which trims another coherent
@@ -320,7 +324,11 @@ Current architecture mismatches that must be treated as real blockers:
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
preset popup tail now also lives in `src/legacy_brush_preset_panel_ui.*`
instead of staying inline in `src/node_panel_brush.cpp`, which removes the
last inline brush-panel popup close handler from the live node. The
broader preset workflow pocket still remains, 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,