Route diagnostic hooks through platform services

This commit is contained in:
2026-06-03 05:12:00 +02:00
parent e152616d7f
commit 6652127545
8 changed files with 69 additions and 21 deletions

View File

@@ -473,7 +473,8 @@ 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,
image/file/save-file pickers, and directory pickers.
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
@@ -516,6 +517,9 @@ guards from `App::rec_clear`.
The UI loop now asks `PlatformServices` whether live shader/layout reloading
should run, preserving the previous Windows/macOS reload behavior while removing
the direct `(_WIN32 || __OSX__)` guard from `App::ui_thread_main`.
`App::stacktrace` and `App::crash_test` now dispatch through `PlatformServices`,
with Windows retaining the debug-break crash hook and the legacy adapter
preserving Apple stacktrace/crash and Android crash-test behavior.
`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,
@@ -1032,9 +1036,9 @@ Results:
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, per-frame platform hook
dispatch, picker callback dispatch, and prepared-file save/download callback
dispatch. The live Windows app now
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