Extract canvas stroke commit and brush preset services
This commit is contained in:
@@ -79,14 +79,14 @@ What is still carrying too much live ownership:
|
||||
|
||||
Current hotspot files:
|
||||
|
||||
- `src/canvas.cpp`: 2592 lines
|
||||
- `src/canvas.cpp`: 2122 lines
|
||||
- `src/app_layout.cpp`: 125 lines
|
||||
- `src/canvas_modes.cpp`: 1626 lines
|
||||
- `src/node.cpp`: 1368 lines
|
||||
- `src/main.cpp`: 271 lines
|
||||
- `src/node_panel_brush.cpp`: 1094 lines
|
||||
- `src/node_panel_brush.cpp`: 652 lines
|
||||
- `src/node_stroke_preview.cpp`: 910 lines
|
||||
- `src/node_canvas.cpp`: 872 lines
|
||||
- `src/node_canvas.cpp`: 877 lines
|
||||
- `src/app.cpp`: 575 lines
|
||||
- `src/app_dialogs.cpp`: 168 lines
|
||||
|
||||
@@ -251,12 +251,24 @@ 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
|
||||
`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
|
||||
`src/canvas.cpp`, which trims another large retained stroke-render and
|
||||
viewport-state execution family from the live canvas shell,
|
||||
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
|
||||
pocket from the live UI node even though the broader panel still remains
|
||||
large, while shared canvas-mode GL wrappers plus the
|
||||
large, while `NodePanelBrushPreset` save/restore and package
|
||||
import/export/import-ABR 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 pocket
|
||||
from the live UI node, 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 shared canvas-mode GL wrappers plus the
|
||||
`CanvasModeBasicCamera` and `CanvasModeCamera` input handlers now also route
|
||||
through `src/legacy_canvas_mode_helpers.*` instead of staying inline in
|
||||
`src/canvas_modes.cpp`, while
|
||||
|
||||
@@ -91,7 +91,7 @@ Status: In Progress
|
||||
|
||||
Why now:
|
||||
`src/canvas.cpp` is still the biggest single architectural blocker at about
|
||||
2592 lines.
|
||||
2122 lines.
|
||||
|
||||
Current slice:
|
||||
- Canvas state-management helpers for picking, clear/clear-all, layer
|
||||
@@ -112,6 +112,11 @@ Current slice:
|
||||
live in `src/legacy_canvas_object_draw_services.*` instead of staying inline
|
||||
in `src/canvas.cpp`, which trims another coherent object-draw and
|
||||
viewport-state execution pocket from the live canvas shell.
|
||||
- `Canvas::stroke_draw_samples(...)`, `Canvas::stroke_commit()`, and the
|
||||
larger stroke sample/commit execution family now also live in
|
||||
`src/legacy_canvas_stroke_commit_services.*` instead of staying inline in
|
||||
`src/canvas.cpp`, which trims another large retained stroke-render pocket
|
||||
from the live canvas shell.
|
||||
- Shared canvas-mode GL wrappers plus the `CanvasModeBasicCamera` and
|
||||
`CanvasModeCamera` input handlers now also live in
|
||||
`src/legacy_canvas_mode_helpers.*` instead of staying inline in
|
||||
@@ -271,6 +276,10 @@ Current slice:
|
||||
route through `execute_node_canvas_draw_merged_pass(...)`, which trims
|
||||
another coherent merged draw-orchestration block from the live node even
|
||||
though the broader draw loop still remains inline.
|
||||
- `NodeCanvas::handle_event()` now also routes through the local
|
||||
`execute_node_canvas_handle_event(...)` helper, which trims another coherent
|
||||
input-routing block from `src/node_canvas.cpp` even though the node still
|
||||
owns broader canvas/controller behavior.
|
||||
|
||||
Write scope:
|
||||
- `src/node_stroke_preview.cpp`
|
||||
@@ -299,7 +308,7 @@ Mini-model packet:
|
||||
|
||||
#### ARC-RND-003 - Replace App-Facing `Texture2D`/`RTT` Use With Renderer API Contracts
|
||||
|
||||
Status: Ready
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
Future Vulkan and Metal work needs the live app to stop treating retained
|
||||
@@ -984,6 +993,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.
|
||||
- `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
|
||||
pocket from the live UI node even though the broader cloud/package worker
|
||||
split still remains follow-up work.
|
||||
|
||||
Write scope:
|
||||
- `src/legacy_cloud_services.*`
|
||||
|
||||
Reference in New Issue
Block a user