Route onion frame planning through app core

This commit is contained in:
2026-06-05 00:19:12 +02:00
parent 2feeffd6c8
commit 59210c28ea
6 changed files with 132 additions and 16 deletions

View File

@@ -246,9 +246,11 @@ Known local toolchain state:
- `src/legacy_document_animation_services.*` is the current UI-shell bridge for
animation frame commands, timeline/selected-frame execution, playback ticks,
onion-size updates, and play-mode toggles. It keeps those live paths on the
`pp_app_core` contracts while legacy `Canvas`/`Layer` frame state, canvas
mode, animation-panel timeline/playback fields, and the temporary
`NodePanelAnimation` friend adapter remain tracked by `DEBT-0022`.
`pp_app_core` contracts. `NodeCanvas` onion-skin panorama drawing now also
consumes the tested `pp_app_core` onion frame range and alpha falloff helper,
while legacy `Canvas`/`Layer` frame state, canvas mode, animation-panel
timeline/playback fields, and the temporary `NodePanelAnimation` friend
adapter remain tracked by `DEBT-0022`.
- `src/legacy_brush_ui_services.*` is the current UI-shell bridge for brush
color, texture, preset, stroke-refresh, brush texture-list, and stroke-control
execution. `NodePanelBrushPreset` now consumes `pp_app_core` preset-list

View File

@@ -35,6 +35,11 @@ agent or engineer to remove them without reconstructing context from chat.
blocker matrix without requiring an app build first, and
`panopainter_package_smoke_readiness_self_test` guards package-kind parity
across both wrappers. Package target migration remains open.
- 2026-06-05: DEBT-0022 was narrowed. `pp_app_core` now owns tested
onion-skin frame range and alpha falloff planning, and live `NodeCanvas`
panorama drawing consumes that helper instead of open-coding frame clamping
and opacity falloff in the render loop. Legacy canvas/layer/UI execution
remains open under DEBT-0022.
- 2026-06-04: DEBT-0036 was narrowed again. Canvas stroke commit,
thumbnail, and object-draw history paths now query saved blend state through
tested `pp_renderer_gl` capability-state dispatch; CanvasLayer equirect

View File

@@ -527,6 +527,8 @@ before the legacy layer-panel merge adapter continues.
frame add, duplicate, remove, duration adjustment, timeline moves, timeline
goto/next/previous, onion-size updates, frame selection, no-reload playback
stepping, and play-mode toggles used by the live animation panel.
`pp_app_core` also owns onion-skin frame range and alpha falloff planning now
consumed by live `NodeCanvas` panorama drawing.
`pano_cli plan-animation-panel-action` exposes the higher-level animation panel
state/action planner for goto, next, previous, playback-step, and play-toggle
automation without requiring the legacy UI or canvas.
@@ -1694,8 +1696,9 @@ Results:
goto/next/previous wrapping, onion-size rejection, service dispatch ordering,
frame-click selection planning, no-reload playback step planning,
playback toggle start/stop planning, animation panel action planning,
invalid panel timeline state rejection, non-mutating duration no-ops, and
malformed execution payload rejection.
invalid panel timeline state rejection, non-mutating duration no-ops, tested
onion-skin frame range/alpha falloff planning consumed by live `NodeCanvas`
panorama drawing, and malformed execution payload rejection.
- `pano_cli_plan_animation_operation_add_smoke`,
`pano_cli_plan_animation_operation_duration_floor_smoke`,
`pano_cli_plan_animation_operation_next_wrap_smoke`,