Route app shutdown staging through app core
This commit is contained in:
@@ -246,6 +246,11 @@ Known local toolchain state:
|
||||
`App::draw`, and `pano_cli plan-app-frame`; retained layout traversal,
|
||||
toolbar widget writes, canvas stroke drawing, VR UI render-target drawing,
|
||||
main target binding, and OpenGL/UI drawing remain in the legacy app.
|
||||
- `src/app_core/app_shutdown.h` owns the current shutdown cleanup staging
|
||||
consumed by `App::terminate` and `pano_cli plan-app-shutdown`; retained
|
||||
UI-state save, recording stop, resource invalidation, layout unload,
|
||||
render-target/mesh destruction, and panel-node release remain in the legacy
|
||||
app.
|
||||
- `src/legacy_app_preference_services.*` is the current app-shell bridge for
|
||||
options-menu preference execution. It keeps UI scale, viewport scale, RTL,
|
||||
VR mode, VR-controller, auto-timelapse, and canvas cursor-mode callbacks on
|
||||
@@ -832,6 +837,10 @@ Known local toolchain state:
|
||||
- `pp_app_core_app_frame_tests` covers the legacy initial surface default,
|
||||
idle/redraw/animation update gating, canvas-stroke draw eligibility, VR UI
|
||||
visibility, main UI suppression in VR-only mode, and redraw reset planning.
|
||||
- `pp_app_core_app_shutdown_tests` covers legacy shutdown cleanup staging for
|
||||
UI-state save, stroke-preview renderer shutdown, recording stop,
|
||||
texture/shader invalidation, layout unload, render-target/mesh destruction,
|
||||
panel-node release, and quick-mode cleanup.
|
||||
- `pp_platform_api_tests` covers service dispatch for clipboard read/write,
|
||||
empty clipboard writes, cursor visibility, virtual-keyboard visibility,
|
||||
external file display, file sharing, VR lifecycle, layout/asset file load
|
||||
|
||||
@@ -20,7 +20,7 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
|
||||
- 2026-06-04: DEBT-0009 was narrowed. `platform-build.ps1` and
|
||||
`platform-build.sh` now include the current headless component/test matrix,
|
||||
including brush-package coverage and the app-core startup/frame/file/document/
|
||||
including brush-package coverage and the app-core startup/frame/shutdown/file/document/
|
||||
brush/canvas/history/grid/toolbar/tools/about/preferences/status automation
|
||||
tests, and `panopainter_platform_build_target_matrix_self_test` now verifies
|
||||
the wrapper defaults against the current CMake test executables. On
|
||||
@@ -97,6 +97,13 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
consumed by `App::create`, `App::update`, `App::draw`, and
|
||||
`pano_cli plan-app-frame`; retained layout traversal, toolbar widget writes,
|
||||
and OpenGL/UI drawing remain in the legacy app.
|
||||
- 2026-06-05: DEBT-0003 was narrowed again. Shutdown cleanup staging for
|
||||
UI-state save, stroke-preview renderer shutdown, recording stop,
|
||||
texture/shader invalidation, layout unload, UI render-target and face-plane
|
||||
destruction, panel-node release, and quick-mode cleanup now goes through
|
||||
tested `pp_app_core` plans consumed by `App::terminate` and
|
||||
`pano_cli plan-app-shutdown`; retained cleanup execution remains in the
|
||||
legacy app.
|
||||
- 2026-06-04: DEBT-0036 was narrowed again. Canvas stroke commit,
|
||||
thumbnail, and object-draw history paths now query saved blend state through
|
||||
tested `pp_renderer_gl` capability-state dispatch; CanvasLayer equirect
|
||||
|
||||
@@ -203,6 +203,11 @@ gating, canvas-stroke drawing, VR UI drawing, main UI drawing, and redraw reset
|
||||
now live in `pp_app_core`; `App::create`, `App::update`, `App::draw`, and
|
||||
`pano_cli plan-app-frame` consume those plans while retained layout traversal
|
||||
and OpenGL/UI drawing stay in the legacy app.
|
||||
Shutdown lifecycle staging for UI-state save, stroke-preview renderer shutdown,
|
||||
recording stop, texture/shader invalidation, layout unload, render-target
|
||||
destruction, panel-node release, and quick-mode cleanup now lives in
|
||||
`pp_app_core`; `App::terminate` and `pano_cli plan-app-shutdown` consume that
|
||||
plan while retained cleanup execution stays in the legacy app.
|
||||
`panopainter_app` is now a real static target that owns app orchestration
|
||||
sources, app version metadata, and version-header generation.
|
||||
`pp_panopainter_ui` now owns app-specific modal, dialog, panel, canvas,
|
||||
@@ -1291,7 +1296,7 @@ standard x64/arm64, Android Quest arm64, Android Focus/Wave arm64,
|
||||
Emscripten/WebGL, macOS, iOS device, and iOS simulator. `platform-build`
|
||||
automation now builds the current headless component matrix, including
|
||||
`pp_platform_api`, `pp_app_core`, platform API tests, brush-package tests, and
|
||||
the current app-core startup/frame/file/document/brush/canvas/history/grid/toolbar/
|
||||
the current app-core startup/frame/shutdown/file/document/brush/canvas/history/grid/toolbar/
|
||||
tools/about/preferences/status automation tests. The PowerShell wrapper also
|
||||
normalizes comma-separated `-Presets` and `-Targets` values for reliable
|
||||
machine-driven partial matrix checks. `panopainter_platform_build_target_matrix_self_test`
|
||||
@@ -1653,6 +1658,11 @@ Results:
|
||||
- Focused frame CTest coverage passed for `pp_app_core_app_frame_tests`,
|
||||
`pano_cli_plan_app_frame_vr_smoke`, and
|
||||
`pano_cli_plan_app_frame_idle_missing_canvas_smoke`.
|
||||
- `PanoPainter`, `pp_app_core_app_shutdown_tests`, and `pano_cli` built after
|
||||
shutdown cleanup staging moved into `pp_app_core`.
|
||||
- Focused shutdown CTest coverage passed for `pp_app_core_app_shutdown_tests`,
|
||||
`pano_cli_plan_app_shutdown_smoke`, and
|
||||
`pano_cli_plan_app_shutdown_rejects_unknown_option`.
|
||||
- `PanoPainter`, `pp_app_core_brush_package_export_tests`, and `pano_cli` built
|
||||
after PPBR brush package export request validation and dispatch moved behind
|
||||
app-core brush package services.
|
||||
|
||||
Reference in New Issue
Block a user