Route SonarPen tools action through platform services

This commit is contained in:
2026-06-04 17:47:08 +02:00
parent 883be98557
commit c698de1482
11 changed files with 102 additions and 23 deletions

View File

@@ -614,6 +614,10 @@ dispatch through `ToolsMenuServices` in the shared app-shell bridge before the
legacy UI/panel/canvas/platform adapters continue execution. The live animation
panel route now also checks animation panel visibility and applies animation
panel layout state instead of using the grid panel by mistake.
The live SonarPen menu action now asks the active `PlatformServices` instance
for availability and startup, removing the local iOS branch from the Tools menu
and shared Tools executor while preserving the retained iOS bridge in the
legacy platform adapter.
Options-menu preference callbacks now dispatch UI scale, viewport scale, RTL,
VR mode, VR-controller, auto-timelapse, and cursor-mode side effects through
`AppPreferenceServices` in `src/legacy_app_preference_services.*` before
@@ -632,8 +636,8 @@ virtual-keyboard visibility, UI-thread lifecycle hooks, render-context
acquire/release/present hooks, render-target binding hooks, render-capture
frame hooks, render platform hint hooks, render debug callback 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.
policy, diagnostic stacktrace/crash hooks, SonarPen availability/startup,
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
@@ -660,6 +664,10 @@ App-owned curl helpers for download, upload, and license checks now ask
local Android branches from those helpers while preserving Android's existing
TLS-verification bypass in the legacy adapter until a network/platform service
owns cloud transport.
The Tools menu SonarPen entry now asks `PlatformServices` whether SonarPen is
available and dispatches startup through the same service, preserving the
current iOS Objective-C bridge in the legacy adapter while removing iOS branches
from `App::init_menu_tools` and `LegacyToolsMenuServices`.
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
@@ -1720,6 +1728,7 @@ Results:
native UI/window state save dispatch, prepared-file writable target dispatch,
prepared-file export-dialog policy dispatch, work-directory document export
collection policy dispatch, network TLS verification policy dispatch,
SonarPen availability/startup 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