Extract fill modes, preview runtime pockets, and brush item UI

This commit is contained in:
2026-06-16 23:17:29 +02:00
parent a8e4e02e94
commit dde6123598
11 changed files with 497 additions and 377 deletions

View File

@@ -81,11 +81,11 @@ Current hotspot files:
- `src/canvas.cpp`: 17 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 402 lines
- `src/canvas_modes.cpp`: 176 lines
- `src/node.cpp`: 260 lines
- `src/main.cpp`: 130 lines
- `src/node_panel_brush.cpp`: 231 lines
- `src/node_stroke_preview.cpp`: 343 lines
- `src/node_panel_brush.cpp`: 189 lines
- `src/node_stroke_preview.cpp`: 280 lines
- `src/node_canvas.cpp`: 219 lines
- `src/app.cpp`: 113 lines
- `src/app_dialogs.cpp`: 168 lines
@@ -309,6 +309,10 @@ Current architecture mismatches that must be treated as real blockers:
`CanvasModeLine` interaction families now also route through
`src/legacy_canvas_mode_pen_line.cpp` instead of staying inline in
`src/canvas_modes.cpp`,
while the `CanvasModeFill` and `CanvasModeFloodFill` interaction families now
also route through `src/legacy_canvas_mode_fill.cpp` instead of staying
inline in `src/canvas_modes.cpp`, which materially thins another retained
fill-mode execution pocket from the broader canvas/render hotspot family,
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
@@ -324,7 +328,13 @@ 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 popup tail now also lives in `src/legacy_brush_preset_panel_ui.*`
preset-list pocket, while `NodeButtonBrush` clone/init/icon/read/write/draw
behavior and `NodeBrushPresetItem` clone/init/draw behavior now also live in
`src/legacy_brush_panel_item_ui.*` instead of staying inline in
`src/node_panel_brush.cpp`, which trims the remaining brush-item UI pocket
from the live brush panel file, while `NodePanelBrushPreset` popup-close
event handling 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()`

View File

@@ -132,6 +132,10 @@ Current slice:
`src/legacy_canvas_mode_transform.cpp` instead of staying inline in
`src/canvas_modes.cpp`, which materially thins another retained
transform-mode pocket from the broader canvas/render hotspot family.
- The `CanvasModeFill` and `CanvasModeFloodFill` interaction families now
also live in `src/legacy_canvas_mode_fill.cpp` instead of staying inline in
`src/canvas_modes.cpp`, which materially thins another retained fill-mode
pocket from the live canvas-mode shell.
- The live `Canvas::stroke_draw()` orchestration now also lives in
`src/legacy_canvas_stroke_live_services.cpp` instead of staying inline in
`src/canvas.cpp`, which materially thins another large retained live
@@ -231,6 +235,9 @@ Current slice:
which trims another coherent setup pocket from
`src/node_stroke_preview.cpp` even though worker/readback ownership and
broader preview flow still remain inline.
- `src/node_stroke_preview.cpp` is now 280 lines after moving the preview
background-capture and stroke-frame planning pocket into
`legacy_node_stroke_preview_runtime_services.*`.
- The remaining immediate preview pass shell in
`NodeStrokePreview::draw_stroke_immediate()` now also routes through
`execute_legacy_node_stroke_preview_draw_immediate_shell(...)`, which
@@ -1133,6 +1140,11 @@ Current slice:
`src/node_panel_brush.cpp`, which trims a coherent retained brush-workflow
pocket from the live UI node even though cloud and package-worker ownership
still remain separate follow-up work.
- `NodeButtonBrush` clone/init/icon/read/write/draw behavior and
`NodeBrushPresetItem` clone/init/draw behavior now also live in
`src/legacy_brush_panel_item_ui.*` instead of staying inline in
`src/node_panel_brush.cpp`, which trims the remaining brush-item UI pocket
from the live brush panel file.
- `NodePanelBrushPreset` save/restore plus PPBR/ABR import/export routing now
also lives in `src/legacy_brush_preset_services.*` instead of staying inline
in `src/node_panel_brush.cpp`, which trims another large preset-workflow