Extract brush UI operation planning

This commit is contained in:
2026-06-03 10:40:12 +02:00
parent 4f0909f30c
commit efd568a416
8 changed files with 511 additions and 52 deletions

View File

@@ -494,6 +494,10 @@ UI layer execution continue.
frame add, duplicate, remove, duration adjustment, timeline moves, timeline
goto/next/previous, and onion-size updates used by the live animation panel
before legacy `Canvas`/`Layer` frame execution continues.
`pano_cli plan-brush-operation` exposes app-core planning for brush color
changes, tip/pattern/dual texture changes, preset brush replacement, and stroke
settings refreshes used by the live brush, quick, color, and floating panel
callbacks before legacy `Brush` mutation and resource loading continue.
`pp_platform_api` now owns a headless `PlatformServices` interface for
startup storage path preparation, clipboard text, cursor visibility,
virtual-keyboard visibility, UI-thread lifecycle hooks, render-context
@@ -1123,6 +1127,15 @@ Results:
`pano_cli_plan_animation_operation_next_wrap_smoke`, and
`pano_cli_plan_animation_operation_rejects_remove_last_frame` passed and
expose live animation-panel planning as JSON automation.
- `pp_app_core_brush_ui_tests` passed, covering brush color channel validation,
invalid color rejection, texture-path validation, preset-brush availability,
preserve-current-color intent, and stroke-settings refresh intent.
- `pano_cli_plan_brush_operation_color_smoke`,
`pano_cli_plan_brush_operation_texture_smoke`,
`pano_cli_plan_brush_operation_preset_smoke`,
`pano_cli_plan_brush_operation_rejects_bad_color`, and
`pano_cli_plan_brush_operation_rejects_empty_texture` passed and expose live
brush/color/preset UI planning as JSON automation.
- `pp_app_core_document_sharing_tests` passed, covering saved-path gating before
platform share execution.
- `pano_cli_plan_share_file_unsaved_smoke` and