Add paint stroke script automation

This commit is contained in:
2026-06-01 12:34:15 +02:00
parent dc252b2f24
commit 37854ea8b9
11 changed files with 443 additions and 9 deletions

View File

@@ -317,7 +317,8 @@ document model, with corrupt/truncated/unsupported, extreme-dimension, and
key/value limit tests.
`pp_paint` has started with pure brush parameter validation/stamp evaluation,
CPU reference math for the five current shader blend modes, and deterministic
stroke spacing/interpolation. `pp_document` has
stroke spacing/interpolation plus a pure text stroke-script parser.
`pp_document` has
started with a pure canvas/layer/frame model, layer metadata operations, frame
move/duration queries, and layer/frame/undo-redo history invariant tests.
`pp_renderer_api` has started with renderer-neutral
@@ -329,9 +330,11 @@ input tests.
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON, and
`pano_cli create-document` can create simple animation documents with explicit
frame count/duration, and `pano_cli simulate-stroke` exercises the pure stroke
sampler for scripted-stroke automation. `pano_cli parse-layout` exercises the
XML layout path. Continue expanding document behavior toward legacy Canvas
parity and then port OpenGL classes behind the renderer boundary.
sampler for scripted-stroke automation. `pano_cli simulate-stroke-script`
loads stroke script fixtures, parses them through `pp_paint`, and samples every
stroke. `pano_cli parse-layout` exercises the XML layout path. Continue
expanding document behavior toward legacy Canvas parity and then port OpenGL
classes behind the renderer boundary.
Implementation tasks:
@@ -568,6 +571,7 @@ Results:
- `pp_paint_brush_tests` passed.
- `pp_paint_blend_tests` passed.
- `pp_paint_stroke_tests` passed.
- `pp_paint_stroke_script_tests` passed.
- `pp_document_tests` passed, including frame move, duration, and history
invariants.
- `pp_renderer_api_tests` passed, including shader descriptor validation.
@@ -585,6 +589,8 @@ Results:
- `pano_cli_parse_layout_smoke` passed.
- `pano_cli_simulate_stroke_smoke` passed and reports deterministic stroke
sample counts/distances.
- `pano_cli_simulate_stroke_script_smoke` passed and reports deterministic
aggregate stroke-script counts/distances.
- `panopainter_validate_shaders` passed, validating 25 shader programs and 7
shader includes for stage markers and include graph integrity.
- PowerShell analyze automation returns JSON summaries and includes the shader