Extract app runtime tail, canvas camera shell, and preview sample services
This commit is contained in:
@@ -79,15 +79,15 @@ What is still carrying too much live ownership:
|
||||
|
||||
Current hotspot files:
|
||||
|
||||
- `src/canvas.cpp`: 396 lines
|
||||
- `src/canvas.cpp`: 368 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`: 545 lines
|
||||
- `src/node_stroke_preview.cpp`: 490 lines
|
||||
- `src/node_canvas.cpp`: 219 lines
|
||||
- `src/app.cpp`: 171 lines
|
||||
- `src/app.cpp`: 113 lines
|
||||
- `src/app_dialogs.cpp`: 168 lines
|
||||
|
||||
Current architecture mismatches that must be treated as real blockers:
|
||||
@@ -235,7 +235,11 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
now live in `src/legacy_app_frame_services.cpp` instead of staying inline in
|
||||
`src/app.cpp`, while the larger document/export/save/open/thumbnail
|
||||
document-IO cluster now lives in `src/legacy_canvas_document_io_services.cpp`
|
||||
and `src/app.cpp` is materially thinner,
|
||||
and `src/app.cpp` is materially thinner, while `App::clear()`,
|
||||
`App::check_license()`, `App::async_start()`, `App::async_redraw()`,
|
||||
`App::async_end()`, and `App::async_swap()` now also live in
|
||||
`src/legacy_app_runtime_shell_services.cpp` instead of staying inline in
|
||||
`src/app.cpp`,
|
||||
while the canvas state-management cluster for picking, clear/clear-all, layer
|
||||
add/remove/order/lookups, animation frame control, resize, and snapshot
|
||||
save/restore now lives in `src/legacy_canvas_state_services.cpp` instead of
|
||||
@@ -291,7 +295,9 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
`Canvas::stroke_update(...)`, and `Canvas::stroke_start(...)` now also route
|
||||
through `src/legacy_canvas_stroke_runtime_services.*` instead of staying
|
||||
inline in `src/canvas.cpp`, which trims another large retained stroke/runtime
|
||||
pocket, while the
|
||||
pocket, while the final camera/timelapse member definitions now also live in
|
||||
`src/legacy_canvas_camera_services.cpp` instead of staying inline in
|
||||
`src/canvas.cpp`, which trims another retained canvas shell pocket, 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
|
||||
@@ -381,7 +387,11 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
`src/node_stroke_preview.cpp`, and while the generic Yoga
|
||||
style/visibility pocket from `Node::SetWidth(...)` through `Node::GetRTL()`
|
||||
now also routes through `src/legacy_ui_node_style.*` instead of staying
|
||||
inline in `src/node.cpp`.
|
||||
inline in `src/node.cpp`, while the preview sample execution pocket for
|
||||
sample-point conversion, brush vertex upload, request assembly, and the
|
||||
`execute_legacy_canvas_stroke_sample(...)` call now also lives in
|
||||
`src/legacy_node_stroke_preview_sample_services.*` instead of staying inline
|
||||
in `src/node_stroke_preview.cpp`.
|
||||
- Modern C++23 usage exists in extracted components, especially `std::span`,
|
||||
explicit result/status objects, and a few concepts, but the live app still
|
||||
does not consistently express ownership, thread affinity, or renderer
|
||||
|
||||
@@ -152,6 +152,9 @@ Current slice:
|
||||
`src/legacy_canvas_plane_data.cpp` instead of staying inline in
|
||||
`src/canvas.cpp`, which trims another retained data-ownership pocket from
|
||||
the live canvas shell.
|
||||
- The final camera/timelapse member definitions now also live in
|
||||
`src/legacy_canvas_camera_services.cpp` instead of staying inline in
|
||||
`src/canvas.cpp`, which trims another retained canvas shell pocket.
|
||||
- The `CanvasModePen` and `CanvasModeLine` interaction families now also live
|
||||
in `src/legacy_canvas_mode_pen_line.cpp` instead of staying inline in
|
||||
`src/canvas_modes.cpp`, which materially thins another retained pen/line
|
||||
@@ -346,6 +349,12 @@ Current slice:
|
||||
`src/legacy_node_stroke_preview_runtime_services.*` instead of staying
|
||||
inline in `src/node_stroke_preview.cpp`, which trims another coherent
|
||||
preview runtime pocket while preserving the current live draw path.
|
||||
- The preview sample execution pocket for sample-point conversion, brush
|
||||
vertex upload, request assembly, and the
|
||||
`execute_legacy_canvas_stroke_sample(...)` call now also lives in
|
||||
`src/legacy_node_stroke_preview_sample_services.*` instead of staying inline
|
||||
in `src/node_stroke_preview.cpp`, which trims another coherent preview
|
||||
execution pocket while preserving the live draw path.
|
||||
- `NodeCanvas::init()` plus the remaining `NodeCanvas::draw()` outer shell now
|
||||
also live in `src/legacy_node_canvas_draw_services.*` instead of staying
|
||||
inline in `src/node_canvas.cpp`, which materially reduces the live node to a
|
||||
@@ -569,6 +578,11 @@ Current slice:
|
||||
instead of staying inline in `src/app.cpp`, which reduces the remaining app
|
||||
file to a thinner retained composition surface around startup and runtime
|
||||
delegation.
|
||||
- `App::clear()`, `App::check_license()`, `App::async_start()`,
|
||||
`App::async_redraw()`, `App::async_end()`, and `App::async_swap()` now also
|
||||
live in `src/legacy_app_runtime_shell_services.cpp` instead of staying
|
||||
inline in `src/app.cpp`, which reduces the remaining app file to a thinner
|
||||
retained shell around document routing and runtime thread entrypoints.
|
||||
|
||||
Write scope:
|
||||
- `src/app.cpp`
|
||||
|
||||
Reference in New Issue
Block a user