Route prepared export policy through platform services

This commit is contained in:
2026-06-04 17:05:49 +02:00
parent cabfa44729
commit 104358bc62
10 changed files with 111 additions and 65 deletions

View File

@@ -546,7 +546,8 @@ Known local toolchain state:
flushing, document browse roots, native UI/window state saving, live
asset/layout reload policy, diagnostic stacktrace/crash hooks,
prepared-file writable target selection, and prepared-file save/download
handoff;
handoff; PPBR and MP4 export dialogs consume the same prepared-file policy
at runtime instead of spelling mobile/Web branches locally;
Windows
live app execution now uses injected
`WindowsPlatformServices` from

View File

@@ -70,7 +70,7 @@ agent or engineer to remove them without reconstructing context from chat.
| DEBT-0050 | Open | Modernization | iOS exported-image photo-library publishing and WebGL persistent-storage flushing now dispatch through `PlatformServices`, but non-Windows execution still lives in `src/platform_legacy/legacy_platform_services.*` and forwards to retained `save_image_library`/`webgl_sync` bridges | Preserve current iOS/Web export and save behavior while the Apple/Web platform shells are extracted incrementally | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug`; platform package smoke once Apple/Web root builds exist | Exported-image publishing and persistent-storage flushing are owned by injected Apple/Web `pp_platform_*` services with no legacy adapter branch |
| DEBT-0051 | Open | Modernization | Document browser search roots now dispatch through `PlatformServices`, but iOS `Inbox` inclusion still lives in `src/platform_legacy/legacy_platform_services.*` | Preserve current iOS document import/browse behavior while Apple platform shells are extracted incrementally | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug`; Apple package smoke once root Apple builds exist | Document browse roots are owned by injected Apple and desktop `pp_platform_*` services with no legacy adapter branch |
| DEBT-0052 | Open | Modernization | Native UI/window state saving now dispatches through `PlatformServices`, but macOS execution still lives in `src/platform_legacy/legacy_platform_services.*` and forwards to the retained Objective-C app bridge | Preserve current Windows/macOS UI persistence while platform shells are extracted incrementally | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug`; Windows app build; Apple package smoke once root Apple builds exist | UI/window state persistence is owned by injected platform services with no legacy adapter branch |
| DEBT-0053 | Open | Modernization | Prepared-file writable target selection now dispatches through `PlatformServices`, but iOS/Web target selection still lives in `src/platform_legacy/legacy_platform_services.*` | Preserve mobile/Web export handoff behavior while platform shells are extracted incrementally | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug`; Windows app build; Apple/Web package smoke once root package builds exist | Prepared-file target selection and save/download handoff are owned by injected platform services with no legacy adapter branch |
| DEBT-0053 | Open | Modernization | Prepared-file writable target selection and prepared-file export-dialog policy now dispatch through `PlatformServices`, but iOS/Web target selection still lives in `src/platform_legacy/legacy_platform_services.*` | Preserve mobile/Web export handoff behavior while platform shells are extracted incrementally | `pp_platform_api_tests`; `ctest --preset desktop-fast --build-config Debug`; Windows app build; Apple/Web package smoke once root package builds exist | Prepared-file target selection, export-dialog policy, and save/download handoff are owned by injected platform services with no legacy adapter branch |
## Closed Debt

View File

@@ -643,6 +643,9 @@ Prepared-file writable target selection now also dispatches through
`PlatformServices`, preserving the existing iOS temporary background-write path
and Web data-path synchronous write path while removing those platform branches
from `App::pick_file_save`.
PPBR and MP4 export dialogs now ask `PlatformServices` whether prepared-file
writes are used, so those dialog flows no longer spell local `__IOS__ ||
__WEB__` branches for mobile/Web export handoff.
Canvas image export publishing and explicit persistent-storage flushes now
dispatch through `PlatformServices` too, preserving iOS photo-library export
publication and WebGL filesystem sync behavior in the legacy adapter while
@@ -1697,7 +1700,7 @@ Results:
recording cleanup dispatch, exported-image publish dispatch, persistent
storage flush dispatch, document browse-root dispatch,
native UI/window state save dispatch, prepared-file writable target dispatch,
live asset/layout reload policy dispatch,
prepared-file export-dialog policy 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