Extract app frame and export dialog helpers
This commit is contained in:
@@ -86,9 +86,9 @@ Current hotspot files:
|
||||
- `src/main.cpp`: 1117 lines
|
||||
- `src/node_panel_brush.cpp`: 1197 lines
|
||||
- `src/node_stroke_preview.cpp`: 933 lines
|
||||
- `src/node_canvas.cpp`: 953 lines
|
||||
- `src/app.cpp`: 950 lines
|
||||
- `src/app_dialogs.cpp`: 789 lines
|
||||
- `src/node_canvas.cpp`: 897 lines
|
||||
- `src/app.cpp`: 502 lines
|
||||
- `src/app_dialogs.cpp`: 441 lines
|
||||
|
||||
Current architecture mismatches that must be treated as real blockers:
|
||||
|
||||
@@ -139,7 +139,10 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
`src/app_layout_about_layer_menu.cpp` and `App::init_menu_about()` plus
|
||||
`App::init_menu_layer()` are now thin call-throughs, while the informational
|
||||
overlay opener family now also lives in `src/app_dialogs_info_openers.cpp`
|
||||
and the corresponding `App::dialog_*` entrypoints are thinner.
|
||||
and the corresponding `App::dialog_*` entrypoints are thinner, while the
|
||||
export/video/PPBR dialog family now also lives in
|
||||
`src/app_dialogs_export.cpp` and those `App::dialog_*` entrypoints are
|
||||
thinner too.
|
||||
- `App`, `Canvas`, `Node`, retained workers, and platform entrypoints still use
|
||||
global singleton reach, raw observer pointers, retained static worker
|
||||
ownership in several app families, and ad hoc mutex/condition-variable
|
||||
@@ -172,7 +175,12 @@ Current architecture mismatches that must be treated as real blockers:
|
||||
while `App::rec_loop()` now delegates worker-iteration orchestration into
|
||||
the retained recording bridge, `App::update_rec_frames()` now delegates
|
||||
recording label refresh through that same retained recording path, and the
|
||||
canvas state-management cluster for picking, clear/clear-all, layer
|
||||
UI observer math, repeated UI child traversal, and canvas toolbar refresh
|
||||
now live in `src/legacy_app_frame_services.cpp` instead of staying inline in
|
||||
`src/app.cpp`, while the larger document/export/save/open/thumbnail
|
||||
document-IO cluster now lives in `src/legacy_canvas_document_io_services.cpp`
|
||||
and `src/app.cpp` is materially thinner,
|
||||
while the canvas state-management cluster for picking, clear/clear-all, layer
|
||||
add/remove/order/lookups, animation frame control, resize, and snapshot
|
||||
save/restore now lives in `src/legacy_canvas_state_services.cpp` instead of
|
||||
`src/canvas.cpp`, while the larger import/export/save/open/thumbnail
|
||||
|
||||
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user