Add renderer blit command contract

This commit is contained in:
2026-06-02 15:31:01 +02:00
parent 1c40602744
commit ee3fb36047
9 changed files with 338 additions and 16 deletions

View File

@@ -417,9 +417,10 @@ Status: started. `pp_renderer_api` exists as a headless renderer-neutral target
with texture descriptor, byte-size, viewport, mesh, readback bounds, command
context, render device, shader program descriptor, mesh, render target,
readback byte-size helpers, texture-upload/readback command validation,
frame-capture byte-size helpers, frame-capture command validation, trace
interface validation, and the canonical PanoPainter shader catalog now consumed
by the legacy OpenGL app initialization path.
frame-capture byte-size helpers, frame-capture command validation,
render-target blit validation, trace interface validation, and the canonical
PanoPainter shader catalog now consumed by the legacy OpenGL app initialization
path.
`pp_renderer_gl` now exists as the first OpenGL backend library and owns pure
OpenGL capability detection for framebuffer fetch, map-buffer alignment, and
float texture support. It also owns the OpenGL texture upload-type mapping used
@@ -720,8 +721,9 @@ Results:
- `pp_renderer_api_tests` passed, including shader descriptor validation,
PanoPainter shader catalog validation, readback byte-size and command-order
validation, texture-upload byte-count validation, frame-capture byte-size and
command-order validation, recording upload/readback/frame-capture command
capture, and invalid catalog rejection.
command-order validation, render-target blit validation, recording
upload/readback/frame-capture/blit command capture, and invalid catalog
rejection.
- `pp_paint_renderer_compositor_tests` passed.
- `pp_ui_core_color_tests` passed.
- `pp_ui_core_layout_value_tests` passed.
@@ -815,13 +817,13 @@ Results:
reintroduces raw `GL_*`/`WGL_*` constants outside the allowed legacy OpenGL
implementation files.
- `pp_renderer_api` now includes a headless `RecordingRenderDevice` with strict
command-order/texture-upload/readback/frame-capture validation; it records
commands, trace markers, texture uploads/readbacks, and frame captures, giving
automation a backend-neutral render path that does not require a window or GL
context.
command-order/texture-upload/readback/frame-capture/blit validation; it
records commands, trace markers, texture uploads/readbacks, frame captures,
and render-target blits, giving automation a backend-neutral render path that
does not require a window or GL context.
- `pano_cli record-render` exercises that headless recording renderer and emits
JSON command counts, target dimensions, backend name, trace/draw summary, and
texture-upload/readback/frame-capture command/byte totals for agent
texture-upload/readback/frame-capture/blit command/byte totals for agent
automation, with an expected-failure smoke for oversized render/readback
targets.
- `pano_cli simulate-document-history` exercises pure document history