Route stroke panel view through app core

This commit is contained in:
2026-06-05 01:01:56 +02:00
parent 75fd7faeb0
commit d5403f082c
8 changed files with 556 additions and 80 deletions

View File

@@ -555,6 +555,11 @@ stroke panel's slider, checkbox, blend-mode, tip-aspect reset, and default
brush reset commands. `NodePanelStroke` now dispatches those controls through
`BrushStrokeControlServices` in the shared brush bridge before the legacy
`Canvas::I`/`Brush`/stroke-panel adapter continues.
`pano_cli plan-brush-stroke-panel-view` exposes the app-core stroke-panel view
projection for brush float settings, toggles, blend modes, and thumbnail paths,
and live `NodePanelStroke::update_controls()` now consumes that tested
projection before applying retained slider-curve, preview, and thumbnail UI
updates.
`pano_cli plan-canvas-tool` exposes app-core planning for draw/erase/line,
camera, grid, copy, cut, fill, mask, flood-fill, pick, and touch-lock toolbar
commands. Canvas tool execution now dispatches through `CanvasToolServices`
@@ -1750,6 +1755,10 @@ Results:
`pano_cli_plan_brush_stroke_control_rejects_bad_setting`, and
`pano_cli_plan_brush_stroke_control_rejects_bad_blend` passed and expose live
stroke-panel slider/toggle/blend/reset planning as JSON automation.
- `pano_cli_plan_brush_stroke_panel_view_smoke`,
`pano_cli_plan_brush_stroke_panel_view_rejects_bad_float`, and
`pano_cli_plan_brush_stroke_panel_view_rejects_bad_blend` passed and expose
live stroke-panel state projection as JSON automation.
- `pp_app_core_grid_ui_tests` passed, covering heightmap pick/load/reload/clear
planning, lightmap capability and limit checks, missing-heightmap no-op
behavior, and commit canvas gating.