Add renderer resource factory contract

This commit is contained in:
2026-06-02 16:09:52 +02:00
parent 881b5271a2
commit 23c308db1b
9 changed files with 389 additions and 48 deletions

View File

@@ -723,7 +723,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, blend-state validation, scissor-state validation, recording
validation, blend-state validation, scissor-state validation,
backend-neutral resource factory validation, recording
scissor/depth/blend/texture/sampler-bind/upload/readback/frame-capture/blit
command capture, draw mesh-input capture, and invalid catalog rejection.
- `pp_paint_renderer_compositor_tests` passed.
@@ -819,17 +820,20 @@ Results:
reintroduces raw `GL_*`/`WGL_*` constants outside the allowed legacy OpenGL
implementation files.
- `pp_renderer_api` now includes a headless `RecordingRenderDevice` with strict
renderer-owned resource factory and
command-order/scissor-state/depth-state/blend-state/texture-bind/
sampler-bind/texture-upload/readback/frame-capture/blit validation; it
records commands, trace markers, scissor state, depth state, blend state,
texture/sampler binds, draw mesh inputs, uploads/readbacks, frame captures,
and render-target blits, giving automation a backend-neutral render path that
does not require a window or GL context.
creates validated textures, render targets, shaders, meshes, and readback
buffers, then records commands, trace markers, scissor state, depth state,
blend state, texture/sampler binds, draw mesh inputs, 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
draw vertex/index totals, scissor/depth/blend-state plus texture/sampler-bind/
upload/readback/frame-capture/blit command/byte totals for agent automation,
with an expected-failure smoke for oversized render/readback targets.
JSON command counts, resource creation counts, target dimensions, backend
name, trace/draw summary, and draw vertex/index totals, scissor/depth/
blend-state plus texture/sampler-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.