Extract app frame and export dialog helpers

This commit is contained in:
2026-06-16 11:58:22 +02:00
parent d2a841f348
commit 01854f9b10
9 changed files with 786 additions and 584 deletions

View File

@@ -199,7 +199,12 @@ Current slice:
- `NodeCanvas` non-`draw_merged` per-layer temporary erase/paint, layer-texture,
and blend setup now also route through
`make_legacy_canvas_draw_merge_layer_path_gl_execution(...)`, but the node
still owns the remaining draw lambdas and broader renderer-state shell.
still owned the remaining draw lambdas and broader renderer-state shell.
- `NodeCanvas` now routes that remaining non-`draw_merged` per-layer blend,
composite, debug-outline, and frame callback assembly through the local
`make_node_canvas_layer_path_execution(...)` helper, which materially thins
`NodeCanvas::draw()` even though the broader draw loop still lives in
`src/node_canvas.cpp`.
Write scope:
- `src/node_stroke_preview.cpp`
@@ -322,7 +327,7 @@ Mini-model packet:
#### ARC-APP-002 - Split `app_dialogs.cpp` Into Workflow Adapters And Widget Openers
Status: Ready
Status: In Progress
Why now:
`src/app_dialogs.cpp` still mixes document workflow decisions, export routing,
@@ -334,6 +339,10 @@ Current slice:
and the corresponding `App::dialog_*` entrypoints are now thin call-throughs,
but document/export workflow and retained dialog execution are still inline in
`src/app_dialogs.cpp`.
- Export, video-export, and PPBR export entrypoints now also live in
`src/app_dialogs_export.cpp`, and the corresponding `App::dialog_*`
entrypoints are now thin call-throughs, but new/open/save/browse/resize and
retained dialog execution are still inline in `src/app_dialogs.cpp`.
Write scope:
- `src/app_dialogs.cpp`
@@ -364,11 +373,19 @@ Mini-model packet:
#### ARC-APP-003 - Reduce `app.cpp` To Frame, Queue, And Composition Shell
Status: Ready
Status: In Progress
Why now:
`src/app.cpp` still carries startup, frame flow, queue draining, recording,
observer math, and composition logic in one 950-line file.
and composition logic in one 502-line file.
Current slice:
- UI observer math now routes through `src/legacy_app_frame_services.cpp`
instead of staying inline in `src/app.cpp`.
- The repeated UI child traversal in `App::draw()` now routes through the same
retained helper.
- Canvas toolbar refresh in `App::update()` now also routes through that helper
file, materially shrinking `src/app.cpp`.
Write scope:
- `src/app.cpp`