Extract layer menu action planning

This commit is contained in:
2026-06-03 12:05:13 +02:00
parent 6dac909869
commit fb844f79fd
7 changed files with 440 additions and 40 deletions

View File

@@ -491,6 +491,9 @@ 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-layer-menu` exposes app-core planning for Layer menu clear,
rename, and merge-down labels/actions before legacy canvas/layer execution
continues.
`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
@@ -1144,12 +1147,19 @@ Results:
- `pp_app_core_document_layer_tests` passed, covering changed layer rename,
unchanged no-op rename, empty-name rejection, overlong-name rejection, layer
add/duplicate/select/reorder/remove planning, metadata planning, bad-index
rejection, bad-opacity rejection, bad-blend-mode rejection, and transient
highlight behavior.
rejection, bad-opacity rejection, bad-blend-mode rejection, transient
highlight behavior, Layer menu labels/actions, merge-down routing, animated
merge blocking, missing selection handling, and bad Layer menu state
rejection.
- `pano_cli_plan_layer_rename_smoke`,
`pano_cli_plan_layer_rename_no_op_smoke`, and
`pano_cli_plan_layer_rename_rejects_empty_name` passed and expose live
layer-rename planning as JSON automation.
- `pano_cli_plan_layer_menu_merge_smoke`,
`pano_cli_plan_layer_menu_merge_animated_blocked_smoke`,
`pano_cli_plan_layer_menu_missing_selection_smoke`, and
`pano_cli_plan_layer_menu_rejects_bad_state` passed and expose live Layer
menu planning as JSON automation.
- `pano_cli_plan_layer_operation_add_smoke`,
`pano_cli_plan_layer_operation_reorder_no_op_smoke`,
`pano_cli_plan_layer_operation_highlight_smoke`, and