Extract final canvas wrappers and preview mix pass
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -36,8 +36,8 @@ Completed, blocked, and superseded task history moved to
|
||||
- `pp_legacy_paint_document`: 7 files, about 5709 lines
|
||||
- `pp_legacy_app`: 20 files, about 4368 lines
|
||||
- `pp_legacy_ui_core`: 20 files, about 3770 lines
|
||||
- The biggest single-file choke points are still `src/canvas.cpp`,
|
||||
`src/app_layout.cpp`, `src/canvas_modes.cpp`, `src/node.cpp`,
|
||||
- The biggest single-file choke points are still `src/canvas_modes.cpp`,
|
||||
`src/node.cpp`,
|
||||
`src/main.cpp`, `src/node_panel_brush.cpp`, `src/node_stroke_preview.cpp`,
|
||||
`src/node_canvas.cpp`, `src/app.cpp`, and `src/app_dialogs.cpp`.
|
||||
- The platform boundary is not finished:
|
||||
@@ -90,11 +90,16 @@ looks like a wrapper around the old renderer shell.
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
`src/canvas.cpp` is still the biggest single architectural blocker at about
|
||||
429 lines, with `src/canvas_modes.cpp` now materially thinner and the next
|
||||
remaining render-shell pressure shifting toward preview/canvas nodes.
|
||||
The live `Canvas` ownership boundary is still active, but `src/canvas.cpp`
|
||||
itself is now down to a thin static singleton plus mode-table shell. The
|
||||
remaining canvas pressure now sits in the extracted legacy canvas service
|
||||
files and the preview/canvas node render paths rather than the old monolithic
|
||||
translation unit.
|
||||
|
||||
Current slice:
|
||||
- The remaining `Canvas` member wrappers in `src/canvas.cpp` now live in the
|
||||
extracted canvas service files, leaving `canvas.cpp` as the static singleton
|
||||
and mode-table shell.
|
||||
- Canvas state-management helpers for picking, clear/clear-all, layer
|
||||
add/remove/order/lookups, animation frame control, resize, and snapshot
|
||||
save/restore now live in `src/legacy_canvas_state_services.cpp` instead of
|
||||
@@ -213,6 +218,9 @@ Current slice:
|
||||
`legacy_node_stroke_preview_execution_services.h`, which trims another
|
||||
coherent pass-setup block from `src/node_stroke_preview.cpp`, but broader
|
||||
preview-pass orchestration is still inline.
|
||||
- `NodeStrokePreview` remaining mix-pass planning and execution now also route
|
||||
through `legacy_node_stroke_preview_draw_services.*`, which trims the last
|
||||
dedicated mix-orchestration pocket from `src/node_stroke_preview.cpp`.
|
||||
- `NodeStrokePreview::draw_stroke_immediate()` immediate preview pass
|
||||
sequencing now also routes through the private
|
||||
`execute_stroke_draw_immediate_pass_sequence(...)` helper, which removes
|
||||
@@ -1136,6 +1144,10 @@ Current slice:
|
||||
`src/node_panel_brush.cpp`, which materially thins another retained preset
|
||||
panel UI pocket even though cloud/package worker ownership remains the
|
||||
follow-up.
|
||||
- `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 trims the remaining inline popup tail
|
||||
from the live brush panel file.
|
||||
- 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
|
||||
|
||||
Reference in New Issue
Block a user