Route UI thread lifecycle through platform services

This commit is contained in:
2026-06-03 04:45:02 +02:00
parent dd641c047b
commit f3925f8423
10 changed files with 79 additions and 15 deletions

View File

@@ -469,8 +469,9 @@ cursor bridges continue.
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, file sharing, image/file/save-file pickers, and directory pickers.
clipboard text, cursor visibility, virtual-keyboard visibility, UI-thread
lifecycle hooks, external file display, file sharing, image/file/save-file
pickers, and directory pickers.
Windows installs an injected `WindowsPlatformServices` implementation from
`src/platform_windows/windows_platform_services.*` in `pp_platform_windows`;
other platforms still route through the debt-tracked legacy fallback adapter
@@ -490,6 +491,10 @@ The UI loop's per-frame platform hooks now dispatch through
`PlatformServices`: Windows stylus timeout polling and FPS-title updates live
in `WindowsPlatformServices`, while Linux FPS-title updates remain in the
legacy adapter pending Phase 6 platform shell extraction.
The UI thread's platform attach/detach hooks now also dispatch through
`PlatformServices`, preserving Android JNI attach/detach behavior in the
legacy adapter while removing direct Android lifecycle calls from the main app
loop.
`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,
@@ -1004,8 +1009,9 @@ Results:
interface for clipboard read/write, empty clipboard writes, cursor
visibility dispatch, virtual-keyboard visibility dispatch, external file
display dispatch, file sharing dispatch, native app/window close dispatch,
per-frame platform hook dispatch, picker callback dispatch, and
prepared-file save/download callback dispatch. The live Windows app now
UI-thread lifecycle dispatch, per-frame platform hook dispatch, picker
callback dispatch, and prepared-file save/download callback dispatch. The
live Windows app now
consumes this interface through an injected
`WindowsPlatformServices` instance isolated in
`src/platform_windows/windows_platform_services.*`; other platforms still