Prepare document snapshots before legacy saves

This commit is contained in:
2026-06-05 18:14:50 +02:00
parent f4f6eb903e
commit 9a75782891
9 changed files with 134 additions and 14 deletions

View File

@@ -669,7 +669,11 @@ 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`.
readback. Live Save, Save As, Save Version, and save-before-workflow paths now
prepare and log a payload-completeness report from that snapshot before
delegating to retained `Canvas::project_save`; pure PPI writer replacement,
export adoption, and renderer-owned readback remain under
`DEBT-0010`/`DEBT-0013`/`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
@@ -2203,6 +2207,13 @@ Results:
rejection smoke passed and expose live-canvas-to-`pp_document` projection,
including captured-versus-pending renderer payload-readback counts, as JSON
automation.
- Live Save, Save As, Save Version, and save-before-workflow execution now
prepare a payload-bearing canvas document snapshot and save-readiness report
through `src/legacy_document_session_services.*` before delegating to the
retained `Canvas::project_save` writer, keeping behavior stable while moving
the app path onto the document/canvas boundary.
- `pano_cli plan-canvas-document-snapshot` now emits the same save-readiness
report (`payloadComplete` and `canExportPpi`) used by the live save bridge.
- `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
@@ -2469,6 +2480,11 @@ Results:
- `pano_cli apply-stroke-script` exposes file-driven stroke-script application
to a pure document face payload and writes a PPI artifact for inspect/load
round-trip automation.
- Live document save/session paths consume the payload-bearing canvas snapshot
boundary before retained PPI serialization: existing Save, Save As, Save
Version, and save-before-workflow now log payload completeness and PPI
readiness from `pp_app_core` while legacy `Canvas::project_save` still owns
the actual file write, progress/threading behavior, and compatibility quirks.
- Snapshot creation now rejects invalid embedded RGBA8 face payloads before
document export or history can persist malformed state.
- Package-smoke wrappers validate the Windows CMake app executable/runtime