Move settings dialog to checked overlay lifetime

This commit is contained in:
2026-06-15 19:51:07 +02:00
parent 54fbf900fc
commit 8db859cb2c
6 changed files with 60 additions and 8 deletions

File diff suppressed because one or more lines are too long

View File

@@ -73,6 +73,10 @@ progress/message/input overlays through checked handle registration in
`src/legacy_ui_overlay_services.*` before they fall back to retained dialog
node close helpers, narrowing another app-owned `DEBT-0058`/`DEBT-0063`
surface without changing dialog plans or captions.
The same checked-overlay seam now also owns main-toolbar settings dialog
opening from `src/legacy_app_shell_services.cpp`, removing another raw
app-owned dialog insertion path while leaving the remaining retained dialog
families debt-tracked.
Recent 2026-06-13 retained preview reductions continue to narrow DEBT-0036:
`NodeStrokePreview::draw_stroke_immediate()` now also routes

View File

@@ -34,11 +34,11 @@ auditable steps rather than by subjective estimates.
| Build and CMake ownership | 15 | 13 | Root CMake owns active source lists, app/tool targets, and retained package entrypoints. |
| Test and automation coverage | 15 | 9 | Headless, platform, package, and focused validation commands exist and are current. |
| Pure component behavior ownership | 15 | 8 | Behavior lives in `pp_*` components and is consumed by live adapters. |
| Legacy adapter retirement | 20 | 10 | `legacy_*_services` and singleton bridges are deleted or reduced to trivial composition. |
| Legacy adapter retirement | 20 | 11 | `legacy_*_services` and singleton bridges are deleted or reduced to trivial composition. |
| Renderer boundary and OpenGL parity | 15 | 11 | Live render/export/readback paths execute through renderer interfaces with parity checks. |
| Platform and package parity | 10 | 8 | Required platforms have root CMake/package validation and injected platform services. |
| Hardening and future backend readiness | 10 | 4 | Edge, fuzz, golden, stress, and backend-lab gates exist for high-risk paths. |
| **Total** | **100** | **64** | Only completed tasks below may change this number. |
| **Total** | **100** | **65** | Only completed tasks below may change this number. |
When updating `Current`, add a dated note under "Completed Task Log" with the
task id, points moved, validation command, and commit hash.
@@ -299,6 +299,37 @@ Completed Task Log:
| --- | --- | ---: | --- | --- |
| 2026-06-15 | ADP-006 | +1 legacy adapter retirement | `ctest --preset desktop-fast --build-config Debug -R "pp_app_core_app_dialog\|pp_ui_core_node_lifetime\|pp_ui_core_overlay_lifetime" --output-on-failure`; `MSBuild.exe out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64` | `33ff4b9b` |
### ADP-007 - Move Settings Dialog To Checked Overlay Lifetime
Status: Done
Score: +1 legacy adapter retirement
Debt: `DEBT-0035`, `DEBT-0063`
Scope: `src/legacy_app_shell_services.cpp`, `src/legacy_ui_overlay_services.*`,
settings dialog path only
Goal:
Move the main-toolbar settings dialog opening path off raw
`layout[main_id]->add_child(...)` ownership so the retained settings dialog
participates in the same checked overlay lifetime seam already used by the
other app-owned dialogs.
Done Checks:
- `MainToolbarServices::show_settings_dialog()` still preserves current toolbar
settings-dialog behavior.
- The settings dialog now opens through `src/legacy_ui_overlay_services.*`
instead of direct raw child insertion in `src/legacy_app_shell_services.cpp`.
- `DEBT-0035` and `DEBT-0063` describe the reduced settings
dialog lifetime surface and the remaining retained families.
Validation:
```powershell
ctest --preset desktop-fast --build-config Debug -R "pp_app_core_app_dialog|pp_ui_core_node_lifetime|pp_ui_core_overlay_lifetime|pp_app_core_main_toolbar" --output-on-failure
cmake --build --preset windows-msvc-default --config Debug --target PanoPainter
```
### RND-001 - Make Pure Equirectangular Export The Primary Success Path
Status: Done