Quiet platform and Apple validation wrappers

This commit is contained in:
2026-06-17 09:36:21 +02:00
parent 01ff014dd9
commit c1163e39e4
7 changed files with 343 additions and 12 deletions

View File

@@ -66,6 +66,7 @@ keeps known warning/noise filters in
```powershell
powershell -ExecutionPolicy Bypass -File scripts\automation\quiet-validate.ps1 -BuildTargets PanoPainter,pano_cli -TestRegex "pp_app_core|pano_cli_plan"
powershell -ExecutionPolicy Bypass -File scripts\automation\quiet-validate.ps1 -BuildTargets pp_app_core_app_dialog_tests,pp_ui_core_overlay_lifetime_tests -TestRegex "pp_(app_core_app_dialog|ui_core_(node_lifetime|overlay_lifetime))"
powershell -ExecutionPolicy Bypass -File scripts\automation\quiet-validate.ps1 -BuildTargets ALL_BUILD -IncludePlatformBuild -IncludeAppleRemote
```
```powershell
@@ -85,6 +86,7 @@ ctest --preset desktop-fast-vcpkg --build-config Debug
cmake --build --preset windows-msvc-default --config Debug --target panopainter_platform_build_vcpkg_ui_core
cmake --preset android-arm64
powershell -ExecutionPolicy Bypass -File scripts\automation\platform-build.ps1 -Presets android-arm64
powershell -ExecutionPolicy Bypass -File scripts\automation\platform-build.ps1 -Quiet -Presets android-arm64
powershell -ExecutionPolicy Bypass -File scripts\automation\android-legacy-package-build.ps1 -Packages standard
powershell -ExecutionPolicy Bypass -File scripts\automation\android-legacy-package-build.ps1 -Packages quest,focus -ConfigureOnly
powershell -ExecutionPolicy Bypass -File scripts\automation\package-smoke.ps1 -Preset windows-msvc-default -Configuration Debug
@@ -104,6 +106,7 @@ python scripts/dev/clangd_nav.py self-test
python scripts/dev/check_platform_build_targets.py
python scripts/dev/check_package_smoke_readiness.py
powershell -ExecutionPolicy Bypass -File scripts\automation\apple-remote-build.ps1 -Presets macos,ios-simulator,ios-device
powershell -ExecutionPolicy Bypass -File scripts\automation\apple-remote-build.ps1 -Quiet -Presets macos,ios-simulator,ios-device
```
Known local toolchain state:

View File

@@ -69,6 +69,16 @@ What is already real:
- `pp_platform_api`
- `pp_app_core`
Latest slice:
- `scripts/automation/platform-build.ps1` now supports a quiet mode that writes
per-preset configure/build logs and emits only a compact JSON summary.
- `scripts/automation/apple-remote-build.ps1` now supports a quiet mode that
writes the SSH session to a local log, preserves the remote platform-build
log path, and emits only a compact JSON summary.
- `scripts/automation/quiet-validate.ps1` can now bundle quiet platform and
Apple remote validation into the same summary artifact through
`-IncludePlatformBuild` and `-IncludeAppleRemote`.
What is still carrying too much live ownership:
- `pp_panopainter_ui`: 34 files, about 9102 lines
@@ -92,6 +102,20 @@ Current hotspot files:
Latest slice:
- The remaining Windows entry/exit singleton write no longer lives at the
`run_main_application(...)` and `handle_window_close_message(...)` callsites;
`src/platform_windows/windows_runtime_shell.cpp` now centralizes that legacy
`App::I` side effect inside `bind_app(...)`, leaving the touched runtime and
lifecycle shell as explicit binder users instead of direct singleton writers.
- The touched `src/platform_windows/windows_platform_services.cpp` fan-out no
longer reaches the broader retained window bundle directly for main-window,
sandbox, and VR/session reads; the touched window/VR queries now route
through narrow runtime-shell accessors instead.
- `src/platform_windows/windows_bootstrap_helpers.cpp` no longer uses
`Canvas::I` for crash-recovery saves; the BugTrap pre-error handler now uses
the app-owned `NodeCanvas` document (`app.canvas->m_canvas`) and the new
runtime-shell window/sandbox accessors instead of direct singleton or
retained-state reads in the touched recovery path.
- The retained Apple document bridge/state pocket no longer lives in
`src/platform_legacy/legacy_platform_state.*`; it now lives in the Apple-owned
`src/platform_apple/apple_platform_state.cpp` plus

View File

@@ -63,6 +63,9 @@ Completed, blocked, and superseded task history moved to
- the Win32 input path now binds the active `WacomTablet*` explicitly
through `windows_runtime_shell`, but that tablet binding still lives at a
composition edge instead of a broader runtime/platform-owned controller
- the touched Win32 app/window/session queries now route through narrow
runtime-shell accessors, but the broader runtime/thread host still owns
composition-edge global state and shutdown sequencing
- thread-affinity rules are enforced by convention and asserts instead of
explicit runtime contracts
- The UI ownership boundary is not finished:
@@ -74,6 +77,17 @@ Completed, blocked, and superseded task history moved to
The live app still mostly runs through the same shell and hotspot files, so
the queue is now ordered by code movement instead.
Current slice:
- `scripts/automation/platform-build.ps1` now supports `-Quiet`, per-preset log
capture, and compact JSON-only output so Android/headless platform sweeps no
longer flood the console during checkpoint validation.
- `scripts/automation/apple-remote-build.ps1` now supports `-Quiet`, local log
capture for the SSH session, remote log path reporting, and JSON-only output
so Apple remote compile gates no longer stream large tails by default.
- `scripts/automation/quiet-validate.ps1` now accepts
`-IncludePlatformBuild` and `-IncludeAppleRemote` so the existing quiet
wrapper can own the full Windows, Android/platform, and Apple summary path.
## Active Bundles
### Priority Order
@@ -1209,6 +1223,20 @@ Why now:
platform-handle state on `App`, which blocks a real `pp_platform_*` shell split.
Current slice:
- The remaining Windows entry/exit singleton write no longer lives at the
`run_main_application(...)` and `handle_window_close_message(...)` callsites;
`src/platform_windows/windows_runtime_shell.cpp` now centralizes that legacy
`App::I` side effect inside `bind_app(...)`, leaving the touched runtime and
lifecycle shell as explicit binder users instead of direct singleton writers.
- The touched `src/platform_windows/windows_platform_services.cpp` fan-out no
longer reaches the broader retained window bundle directly for main-window,
sandbox, and VR/session reads; the touched window/VR queries now route
through narrow runtime-shell accessors instead.
- `src/platform_windows/windows_bootstrap_helpers.cpp` no longer uses
`Canvas::I` for crash-recovery saves; the BugTrap pre-error handler now uses
the app-owned `NodeCanvas` document (`app.canvas->m_canvas`) and the new
runtime-shell window/sandbox accessors instead of direct singleton or
retained-state reads in the touched recovery path.
- The retained Apple document bridge/state pocket no longer lives in
`src/platform_legacy/legacy_platform_state.*`; it now lives in the
Apple-owned `src/platform_apple/apple_platform_state.cpp` and