Add renderer render pass clear contract

This commit is contained in:
2026-06-02 16:23:02 +02:00
parent 8232b0efc8
commit 58f163788b
9 changed files with 191 additions and 41 deletions

View File

@@ -285,18 +285,19 @@ Known local toolchain state:
source code reintroduces raw `GL_*`/`WGL_*` constants outside the allowed
legacy OpenGL implementation files.
- `pp_renderer_api` exposes a headless `RecordingRenderDevice` that validates
backend-owned resource creation, command order, scissor state, depth state,
blend state, texture-slot binding, sampler-state binding, texture-upload byte
counts, shader-uniform writes, readback bounds, frame-capture sources,
destination buffer sizes, and render-target blit regions, records
render/scissor/depth/blend/shader-uniform/texture-bind/sampler-bind/upload/
readback/frame-capture/blit commands, draw mesh inputs, and records trace
markers without a window or GL context.
backend-owned resource creation, command order, render-pass color/depth/
stencil clear intent, scissor state, depth state, blend state, texture-slot
binding, sampler-state binding, texture-upload byte counts,
shader-uniform writes, readback bounds, frame-capture sources, destination
buffer sizes, and render-target blit regions, records
render-pass-clear/scissor/depth/blend/shader-uniform/texture-bind/
sampler-bind/upload/readback/frame-capture/blit commands, draw mesh inputs,
and records trace markers without a window or GL context.
- `pano_cli record-render` exposes the recording renderer through JSON
automation, including scissor/depth/blend/shader-uniform/texture-bind/
sampler-bind/upload/readback/frame-capture/blit command and byte totals,
backend resource creation counts, plus draw vertex/index totals, and is
covered by
automation, including render-pass/depth-clear counts, scissor/depth/blend/
shader-uniform/texture-bind/sampler-bind/upload/readback/frame-capture/blit
command and byte totals, backend resource creation counts, plus draw
vertex/index totals, and is covered by
`pano_cli_record_render_smoke` plus
`pano_cli_record_render_rejects_oversized_target`.
- `pano_cli simulate-document-history` exposes `pp_document::DocumentHistory`

View File

@@ -724,10 +724,11 @@ Results:
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,
shader-uniform write validation, backend-neutral resource factory validation,
recording scissor/depth/blend/shader-uniform/texture/sampler-bind/upload/
readback/frame-capture/blit command capture, draw mesh-input capture, and
invalid catalog rejection.
render-pass color/depth/stencil clear validation, shader-uniform write
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.
- `pp_paint_renderer_compositor_tests` passed.
- `pp_ui_core_color_tests` passed.
- `pp_ui_core_layout_value_tests` passed.
@@ -822,20 +823,21 @@ Results:
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/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, scissor state,
depth state, blend state, shader uniform writes, 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.
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,
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, 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 render/readback targets.
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
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.