Extract node events, transform mode, and preview pass shells

This commit is contained in:
2026-06-16 19:30:55 +02:00
parent 200265e11d
commit f78f72b607
11 changed files with 1086 additions and 999 deletions

View File

@@ -81,11 +81,11 @@ Current hotspot files:
- `src/canvas.cpp`: 2122 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 1626 lines
- `src/node.cpp`: 1368 lines
- `src/canvas_modes.cpp`: 1014 lines
- `src/node.cpp`: 995 lines
- `src/main.cpp`: 271 lines
- `src/node_panel_brush.cpp`: 652 lines
- `src/node_stroke_preview.cpp`: 910 lines
- `src/node_stroke_preview.cpp`: 751 lines
- `src/node_canvas.cpp`: 877 lines
- `src/app.cpp`: 575 lines
- `src/app_dialogs.cpp`: 168 lines
@@ -240,6 +240,10 @@ Current architecture mismatches that must be treated as real blockers:
`src/node_stroke_preview.cpp`, while the immediate preview pass-sequencing
family inside `draw_stroke_immediate()` now also routes through
`NodeStrokePreview::execute_stroke_draw_immediate_pass_sequence(...)`, while
the remaining immediate preview pass shell now also routes through
`execute_legacy_node_stroke_preview_draw_immediate_shell(...)`, which
materially reduces the live preview-pass body even though broader
worker/readback flow still remains inline, 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
@@ -256,7 +260,11 @@ Current architecture mismatches that must be treated as real blockers:
larger stroke commit/sample execution family now also route through
`src/legacy_canvas_stroke_commit_services.*` instead of staying inline in
`src/canvas.cpp`, which trims another large retained stroke-render and
viewport-state execution family from the live canvas shell,
viewport-state execution family from the live canvas shell, while the
`CanvasModeTransform` interaction family now also routes through
`src/legacy_canvas_mode_transform.cpp` instead of staying inline in
`src/canvas_modes.cpp`, which materially thins another retained canvas-view
and transform-mode execution pocket,
while `NodePanelBrush` save/restore/scan/reload/find/get-path ownership now
routes through `src/legacy_brush_panel_services.*` instead of staying inline
in `src/node_panel_brush.cpp`, which trims another retained brush-workflow
@@ -274,7 +282,11 @@ Current architecture mismatches that must be treated as real blockers:
`src/canvas_modes.cpp`, while
preview stroke preparation, dual-brush setup, and live pass-orchestration
request assembly now also route through retained preview execution helpers,
while `Node` child attach/detach/reorder operations now route through named
while `Node::on_event(...)` plus mouse/key capture and release ownership now
also route through `src/legacy_ui_node_event.*` instead of staying inline in
`src/node.cpp`, which materially thins the base scene-graph event shell
without changing its public surface, while `Node` child attach/detach/reorder
operations now route through named
local helpers in `src/node.cpp`, and `Node::load_internal(...)` child XML
loading now also routes through `src/legacy_ui_node_loader.*`, which makes
the scene-graph mutation and child-instantiation paths easier to reason