Extract canvas clear command planning

This commit is contained in:
2026-06-03 11:35:20 +02:00
parent c56d301b29
commit 888e94a77c
8 changed files with 251 additions and 2 deletions

View File

@@ -507,6 +507,10 @@ toolbar active-state refresh used by `App::update` before legacy `Canvas` mode
state remains the source of truth. `NodeCanvas` stylus eraser and `E` key
draw/erase mode switching also consume the same app-core command planner before
legacy canvas mode execution continues.
`pano_cli plan-canvas-clear` exposes app-core planning for the main toolbar
clear-current-layer command, including clear color validation, no-canvas
handling, undo recording intent, and dirty-state intent before legacy
`Canvas::clear` execution continues.
`pano_cli plan-grid-operation` exposes app-core planning for grid heightmap
pick/load/reload/clear, lightmap render capability/limit checks, and heightmap
commit used by the live grid panel before legacy image loading, OpenGL texture
@@ -1180,6 +1184,13 @@ Results:
`pano_cli_plan_canvas_tool_state_copy_smoke`, and
`pano_cli_plan_canvas_tool_state_rejects_unknown` passed and expose draw
toolbar active-state refresh as JSON automation.
- `pp_app_core_document_canvas_tests` passed, covering clear-current-layer
undo/dirty intent, no-canvas no-op behavior, and invalid clear color
rejection.
- `pano_cli_plan_canvas_clear_smoke`,
`pano_cli_plan_canvas_clear_no_canvas_smoke`, and
`pano_cli_plan_canvas_clear_rejects_bad_color` passed and expose toolbar
canvas clear planning as JSON automation.
- `pp_app_core_history_ui_tests` passed, covering undo/redo availability,
no-op history commands, clear-history stack/memory state, memory-only clear,
and negative metric rejection.