Add renderer draw descriptor contract

This commit is contained in:
2026-06-02 16:27:28 +02:00
parent 58f163788b
commit 483bbb4a9c
8 changed files with 157 additions and 31 deletions

View File

@@ -725,10 +725,11 @@ Results:
command-order validation, render-target blit validation, texture-slot binding
validation, blend-state validation, scissor-state validation,
render-pass color/depth/stencil clear validation, shader-uniform write
validation, backend-neutral resource factory validation, recording
validation, draw descriptor/range validation, backend-neutral resource
factory validation, recording
render-pass clear/scissor/depth/blend/shader-uniform/texture/sampler-bind/
upload/readback/frame-capture/blit command capture, draw mesh-input capture,
and invalid catalog rejection.
explicit draw-range capture, and invalid catalog rejection.
- `pp_paint_renderer_compositor_tests` passed.
- `pp_ui_core_color_tests` passed.
- `pp_ui_core_layout_value_tests` passed.
@@ -825,18 +826,19 @@ Results:
renderer-owned resource factory and
command-order/render-pass-clear/scissor-state/depth-state/blend-state/
texture-bind/sampler-bind/shader-uniform/texture-upload/readback/
frame-capture/blit validation; it creates validated textures, render targets,
shaders, meshes, and readback buffers, then records commands, trace markers,
render-pass color/depth/stencil clear intent, scissor state, depth state,
blend state, shader uniform writes, texture/sampler binds, draw mesh inputs,
frame-capture/blit validation plus explicit draw descriptor validation; it
creates validated textures, render targets, shaders, meshes, and readback
buffers, then records commands, trace markers, render-pass color/depth/
stencil clear intent, scissor state, depth state, blend state, shader uniform
writes, texture/sampler binds, draw mesh inputs, explicit draw ranges,
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, resource creation counts, target dimensions, backend
name, trace/draw summary, render-pass/depth-clear counts, and draw
vertex/index totals, scissor/depth/blend-state plus shader-uniform/texture/
sampler-bind/upload/readback/frame-capture/blit command/byte totals for
agent automation, with an expected-failure smoke for oversized
descriptor vertex/index totals, scissor/depth/blend-state plus
shader-uniform/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