Extract node canvas events and preview/node geometry shells

This commit is contained in:
2026-06-16 23:31:30 +02:00
parent dde6123598
commit 6b337b2d87
11 changed files with 446 additions and 333 deletions

View File

@@ -82,14 +82,29 @@ Current hotspot files:
- `src/canvas.cpp`: 17 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 176 lines
- `src/node.cpp`: 260 lines
- `src/node.cpp`: 222 lines
- `src/main.cpp`: 130 lines
- `src/node_panel_brush.cpp`: 189 lines
- `src/node_stroke_preview.cpp`: 280 lines
- `src/node_canvas.cpp`: 219 lines
- `src/node_stroke_preview.cpp`: 192 lines
- `src/node_canvas.cpp`: 69 lines
- `src/app.cpp`: 113 lines
- `src/app_dialogs.cpp`: 168 lines
Latest slice:
- `NodeCanvas::handle_event()` now routes through
`handle_legacy_node_canvas_event(...)` in
`src/legacy_canvas_tool_services.*`, leaving `src/node_canvas.cpp` as a much
thinner controller shell.
- The remaining low-level `NodeStrokePreview` viewport/query and texture-slot
plumbing now lives in
`src/legacy_node_stroke_preview_runtime_services.*` instead of staying
inline in `src/node_stroke_preview.cpp`.
- The remaining generic `Node` geometry/state pocket for `SetSize(...)`,
`SetMinSize(...)`, `SetMaxSize(...)`, and `SetPosition(const glm::vec2)` now
lives in `src/legacy_ui_node_style.*` instead of staying inline in
`src/node.cpp`.
Current architecture mismatches that must be treated as real blockers:
- `pp_platform_api` still compiles Apple implementation files instead of only
@@ -262,6 +277,9 @@ 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
the low-level preview GL dispatch and texture-slot binding pocket 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`,