Thin app runtime and generic node shells

This commit is contained in:
2026-06-17 00:24:00 +02:00
parent 86e57d47ad
commit 9b1e593477
9 changed files with 377 additions and 264 deletions

View File

@@ -82,13 +82,13 @@ Current hotspot files:
- `src/canvas.cpp`: 17 lines
- `src/app_layout.cpp`: 125 lines
- `src/canvas_modes.cpp`: 1 line
- `src/node.cpp`: 231 lines
- `src/node.cpp`: 12 lines
- `src/main.cpp`: 87 lines
- `src/node_panel_brush.cpp`: 2 lines
- `src/node_stroke_preview.cpp`: 160 lines
- `src/node_canvas.cpp`: 85 lines
- `src/app.cpp`: 125 lines
- `src/app_dialogs.cpp`: 127 lines
- `src/app.cpp`: 94 lines
- `src/app_dialogs.cpp`: 95 lines
Latest slice:
@@ -141,6 +141,18 @@ Latest slice:
- The entire `CanvasModeGrid` implementation plus `ActionModeGrid` undo/redo
glue now live in `src/legacy_canvas_mode_helpers.cpp` instead of
`src/canvas_modes.cpp`, leaving `src/canvas_modes.cpp` as a minimal shell.
- `App::request_close()`, the RenderDoc frame wrappers, and the render/UI
thread entrypoint wrappers now route through
`src/legacy_app_runtime_shell_services.*` instead of staying inline in
`src/app.cpp`, leaving `app.cpp` as a thinner retained app shell.
- `App::show_progress()`, `App::message_box()`, and `App::input_box()` now
route through `src/legacy_app_dialog_services.*` instead of building dialog
plans and factories inline in `src/app_dialogs.cpp`.
- The remaining generic `Node` event/capture/resize shell plus the
width/height/padding/margin/flex/visibility/geometry wrappers now live in
`src/legacy_ui_node_execution.cpp` and `src/legacy_ui_node_style.*` instead
of staying inline in `src/node.cpp`, leaving `node.cpp` as a near-trivial
attribute/load shell.
Current architecture mismatches that must be treated as real blockers: