Thin app dialog export and popup seams

This commit is contained in:
2026-06-17 19:49:35 +02:00
parent b505d9f727
commit c63a96cc87
20 changed files with 670 additions and 522 deletions

View File

@@ -792,26 +792,40 @@ agent or engineer to remove them without reconstructing context from chat.
`bind_legacy_click_destroys_node(...)`; menu/layout-owned popup families still
remain on separate retained cleanup paths.
- 2026-06-17: `DEBT-0058`/`DEBT-0063` were narrowed again. The retained
usermanual, changelog, and about openers in `src/app_dialogs_info_openers.cpp`
now delegate retained dialog construction and overlay close wiring through
usermanual, changelog, about, What's New, and shortcuts openers in
`src/app_dialogs_info_openers.cpp` now delegate retained dialog construction,
overlay close wiring, and remote-page/button ownership through
`src/legacy_info_dialog_services.*` with explicit `App&` plus overlay-anchor
dependencies, so the app dialog shell no longer owns that info-dialog family
inline while `open_whatsnew_dialog()` still owns the retained whats-new flow
inline.
- 2026-06-17: `DEBT-0058`/`DEBT-0063` were narrowed again. The retained New
Document and Save dialog openers in `src/app_dialogs_workflow.cpp` now
delegate retained dialog construction and button wiring through
`src/legacy_document_session_services.*` with explicit `App&` ownership, so
the app dialog shell no longer owns that document-session dialog family
inline while browse, open, and resize flows still remain there.
inline.
- 2026-06-17: `DEBT-0058`/`DEBT-0063` were narrowed again. The retained Open,
Browse, and Resize dialog openers in `src/app_dialogs_workflow.cpp` now
delegate retained dialog construction and overlay/button wiring through
`src/legacy_document_open_services.*` and
`src/legacy_document_session_services.*`, so the app dialog shell no longer
owns those workflow dialog families inline.
- 2026-06-17: `DEBT-0035` was narrowed again. `App::title_update()` and the
draw-toolbar/stroke-popup binding families now delegate through
draw-toolbar/stroke-popup/grid-popup binding families now delegate through
`src/legacy_app_status_services.*`,
`src/legacy_draw_toolbar_binding_services.*`, and
`src/legacy_sidebar_stroke_popup_services.*`, so
`src/legacy_sidebar_stroke_popup_services.*`, and
`src/legacy_sidebar_grid_popup_services.*`, so
`src/app_layout.cpp`, `src/app_layout_draw_toolbar.cpp`, and part of
`src/app_layout_sidebar.cpp` are thinner adapters while retained app-shell
execution and remaining popup families still stay open under the same debt.
execution and the remaining layer popup family still stay open under the same
debt.
- 2026-06-17: `DEBT-0030`/`DEBT-0043`/`DEBT-0044` were narrowed again.
`src/app_dialogs_export.cpp` is now a thin forwarding adapter. Retained
document export start/branching flows now live in
`src/legacy_document_export_services.*`, and the PPBR export dialog opener
now lives in `src/legacy_brush_package_export_services.*`; retained export
execution still remains behind those legacy bridges.
- 2026-06-15: `DEBT-0036` was narrowed again. `NodeStrokePreview` now drops the
retained pass-sequence, mix-execution, final-composite-request, background
capture, and preview-copy wrapper structs/functions in favor of direct

View File

@@ -93,12 +93,13 @@ Current conclusion:
app shell is down to adapter calls even though runtime draw/event/sidebar
execution still remains.
- New-document/save dialog session wiring, app-title rendering, draw-toolbar
binding, sidebar stroke-popup binding, and usermanual/changelog/about opener
wiring now live in dedicated `legacy_*services.*` seams, so
`src/app_dialogs_workflow.cpp`, `src/app_layout.cpp`,
`src/app_layout_draw_toolbar.cpp`, `src/app_layout_sidebar.cpp`, and
`src/app_dialogs_info_openers.cpp` are thinner adapters even though broader
retained dialog/sidebar execution still remains.
binding, sidebar stroke/grid-popup binding, export-dialog start wiring, and
the full info-opener family now live in dedicated `legacy_*services.*` seams,
so `src/app_dialogs_workflow.cpp`, `src/app_dialogs_export.cpp`,
`src/app_layout.cpp`, `src/app_layout_draw_toolbar.cpp`,
`src/app_layout_sidebar.cpp`, and `src/app_dialogs_info_openers.cpp` are
thinner adapters even though broader retained dialog/sidebar execution still
remains.
- Platform extraction improved substantially and the root app source group no
longer compiles Web platform sources directly, but broader CMake and
entrypoint cleanup are not complete.

View File

@@ -65,6 +65,12 @@ Key facts:
- `App::dialog_browse()` no longer owns browse-dialog button wiring inline; the
retained document-open bridge now owns that handoff in
`src/legacy_document_open_services.*`.
- `App::dialog_open()`, `App::dialog_browse()`, and `App::dialog_resize()` now
delegate retained dialog construction and overlay/button wiring through
`src/legacy_document_open_services.*` and
`src/legacy_document_session_services.*`, so
`src/app_dialogs_workflow.cpp` is thinner while the save-before-workflow
policy seam remains local.
- `App::init_toolbar_main()` now delegates retained main-toolbar button wiring
through `src/legacy_main_toolbar_binding_services.*`, so
`src/app_layout_main_toolbar.cpp` is down to a thin root lookup and adapter
@@ -104,13 +110,13 @@ Key facts:
- `App::dialog_usermanual()`, `App::dialog_changelog()`, and
`App::dialog_about()` now delegate the retained info-dialog construction and
overlay close wiring through `src/legacy_info_dialog_services.*` with
explicit `App&` plus overlay-anchor dependencies, so
`src/app_dialogs_info_openers.cpp` is thinner while `open_whatsnew_dialog()`
still owns the retained whats-new flow inline.
explicit `App&` plus overlay-anchor dependencies, and the remaining
What's New plus shortcuts flows now route through the same seam, so
`src/app_dialogs_info_openers.cpp` is down to thin forwarding only.
- `App::dialog_newdoc()` and `App::dialog_save()` now delegate retained dialog
construction and button wiring through `src/legacy_document_session_services.*`,
so `src/app_dialogs_workflow.cpp` is thinner at the document-session seam
while browse, open, and resize retained workflows still remain there.
construction and button wiring through
`src/legacy_document_session_services.*`, so
`src/app_dialogs_workflow.cpp` is thinner at the document-session seam.
- `App::title_update()` now delegates retained document-title and DPI-label
rendering through `src/legacy_app_status_services.*`, so
`src/app_layout.cpp` no longer owns that app-status family inline.
@@ -122,8 +128,16 @@ Key facts:
- `App::init_sidebar()` now delegates the retained stroke-popup open/anchor/tick
wiring through `src/legacy_sidebar_stroke_popup_services.*` with explicit
`App&`, popup-root, trigger-button, and panel dependencies, so
`src/app_layout_sidebar.cpp` is thinner while the retained grid and layer
popup families still remain inline.
`src/app_layout_sidebar.cpp` is thinner while the retained layer popup family
still remains inline.
- `App::init_sidebar()` now delegates the retained grid-popup
open/anchor/tick/close wiring through
`src/legacy_sidebar_grid_popup_services.*`, so the `btn-grids-panel` path in
`src/app_layout_sidebar.cpp` is down to a thin adapter.
- `src/app_dialogs_export.cpp` is now a forwarding adapter; the retained
document export start/branching flows live in
`src/legacy_document_export_services.*`, and the PPBR dialog opener now lives
in `src/legacy_brush_package_export_services.*`.
## Parallel Assignment Rules