Thin canvas modes, node execution, and canvas draw shell

This commit is contained in:
2026-06-16 18:30:24 +02:00
parent 8906756d12
commit b56a46a82c
9 changed files with 398 additions and 320 deletions

View File

@@ -108,6 +108,11 @@ Current slice:
`src/legacy_canvas_projection_services.*` instead of staying inline in
`src/canvas.cpp`, which trims another coherent non-UI state/query 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
`src/canvas_modes.cpp`, which trims another coherent retained canvas-view
interaction pocket from the broader canvas/render hotspot family.
Write scope:
- `src/canvas.cpp`
@@ -252,6 +257,12 @@ Current slice:
`execute_legacy_canvas_draw_node_canvas_unmerged_pass(...)`, which
materially shortens the live `NodeCanvas::draw()` body even though the file
itself is still large.
- `NodeCanvas::draw()` unmerged-pass blend-gate query, layer-orientation
assembly, and callback wiring into
`execute_legacy_canvas_draw_node_canvas_unmerged_pass(...)` now also route
through `execute_node_canvas_draw_unmerged_pass(...)`, which trims another
coherent unmerged draw-orchestration block from the live node even though
the file size remains roughly flat.
Write scope:
- `src/node_stroke_preview.cpp`
@@ -673,6 +684,11 @@ Current slice:
That trims another coherent generic node-instantiation pocket and makes the
remaining scene-graph load path easier to isolate, even though ownership has
not yet moved into `pp_ui_core`.
- The generic per-frame node execution/traversal family for
`restore_context`, `clear_context`, `update`, `update_internal`, and `tick`
now also lives in `src/legacy_ui_node_execution.cpp` instead of staying
inline in `src/node.cpp`, which materially thins the base scene-graph file
without changing its public surface.
Write scope:
- `src/node.cpp`