Add renderer texture binding contract

This commit is contained in:
2026-06-02 15:34:57 +02:00
parent ee3fb36047
commit 5dbeb0504d
9 changed files with 163 additions and 53 deletions

View File

@@ -285,13 +285,13 @@ 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
command order, texture-upload byte counts, readback bounds, frame-capture
sources, destination buffer sizes, and render-target blit regions, records
render/upload/readback/frame-capture/blit commands, and records trace markers
without a window or GL context.
command order, texture-slot binding, texture-upload byte counts, readback
bounds, frame-capture sources, destination buffer sizes, and render-target
blit regions, records render/texture-bind/upload/readback/frame-capture/blit
commands, and records trace markers without a window or GL context.
- `pano_cli record-render` exposes the recording renderer through JSON
automation, including upload/readback/frame-capture/blit command and byte
totals, and is covered by `pano_cli_record_render_smoke` plus
automation, including texture-bind/upload/readback/frame-capture/blit command
and byte 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`
apply/undo/redo state through JSON automation and is covered by

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, 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, 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
@@ -721,9 +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, render-target blit validation, recording
upload/readback/frame-capture/blit command capture, and invalid catalog
rejection.
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.
- `pp_paint_renderer_compositor_tests` passed.
- `pp_ui_core_color_tests` passed.
- `pp_ui_core_layout_value_tests` passed.
@@ -817,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/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.
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.
- `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/blit command/byte totals for agent
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