Plan app dialog factories

This commit is contained in:
2026-06-05 07:36:56 +02:00
parent a79ef4cda8
commit 062fdaa982
9 changed files with 374 additions and 12 deletions

View File

@@ -832,6 +832,10 @@ Known local toolchain state:
timelapse start/stop/no-op decisions, VR mode success/failure dispatch,
simple stored preferences, and `AppPreferenceServices` execution dispatch for
options-menu side effects.
- `pp_app_core_app_dialog_tests` covers app-level progress/message/input dialog
metadata planning, progress initialization, negative progress-total clamping,
message cancel-button policy, input OK-caption propagation, and malformed
empty OK-caption rejection without requiring legacy `Node*` dialogs.
- `pp_app_core_app_startup_tests` covers startup run-counter increment
planning, optional auto-timelapse/license/VR-controller decisions, negative
and overflow run-counter rejection, stable full startup dispatch ordering,

File diff suppressed because one or more lines are too long

View File

@@ -198,6 +198,13 @@ and floating-point render targets; `App::title_update`,
`App::update_memory_usage`, `App::update_rec_frames`, resolution helpers,
`App::initLayout`, and `pano_cli plan-app-status` consume those contracts while
legacy UI nodes still render the strings and status lights.
App-level progress, message, and input dialog metadata now also lives in
`pp_app_core` through `plan_app_progress_dialog`,
`plan_app_message_dialog`, and `plan_app_input_dialog`; `App::show_progress`,
`App::message_box`, `App::input_box`, and `pano_cli plan-app-dialog` consume
those plans before retained `NodeProgressBar`, `NodeMessageBox`, and
`NodeInputBox` creation. Legacy dialog node lifetime/layout ownership remains
tracked under `DEBT-0058`.
Frame-level app decisions for the initial surface size, redraw/animation update
gating, layout ticking, resize render-target recreation, canvas-stroke drawing,
VR UI drawing, main UI drawing, UI observer clipping/on-screen transition/scissor
@@ -1691,6 +1698,15 @@ Results:
- Focused preference CTest coverage passed for
`pp_app_core_app_preferences_tests` and the app-preferences CLI smoke tests
after the live bridge split, including VR mode failed-start status coverage.
- `PanoPainter`, `pp_app_core_app_dialog_tests`, and `pano_cli` built after
progress/message/input dialog metadata moved into `pp_app_core` while live
`App` factories kept retained `Node*` creation.
- Focused app-dialog CTest coverage passed for
`pp_app_core_app_dialog_tests` and the `pano_cli_plan_app_dialog_*` smoke
tests, including negative progress-total clamping and rejected empty
input-dialog OK captions.
- Android arm64 headless `pp_app_core`, `pano_cli`, and
`pp_app_core_app_dialog_tests` built after the app-dialog planning slice.
- `PanoPainter`, `pp_app_core_app_startup_tests`, and `pano_cli` built after
startup preference/runtime execution and startup resource sequencing moved
behind app startup services.