Centralize legacy brush package export

This commit is contained in:
2026-06-04 14:44:37 +02:00
parent 2bd1b12ade
commit 78185b8fd5
13 changed files with 511 additions and 20 deletions

View File

@@ -778,6 +778,12 @@ executor and `src/legacy_document_export_services.*`, preserving mobile/Web
suggested-name save callbacks, desktop worker-thread timelapse export,
`App::rec_export`, animation `Canvas::export_anim_mp4` dispatch, and existing
success messages while retained execution remains tracked under `DEBT-0044`.
`App::dialog_ppbr_export` now routes picker-selected PPBR brush package exports
through the app-core brush package export executor and
`src/legacy_brush_package_export_services.*`, preserving dialog metadata
collection, legacy `Image` header ownership, desktop worker-thread export,
mobile/Web save completion, `NodePanelBrushPreset::export_ppbr`, and existing
success messages while retained execution remains tracked under `DEBT-0047`.
Implementation tasks:
@@ -1369,6 +1375,14 @@ Results:
- Focused startup CTest coverage passed for `pp_app_core_app_startup_tests`,
`pano_cli_plan_app_startup_smoke`, and
`pano_cli_plan_app_startup_rejects_negative_counter`.
- `PanoPainter`, `pp_app_core_brush_package_export_tests`, and `pano_cli` built
after PPBR brush package export request validation and dispatch moved behind
app-core brush package services.
- Focused PPBR export CTest coverage passed for
`pp_app_core_brush_package_export_tests`,
`pano_cli_plan_brush_package_export_smoke`,
`pano_cli_plan_brush_package_export_rejects_empty_path`, and
`pano_cli_plan_brush_package_export_dest_without_data_smoke`.
- `pp_app_core_document_recording_tests` passed, covering recording start/stop,
clear, platform recorded-file cleanup, frame-count reset, export progress
totals, and oversized progress-total clamping.