Route render target binding through platform services

This commit is contained in:
2026-06-03 05:17:25 +02:00
parent 6652127545
commit 389cd93e68
10 changed files with 78 additions and 18 deletions

View File

@@ -471,10 +471,10 @@ before retained platform clipboard bridges continue.
`pp_platform_api` now owns a headless `PlatformServices` interface for
startup storage path preparation, clipboard text, cursor visibility,
virtual-keyboard visibility, UI-thread lifecycle hooks, render-context
acquire/release/present hooks, render-capture frame hooks, external file
display, file sharing, recording file cleanup, live asset/layout reload policy,
diagnostic stacktrace/crash hooks, image/file/save-file pickers, and directory
pickers.
acquire/release/present hooks, render-target binding hooks, render-capture
frame hooks, external file display, file sharing, recording file cleanup, live
asset/layout reload policy, diagnostic stacktrace/crash hooks,
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
@@ -503,6 +503,9 @@ The app's render context acquire/release/present path now dispatches through
rebinding, and swap in `WindowsPlatformServices`; Apple, Android, Linux, and
WebGL behavior is preserved behind the legacy adapter until their platform
shells are injected.
Render-task default-target binding and visible main-target binding now dispatch
through `PlatformServices`, preserving the existing iOS drawable bind in the
legacy adapter while removing the iOS drawable branch from `App::draw`.
Windows RenderDoc frame capture hooks now also dispatch through
`PlatformServices`, keeping capture integration in the platform service while
leaving non-Windows adapters as no-ops.
@@ -1035,10 +1038,11 @@ Results:
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, render-context
lifecycle dispatch, render-capture frame hook dispatch, recording cleanup
dispatch, live asset/layout reload policy dispatch, diagnostic hook dispatch,
per-frame platform hook dispatch, picker callback dispatch, and prepared-file
save/download callback dispatch. The live Windows app now
lifecycle dispatch, render-target binding dispatch, render-capture frame hook
dispatch, recording cleanup dispatch, live asset/layout reload policy
dispatch, diagnostic hook 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