Attach captured canvas payloads to document snapshots

This commit is contained in:
2026-06-05 18:03:33 +02:00
parent d0412e3bf9
commit f4f6eb903e
10 changed files with 298 additions and 23 deletions

View File

@@ -665,10 +665,11 @@ bridge before the legacy `Canvas::clear` adapter continues.
`pano_cli plan-canvas-document-snapshot` exposes the app-core projection from
live canvas metadata into a pure `pp_document::CanvasDocument`, including
dimensions, active layer/frame, layer visibility/opacity/alpha/blend metadata,
frame durations, and pending renderer payload-readback counts; the retained
`legacy_document_canvas_services` bridge now builds the same metadata-only
snapshot from live `Canvas` state while cube-face pixel payload extraction
remains under `DEBT-0010`/`DEBT-0036`.
frame durations, captured RGBA8 face payloads, and remaining renderer
payload-readback counts; the retained `legacy_document_canvas_services` bridge
now builds the same metadata snapshot from live `Canvas` state and has an
opt-in dirty-face payload snapshot path backed by retained `Layer::snapshot()`
readback while live save/export adoption remains under `DEBT-0010`/`DEBT-0036`.
`pano_cli plan-image-import` exposes app-core planning for File > Import image
route decisions, including wide equirectangular images, legacy vertical cube
strips, regular transform-placement images, and invalid image dimensions; live
@@ -2189,18 +2190,19 @@ Results:
- `pp_app_core_document_canvas_tests` passed, covering clear-current-layer
undo/dirty intent, no-canvas no-op behavior, and invalid clear color
rejection, service dispatch color forwarding, no-op execution preservation,
invalid execution color rejection, and metadata-only canvas-to-`pp_document`
invalid execution color rejection, and canvas-to-`pp_document`
snapshot projection with layer visibility, opacity, alpha-lock, blend mode,
frame duration, active layer/frame, default-name, no-canvas, bad blend, and
bad duration coverage.
frame duration, active layer/frame, captured RGBA8 face payload attachment,
default-name, no-canvas, bad blend, bad payload, and bad duration coverage.
- `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.
- `pano_cli_plan_canvas_document_snapshot_smoke` and
`pano_cli_plan_canvas_document_snapshot_no_canvas` passed and expose the
metadata-only live-canvas-to-`pp_document` projection, including pending
renderer payload-readback counts, as JSON automation.
`pano_cli_plan_canvas_document_snapshot_payload_smoke` plus the no-canvas
rejection smoke passed and expose live-canvas-to-`pp_document` projection,
including captured-versus-pending renderer payload-readback counts, as JSON
automation.
- `pp_app_core_document_import_tests` passed, covering wide equirectangular,
legacy vertical cube strip, regular transform-placement, and invalid-dimension
import route decisions, equirectangular service dispatch, transform import