Route picker callbacks through platform services

This commit is contained in:
2026-06-03 04:07:09 +02:00
parent 1e0500a3f7
commit 0e77ca6ba8
7 changed files with 217 additions and 124 deletions

View File

@@ -470,10 +470,12 @@ app-core clipboard text decisions used by live clipboard get/set requests
before retained platform clipboard bridges continue.
`pp_platform_api` now owns a headless `PlatformServices` interface for
clipboard text, cursor visibility, virtual-keyboard visibility, external file
display, and file sharing. Live app clipboard/cursor/keyboard/display/share
execution routes through a debt-tracked legacy adapter in `app_events.cpp`, so
behavior is preserved while later platform shell implementations can replace
direct bridge calls.
display, file sharing, image/file/save-file pickers, and directory pickers.
Live app clipboard/cursor/keyboard/display/share/picker execution routes
through a debt-tracked legacy adapter in `app_events.cpp`, so behavior is
preserved while later platform shell implementations can replace direct bridge
calls. The iOS/Web save-with-writer overload remains separate because it writes
a temporary/exported file before handing control to the platform.
`pano_cli plan-cloud-upload` exposes the app-core cloud upload decision used by
the live cloud upload command for missing-canvas, new-document warning, publish
prompt, and dirty-document save-before-upload states before legacy UI, canvas,
@@ -987,9 +989,9 @@ Results:
- `pp_platform_api_tests` passed, covering the SDK-free `PlatformServices`
interface for clipboard read/write, empty clipboard writes, cursor
visibility dispatch, virtual-keyboard visibility dispatch, external file
display dispatch, and file sharing dispatch. The live app now consumes this
interface through the legacy platform adapter for
clipboard/cursor/keyboard/display/share execution.
display dispatch, file sharing dispatch, and picker callback dispatch. The
live app now consumes this interface through the legacy platform adapter for
clipboard/cursor/keyboard/display/share/picker execution.
- `panopainter_validate_shaders` passed, validating 25 shader programs and 7
shader includes for stage markers and include graph integrity.
- `pp_renderer_gl_capabilities_tests` passed on default MSVC, vcpkg-headless,