Extract app runtime shell, canvas render shell, and node tree services
This commit is contained in:
@@ -79,15 +79,15 @@ What is still carrying too much live ownership:
|
||||
|
||||
Current hotspot files:
|
||||
|
||||
- `src/canvas.cpp`: 1010 lines
|
||||
- `src/canvas.cpp`: 429 lines
|
||||
- `src/app_layout.cpp`: 125 lines
|
||||
- `src/canvas_modes.cpp`: 720 lines
|
||||
- `src/node.cpp`: 803 lines
|
||||
- `src/node.cpp`: 465 lines
|
||||
- `src/main.cpp`: 271 lines
|
||||
- `src/node_panel_brush.cpp`: 435 lines
|
||||
- `src/node_stroke_preview.cpp`: 607 lines
|
||||
- `src/node_canvas.cpp`: 219 lines
|
||||
- `src/app.cpp`: 502 lines
|
||||
- `src/app.cpp`: 292 lines
|
||||
- `src/app_dialogs.cpp`: 168 lines
|
||||
|
||||
Current architecture mismatches that must be treated as real blockers:
|
||||
@@ -332,7 +332,22 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
while `Canvas` point-trace/unproject/project/camera push-pop-get-set and
|
||||
face-to-shape helpers now also route through
|
||||
`src/legacy_canvas_projection_services.*` instead of staying inline in
|
||||
`src/canvas.cpp`.
|
||||
`src/canvas.cpp`, while `App::draw(...)`, `App::update(...)`,
|
||||
`App::terminate(...)`, `App::update_memory_usage(...)`,
|
||||
`App::update_rec_frames(...)`, `App::res_from_index(...)`,
|
||||
`App::res_to_index(...)`, `App::res_to_string(...)`, `App::rec_clear(...)`,
|
||||
`App::rec_start(...)`, `App::rec_stop(...)`, `App::rec_export(...)`,
|
||||
`App::rec_loop(...)`, and `App::render_thread_tick(...)` now also route
|
||||
through `src/legacy_app_runtime_shell_services.cpp` instead of staying
|
||||
inline in `src/app.cpp`, while `Canvas::draw_merge(...)`, the temporary
|
||||
paint/branch orchestration helpers, final-plane composite, timelapse commit,
|
||||
create/destroy, clear-context, and camera accessors now also route through
|
||||
`src/legacy_canvas_render_shell_services.*` instead of staying inline in
|
||||
`src/canvas.cpp`, while `Node::destroy()`, `root()`, `set_manager(...)`,
|
||||
`added_to_root()`, `handle_on_screen(...)`, template loading helpers, child
|
||||
add/remove/move helpers, and child query helpers now also route through
|
||||
`src/legacy_ui_node_tree_services.cpp` instead of staying inline in
|
||||
`src/node.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
|
||||
|
||||
Reference in New Issue
Block a user