Project legacy canvas metadata into documents

This commit is contained in:
2026-06-05 17:54:45 +02:00
parent a9ef2c598c
commit d0412e3bf9
11 changed files with 580 additions and 4 deletions

View File

@@ -662,6 +662,13 @@ clear-current-layer command, including clear color validation, no-canvas
handling, undo recording intent, and dirty-state intent; live toolbar execution
and Layer menu clear now dispatch through the shared app-shell document-canvas
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`.
`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
@@ -2182,11 +2189,18 @@ 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,
and invalid execution color rejection.
invalid execution color rejection, and metadata-only 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.
- `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.
- `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