Route app frame decisions through app core

This commit is contained in:
2026-06-05 06:08:39 +02:00
parent 678bf2dcd6
commit f7979be80f
11 changed files with 287 additions and 12 deletions

View File

@@ -241,6 +241,11 @@ Known local toolchain state:
retained shader loading, asset initialization, layout creation, title updates,
UI render-target creation, recording startup, VR-controller state mutation,
settings writes, and license-warning dialogs remain legacy execution.
- `src/app_core/app_frame.h` owns the current initial surface, update-gating,
and draw-pass decisions consumed by `App::create`, `App::update`,
`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/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
@@ -824,6 +829,9 @@ Known local toolchain state:
planning, optional auto-timelapse/license/VR-controller decisions, negative
and overflow run-counter rejection, stable full startup dispatch ordering,
split persistence/runtime dispatch, and malformed startup-plan rejection.
- `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_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