Add renderer blend state contract

This commit is contained in:
2026-06-02 15:40:43 +02:00
parent 5dbeb0504d
commit 5226746c1a
9 changed files with 326 additions and 60 deletions

View File

@@ -418,9 +418,9 @@ 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,
render-target blit validation, texture-slot binding validation, trace
interface validation, and the canonical PanoPainter shader catalog now consumed
by the legacy OpenGL app initialization path.
render-target blit validation, texture-slot binding validation, blend-state
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
@@ -722,8 +722,8 @@ Results:
PanoPainter shader catalog validation, readback byte-size and command-order
validation, texture-upload byte-count validation, frame-capture byte-size and
command-order validation, render-target blit validation, texture-slot binding
validation, recording texture-bind/upload/readback/frame-capture/blit command
capture, and invalid catalog rejection.
validation, blend-state validation, recording blend/texture-bind/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.
@@ -817,15 +817,16 @@ 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-bind/texture-upload/readback/frame-capture/blit
validation; it records commands, trace markers, texture binds,
uploads/readbacks, frame captures, and render-target blits, giving automation
a backend-neutral render path that does not require a window or GL context.
command-order/blend-state/texture-bind/texture-upload/readback/frame-capture/
blit validation; it records commands, trace markers, blend state, texture
binds, 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-bind/upload/readback/frame-capture/blit command/byte totals for agent
automation, with an expected-failure smoke for oversized render/readback
targets.
blend-state plus texture-bind/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
apply/undo/redo behavior and emits JSON layer/frame/history state for agent
automation.