Extend app input planning to UI state

This commit is contained in:
2026-06-05 06:44:57 +02:00
parent b825d920d2
commit 32c95b224f
8 changed files with 196 additions and 19 deletions

View File

@@ -843,7 +843,8 @@ Known local toolchain state:
- `pp_app_core_app_input_tests` covers pointer coordinate normalization,
invalid pointer/gesture inputs, designer-first mouse routing, mouse-cancel
routing, gesture midpoint/distance/delta math, main-layout routing, key state
mutation intent, and VR spacebar camera-sync intent.
mutation intent, VR spacebar camera-sync intent, UI visibility toggle target
selection, malformed UI-toggle layout rejection, and stylus touch-lock intent.
- `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,

View File

@@ -100,11 +100,14 @@ agent or engineer to remove them without reconstructing context from chat.
render-target recreation, and OpenGL/UI drawing remain in the legacy app.
- 2026-06-05: DEBT-0003 was narrowed. Pointer coordinate normalization,
mouse designer-first routing, gesture midpoint/delta math, touch/key
main-layout routing, and VR spacebar camera-sync intent are now tested
`pp_app_core` input plans consumed by `App::mouse_*`, `App::gesture_*`,
`App::touch_tap`, `App::key_*`, and `pano_cli plan-app-input`; retained
`MouseEvent`/`GestureEvent`/`TouchEvent`/`KeyEvent` construction and legacy
`Node` event dispatch remain in the app shell.
main-layout routing, VR spacebar camera-sync intent, UI visibility toggling,
and stylus touch-lock attachment are now tested `pp_app_core` input plans
consumed by `App::mouse_*`, `App::gesture_*`, `App::touch_tap`,
`App::key_*`, `App::toggle_ui`, `App::set_stylus`, and
`pano_cli plan-app-input`; retained
`MouseEvent`/`GestureEvent`/`TouchEvent`/`KeyEvent` construction,
UI child-node mutation, and legacy `Node` event dispatch remain in the app
shell.
- 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

View File

@@ -206,10 +206,12 @@ VR UI drawing, main UI drawing, and redraw reset now live in `pp_app_core`;
render-target recreation, and OpenGL/UI drawing stay in the legacy app.
App input dispatch decisions for pointer coordinate normalization, mouse
designer-first routing, gesture midpoint/delta math, touch/key main-layout
routing, and VR spacebar camera-sync intent now live in `pp_app_core`;
`App::mouse_*`, `App::gesture_*`, `App::touch_tap`, `App::key_*`, and
`pano_cli plan-app-input` consume those plans while retained event objects and
legacy `Node` dispatch stay in the app shell.
routing, VR spacebar camera-sync intent, UI visibility toggling, and stylus
touch-lock attachment now live in `pp_app_core`; `App::mouse_*`,
`App::gesture_*`, `App::touch_tap`, `App::key_*`, `App::toggle_ui`,
`App::set_stylus`, and `pano_cli plan-app-input` consume those plans while
retained event objects, child-node mutation, and legacy `Node` dispatch stay
in the app shell.
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
@@ -1678,8 +1680,11 @@ Results:
- Focused app-input CTest coverage passed for `pp_app_core_app_input_tests`,
`pano_cli_plan_app_input_pointer_smoke`,
`pano_cli_plan_app_input_gesture_smoke`,
`pano_cli_plan_app_input_key_vr_smoke`, and
`pano_cli_plan_app_input_rejects_bad_float`.
`pano_cli_plan_app_input_key_vr_smoke`,
`pano_cli_plan_app_input_ui_toggle_smoke`,
`pano_cli_plan_app_input_stylus_smoke`,
`pano_cli_plan_app_input_rejects_bad_float`, and
`pano_cli_plan_app_input_rejects_missing_ui_panel`.
- `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`,