Route render context lifecycle through platform services

This commit is contained in:
2026-06-03 04:50:42 +02:00
parent f3925f8423
commit 7a9b14a86f
10 changed files with 134 additions and 49 deletions

View File

@@ -470,8 +470,8 @@ 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, UI-thread
lifecycle hooks, external file display, file sharing, image/file/save-file
pickers, and directory pickers.
lifecycle hooks, render-context acquire/release/present 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
@@ -495,6 +495,11 @@ 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.
The app's render context acquire/release/present path now dispatches through
`PlatformServices` as well. Windows owns WGL acquisition, default framebuffer
rebinding, and swap in `WindowsPlatformServices`; Apple, Android, Linux, and
WebGL behavior is preserved behind the legacy adapter until their platform
shells are injected.
`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,
@@ -1009,9 +1014,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,
UI-thread lifecycle 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, render-context 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