Add document frame render automation

This commit is contained in:
2026-06-05 17:30:44 +02:00
parent d4dad133ea
commit 7c6c5f3e36
9 changed files with 354 additions and 12 deletions

View File

@@ -453,9 +453,10 @@ duplicate selection masks.
`pp_renderer_api` has started with renderer-neutral
texture/readback descriptors and validation tests. `pp_paint_renderer` has
started with deterministic CPU layer compositing over renderer extents using
the paint blend reference, and now exposes a pure `pp_document` face
compositor that expands per-layer dirty face payload rectangles into a full
renderer-sized RGBA buffer for a requested frame/face. `pp_ui_core` has started with XML-layout-facing
the paint blend reference, and now exposes pure `pp_document` face and
six-face frame compositors that expand per-layer dirty face payload rectangles
into full renderer-sized RGBA buffers for a requested document frame.
`pp_ui_core` has started with XML-layout-facing
length parsing, color parsing, tinyxml-backed layout XML parsing, and invalid
input tests.
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,
@@ -481,6 +482,8 @@ bytes using that writer, including PNG-encoded layer/frame face payloads.
`pano_cli simulate-document-export` exercises that pure document export path,
decodes the generated PPI bytes, reimports them, and emits JSON round-trip
metadata.
`pano_cli simulate-document-render` exercises the pure document-to-renderer
frame compositor and emits six-face render summaries for headless automation.
`pano_cli save-document-project` writes the same pure document export to a PPI
file for inspect/load round-trip automation.
`pano_cli create-document` can create simple animation documents with explicit
@@ -1703,7 +1706,8 @@ Results:
no-feedback blends, invalid render-target usage, unsupported backends, and
depth-target rejection.
- `pp_paint_renderer_compositor_tests` passed, including pure
`pp_document` frame/face compositing over per-layer dirty face payloads.
`pp_document` face and six-face frame compositing over per-layer dirty face
payloads.
The suite now covers fixed-function stroke composite planning,
framebuffer-fetch planning, ping-pong texture-copy/blit fallback planning,
dual/pattern blend feedback detection, invalid blend mode rejection,
@@ -1722,6 +1726,9 @@ Results:
- `pano_cli_simulate_document_export_smoke` passed and reports pure
`pp_document` export to PPI bytes, asset-level decode, and document reimport
round-trip state as JSON.
- `pano_cli_simulate_document_render_smoke` passed and reports pure
`pp_document` to `pp_paint_renderer` six-face frame compositing summaries as
JSON.
- `pano_cli_simulate_image_import_smoke` passed and reports embedded PNG decode
plus `pp_document` face-payload attachment state as JSON.
- `pano_cli_inspect_image_rejects_unsupported` passed as an expected failure