Upload document frame faces through renderer API

This commit is contained in:
2026-06-05 17:37:21 +02:00
parent 7c6c5f3e36
commit d0e023556b
9 changed files with 278 additions and 17 deletions

View File

@@ -455,7 +455,10 @@ 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 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.
into full renderer-sized RGBA buffers for a requested document frame. It can
also upload those six composited faces through the renderer-neutral
`IRenderDevice` texture API, with the recording backend validating upload and
explicit-transition command streams.
`pp_ui_core` has started with XML-layout-facing
length parsing, color parsing, tinyxml-backed layout XML parsing, and invalid
input tests.
@@ -483,7 +486,8 @@ bytes using that writer, including PNG-encoded layer/frame face payloads.
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.
frame compositor and renderer texture-upload bridge, emitting six-face render
and upload-command 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
@@ -1707,7 +1711,8 @@ Results:
depth-target rejection.
- `pp_paint_renderer_compositor_tests` passed, including pure
`pp_document` face and six-face frame compositing over per-layer dirty face
payloads.
payloads plus renderer-neutral six-face texture upload through the recording
backend.
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,
@@ -1727,8 +1732,8 @@ Results:
`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.
`pp_document` to `pp_paint_renderer` six-face frame compositing and
renderer texture-upload command 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