Route app input dispatch through app core

This commit is contained in:
2026-06-05 06:38:48 +02:00
parent 1df93c23f7
commit b825d920d2
11 changed files with 695 additions and 46 deletions

View File

@@ -204,6 +204,12 @@ VR UI drawing, main UI drawing, and redraw reset now live in `pp_app_core`;
`App::create`, `App::tick`, `App::resize`, `App::update`, `App::draw`, and
`pano_cli plan-app-frame` consume those plans while retained layout traversal,
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.
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
@@ -1667,6 +1673,13 @@ Results:
`pano_cli_plan_app_frame_idle_missing_canvas_smoke`, with resize automation
covered by `pano_cli_plan_app_frame_resize_smoke` and
`pano_cli_plan_app_frame_rejects_bad_resize`.
- `PanoPainter`, `pp_app_core_app_input_tests`, and `pano_cli` built after
app input routing and normalization moved into `pp_app_core`.
- 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`.
- `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`,