Extract animation operation planning
This commit is contained in:
@@ -39,6 +39,7 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
| DEBT-0019 | Open | Modernization | MSVC warning C4100 is muted globally through `pp_project_warnings` with `/wd4100` | Legacy callbacks, virtual hooks, serializer methods, and platform/API compatibility functions carry many intentionally unused parameters during the component split; muting this keeps stricter warning builds focused on higher-signal migration issues | `cmake --build --preset windows-msvc-default --config Debug --target PanoPainter`; `ctest --preset desktop-fast --build-config Debug` | Remove `/wd4100`, mark intentionally unused parameters with names/comments or `[[maybe_unused]]`, and make the Windows app and headless tests pass without C4100 warnings |
|
||||
| DEBT-0020 | Open | Modernization | Document resize dialog state and selected-resolution planning now consume pure `pp_app_core` through `NodeDialogResize`, `App::dialog_resize`, and `pano_cli plan-document-resize`, but live resize execution still calls legacy `Canvas::resize` and clears legacy `ActionManager` history directly | Preserve existing layer/frame GPU resize behavior while the document model and canvas execution boundary are extracted incrementally | `pp_app_core_document_resize_tests`; `pano_cli plan-document-resize --current-resolution 2048 --selected-resolution-index 4`; `ctest --preset desktop-fast --build-config Debug` | Document resize execution is owned by a document/app boundary with legacy `Canvas` acting only as an adapter or removed entirely |
|
||||
| DEBT-0021 | Open | Modernization | Layer rename and layer panel operation planning now consume pure `pp_app_core` through `App::dialog_layer_rename`, `App::init_sidebar` layer callbacks, `pano_cli plan-layer-rename`, and `pano_cli plan-layer-operation`, but live execution still mutates legacy `Canvas` layer state, `NodeLayer`/`NodePanelLayer`, and `ActionManager` undo entries directly | Preserve existing UI/canvas behavior while document layer commands and undo history are extracted incrementally | `pp_app_core_document_layer_tests`; `pano_cli plan-layer-rename --old-name Base --new-name Paint`; `pano_cli plan-layer-operation --kind add --layer-count 2 --index 1 --name Paint`; `ctest --preset desktop-fast --build-config Debug` | Layer command execution is owned by the document/app command boundary with legacy `Canvas`/UI nodes acting only as adapters or removed entirely |
|
||||
| DEBT-0022 | Open | Modernization | Animation panel frame command planning now consumes pure `pp_app_core` through `NodePanelAnimation` and `pano_cli plan-animation-operation`, and `pp_legacy_ui_core` temporarily links `pp_app_core`, but live execution still mutates legacy `Canvas`/`Layer` frame state and animation playback state directly | Preserve existing animation panel behavior while timeline/frame commands move toward the document/app command boundary | `pp_app_core_document_animation_tests`; `pano_cli plan-animation-operation --kind add --frame-count 2 --current-frame 0`; `pano_cli plan-animation-operation --kind next --total-duration 5 --current-frame 4`; `ctest --preset desktop-fast --build-config Debug` | Animation frame/timeline execution is owned by the document/app command boundary with legacy `Canvas`/`Layer`/UI nodes acting only as adapters or removed entirely |
|
||||
|
||||
## Closed Debt
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user