diff --git a/docs/modernization/roadmap.md b/docs/modernization/roadmap.md index ff3a68c..3bd31e1 100644 --- a/docs/modernization/roadmap.md +++ b/docs/modernization/roadmap.md @@ -1678,7 +1678,12 @@ also exposes non-default platform validation targets: `panopainter_platform_build_vcpkg_ui_core`, and `panopainter_platform_build_apple_remote`; the platform-build self-test guards those target names and the wrapper matrix now includes -`pp_app_core_app_dialog_tests` with the rest of the CMake test executables. +`pp_app_core_app_dialog_tests` plus the current +`pp_paint_renderer_stroke_execution_tests` and +`pp_renderer_gl_gpu_readback_tests` executables with the rest of the CMake +test targets. The `panopainter_package_smoke_readiness_self_test` now keeps the +package-smoke readiness wrapper aligned with the current package matrix while +the remaining platform shell gaps stay debt-tracked. `package-smoke` now emits a structured package readiness matrix for Windows AppX, Android standard/Quest/Focus APKs, Apple bundles, Linux app output, and WebGL output, with blocked prerequisites tied to DEBT-0011. It also has a diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 9d069e6..37438bf 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -1193,6 +1193,43 @@ Completed Task Log: | --- | --- | ---: | --- | --- | | 2026-06-13 | STR-012 | no score movement | `ctest --preset desktop-fast --build-config Debug -R "pp_paint_renderer_compositor|pp_paint_renderer_stroke_execution" --output-on-failure`; `cmake --build --preset windows-msvc-default --config Debug --target PanoPainter` | `718c9224` | +### PLT-003 - Align Platform Build Matrix With Phase 6 Targets + +Status: Done +Score: +3 platform alignment and package parity +Debt: `DEBT-0009`, `DEBT-0011`, `DEBT-0059` +Scope: `scripts/automation/platform-build.ps1`, `scripts/automation/platform-build.sh`, +`scripts/dev/check_platform_build_targets.py`, `scripts/dev/check_package_smoke_readiness.py`, +`tests/CMakeLists.txt`, `docs/modernization/roadmap.md` + +Goal: + +Keep the phase-6 platform matrix explicit and self-checking by aligning the +platform-build and package-smoke wrapper defaults, their self-tests, and the +roadmap/debt notes with the current supported preset set. The wrappers should +stay the source of truth for named validation commands. + +Done Checks: + +- `panopainter_platform_build_target_matrix_self_test` and + `panopainter_package_smoke_readiness_self_test` cover the current platform + preset/package matrix. +- The roadmap and debt log mention the current platform-build/package-smoke + coverage and remaining platform shell gaps. +- The wrapper defaults stay synchronized with the self-tests. + +Validation: + +```powershell +ctest --preset desktop-fast --build-config Debug -R "panopainter_platform_build_target_matrix_self_test|panopainter_package_smoke_readiness_self_test" --output-on-failure +``` + +Completed Task Log: + +| Date | Task | Score | Validation | Commit | +| --- | --- | ---: | --- | --- | +| 2026-06-13 | PLT-003 | +3 platform alignment and package parity | `ctest --preset desktop-fast --build-config Debug -R "panopainter_platform_build_target_matrix_self_test|panopainter_package_smoke_readiness_self_test" --output-on-failure` | `pending` | + Status: Done Score: +2 renderer boundary and OpenGL parity Debt: `DEBT-0036` diff --git a/scripts/automation/platform-build.ps1 b/scripts/automation/platform-build.ps1 index 7a66c9f..89575a1 100644 --- a/scripts/automation/platform-build.ps1 +++ b/scripts/automation/platform-build.ps1 @@ -36,6 +36,8 @@ param( "pp_renderer_gl_capabilities_tests", "pp_renderer_gl_command_plan_tests", "pp_paint_renderer_compositor_tests", + "pp_paint_renderer_stroke_execution_tests", + "pp_renderer_gl_gpu_readback_tests", "pp_platform_api_tests", "pp_ui_core_color_tests", "pp_ui_core_layout_value_tests", diff --git a/scripts/automation/platform-build.sh b/scripts/automation/platform-build.sh index a645c8e..0b34fa1 100644 --- a/scripts/automation/platform-build.sh +++ b/scripts/automation/platform-build.sh @@ -3,7 +3,7 @@ set -u presets="${1:-android-arm64 android-x64 android-quest-arm64 android-focus-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_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_ui_core_node_lifetime_tests pp_ui_core_overlay_lifetime_tests pp_app_core_about_menu_tests pp_app_core_app_dialog_tests pp_app_core_app_preferences_tests pp_app_core_app_frame_tests pp_app_core_app_thread_tests pp_app_core_app_input_tests pp_app_core_app_shutdown_tests pp_app_core_app_startup_tests pp_app_core_app_status_tests pp_app_core_command_convert_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_canvas_view_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}" +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_paint_renderer_stroke_execution_tests pp_renderer_gl_gpu_readback_tests pp_platform_api_tests pp_ui_core_color_tests pp_ui_core_layout_value_tests pp_ui_core_layout_xml_tests pp_ui_core_node_lifetime_tests pp_ui_core_overlay_lifetime_tests pp_app_core_about_menu_tests pp_app_core_app_dialog_tests pp_app_core_app_preferences_tests pp_app_core_app_frame_tests pp_app_core_app_thread_tests pp_app_core_app_input_tests pp_app_core_app_shutdown_tests pp_app_core_app_startup_tests pp_app_core_app_status_tests pp_app_core_command_convert_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_canvas_view_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)" android_cmake_cmd=""