Align platform build target matrix

This commit is contained in:
2026-06-05 00:01:17 +02:00
parent c514ac99aa
commit 4ccedaae4c
5 changed files with 72 additions and 15 deletions

View File

@@ -124,13 +124,20 @@ Known local toolchain state:
`pp_paint`, `pp_document`, `pp_renderer_api`, `pp_renderer_gl`,
`pp_paint_renderer`,
`pp_ui_core`, `pano_cli`, and their current headless test binaries,
including foundation binary-stream/event/logging/task queue coverage, PNG metadata and
decode, PPI header/layout/non-finite opacity and blend-mode rejection, settings document, document
snapshot/per-layer-frame/move/duration/face-pixel/PPI export coverage,
snapshot-embedded duplicate/invalid face-payload and selection-mask rejection, paint brush/final-blend/
stroke-alpha-blend/stroke spacing/stroke stress/stroke-script coverage,
renderer shader descriptor and OpenGL capability coverage, UI
color parsing, and layout XML parse coverage.
including foundation binary-stream/event/logging/task queue coverage, image
metadata/decode/encode coverage, PPI header/layout/body coverage, settings
document coverage, brush-package path/header coverage, document
snapshot/frame/layer/history/PPI import-export coverage, paint
brush/final-blend/stroke-alpha-blend/stroke spacing/stroke stress/
stroke-script coverage, renderer shader descriptor and OpenGL capability
coverage, UI color/layout/XML parse coverage, platform service coverage, and
the current `pp_app_core` automation surface for startup, file menus,
document session/open/import/export/animation/canvas/layer/resize/cloud/
sharing/platform-I/O, brush-package import/export, brush UI, canvas tools and
hotkeys, history, grid, quick UI, main toolbar, Tools, About, preferences,
and app status planning. The PowerShell wrapper accepts repeated, array, or
comma-separated `-Presets`/`-Targets` values so scripted callers can narrow
the same matrix without accidentally passing a single combined target.
- Root CMake exposes named `fuzz` and `stress` CTest presets. `fuzz` currently
runs deterministic parser/serializer edge tests for binary streams, image
metadata, PPI, stroke scripts, and layout XML; `stress` currently runs the

View File

@@ -18,6 +18,13 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-04: DEBT-0009 was narrowed. `platform-build.ps1` and
`platform-build.sh` now include the current headless component/test matrix,
including brush-package coverage and the app-core startup/file/document/
brush/canvas/history/grid/toolbar/tools/about/preferences/status automation
tests, so Android root CMake validation no longer silently skips newly
extracted feature slices. Package targets remain open under DEBT-0009 and
DEBT-0011.
- 2026-06-04: DEBT-0036 was narrowed again. Canvas stroke commit,
thumbnail, and object-draw history paths now query saved blend state through
tested `pp_renderer_gl` capability-state dispatch; CanvasLayer equirect

View File

@@ -1254,7 +1254,11 @@ for Windows VS 2026/default, Windows clang-cl ASan, Linux clang, Android
standard x64/arm64, Android Quest arm64, Android Focus/Wave arm64,
Emscripten/WebGL, macOS, iOS device, and iOS simulator. `platform-build`
automation now builds the current headless component matrix, including
`pp_platform_api`, `pp_app_core`, app-core tests, and platform API tests.
`pp_platform_api`, `pp_app_core`, platform API tests, brush-package tests, and
the current app-core startup/file/document/brush/canvas/history/grid/toolbar/
tools/about/preferences/status automation tests. The PowerShell wrapper also
normalizes comma-separated `-Presets` and `-Targets` values for reliable
machine-driven partial matrix checks.
`package-smoke` now emits a structured package readiness matrix for Windows
AppX, Android standard/Quest/Focus APKs, Apple bundles, and WebGL output, with
blocked prerequisites tied to DEBT-0011. App/package entrypoints still need to
@@ -2032,7 +2036,8 @@ Results:
building remains blocked by DEBT-0011 until those targets are migrated to
root CMake.
- Android arm64 configured with NDK 29.0.14206865 through the platform-build
wrapper and compiled headless foundation/tool/test targets.
wrapper and compiled the refreshed headless component/test matrix, including
the current app-core feature-surface automation tests.
- Desktop VR drawing now routes generic OpenGL scissor/depth/blend state,
blend/depth state snapshots and restores, depth clears, active texture units,
and fallback 2D texture unbinds through tested renderer GL backend dispatch;

View File

@@ -19,6 +19,7 @@ param(
"pp_foundation_parse_tests",
"pp_foundation_task_queue_tests",
"pp_foundation_trace_tests",
"pp_assets_brush_package_tests",
"pp_assets_image_format_tests",
"pp_assets_image_metadata_tests",
"pp_assets_image_pixels_tests",
@@ -39,19 +40,56 @@ param(
"pp_ui_core_color_tests",
"pp_ui_core_layout_value_tests",
"pp_ui_core_layout_xml_tests",
"pp_app_core_document_route_tests",
"pp_app_core_document_export_tests",
"pp_app_core_about_menu_tests",
"pp_app_core_app_preferences_tests",
"pp_app_core_app_startup_tests",
"pp_app_core_app_status_tests",
"pp_app_core_brush_package_export_tests",
"pp_app_core_brush_package_import_tests",
"pp_app_core_brush_ui_tests",
"pp_app_core_canvas_hotkey_tests",
"pp_app_core_canvas_tool_ui_tests",
"pp_app_core_document_animation_tests",
"pp_app_core_document_canvas_tests",
"pp_app_core_document_cloud_tests",
"pp_app_core_document_export_tests",
"pp_app_core_document_import_tests",
"pp_app_core_document_layer_tests",
"pp_app_core_document_platform_io_tests",
"pp_app_core_document_recording_tests",
"pp_app_core_app_preferences_tests",
"pp_app_core_app_status_tests",
"pp_app_core_document_resize_tests",
"pp_app_core_document_route_tests",
"pp_app_core_document_sharing_tests",
"pp_app_core_document_session_tests"
"pp_app_core_document_session_tests",
"pp_app_core_file_menu_tests",
"pp_app_core_grid_ui_tests",
"pp_app_core_history_ui_tests",
"pp_app_core_main_toolbar_tests",
"pp_app_core_quick_ui_tests",
"pp_app_core_tools_menu_tests"
)
)
$ErrorActionPreference = "Stop"
function Expand-ArgumentList {
param([string[]]$Values)
$expanded = @()
foreach ($value in $Values) {
foreach ($part in ($value -split ",")) {
$trimmed = $part.Trim()
if ($trimmed.Length -gt 0) {
$expanded += $trimmed
}
}
}
return $expanded
}
$Presets = @(Expand-ArgumentList -Values $Presets)
$Targets = @(Expand-ArgumentList -Values $Targets)
$started = Get-Date
$results = @()
$overallExitCode = 0

View File

@@ -3,7 +3,7 @@ set -u
preset="${1:-android-arm64}"
shift || true
targets="${*:-pp_foundation pp_assets pp_paint pp_document pp_renderer_api pp_renderer_gl pp_paint_renderer pp_ui_core pp_platform_api pp_app_core pano_cli pp_foundation_binary_stream_tests pp_foundation_event_tests pp_foundation_log_tests pp_foundation_parse_tests pp_foundation_task_queue_tests pp_foundation_trace_tests pp_assets_image_format_tests pp_assets_image_metadata_tests pp_assets_image_pixels_tests pp_assets_ppi_header_tests pp_assets_settings_document_tests pp_paint_brush_tests pp_paint_blend_tests pp_paint_stroke_tests pp_paint_stroke_script_tests pp_document_tests pp_document_ppi_import_tests pp_document_ppi_export_tests pp_renderer_api_tests pp_renderer_gl_capabilities_tests pp_renderer_gl_command_plan_tests pp_paint_renderer_compositor_tests pp_platform_api_tests pp_ui_core_color_tests pp_ui_core_layout_value_tests pp_ui_core_layout_xml_tests pp_app_core_document_route_tests pp_app_core_document_export_tests pp_app_core_document_cloud_tests pp_app_core_document_platform_io_tests pp_app_core_document_recording_tests pp_app_core_app_preferences_tests pp_app_core_app_status_tests pp_app_core_document_sharing_tests pp_app_core_document_session_tests}"
targets="${*:-pp_foundation pp_assets pp_paint pp_document pp_renderer_api pp_renderer_gl pp_paint_renderer pp_ui_core pp_platform_api pp_app_core pano_cli pp_foundation_binary_stream_tests pp_foundation_event_tests pp_foundation_log_tests pp_foundation_parse_tests pp_foundation_task_queue_tests pp_foundation_trace_tests pp_assets_brush_package_tests pp_assets_image_format_tests pp_assets_image_metadata_tests pp_assets_image_pixels_tests pp_assets_ppi_header_tests pp_assets_settings_document_tests pp_paint_brush_tests pp_paint_blend_tests pp_paint_stroke_tests pp_paint_stroke_script_tests pp_document_tests pp_document_ppi_import_tests pp_document_ppi_export_tests pp_renderer_api_tests pp_renderer_gl_capabilities_tests pp_renderer_gl_command_plan_tests pp_paint_renderer_compositor_tests pp_platform_api_tests pp_ui_core_color_tests pp_ui_core_layout_value_tests pp_ui_core_layout_xml_tests pp_app_core_about_menu_tests pp_app_core_app_preferences_tests pp_app_core_app_startup_tests pp_app_core_app_status_tests pp_app_core_brush_package_export_tests pp_app_core_brush_package_import_tests pp_app_core_brush_ui_tests pp_app_core_canvas_hotkey_tests pp_app_core_canvas_tool_ui_tests pp_app_core_document_animation_tests pp_app_core_document_canvas_tests pp_app_core_document_cloud_tests pp_app_core_document_export_tests pp_app_core_document_import_tests pp_app_core_document_layer_tests pp_app_core_document_platform_io_tests pp_app_core_document_recording_tests pp_app_core_document_resize_tests pp_app_core_document_route_tests pp_app_core_document_sharing_tests pp_app_core_document_session_tests pp_app_core_file_menu_tests pp_app_core_grid_ui_tests pp_app_core_history_ui_tests pp_app_core_main_toolbar_tests pp_app_core_quick_ui_tests pp_app_core_tools_menu_tests}"
start="$(date +%s)"
cmake --preset "$preset"