Add foundation tracing and platform build wrapper

This commit is contained in:
2026-05-31 23:51:41 +02:00
parent e0ea4597e6
commit ec5ecbdb54
10 changed files with 376 additions and 13 deletions

View File

@@ -242,9 +242,10 @@ Gate:
Goal: make each component reachable by automated tools and future agents.
Status: in progress. `tests/` exists, `desktop-fast` runs headlessly, and
PowerShell/bash wrappers exist for configure/build/test/analyze. `pano_cli`
exists with a first JSON automation command for validating create-document
inputs; full document/app integration is debt-tracked as DEBT-0006.
PowerShell/bash wrappers exist for configure/build/test/analyze/platform-build.
`pano_cli` exists with a first JSON automation command for validating
create-document inputs; full document/app integration is debt-tracked as
DEBT-0006.
Implementation tasks:
@@ -300,8 +301,9 @@ Goal: split libraries while keeping current app behavior.
Status: started. `pp_foundation` exists with binary stream utilities and
boundary/overread tests. It also owns strict decimal `uint32` parsing used by
`pano_cli`, with rejection tests for empty, signed, mixed, and overflowing
input. Continue extracting legacy-safe utilities before moving assets, paint,
or document behavior.
input. A deterministic `TraceRecorder` now records component/name/thread/frame
and stroke timing spans with invalid-end tests. Continue extracting legacy-safe
utilities before moving assets, paint, or document behavior.
Implementation tasks:
@@ -501,25 +503,26 @@ Last verified on 2026-05-31:
```powershell
cmake --preset windows-msvc-default
cmake --build --preset windows-msvc-default --config Debug --target pp_foundation_binary_stream_tests pp_foundation_parse_tests pano_cli PanoPainter
cmake --build --preset windows-msvc-default --config Debug --target pp_foundation_binary_stream_tests pp_foundation_parse_tests pp_foundation_trace_tests pano_cli PanoPainter
ctest --preset desktop-fast --build-config Debug
powershell -ExecutionPolicy Bypass -File scripts\automation\test.ps1 -Preset desktop-fast -Configuration Debug
powershell -ExecutionPolicy Bypass -File scripts\automation\build.ps1 -Preset windows-msvc-default -Configuration Debug -Target pano_cli
cmake --preset android-arm64
cmake --build --preset android-arm64 --target pp_foundation pano_cli pp_foundation_binary_stream_tests pp_foundation_parse_tests
powershell -ExecutionPolicy Bypass -File scripts\automation\platform-build.ps1 -Presets android-arm64
```
Results:
- `pp_foundation_binary_stream_tests` passed.
- `pp_foundation_parse_tests` passed.
- `pp_foundation_trace_tests` passed.
- `pano_cli_create_document_smoke` passed.
- `PanoPainter.exe` built through CMake at
`out/build/windows-msvc-default/Debug/PanoPainter.exe`.
- PowerShell build/test automation wrappers return JSON summaries and passed
local smoke checks.
- Android arm64 configured with NDK 29.0.14206865 and compiled headless
foundation/tool/test targets.
- Android arm64 configured with NDK 29.0.14206865 through the platform-build
wrapper and compiled headless foundation/tool/test targets.
- Known remaining warnings: legacy project/vendor diagnostics, Visual Studio
vcpkg-manifest warning, `LNK4099` missing libyuv PDBs, and `LNK4098` runtime
library conflict from retained vendor binaries.