Route recording cleanup through platform services

This commit is contained in:
2026-06-03 05:04:14 +02:00
parent 578b1f6082
commit ac4d065c78
10 changed files with 86 additions and 14 deletions

View File

@@ -472,7 +472,8 @@ before retained platform clipboard bridges continue.
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, image/file/save-file pickers, and directory pickers.
display, file sharing, recording file cleanup, 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
@@ -508,6 +509,10 @@ Startup data/work/recording/temp path preparation now dispatches through
`PlatformServices`, with Windows creating the Documents/PanoPainter folder
tree in `WindowsPlatformServices` and Apple/Linux/Web behavior preserved in the
legacy adapter until platform shells are injected.
Recording clear now asks `PlatformServices` whether the platform owns recorded
file deletion and dispatches the cleanup through the service, preserving the
current Apple recorded-frame cleanup while removing Apple-specific file cleanup
guards from `App::rec_clear`.
`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,
@@ -1023,9 +1028,9 @@ 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, per-frame platform
hook dispatch, picker callback dispatch, and prepared-file save/download
callback dispatch. The live Windows app now
lifecycle dispatch, render-capture frame hook dispatch, recording cleanup
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