Extract animation operation planning

This commit is contained in:
2026-06-03 10:32:06 +02:00
parent fdc1defaba
commit 4f0909f30c
8 changed files with 812 additions and 27 deletions

View File

@@ -490,6 +490,10 @@ the live layer rename dialog before legacy `Canvas` layer mutation and
duplicate, select, reorder, remove, opacity, visibility, alpha-lock, blend-mode,
and highlight actions used by the live layer panel before legacy `Canvas` and
UI layer execution continue.
`pano_cli plan-animation-operation` exposes app-core planning for animation
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.
`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
@@ -1110,6 +1114,15 @@ Results:
`pano_cli_plan_layer_operation_highlight_smoke`, and
`pano_cli_plan_layer_operation_rejects_bad_opacity` passed and expose live
layer-panel operation planning as JSON automation.
- `pp_app_core_document_animation_tests` passed, covering animation frame
add/duplicate/remove planning, selected-frame rejection, last-frame remove
rejection, duration floor/overflow handling, timeline move edge behavior,
goto/next/previous wrapping, and onion-size rejection.
- `pano_cli_plan_animation_operation_add_smoke`,
`pano_cli_plan_animation_operation_duration_floor_smoke`,
`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_document_sharing_tests` passed, covering saved-path gating before
platform share execution.
- `pano_cli_plan_share_file_unsaved_smoke` and