From 4d28b5019613382089c26ba80d5806b27b861c67 Mon Sep 17 00:00:00 2001 From: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Date: Sun, 4 Oct 2026 19:51:09 -0400 Subject: [PATCH 1/2] docs(examples): stop READMEs saying smoke skips the flag CI runs as the falsifier Since falsifiers started running in CI (#320), 57 example READMEs still said "Smoke does not pass `--x`" for the very flag the catalog runs as that example's falsifier, and bmesh-gear (the anatomy every new example copies) was one of them. The line now names only the flags smoke really skips and states the catalog falsifier with its expected exit, matching the four READMEs that already did. check_smoke_catalog.py now fails when a README's "does not pass" clause names its own row's falsifier flag, so the drift cannot return. Closes #359 Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 --- examples/armature-bend/README.md | 2 +- examples/attribute-domain-shear/README.md | 2 +- examples/bmesh-gear/README.md | 2 +- examples/boolean-exact-volume/README.md | 2 +- examples/car-mirror-symmetry/README.md | 2 +- examples/coincident-vert-weld/README.md | 2 +- examples/collision-hull-proxy/README.md | 2 +- examples/color-attribute-wheel/README.md | 2 +- examples/compositor-glare/README.md | 2 +- .../cross-version-property-delete/README.md | 2 +- examples/curve-bevel-arc/README.md | 2 +- examples/custom-normals-shade/README.md | 2 +- examples/damped-track-aim/README.md | 2 +- examples/degenerate-bevel-weld/README.md | 2 +- examples/depsgraph-export/README.md | 2 +- examples/driver-wave/README.md | 2 +- examples/eval-mesh-datablock-name/README.md | 2 +- examples/export-preset-axis/README.md | 2 +- examples/gltf-export-roundtrip/README.md | 2 +- examples/gltf-skin-roundtrip/README.md | 2 +- examples/gn-instance-grid/README.md | 2 +- examples/gn-modifier-inputs/README.md | 2 +- examples/gn-sdf-remesh/README.md | 2 +- examples/gn-socket-rename/README.md | 2 +- examples/gn-zone-iterate/README.md | 3 +-- examples/gp-lineart-contour/README.md | 2 +- examples/grease-pencil-rosette/README.md | 2 +- examples/image-pixels-testcard/README.md | 2 +- examples/lattice-deform/README.md | 2 +- examples/light-link-studio/README.md | 2 +- examples/lod-decimate-chain/README.md | 2 +- examples/mesh-automasking-settings/README.md | 2 +- examples/mesh-hygiene-audit/README.md | 2 +- examples/ngon-triangulate/README.md | 2 +- examples/parent-inverse-orrery/README.md | 2 +- examples/png-exr-alpha/README.md | 2 +- examples/prop-origin-transform/README.md | 2 +- examples/ray-cast-space/README.md | 2 +- examples/shader-node-group/README.md | 2 +- examples/shape-key-blend/README.md | 2 +- examples/sky-texture-sun-elevation/README.md | 4 ++-- examples/soccer-ball-goldberg/README.md | 2 +- examples/solidify-even-thickness/README.md | 2 +- examples/swatch-grid/README.md | 2 +- examples/temp-override-join/README.md | 2 +- examples/text-version-stamp/README.md | 2 +- examples/triangulate-tangents/README.md | 2 +- examples/turntable/README.md | 2 +- examples/unapplied-scale-gltf/README.md | 2 +- examples/usd-export-evaluation-mode/README.md | 2 +- examples/uv-layer-grid/README.md | 2 +- examples/vertex-weight-limit/README.md | 2 +- examples/vse-cut-list/README.md | 2 +- examples/vse-gamma-cross/README.md | 2 +- examples/vse-linear-modifiers/README.md | 2 +- examples/wave-displace/README.md | 2 +- tests/check_smoke_catalog.py | 19 +++++++++++++++++++ 57 files changed, 76 insertions(+), 58 deletions(-) diff --git a/examples/armature-bend/README.md b/examples/armature-bend/README.md index 189d31fc..ba76e193 100644 --- a/examples/armature-bend/README.md +++ b/examples/armature-bend/README.md @@ -69,5 +69,5 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--zero-curl`. +Smoke does not pass `--output`. Its catalog falsifier is `--zero-curl` (expects exit 8). diff --git a/examples/attribute-domain-shear/README.md b/examples/attribute-domain-shear/README.md index 2cf0c0e9..8bf32753 100644 --- a/examples/attribute-domain-shear/README.md +++ b/examples/attribute-domain-shear/README.md @@ -103,5 +103,5 @@ against it. `10` is the shared framing helper and `11` the shared asset-quality The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-overwrite`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-overwrite` (expects exit 5). diff --git a/examples/bmesh-gear/README.md b/examples/bmesh-gear/README.md index 8ebc1c34..cbab7c48 100644 --- a/examples/bmesh-gear/README.md +++ b/examples/bmesh-gear/README.md @@ -60,4 +60,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-extrude`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-extrude` (expects exit 3). diff --git a/examples/boolean-exact-volume/README.md b/examples/boolean-exact-volume/README.md index 60a00296..6594b62d 100644 --- a/examples/boolean-exact-volume/README.md +++ b/examples/boolean-exact-volume/README.md @@ -83,4 +83,4 @@ renamed in 5.0. Measured identically on 4.5.11, 5.1.2 and 5.2.1: EXACT union 8.9 The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--float-solver`. +Smoke does not pass `--output`. Its catalog falsifier is `--float-solver` (expects exit 3). diff --git a/examples/car-mirror-symmetry/README.md b/examples/car-mirror-symmetry/README.md index 2e30031a..eadcdb47 100644 --- a/examples/car-mirror-symmetry/README.md +++ b/examples/car-mirror-symmetry/README.md @@ -136,4 +136,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-mirror`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-mirror` (expects exit 5). diff --git a/examples/coincident-vert-weld/README.md b/examples/coincident-vert-weld/README.md index c083f059..c417560d 100644 --- a/examples/coincident-vert-weld/README.md +++ b/examples/coincident-vert-weld/README.md @@ -88,4 +88,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--no-duplicate` or `--weld`. +Smoke does not pass `--weld`. Its catalog falsifier is `--no-duplicate` (expects exit 3). diff --git a/examples/collision-hull-proxy/README.md b/examples/collision-hull-proxy/README.md index b8c3fa45..8c2fa67f 100644 --- a/examples/collision-hull-proxy/README.md +++ b/examples/collision-hull-proxy/README.md @@ -91,4 +91,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--shrink-hull`. +Smoke does not pass `--output`. Its catalog falsifier is `--shrink-hull` (expects exit 3). diff --git a/examples/color-attribute-wheel/README.md b/examples/color-attribute-wheel/README.md index 7e6ae029..531ce49c 100644 --- a/examples/color-attribute-wheel/README.md +++ b/examples/color-attribute-wheel/README.md @@ -66,5 +66,5 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--point-domain`. +Smoke does not pass `--output`. Its catalog falsifier is `--point-domain` (expects exit 5). diff --git a/examples/compositor-glare/README.md b/examples/compositor-glare/README.md index 52849ec5..d74f700a 100644 --- a/examples/compositor-glare/README.md +++ b/examples/compositor-glare/README.md @@ -55,4 +55,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--threshold-high`. +Smoke does not pass `--output`. Its catalog falsifier is `--threshold-high` (expects exit 3). diff --git a/examples/cross-version-property-delete/README.md b/examples/cross-version-property-delete/README.md index 1a05453d..c1e376c4 100644 --- a/examples/cross-version-property-delete/README.md +++ b/examples/cross-version-property-delete/README.md @@ -70,4 +70,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output`, `--skip-delete`, or `--unset-instead`. +Smoke does not pass `--output` or `--unset-instead`. Its catalog falsifier is `--skip-delete` (expects exit 7). diff --git a/examples/curve-bevel-arc/README.md b/examples/curve-bevel-arc/README.md index 1f118252..cddccb13 100644 --- a/examples/curve-bevel-arc/README.md +++ b/examples/curve-bevel-arc/README.md @@ -62,4 +62,4 @@ against it. `10` is also the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-caps`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-caps` (expects exit 6). diff --git a/examples/custom-normals-shade/README.md b/examples/custom-normals-shade/README.md index f6a10b7c..6bcba76e 100644 --- a/examples/custom-normals-shade/README.md +++ b/examples/custom-normals-shade/README.md @@ -120,4 +120,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--mismatch-angle`. +Smoke does not pass `--output`. Its catalog falsifier is `--mismatch-angle` (expects exit 5). diff --git a/examples/damped-track-aim/README.md b/examples/damped-track-aim/README.md index 358e7afa..dbe8430a 100644 --- a/examples/damped-track-aim/README.md +++ b/examples/damped-track-aim/README.md @@ -58,4 +58,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--mute`. +Smoke does not pass `--output`. Its catalog falsifier is `--mute` (expects exit 7). diff --git a/examples/degenerate-bevel-weld/README.md b/examples/degenerate-bevel-weld/README.md index 78d02837..b5e0a545 100644 --- a/examples/degenerate-bevel-weld/README.md +++ b/examples/degenerate-bevel-weld/README.md @@ -84,4 +84,4 @@ asset-quality helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--both-safe`. +Smoke does not pass `--output`. Its catalog falsifier is `--both-safe` (expects exit 4). diff --git a/examples/depsgraph-export/README.md b/examples/depsgraph-export/README.md index b1188a57..be7a368a 100644 --- a/examples/depsgraph-export/README.md +++ b/examples/depsgraph-export/README.md @@ -67,7 +67,7 @@ against it. `10` and `11` are the shared framing and asset-quality helpers. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output`, `--obj`, or `--unevaluated`. +Smoke does not pass `--output` or `--obj`. Its catalog falsifier is `--unevaluated` (expects exit 5). The `--output` render path additionally measures framing against the Layer 1 band via `examples/gallery_framing.py` (exit 10) and the asset-quality floors on the shipped diff --git a/examples/driver-wave/README.md b/examples/driver-wave/README.md index f7dd1dce..787ff8fc 100644 --- a/examples/driver-wave/README.md +++ b/examples/driver-wave/README.md @@ -57,5 +57,5 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--flat-expr`. +Smoke does not pass `--output`. Its catalog falsifier is `--flat-expr` (expects exit 3). diff --git a/examples/eval-mesh-datablock-name/README.md b/examples/eval-mesh-datablock-name/README.md index 2c67937b..9e089ca9 100644 --- a/examples/eval-mesh-datablock-name/README.md +++ b/examples/eval-mesh-datablock-name/README.md @@ -113,4 +113,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--assume-distinct-names`. +Smoke passes no extra flags on the happy path. Its catalog falsifier is `--assume-distinct-names` (expects exit 6; 5.2+ only; SKIP on older Blender). diff --git a/examples/export-preset-axis/README.md b/examples/export-preset-axis/README.md index 26dc7213..6f76fded 100644 --- a/examples/export-preset-axis/README.md +++ b/examples/export-preset-axis/README.md @@ -84,4 +84,4 @@ the shared asset-quality helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--same-axis`. +Smoke does not pass `--output`. Its catalog falsifier is `--same-axis` (expects exit 9). diff --git a/examples/gltf-export-roundtrip/README.md b/examples/gltf-export-roundtrip/README.md index 71f1488f..a67e5bec 100644 --- a/examples/gltf-export-roundtrip/README.md +++ b/examples/gltf-export-roundtrip/README.md @@ -121,4 +121,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-yup`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-yup` (expects exit 9). diff --git a/examples/gltf-skin-roundtrip/README.md b/examples/gltf-skin-roundtrip/README.md index a7255acd..1fc1c122 100644 --- a/examples/gltf-skin-roundtrip/README.md +++ b/examples/gltf-skin-roundtrip/README.md @@ -127,5 +127,5 @@ which one fired. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-skins`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-skins` (expects exit 5). diff --git a/examples/gn-instance-grid/README.md b/examples/gn-instance-grid/README.md index b5524f52..69fc0e57 100644 --- a/examples/gn-instance-grid/README.md +++ b/examples/gn-instance-grid/README.md @@ -66,4 +66,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--one-cell`. +Smoke does not pass `--output`. Its catalog falsifier is `--one-cell` (expects exit 4). diff --git a/examples/gn-modifier-inputs/README.md b/examples/gn-modifier-inputs/README.md index c130fda1..324803bf 100644 --- a/examples/gn-modifier-inputs/README.md +++ b/examples/gn-modifier-inputs/README.md @@ -75,7 +75,7 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output`, `--same-height`, or `--api dict`/`rna`. +Smoke does not pass `--output` or `--api dict`/`rna`. Its catalog falsifier is `--same-height` (expects exit 7). ## Falsification diff --git a/examples/gn-sdf-remesh/README.md b/examples/gn-sdf-remesh/README.md index 2b21a2cd..fe821e0f 100644 --- a/examples/gn-sdf-remesh/README.md +++ b/examples/gn-sdf-remesh/README.md @@ -59,4 +59,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-sdf`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-sdf` (expects exit 3). diff --git a/examples/gn-socket-rename/README.md b/examples/gn-socket-rename/README.md index 98ec2197..b0cc86f9 100644 --- a/examples/gn-socket-rename/README.md +++ b/examples/gn-socket-rename/README.md @@ -92,4 +92,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--legacy-ids`. +Smoke does not pass `--output`. Its catalog falsifier is `--legacy-ids` (expects exit 5; 5.2+ only; SKIP on older Blender). diff --git a/examples/gn-zone-iterate/README.md b/examples/gn-zone-iterate/README.md index 86c925dc..308f1d77 100644 --- a/examples/gn-zone-iterate/README.md +++ b/examples/gn-zone-iterate/README.md @@ -69,5 +69,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output`, `--no-offset`, `--unpair-foreach`, or -`--unpair-repeat`. +Smoke does not pass `--output`, `--no-offset`, or `--unpair-foreach`. Its catalog falsifier is `--unpair-repeat` (expects exit 3). diff --git a/examples/gp-lineart-contour/README.md b/examples/gp-lineart-contour/README.md index 0c93ff7a..b80063a4 100644 --- a/examples/gp-lineart-contour/README.md +++ b/examples/gp-lineart-contour/README.md @@ -85,4 +85,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-contour`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-contour` (expects exit 4). diff --git a/examples/grease-pencil-rosette/README.md b/examples/grease-pencil-rosette/README.md index bb2776c1..2cacc788 100644 --- a/examples/grease-pencil-rosette/README.md +++ b/examples/grease-pencil-rosette/README.md @@ -66,4 +66,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--open-strokes`. +Smoke does not pass `--output`. Its catalog falsifier is `--open-strokes` (expects exit 5). diff --git a/examples/image-pixels-testcard/README.md b/examples/image-pixels-testcard/README.md index fe2e7e65..ae721f2c 100644 --- a/examples/image-pixels-testcard/README.md +++ b/examples/image-pixels-testcard/README.md @@ -87,7 +87,7 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--wrong-origin`. +Smoke does not pass `--output`. Its catalog falsifier is `--wrong-origin` (expects exit 4). In the render, `Closest` interpolation keeps the pixel grid honest — the jagged circle edge is the 512 × 288 buffer itself, and the white marker in the diff --git a/examples/lattice-deform/README.md b/examples/lattice-deform/README.md index 572c3c19..14f1b3bd 100644 --- a/examples/lattice-deform/README.md +++ b/examples/lattice-deform/README.md @@ -70,4 +70,4 @@ same on 4.5 LTS, 5.1 and 5.2 LTS. Measured identically on 4.5.11, 5.1.2 and 5.2. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--bspline`. +Smoke does not pass `--output`. Its catalog falsifier is `--bspline` (expects exit 4). diff --git a/examples/light-link-studio/README.md b/examples/light-link-studio/README.md index 113bacbc..88ee8d08 100644 --- a/examples/light-link-studio/README.md +++ b/examples/light-link-studio/README.md @@ -86,4 +86,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--skip-link`. +Smoke does not pass `--output`. Its catalog falsifier is `--skip-link` (expects exit 5). diff --git a/examples/lod-decimate-chain/README.md b/examples/lod-decimate-chain/README.md index 0fde0c58..c5985cd1 100644 --- a/examples/lod-decimate-chain/README.md +++ b/examples/lod-decimate-chain/README.md @@ -89,4 +89,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-decimate`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-decimate` (expects exit 6). diff --git a/examples/mesh-automasking-settings/README.md b/examples/mesh-automasking-settings/README.md index 54257170..4295b5f0 100644 --- a/examples/mesh-automasking-settings/README.md +++ b/examples/mesh-automasking-settings/README.md @@ -154,4 +154,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--assume-brush-attrs`. +Smoke passes no extra flags on the happy path. Its catalog falsifier is `--assume-brush-attrs` (expects exit 5; 5.2+ only; SKIP on older Blender). diff --git a/examples/mesh-hygiene-audit/README.md b/examples/mesh-hygiene-audit/README.md index 2f19efbd..41a91403 100644 --- a/examples/mesh-hygiene-audit/README.md +++ b/examples/mesh-hygiene-audit/README.md @@ -97,4 +97,4 @@ helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--inject`. +Smoke does not pass `--output`. Its catalog falsifier is `--inject ngon` (expects exit 3). diff --git a/examples/ngon-triangulate/README.md b/examples/ngon-triangulate/README.md index 7a309b6f..37520ee4 100644 --- a/examples/ngon-triangulate/README.md +++ b/examples/ngon-triangulate/README.md @@ -110,4 +110,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--no-dissolve` or `--skip-triangulate`. +Smoke does not pass `--skip-triangulate`. Its catalog falsifier is `--no-dissolve` (expects exit 3). diff --git a/examples/parent-inverse-orrery/README.md b/examples/parent-inverse-orrery/README.md index c60b6c44..a3fa9537 100644 --- a/examples/parent-inverse-orrery/README.md +++ b/examples/parent-inverse-orrery/README.md @@ -63,5 +63,5 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--skip-mpi`. +Smoke does not pass `--output`. Its catalog falsifier is `--skip-mpi` (expects exit 6). diff --git a/examples/png-exr-alpha/README.md b/examples/png-exr-alpha/README.md index 9235b16d..2dc83e7f 100644 --- a/examples/png-exr-alpha/README.md +++ b/examples/png-exr-alpha/README.md @@ -97,4 +97,4 @@ against it. `10` is also the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--opaque-alpha`. +Smoke does not pass `--output`. Its catalog falsifier is `--opaque-alpha` (expects exit 5). diff --git a/examples/prop-origin-transform/README.md b/examples/prop-origin-transform/README.md index 9412ad7a..21a2d637 100644 --- a/examples/prop-origin-transform/README.md +++ b/examples/prop-origin-transform/README.md @@ -90,5 +90,5 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--skip-mpi`. +Smoke does not pass `--output`. Its catalog falsifier is `--skip-mpi` (expects exit 8). diff --git a/examples/ray-cast-space/README.md b/examples/ray-cast-space/README.md index b34ad838..a12d7d9d 100644 --- a/examples/ray-cast-space/README.md +++ b/examples/ray-cast-space/README.md @@ -69,4 +69,4 @@ block, a metre from the true point. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--world-to-object`. +Smoke does not pass `--output`. Its catalog falsifier is `--world-to-object` (expects exit 4). diff --git a/examples/shader-node-group/README.md b/examples/shader-node-group/README.md index d5ad4443..9ec324a8 100644 --- a/examples/shader-node-group/README.md +++ b/examples/shader-node-group/README.md @@ -62,4 +62,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--same-tint`. +Smoke does not pass `--output`. Its catalog falsifier is `--same-tint` (expects exit 6). diff --git a/examples/shape-key-blend/README.md b/examples/shape-key-blend/README.md index 8ece2c88..a9b0c78f 100644 --- a/examples/shape-key-blend/README.md +++ b/examples/shape-key-blend/README.md @@ -60,5 +60,5 @@ against it. `10` and `11` are the shared render-path gates' own codes. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--zero-blend`. +Smoke does not pass `--output`. Its catalog falsifier is `--zero-blend` (expects exit 5). diff --git a/examples/sky-texture-sun-elevation/README.md b/examples/sky-texture-sun-elevation/README.md index ac4d92ad..fb0ff678 100644 --- a/examples/sky-texture-sun-elevation/README.md +++ b/examples/sky-texture-sun-elevation/README.md @@ -104,5 +104,5 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--unlink-sky`, so exits 10 and 12 are -render-path only. +Smoke does not pass `--output`, so exits 10 and 12 are render-path only. +Its catalog falsifier is `--unlink-sky` (expects exit 6). diff --git a/examples/soccer-ball-goldberg/README.md b/examples/soccer-ball-goldberg/README.md index 2520a7de..f5cae6df 100644 --- a/examples/soccer-ball-goldberg/README.md +++ b/examples/soccer-ball-goldberg/README.md @@ -134,5 +134,5 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--invert-bind`. +Smoke does not pass `--output`. Its catalog falsifier is `--invert-bind` (expects exit 13). diff --git a/examples/solidify-even-thickness/README.md b/examples/solidify-even-thickness/README.md index 7d6eb3fa..89fa4a99 100644 --- a/examples/solidify-even-thickness/README.md +++ b/examples/solidify-even-thickness/README.md @@ -82,4 +82,4 @@ values were measured identically on 4.5.11, 5.1.2 and 5.2.1. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-even`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-even` (expects exit 4). diff --git a/examples/swatch-grid/README.md b/examples/swatch-grid/README.md index 9f2035ce..2d502e57 100644 --- a/examples/swatch-grid/README.md +++ b/examples/swatch-grid/README.md @@ -87,7 +87,7 @@ runs when `--output` is passed. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--same-base`. +Smoke does not pass `--output`. Its catalog falsifier is `--same-base` (expects exit 3). ## Verified diff --git a/examples/temp-override-join/README.md b/examples/temp-override-join/README.md index d71807ea..173f7dd9 100644 --- a/examples/temp-override-join/README.md +++ b/examples/temp-override-join/README.md @@ -65,5 +65,5 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-override`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-override` (expects exit 3). diff --git a/examples/text-version-stamp/README.md b/examples/text-version-stamp/README.md index 38e1f194..1e0fa827 100644 --- a/examples/text-version-stamp/README.md +++ b/examples/text-version-stamp/README.md @@ -77,4 +77,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--wrong-body`. +Smoke does not pass `--output`. Its catalog falsifier is `--wrong-body` (expects exit 4). diff --git a/examples/triangulate-tangents/README.md b/examples/triangulate-tangents/README.md index f5a0b4ce..760dacee 100644 --- a/examples/triangulate-tangents/README.md +++ b/examples/triangulate-tangents/README.md @@ -104,4 +104,4 @@ helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--zero-uv`. +Smoke does not pass `--output`. Its catalog falsifier is `--zero-uv` (expects exit 4). diff --git a/examples/turntable/README.md b/examples/turntable/README.md index 2c708492..78fbe154 100644 --- a/examples/turntable/README.md +++ b/examples/turntable/README.md @@ -58,4 +58,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--no-keys`. +Smoke does not pass `--output`. Its catalog falsifier is `--no-keys` (expects exit 3). diff --git a/examples/unapplied-scale-gltf/README.md b/examples/unapplied-scale-gltf/README.md index 7195f999..f1557686 100644 --- a/examples/unapplied-scale-gltf/README.md +++ b/examples/unapplied-scale-gltf/README.md @@ -92,4 +92,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--identity` or `--bake`. +Smoke does not pass `--bake`. Its catalog falsifier is `--identity` (expects exit 3). diff --git a/examples/usd-export-evaluation-mode/README.md b/examples/usd-export-evaluation-mode/README.md index 0dfc09ed..ef426bf5 100644 --- a/examples/usd-export-evaluation-mode/README.md +++ b/examples/usd-export-evaluation-mode/README.md @@ -71,4 +71,4 @@ against it. `10` is the shared framing helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output`, `--evaluation-mode`, or `--subdivision`. +Smoke does not pass `--output` or `--evaluation-mode`. Its catalog falsifier is `--subdivision BEST_MATCH` (expects exit 4). diff --git a/examples/uv-layer-grid/README.md b/examples/uv-layer-grid/README.md index b54ec322..6ad6a52c 100644 --- a/examples/uv-layer-grid/README.md +++ b/examples/uv-layer-grid/README.md @@ -99,4 +99,4 @@ missing-render-file check. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--precreate-on-hazard`. +Smoke does not pass `--output`. Its catalog falsifier is `--precreate-on-hazard` (expects exit 3). diff --git a/examples/vertex-weight-limit/README.md b/examples/vertex-weight-limit/README.md index 5b169fe4..29759081 100644 --- a/examples/vertex-weight-limit/README.md +++ b/examples/vertex-weight-limit/README.md @@ -100,5 +100,5 @@ code. `11` is the shared asset-quality helper. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--skip-limit`. +Smoke does not pass `--output`. Its catalog falsifier is `--skip-limit` (expects exit 4). diff --git a/examples/vse-cut-list/README.md b/examples/vse-cut-list/README.md index e79c412e..bade5ebd 100644 --- a/examples/vse-cut-list/README.md +++ b/examples/vse-cut-list/README.md @@ -163,4 +163,4 @@ against it. `10` is also the shared framing helper. The `blender-smoke` workflow runs the check and the pixel witness on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or -manual dispatch). Smoke does not pass `--output` or `--swap-inputs`. +manual dispatch). Smoke does not pass `--output`. Its catalog falsifier is `--swap-inputs` (expects exit 7). diff --git a/examples/vse-gamma-cross/README.md b/examples/vse-gamma-cross/README.md index 0bcb3f80..227f3548 100644 --- a/examples/vse-gamma-cross/README.md +++ b/examples/vse-gamma-cross/README.md @@ -93,4 +93,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--swap-inputs`. +Smoke does not pass `--output`. Its catalog falsifier is `--swap-inputs` (expects exit 4). diff --git a/examples/vse-linear-modifiers/README.md b/examples/vse-linear-modifiers/README.md index d2674677..1d34f622 100644 --- a/examples/vse-linear-modifiers/README.md +++ b/examples/vse-linear-modifiers/README.md @@ -112,4 +112,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--assume-present`. +Smoke passes no extra flags on the happy path. Its catalog falsifier is `--assume-present` (expects exit 4; 5.2+ only; SKIP on older Blender). diff --git a/examples/wave-displace/README.md b/examples/wave-displace/README.md index ff9b651b..88ef55cb 100644 --- a/examples/wave-displace/README.md +++ b/examples/wave-displace/README.md @@ -61,4 +61,4 @@ against it. The `blender-smoke` workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the `needs-5.1` PR label, or manual dispatch). -Smoke does not pass `--output` or `--flat`. +Smoke does not pass `--output`. Its catalog falsifier is `--flat` (expects exit 4). diff --git a/tests/check_smoke_catalog.py b/tests/check_smoke_catalog.py index 47732e4d..7ba7ab76 100644 --- a/tests/check_smoke_catalog.py +++ b/tests/check_smoke_catalog.py @@ -71,6 +71,24 @@ def check_schema(row: dict) -> list[str]: return errors +# "Smoke does not pass `--a` or `--b`." in an example README. CI runs every +# catalog falsifier, so naming one here contradicts the workflow (#359). +NOT_PASSED = re.compile(r"Smoke does\s+not\s+pass\s+(.*?)\.(?:\s|$)", re.S) + + +def check_readme_claims(root: Path, row: dict) -> list[str]: + readme = root / Path(row["script"]).parent / "README.md" + if not readme.is_file(): + return [] + m = NOT_PASSED.search(readme.read_text(encoding="utf-8")) + if not m: + return [] + named = set(re.findall(r"`(--[\w-]+)", m.group(1))) + ran = {a for f in row.get("falsifiers", []) for a in f.get("args", []) if a.startswith("--")} + return [f"{readme.relative_to(root).as_posix()}: says smoke does not pass {flag}, " + f"but it is this row's catalog falsifier" for flag in sorted(named & ran)] + + def check(root: Path) -> list[str]: catalog = json.loads((root / "tests/smoke/catalog.json").read_text(encoding="utf-8")) if not catalog: @@ -80,6 +98,7 @@ def check(root: Path) -> list[str]: errors: list[str] = [] for row in catalog: errors += check_schema(row) + errors += check_readme_claims(root, row) parts = Path(row["script"]).parts if len(parts) >= 2 and parts[0] in ("examples", "showcase"): key = f"{parts[0]}/{parts[1]}" From c37f7cb5caf5d8177227df5cbb00db22399736b6 Mon Sep 17 00:00:00 2001 From: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Date: Sun, 4 Oct 2026 19:52:47 -0400 Subject: [PATCH 2/2] docs(gallery): regenerate for the README falsifier lines Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 --- docs/gallery/armature-bend/index.html | 2 +- docs/gallery/attribute-domain-shear/index.html | 2 +- docs/gallery/bmesh-gear/index.html | 2 +- docs/gallery/boolean-exact-volume/index.html | 2 +- docs/gallery/car-mirror-symmetry/index.html | 2 +- docs/gallery/collision-hull-proxy/index.html | 2 +- docs/gallery/color-attribute-wheel/index.html | 2 +- docs/gallery/compositor-glare/index.html | 2 +- docs/gallery/cross-version-property-delete/index.html | 2 +- docs/gallery/curve-bevel-arc/index.html | 2 +- docs/gallery/custom-normals-shade/index.html | 2 +- docs/gallery/damped-track-aim/index.html | 2 +- docs/gallery/degenerate-bevel-weld/index.html | 2 +- docs/gallery/depsgraph-export/index.html | 2 +- docs/gallery/driver-wave/index.html | 2 +- docs/gallery/export-preset-axis/index.html | 2 +- docs/gallery/gltf-export-roundtrip/index.html | 2 +- docs/gallery/gltf-skin-roundtrip/index.html | 2 +- docs/gallery/gn-instance-grid/index.html | 2 +- docs/gallery/gn-modifier-inputs/index.html | 2 +- docs/gallery/gn-sdf-remesh/index.html | 2 +- docs/gallery/gn-socket-rename/index.html | 2 +- docs/gallery/gn-zone-iterate/index.html | 2 +- docs/gallery/gp-lineart-contour/index.html | 2 +- docs/gallery/grease-pencil-rosette/index.html | 2 +- docs/gallery/image-pixels-testcard/index.html | 2 +- docs/gallery/lattice-deform/index.html | 2 +- docs/gallery/light-link-studio/index.html | 2 +- docs/gallery/lod-decimate-chain/index.html | 2 +- docs/gallery/mesh-hygiene-audit/index.html | 2 +- docs/gallery/parent-inverse-orrery/index.html | 2 +- docs/gallery/png-exr-alpha/index.html | 2 +- docs/gallery/prop-origin-transform/index.html | 2 +- docs/gallery/ray-cast-space/index.html | 2 +- docs/gallery/shader-node-group/index.html | 2 +- docs/gallery/shape-key-blend/index.html | 2 +- docs/gallery/sky-texture-sun-elevation/index.html | 2 +- docs/gallery/soccer-ball-goldberg/index.html | 2 +- docs/gallery/solidify-even-thickness/index.html | 2 +- docs/gallery/swatch-grid/index.html | 2 +- docs/gallery/temp-override-join/index.html | 2 +- docs/gallery/text-version-stamp/index.html | 2 +- docs/gallery/triangulate-tangents/index.html | 2 +- docs/gallery/turntable/index.html | 2 +- docs/gallery/usd-export-evaluation-mode/index.html | 2 +- docs/gallery/uv-layer-grid/index.html | 2 +- docs/gallery/vertex-weight-limit/index.html | 2 +- docs/gallery/vse-cut-list/index.html | 2 +- docs/gallery/vse-gamma-cross/index.html | 2 +- docs/gallery/wave-displace/index.html | 2 +- 50 files changed, 50 insertions(+), 50 deletions(-) diff --git a/docs/gallery/armature-bend/index.html b/docs/gallery/armature-bend/index.html index f05067e7..97557e99 100644 --- a/docs/gallery/armature-bend/index.html +++ b/docs/gallery/armature-bend/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3edit_bones populated in object mode
4Edit-mode bone chain off closed form
5Evaluated vertex count changed
6Evaluated mesh off closed-form LBS
7Root ring moved
8Tip did not deflect (--zero-curl lands here)
9--output produced no file
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --zero-curl.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --zero-curl (expects exit 8).

Source

diff --git a/docs/gallery/attribute-domain-shear/index.html b/docs/gallery/attribute-domain-shear/index.html index cb87afd6..33d08475 100644 --- a/docs/gallery/attribute-domain-shear/index.html +++ b/docs/gallery/attribute-domain-shear/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper and 11 the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3CORNER or POINT attribute size wrong
4CORNER hub corners off wedge color
5POINT hub is not last-write (--no-overwrite lands here)
6Outer ring verts off last-write order
7Measured shear off palette closed form, or ~0
9--output produced no file
10Gallery framing violation
11Asset-quality floor violation (render path only)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-overwrite.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-overwrite (expects exit 5).

Source

diff --git a/docs/gallery/bmesh-gear/index.html b/docs/gallery/bmesh-gear/index.html index 0f2ee929..e5794fd6 100644 --- a/docs/gallery/bmesh-gear/index.html +++ b/docs/gallery/bmesh-gear/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Topology ≠ closed form (--no-extrude lands here)
4Non-manifold edges
6--output produced no file
10--output framing violation (Layer 1 fill / margin gate, gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-extrude.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-extrude (expects exit 3).

Source

diff --git a/docs/gallery/boolean-exact-volume/index.html b/docs/gallery/boolean-exact-volume/index.html index c5dabe2b..bba6210d 100644 --- a/docs/gallery/boolean-exact-volume/index.html +++ b/docs/gallery/boolean-exact-volume/index.html @@ -80,7 +80,7 @@

Version notesBooleanModifier.solver lists 'FAST', 'EXACT', 'MANIFOLD' on 4.5 LTS and 'FLOAT', 'EXACT', 'MANIFOLD' on 5.1 and 5.2 LTS: the floating-point solver was renamed in 5.0. Measured identically on 4.5.11, 5.1.2 and 5.2.1: EXACT union 8.999999 (12 faces), difference 6.999999 (10 faces), intersection 1.000000 (6 faces), all closed 2-manifolds; --float-solver union 7.708379.

Exit codes#

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3A result's volume is off its closed form (--float-solver lands here)
4A result is not a closed 2-manifold (an edge without exactly two faces, or loose geometry)
5A result's volume is within 0.5 m³ of operand A's (the witness would pass vacuously)
6--output produced no file
10--output framing violation (Layer 1 fill / margin gate, gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --float-solver.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --float-solver (expects exit 3).

Source

diff --git a/docs/gallery/car-mirror-symmetry/index.html b/docs/gallery/car-mirror-symmetry/index.html index 9281a40a..659d696f 100644 --- a/docs/gallery/car-mirror-symmetry/index.html +++ b/docs/gallery/car-mirror-symmetry/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Body datablock is not the authored half
4Authored centerline vert count ≠ 28
5Evaluated verts ≠ 2n − c (--no-mirror lands here)
6Evaluated on-plane verts ≠ centerline; also --output produced no file
7Evaluated Euler characteristic ≠ 2
8Non-manifold edges in the evaluated shell
9Evaluated verts lack a mirrored partner
10Mirror partner deviation above tolerance
11Evaluated bbox not symmetric about X
12Mirrored-part origin off the plane
13Mirrored-part datablock is not the authored half (verts, faces, on-plane verts)
14Mirrored-part evaluated counts ≠ 2n − weld / 2f, or on-plane verts ≠ weld
15Mirrored-part partner check failed
16Mirrored-part evaluated mesh stayed on one side
17Gallery framing violation (--output path only; gallery_framing returns 10, remapped)
18Asset-quality floor violation (--output path only; gallery_asset_quality returns 11, remapped)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-mirror.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-mirror (expects exit 5).

Source

diff --git a/docs/gallery/collision-hull-proxy/index.html b/docs/gallery/collision-hull-proxy/index.html index a2b46a85..81921390 100644 --- a/docs/gallery/collision-hull-proxy/index.html +++ b/docs/gallery/collision-hull-proxy/index.html @@ -82,7 +82,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Render vertex escapes its hull (--shrink-hull lands here)
4Hull edge does not border exactly two faces
5Signed volume ≤ 0 (inverted winding)
6Hull vertex off its own face plane
7Euler characteristic ≠ 2
8Piece over the 255-face collision budget
9--output produced no file
10Gallery framing violation (render path)
11Gallery asset-quality violation (render path)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --shrink-hull.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --shrink-hull (expects exit 3).

Source

diff --git a/docs/gallery/color-attribute-wheel/index.html b/docs/gallery/color-attribute-wheel/index.html index ab6a5ab7..af4007ff 100644 --- a/docs/gallery/color-attribute-wheel/index.html +++ b/docs/gallery/color-attribute-wheel/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Topology ≠ closed form
4Color attribute missing
5Domain/type ≠ CORNER/FLOAT_COLOR (--point-domain lands here)
6Attribute sized to verts, not loops
7active_color not set
8Probe loop color off HSV closed form
9--output produced no file
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --point-domain.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --point-domain (expects exit 5).

Source

diff --git a/docs/gallery/compositor-glare/index.html b/docs/gallery/compositor-glare/index.html index eb335152..3b5a5a39 100644 --- a/docs/gallery/compositor-glare/index.html +++ b/docs/gallery/compositor-glare/index.html @@ -77,7 +77,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Compositor tree / Glare / Threshold / link-chain contract (--threshold-high lands here)
4Check render missing, tube dark, no halo, or halo does not fall off
5Halo present with compositing off
6--output produced no file
10Gallery framing violation (render path; checked before the beauty render)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --threshold-high.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --threshold-high (expects exit 3).

Source

diff --git a/docs/gallery/cross-version-property-delete/index.html b/docs/gallery/cross-version-property-delete/index.html index 4b54cd3a..e9cef393 100644 --- a/docs/gallery/cross-version-property-delete/index.html +++ b/docs/gallery/cross-version-property-delete/index.html @@ -76,7 +76,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also an active object existed after the data-API build
3Custom ID property did not land
4property_unset on a custom ID key did not TypeError, or it deleted the key
5del did not report removal
6Keep lamp lost the ID property
7Clear lamp still has the ID property (--skip-delete / --unset-instead land here)
10Gallery framing violation
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --skip-delete, or --unset-instead.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --unset-instead. Its catalog falsifier is --skip-delete (expects exit 7).

Source

diff --git a/docs/gallery/curve-bevel-arc/index.html b/docs/gallery/curve-bevel-arc/index.html index 43927836..7f86977f 100644 --- a/docs/gallery/curve-bevel-arc/index.html +++ b/docs/gallery/curve-bevel-arc/index.html @@ -77,7 +77,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is also the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Spline type is not BEZIER
4Bezier point count ≠ 8
5bevel_depth ≠ 0.15
6use_fill_caps is False (--no-caps lands here)
7Evaluated vert/face count off measured tessellation
8Tube does not rest on the floor
9Tube height ≠ 2 × bevel
10X span off closed form; also gallery framing violation
11--output produced no file; also asset-quality floor violation (gallery_asset_quality)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-caps.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-caps (expects exit 6).

Source

diff --git a/docs/gallery/custom-normals-shade/index.html b/docs/gallery/custom-normals-shade/index.html index 28f69dd4..ef0ba9c7 100644 --- a/docs/gallery/custom-normals-shade/index.html +++ b/docs/gallery/custom-normals-shade/index.html @@ -82,7 +82,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Legacy shading API present, or modern path missing
4Non-manifold edges (dihedral test undefined)
5Sharp set ≠ independent dihedral (--mismatch-angle lands here)
6Evaluated loop normals not welded/split as the sharp set promises
7Custom split normals lost or dequantized in evaluation
8shade_auto_smooth operator behavior drifted from the version split
9--output produced no file
10Render path: Layer 1 framing violation (gallery_framing)
11Render path: asset-quality floor violation (gallery_asset_quality)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --mismatch-angle.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --mismatch-angle (expects exit 5).

Source

diff --git a/docs/gallery/damped-track-aim/index.html b/docs/gallery/damped-track-aim/index.html index 18970566..b8d42161 100644 --- a/docs/gallery/damped-track-aim/index.html +++ b/docs/gallery/damped-track-aim/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Lamp count ≠ 12
4Lamp does not carry exactly one DAMPED_TRACK
5Constraint target is not Orb
6track_axis is not TRACK_Z
7Constraint muted or influence < 1 (--mute lands here)
8TRACK_TO still present
9Evaluated aim dot below 0.998
10Framing gate violation on the --output path (gallery_framing)
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --mute.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --mute (expects exit 7).

Source

diff --git a/docs/gallery/degenerate-bevel-weld/index.html b/docs/gallery/degenerate-bevel-weld/index.html index 7f810e0e..ea410db5 100644 --- a/docs/gallery/degenerate-bevel-weld/index.html +++ b/docs/gallery/degenerate-bevel-weld/index.html @@ -76,7 +76,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper, 11 the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Safe bevel produced zero-area faces
4Degenerate bevel zero-area count ≠ closed form (--both-safe lands here)
5min_area collapse under 1e5×
6Coincident-position count off the closed form
7Safe GLB carries degenerate triangles
8Degenerate GLB triangle or position count drifted
9--output produced no file
10Gallery framing violation
11Asset-quality floor violation (render path only)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --both-safe.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --both-safe (expects exit 4).

Source

diff --git a/docs/gallery/depsgraph-export/index.html b/docs/gallery/depsgraph-export/index.html index f7746471..93fa2b7c 100644 --- a/docs/gallery/depsgraph-export/index.html +++ b/docs/gallery/depsgraph-export/index.html @@ -84,7 +84,7 @@

Exit codes
CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Evaluated shell did not apply the modifier (evaluated count not above the cage)
4No OBJ written
5Export vert count ≠ evaluated (--unevaluated lands here)
6--output produced no file
7Evaluated shell count ≠ Catmull-Clark closed form
10Gallery framing violation
11Asset-quality floor violation (render path only)

--obj is a path selector, not a falsifier.

-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --obj, or --unevaluated.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --obj. Its catalog falsifier is --unevaluated (expects exit 5).

The --output render path additionally measures framing against the Layer 1 band via examples/gallery_framing.py (exit 10) and the asset-quality floors on the shipped controller via examples/gallery_asset_quality.py (exit 11) before writing the still.

diff --git a/docs/gallery/driver-wave/index.html b/docs/gallery/driver-wave/index.html index eceb3213..3934d88d 100644 --- a/docs/gallery/driver-wave/index.html +++ b/docs/gallery/driver-wave/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Evaluated Z scale ≠ wave_scale (--flat-expr lands here)
4Original datablock was not flushed
6--output produced no file
10Gallery framing violation
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --flat-expr.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --flat-expr (expects exit 3).

Source

diff --git a/docs/gallery/export-preset-axis/index.html b/docs/gallery/export-preset-axis/index.html index 405b532c..1a6bb6b6 100644 --- a/docs/gallery/export-preset-axis/index.html +++ b/docs/gallery/export-preset-axis/index.html @@ -80,7 +80,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper and 11 on the render path is the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also exporter RNA missing expected glTF kwargs
3Source mast is not Z-dominant, or tip drifted
4glTF reimport produced no mesh
5Unity disk POSITION is not (x, z, -y), or Unity node has rotation
6Godot disk POSITION is not raw Z-up; also --output produced no file
7Unity reimport is not standing
8Godot reimport is not lying along Y, or reimported tip mismatch
9Reimported orientations did not differ (--same-axis lands here)
10Gallery framing violation
11--same-axis did not collapse the axis difference; also asset-quality floor violation (render path)
12Render path: no axis-aligned rotation maps the source onto a re-import, so the gizmo frame could not be measured
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --same-axis.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --same-axis (expects exit 9).

Source

diff --git a/docs/gallery/gltf-export-roundtrip/index.html b/docs/gallery/gltf-export-roundtrip/index.html index 2747a5e9..c7851e8f 100644 --- a/docs/gallery/gltf-export-roundtrip/index.html +++ b/docs/gallery/gltf-export-roundtrip/index.html @@ -83,7 +83,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Exporter/importer RNA kwargs drifted
4Base cage drifted from its closed form
5Authored UVs drifted from the box-map closed form
6Bevel produced no evaluated geometry
7On-disk node/mesh/generator contract drifted
8On-disk primitive/material binding count drifted
9On-disk POSITION bounds ≠ axis-converted bbox (--no-yup lands here)
10On-disk POSITION count ≠ evaluated loop count
11On-disk UV V-flip failed
12Re-import did not produce exactly one mesh
13Re-imported object carries a transform
14Material names drifted on re-import
15Re-import vert count ≠ evaluated loop count
16Round-trip position drift
17Round-trip normal drift
18Round-trip UV drift
19Re-import triangle count drifted
20Per-triangle material bindings drifted
21--output produced no file
22Gallery framing violation (render path only; the helper's 10, remapped)
23Gallery asset-quality violation (render path only; the helper's 11, remapped)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-yup.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-yup (expects exit 9).

Source

diff --git a/docs/gallery/gltf-skin-roundtrip/index.html b/docs/gallery/gltf-skin-roundtrip/index.html index ab1946b8..bbb45301 100644 --- a/docs/gallery/gltf-skin-roundtrip/index.html +++ b/docs/gallery/gltf-skin-roundtrip/index.html @@ -84,7 +84,7 @@

Exit codes
CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Exporter RNA missing expected kwargs
4Vertex group count ≠ bone count
5Disk skins ≠ 1 (--no-skins lands here)
6Skin joints ≠ bone names
7Missing JOINTS_0/WEIGHTS_0, or accessor length mismatch
8Disk weight sums off 1.0
9Disk verts exceed evaluated loops
10Armature count after import ≠ 1
11Bone count drifted
12Named bone lost
13Bone parent drifted
14Rest matrices drifted
15Skinned mesh count after import ≠ 1
16Re-import vert count ≠ disk
17Vertex group names drifted
18Weight round-trip drifted
19Deformation round-trip drifted
20--output produced no file

On the --output path only, which runs after every check has passed, 10 also means a gallery_framing violation and 11 a gallery_asset_quality floor violation. The shared helpers own those codes, and the log line says which one fired.

-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-skins.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-skins (expects exit 5).

Source

diff --git a/docs/gallery/gn-instance-grid/index.html b/docs/gallery/gn-instance-grid/index.html index 389967dc..8a8ad4ea 100644 --- a/docs/gallery/gn-instance-grid/index.html +++ b/docs/gallery/gn-instance-grid/index.html @@ -77,7 +77,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Carrier vertex count ≠ 1
4Evaluated topology ≠ 1089 verts / 1089 faces (--one-cell lands here)
5Corner grid cell does not hold exactly one keycap (121 verts)
6Set Material did not carry Keycap.PBT and Keycap.Accent
7Corner keycap off its closed-form grid point or lift
8--output produced no file
9Accent selection did not cover exactly one keycap at the front-right point
10Render path: Layer 1 framing violation (gallery_framing)
11Render path: asset-quality floor violation (gallery_asset_quality)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --one-cell.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --one-cell (expects exit 4).

Source

diff --git a/docs/gallery/gn-modifier-inputs/index.html b/docs/gallery/gn-modifier-inputs/index.html index d0a7b08b..36a4ea67 100644 --- a/docs/gallery/gn-modifier-inputs/index.html +++ b/docs/gallery/gn-modifier-inputs/index.html @@ -84,7 +84,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Height input identifier missing on the tree interface
4Modifiers do not share one node_group
5Version-path write raised (--api dict on 5.2, --api rna on 4.5)
6Version-path read raised
7Readback ≠ intended height (--same-height lands here)
8Evaluated Z-extent ≠ intended height
9Evaluated mesh not sitting on z=0
10Gallery framing violation
11Evaluated extents not distinct
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --same-height, or --api dict/rna.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --api dict/rna. Its catalog falsifier is --same-height (expects exit 7).

Falsification#

ProbeBinaryResult
--api dict5.2.1 LTSexit 5, TypeError: id properties not supported for this type
--api rna4.5.11 LTSexit 5, AttributeError: 'NodesModifier' object has no attribute 'properties'
--api dict5.1.2exit 0 (5.1 still takes the dict form)
--api rna5.1.2exit 5, AttributeError: 'NodesModifier' object has no attribute 'properties'
--same-height5.2.1, 5.1.2, 4.5.11exit 7, readback 1.0 != written 2.0 on SpiralStair.H2
RAIL_H = -0.5 (treads climb past the post)5.2.1, 4.5.11exit 8, evaluated Z-extent 1.934334 != height 1.0
--api auto5.2.1, 5.1.2, 4.5.11exit 0, extents 1.000 / 2.000 / 3.000
diff --git a/docs/gallery/gn-sdf-remesh/index.html b/docs/gallery/gn-sdf-remesh/index.html index 2e734fb9..0d699502 100644 --- a/docs/gallery/gn-sdf-remesh/index.html +++ b/docs/gallery/gn-sdf-remesh/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3SDF remesh produced no/unchanged geometry (--no-sdf lands here)
4--output produced no file
5Wrong-era EEVEE engine id was accepted
6Input material dropped by remesh
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-sdf.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-sdf (expects exit 3).

Source

diff --git a/docs/gallery/gn-socket-rename/index.html b/docs/gallery/gn-socket-rename/index.html index 06bd9b3e..67659e55 100644 --- a/docs/gallery/gn-socket-rename/index.html +++ b/docs/gallery/gn-socket-rename/index.html @@ -80,7 +80,7 @@

RenderExit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
4Identifier inventory wrong for this Blender version
5Pre-5.2 identifier missing (--legacy-ids on 5.2)
6Enabled-name socket lookup failed
7Evaluated vert count off (Compare did not switch the column in)
8Evaluated zmax off closed form
9POINT gauge_h not 1.80 on eight column verts
10Gallery framing violation
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --legacy-ids.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --legacy-ids (expects exit 5; 5.2+ only; SKIP on older Blender).

Source

diff --git a/docs/gallery/gn-zone-iterate/index.html b/docs/gallery/gn-zone-iterate/index.html index 7a7f64c8..530d52ff 100644 --- a/docs/gallery/gn-zone-iterate/index.html +++ b/docs/gallery/gn-zone-iterate/index.html @@ -77,7 +77,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also carrier mesh was rewritten
3Repeat evaluated vert/face count off closed form
4Repeat X-centers off closed form
5For Each evaluated vert/face count off closed form
6For Each Z-centers off closed form
10Gallery framing violation
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --no-offset, --unpair-foreach, or --unpair-repeat.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --no-offset, or --unpair-foreach. Its catalog falsifier is --unpair-repeat (expects exit 3).

Source

diff --git a/docs/gallery/gp-lineart-contour/index.html b/docs/gallery/gp-lineart-contour/index.html index e2a8dc91..15562798 100644 --- a/docs/gallery/gp-lineart-contour/index.html +++ b/docs/gallery/gp-lineart-contour/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also GPv3 collection address contract
3LINEART thickness / radius trap for this Blender
4LINEART type, source, or use_contour (--no-contour lands here)
5Evaluated drawing below the stroke/point gates
6Cleared source_object still produced strokes
7Every edge type off still produced strokes, or the rebuild did not recover the same counts
8--output produced no file
10Gallery framing violation
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-contour.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-contour (expects exit 4).

Source

diff --git a/docs/gallery/grease-pencil-rosette/index.html b/docs/gallery/grease-pencil-rosette/index.html index a7d6de20..c86ee51b 100644 --- a/docs/gallery/grease-pencil-rosette/index.html +++ b/docs/gallery/grease-pencil-rosette/index.html @@ -80,7 +80,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3GPv3 address / legacy trap for this Blender
4Object type, layer count, or frame number
5Stroke topology or cyclic (--open-strokes lands here)
6Lazy attribute layers missing or wrong domain/type
7Position buffer length or closed-form round-trip
8Grease Pencil material missing gpencil settings
9--output produced no file
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --open-strokes.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --open-strokes (expects exit 5).

Source

diff --git a/docs/gallery/image-pixels-testcard/index.html b/docs/gallery/image-pixels-testcard/index.html index bd497bcc..8b6f2871 100644 --- a/docs/gallery/image-pixels-testcard/index.html +++ b/docs/gallery/image-pixels-testcard/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Pixel buffer is not always RGBA
4Byte round-trip vs closed-form card (--wrong-origin lands here)
5Float-buffer round-trip failed
6scale() did not reallocate, or stale-size read succeeded
7save() source/buffer-drop contract drifted
8save_render() flipped source or disturbed the buffer
9Byte PNG save/reload error
10Framing gate violation on the --output path (gallery_framing)
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --wrong-origin.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --wrong-origin (expects exit 4).

In the render, Closest interpolation keeps the pixel grid honest — the jagged circle edge is the 512 × 288 buffer itself, and the white marker in the PLUGE row sits at the bottom-left because that is where pixel (0, 0) lives. The monitor is staged as a broadcast reference display — slim beveled bezel over a stepped rear housing, a matte sun hood framing the picture, input keys and a teal power LED on the bottom bezel, a machined stand — on a walnut desk with drawer pedestals, on the dark studio stage from docs/VISUAL-STYLE.md (Standard view transform; warm key, cool fill and rim; a warm pool raking the back wall). The screen stays emissive and matte — specular off, emission strength 1.0 — so the card's values read exactly. The render path gates framing through examples/gallery_framing.py (exit 10) before writing; the desk is passed as stage, like the floor, because its crop at the frame bottom is the composition.

diff --git a/docs/gallery/lattice-deform/index.html b/docs/gallery/lattice-deform/index.html index 6f1cacaa..30cd5371 100644 --- a/docs/gallery/lattice-deform/index.html +++ b/docs/gallery/lattice-deform/index.html @@ -78,7 +78,7 @@

Version notesThe Lattice datablock API (points_u/v/w, interpolation_type_u/v/w, points[i].co / co_deform, point order u fastest, then v, then w) and the 'LATTICE' modifier are the same on 4.5 LTS, 5.1 and 5.2 LTS. Measured identically on 4.5.11, 5.1.2 and 5.2.1: 602 vertices, trilinear max error 5.6e-7, max displacement 0.5311; --bspline max error 0.2145.

Exit codes#

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Undeformed lattice moved the mesh (identity check)
4A vertex is off the trilinear closed form, or the vertex count changed (--bspline lands here)
5Max displacement below the floor (the witness would pass vacuously)
6--output produced no file
10--output framing violation (Layer 1 fill / margin gate, gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --bspline.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --bspline (expects exit 4).

Source

diff --git a/docs/gallery/light-link-studio/index.html b/docs/gallery/light-link-studio/index.html index 0b2f3c9b..54fbadac 100644 --- a/docs/gallery/light-link-studio/index.html +++ b/docs/gallery/light-link-studio/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Light datablock gained light_linking
4Light objects lost light_linking
5receiver_collection assignment did not read back (--skip-link lands here)
6Linked state: hero dark or hero/decoy ratio below gate
7Decoy rise below gate when unlinked
8Hero drifted across the unlink
9--output produced no file
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --skip-link.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --skip-link (expects exit 5).

Source

diff --git a/docs/gallery/lod-decimate-chain/index.html b/docs/gallery/lod-decimate-chain/index.html index 89744488..f4a89346 100644 --- a/docs/gallery/lod-decimate-chain/index.html +++ b/docs/gallery/lod-decimate-chain/index.html @@ -80,7 +80,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Base topology ≠ closed form
4Base bbox ≠ closed form
5LOD0 evaluated counts ≠ base
6Evaluated tris ≥ base (--no-decimate lands here)
7Original datablock mutated after evaluation
8LOD tris outside ratio bounds
9LOD bbox lost silhouette-critical dimensions
10--output framing outside the Layer 1 band (gallery_framing)
11--output asset below the quality floors (gallery_asset_quality)
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-decimate.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-decimate (expects exit 6).

Source

diff --git a/docs/gallery/mesh-hygiene-audit/index.html b/docs/gallery/mesh-hygiene-audit/index.html index 970be12f..fd7d0eae 100644 --- a/docs/gallery/mesh-hygiene-audit/index.html +++ b/docs/gallery/mesh-hygiene-audit/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper, 11 the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Ngon present (--inject ngon lands here)
4Loose vertices
5Non-manifold or boundary edges
6Zero-area faces
7Winding seam edges, or signed volume ≤ 0
8Body casting Euler characteristic ≠ 2
9--output produced no file, or dirty staging lost a defect class
10Gallery framing violation
11Gallery asset-quality floor violation
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --inject.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --inject ngon (expects exit 3).

Source

diff --git a/docs/gallery/parent-inverse-orrery/index.html b/docs/gallery/parent-inverse-orrery/index.html index 146ac472..76518d3f 100644 --- a/docs/gallery/parent-inverse-orrery/index.html +++ b/docs/gallery/parent-inverse-orrery/index.html @@ -80,7 +80,7 @@

StagingExit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Bare parenting did not jump
4Keep-world idiom off
5Stale matrix_world contract broken
6Planet off closed-form orbit (--skip-mpi lands here)
7Moon off closed-form orbit
8--output produced no file
10Gallery framing violation (render path only)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --skip-mpi.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --skip-mpi (expects exit 6).

Source

diff --git a/docs/gallery/png-exr-alpha/index.html b/docs/gallery/png-exr-alpha/index.html index c9920457..c24164a7 100644 --- a/docs/gallery/png-exr-alpha/index.html +++ b/docs/gallery/png-exr-alpha/index.html @@ -82,7 +82,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is also the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also closed-form palette no longer stresses unpremul
3float_buffer=True image reports is_float=False
4Float→PNG IHDR is not RGBA16
5Float→PNG RGB error below floor (--opaque-alpha lands here)
6Float→PNG disagrees with closed-form false-unpremul model
7Float→EXR round-trip above tolerance
8float_buffer=False image reports is_float=True
9Byte→PNG IHDR is not RGBA8
10Byte→PNG disagrees with straight-alpha 8-bit model; also gallery framing violation
11Byte→PNG stress cell looks false-unpremul-mangled
12EXR color_mode=RGB alpha-drop contract
13--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --opaque-alpha.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --opaque-alpha (expects exit 5).

Source

diff --git a/docs/gallery/prop-origin-transform/index.html b/docs/gallery/prop-origin-transform/index.html index 99574f9d..fafc72aa 100644 --- a/docs/gallery/prop-origin-transform/index.html +++ b/docs/gallery/prop-origin-transform/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Stale matrix_world contract broken
4World bbox moved across bake
5Scale after bake is not (1,1,1)
6Origin not at local base center
7Bare parenting did not jump
8MPI did not restore world location (--skip-mpi lands here)
9--output produced no file
10Gallery framing violation
11Gallery asset-quality violation (render path only)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --skip-mpi.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --skip-mpi (expects exit 8).

Source

diff --git a/docs/gallery/ray-cast-space/index.html b/docs/gallery/ray-cast-space/index.html index 1be8522e..f8d1164c 100644 --- a/docs/gallery/ray-cast-space/index.html +++ b/docs/gallery/ray-cast-space/index.html @@ -79,7 +79,7 @@

Run

--world-to-object measured on 5.2.1 and 4.5.11: Object.ray_cast ray 0 mapped back to (1.5668, 1.22769, 1.38161), error 1.1253 m (normal error 1.0000, polygon 2 vs Scene 3). The cast hit a different face of the block, a metre from the true point.

Exit codes#

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Scene.ray_cast missed, hit another object, or hit off the closed-form world point or normal
4Object.ray_cast missed, or its local hit mapped back by matrix_world disagrees with the world point, normal or polygon (--world-to-object lands here)
5The world-coordinate trap did not bite: world coords fed to Object.ray_cast landed within TRAP_MIN of a true hit
6--output produced no file
10--output framing violation (Layer 1 fill / margin gate, gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --world-to-object.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --world-to-object (expects exit 4).

Source

diff --git a/docs/gallery/shader-node-group/index.html b/docs/gallery/shader-node-group/index.html index 15514da9..fc60c9f2 100644 --- a/docs/gallery/shader-node-group/index.html +++ b/docs/gallery/shader-node-group/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Interface sockets missing Tint / Roughness / Shader
4Group datablock users ≠ number of mug materials (5)
5Instance points at a different node tree
6Instance Tint values not pairwise distinct (--same-tint lands here)
7--output produced no file
10Gallery framing violation
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --same-tint.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --same-tint (expects exit 6).

Source

diff --git a/docs/gallery/shape-key-blend/index.html b/docs/gallery/shape-key-blend/index.html index 10f92cbe..18c3fa35 100644 --- a/docs/gallery/shape-key-blend/index.html +++ b/docs/gallery/shape-key-blend/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 and 11 are the shared render-path gates' own codes.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3No shape keys on mesh
4Key names ≠ Basis, Tall
5Tall.value ≠ 0.5 (--zero-blend lands here)
6Undeformed mesh.vertices not at Basis
7Evaluated vert off closed-form blend
8Evaluated Z span off closed form
9Rim radius (flare) off closed form
10Framing gate (gallery_framing, --output only)
11Asset-quality gate (gallery_asset_quality, --output only)
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --zero-blend.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --zero-blend (expects exit 5).

Source

diff --git a/docs/gallery/sky-texture-sun-elevation/index.html b/docs/gallery/sky-texture-sun-elevation/index.html index a7dd7364..87683fbc 100644 --- a/docs/gallery/sky-texture-sun-elevation/index.html +++ b/docs/gallery/sky-texture-sun-elevation/index.html @@ -85,7 +85,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3sky_type is not the identifier for this Blender
4sun_elevation round-trip failed
5dust_density / aerosol_density / NISHITA / MULTIPLE_SCATTERING trap
6Sky → Background → World Output links broken (--unlink-sky lands here)
7High-elevation zenith luma below floor
8Zenith luma did not rise with elevation
9--output produced no file
10--output framing violation (gallery_framing, per panel)
12--output still clips to white under Standard (> 0.05 % of pixels)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --unlink-sky, so exits 10 and 12 are render-path only.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, so exits 10 and 12 are render-path only. Its catalog falsifier is --unlink-sky (expects exit 6).

Source

diff --git a/docs/gallery/soccer-ball-goldberg/index.html b/docs/gallery/soccer-ball-goldberg/index.html index d04aab1f..3da1f507 100644 --- a/docs/gallery/soccer-ball-goldberg/index.html +++ b/docs/gallery/soccer-ball-goldberg/index.html @@ -86,7 +86,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Topology ≠ 60/90/32
4Euler characteristic ≠ 2
5Face census ≠ 12 pentagons + 20 hexagons
6Vertex degree not uniform 3; also --output produced no file
7Non-manifold edges
8Edge lengths not uniform
9Face planarity off
10Centroid off origin
11Circumradius not uniform
12Panel material count ≠ 2
13Panel binding not by vertex count (--invert-bind lands here)
14Framing gate (--output path only; gallery_framing returns 10, remapped)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --invert-bind.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --invert-bind (expects exit 13).

Source

diff --git a/docs/gallery/solidify-even-thickness/index.html b/docs/gallery/solidify-even-thickness/index.html index e5edaf54..9138b095 100644 --- a/docs/gallery/solidify-even-thickness/index.html +++ b/docs/gallery/solidify-even-thickness/index.html @@ -80,7 +80,7 @@

Version notesThe Solidify modifier properties used here (solidify_mode, thickness, offset, use_even_offset, use_rim, material_offset_rim) and the output vertex order (originals first, then copies) are the same on 4.5 LTS, 5.1 and 5.2 LTS. The defaults are also the same: 'EXTRUDE', offset −1, even off, rim on, quality normals off. All values were measured identically on 4.5.11, 5.1.2 and 5.2.1.

Exit codes#

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Evaluated topology is not the original surface plus one copy per vertex (2N verts, originals untouched)
4The even shell is not t thick at every fold, or its copies are off t / cos(φ/2) (--no-even lands here)
5The plain shell is off the t · cos(φ/2) closed form at a fold
6The plain shell thins by less than the floor (the witness would pass vacuously)
7--output produced no file
10--output framing violation (Layer 1 fill / margin gate, gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-even.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-even (expects exit 4).

Source

diff --git a/docs/gallery/swatch-grid/index.html b/docs/gallery/swatch-grid/index.html index 49c143d0..e4606fbd 100644 --- a/docs/gallery/swatch-grid/index.html +++ b/docs/gallery/swatch-grid/index.html @@ -86,7 +86,7 @@

Exit codes
CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Distinct swatch colors ≠ 6 (--same-base lands here); also render not six distinct regions
4--output produced no file
5Wrong-era EEVEE engine id was accepted
10Gallery framing violation

--no-verify was a skip-flag and has been removed. Pixel verification always runs when --output is passed.

-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --same-base.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --same-base (expects exit 3).

Verified#

Runs headless on Blender 4.5.10 LTS and 5.1.1; exercised on both by the blender-smoke workflow on every PR and weekly schedule. The --output render path additionally measures framing against the Layer 1 band via examples/gallery_framing.py (exit 10 on violation) before writing the still.

diff --git a/docs/gallery/temp-override-join/index.html b/docs/gallery/temp-override-join/index.html index 9219f790..7b53b1b7 100644 --- a/docs/gallery/temp-override-join/index.html +++ b/docs/gallery/temp-override-join/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Mesh object count after join ≠ 1 (--no-override lands here)
4Joined target is not the sole remaining mesh
5Verts / faces ≠ the sum over the seven parts
6Source objects still present
7Local Z span ≠ [0, 2.303]: a part transform was not applied
8Material slots ≠ the five part materials, once each
9Faces per material ≠ what the parts brought (indices not remapped)
10--output framing gate (gallery_framing)
11--output asset-quality floors (gallery_asset_quality)
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-override.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-override (expects exit 3).

Source

diff --git a/docs/gallery/text-version-stamp/index.html b/docs/gallery/text-version-stamp/index.html index 4cc308cf..ff121ee1 100644 --- a/docs/gallery/text-version-stamp/index.html +++ b/docs/gallery/text-version-stamp/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Not a FONT TextCurve with the built-in Bfont
4body is not the live version_string (--wrong-body lands here)
5Flat text is not a filled planar mesh
6Extrude / bevel closed form failed
7Appending characters did not widen the text
8Mesh survived to_mesh_clear()
9--output produced no file
10Gallery framing violation
13--output: bundled datafiles/fonts/Inter.woff2 not found
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --wrong-body.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --wrong-body (expects exit 4).

Source

diff --git a/docs/gallery/triangulate-tangents/index.html b/docs/gallery/triangulate-tangents/index.html index 0ac22cf9..0b82271e 100644 --- a/docs/gallery/triangulate-tangents/index.html +++ b/docs/gallery/triangulate-tangents/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper, 11 the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Loop-triangle count ≠ closed form
4Re-fetched UV layer drifted from the polar field (--zero-uv lands here)
5Tangent basis not orthonormal
6Bitangent ≠ sign × (n × t)
7Tangents deviate from the edge/UV closed form
8Flipped tangent inside a clean triangle
10Gallery framing violation; also --output produced no file
11Asset-quality floor violation (--output only; shared helper)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --zero-uv.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --zero-uv (expects exit 4).

Source

diff --git a/docs/gallery/turntable/index.html b/docs/gallery/turntable/index.html index db6b1e85..62bf5d74 100644 --- a/docs/gallery/turntable/index.html +++ b/docs/gallery/turntable/index.html @@ -78,7 +78,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Rotation keys do not drive playback (--no-keys lands here)
4--output produced no file
5Wrong-era EEVEE engine id was accepted
10Framing gate violation on the --output path (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --no-keys.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --no-keys (expects exit 3).

Source

diff --git a/docs/gallery/usd-export-evaluation-mode/index.html b/docs/gallery/usd-export-evaluation-mode/index.html index 74d8189d..e781d5d4 100644 --- a/docs/gallery/usd-export-evaluation-mode/index.html +++ b/docs/gallery/usd-export-evaluation-mode/index.html @@ -74,7 +74,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage; also base cube verts ≠ 8
3VIEWPORT TESSELLATE point/face count off closed form
4RENDER TESSELLATE point/face count or scheme off closed form
5BEST_MATCH cage point count or scheme off
6RENDER and VIEWPORT USDA point counts are identical (check), or the re-imported RENDER goblet is not denser than the VIEWPORT one (--output)
10Gallery framing violation
12--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output, --evaluation-mode, or --subdivision.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --evaluation-mode. Its catalog falsifier is --subdivision BEST_MATCH (expects exit 4).

Source

diff --git a/docs/gallery/uv-layer-grid/index.html b/docs/gallery/uv-layer-grid/index.html index 96deb76e..0e949924 100644 --- a/docs/gallery/uv-layer-grid/index.html +++ b/docs/gallery/uv-layer-grid/index.html @@ -82,7 +82,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared gallery framing gate; 15 is the missing-render-file check.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Silent-no-op hazard gone (--precreate-on-hazard lands here)
4Grid topology drifted
5Pre-create + calc_uvs did not persist one UV layer
6calc_uvs closed-form error
7Mesh UV round-trip error
8calc_uvs=False unexpectedly created a UV layer
9Explicit UV assignment error
10Framing gate violation on the --output path (gallery_framing)
11Broken panel is not flat
12Broken panel is not texel-(0,0) teal
13Repaired panel is not a checker
14Broken and repaired panels render identically
15--output produced no file
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --precreate-on-hazard.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --precreate-on-hazard (expects exit 3).

Source

diff --git a/docs/gallery/vertex-weight-limit/index.html b/docs/gallery/vertex-weight-limit/index.html index 36aab168..97e06578 100644 --- a/docs/gallery/vertex-weight-limit/index.html +++ b/docs/gallery/vertex-weight-limit/index.html @@ -83,7 +83,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is the shared framing helper; it is also the missing-render code. 11 is the shared asset-quality helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3Pre-limit max influences ≠ 5
4Vertex over the 4-influence cap (--skip-limit lands here)
5Limit changed nothing
6Weight sums off 1.0 after renormalize
7Pose damaged by pruning, or evaluated vert count changed
8Evaluated mesh off LBS over limited weights
9Root-weighted mount moved
10Gallery framing violation; also --output produced no file
11Asset-quality floor violation (--output only)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --skip-limit.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --skip-limit (expects exit 4).

Source

diff --git a/docs/gallery/vse-cut-list/index.html b/docs/gallery/vse-cut-list/index.html index d247c128..ab87cad1 100644 --- a/docs/gallery/vse-cut-list/index.html +++ b/docs/gallery/vse-cut-list/index.html @@ -90,7 +90,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it. 10 is also the shared framing helper.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3.sequences accessor contract for this Blender
4Wrong-era new_effect end kwarg or TRANSFORM type did not TypeError
5Strip span or channel off closed form
6frame_final_* deprecation bridge for this Blender
7GC wiring or strip .type enum (--swap-inputs lands here)
8Scene strip span or Stage source
9Mosaic transform, compositing defaults, text body, or strip color
10Save/reload round-trip re-assert failed; also gallery framing violation
11--output produced no file
12--check-pixels compositing contract
-

The blender-smoke workflow runs the check and the pixel witness on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --swap-inputs.

+

The blender-smoke workflow runs the check and the pixel witness on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --swap-inputs (expects exit 7).

Source

diff --git a/docs/gallery/vse-gamma-cross/index.html b/docs/gallery/vse-gamma-cross/index.html index 09396ad0..82a29306 100644 --- a/docs/gallery/vse-gamma-cross/index.html +++ b/docs/gallery/vse-gamma-cross/index.html @@ -81,7 +81,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
3GC span off closed form
4GC inputs are not T1 → T2 (--swap-inputs lands here)
5Sample t convention drifted
6Cross sample off the gamma-0.5 closed form
7Mid-cross lerp deviation missing (naive mix)
8--output produced no file
9--output filmstrip guard: a frame not uniform, or a strip's mid frame off its closed form
10--output framing violation (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --swap-inputs.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --swap-inputs (expects exit 4).

Source

diff --git a/docs/gallery/wave-displace/index.html b/docs/gallery/wave-displace/index.html index 44f71c46..212d7c58 100644 --- a/docs/gallery/wave-displace/index.html +++ b/docs/gallery/wave-displace/index.html @@ -79,7 +79,7 @@

Run

Exit codes#

Per-script sequential checks. 9 is a valid check code; there is no rule against it.

CodeMeaning
0Success
1Uncaught exception (FATAL wrapper)
2argparse / usage
4Z-span not in the closed-form band (--flat lands here)
5A vertex is off the closed-form wave
6--output produced no file
10Gallery framing violation (gallery_framing)
-

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output or --flat.

+

The blender-smoke workflow runs the check on Blender 5.2 LTS and 4.5 LTS (5.1 on the weekly cron, the needs-5.1 PR label, or manual dispatch). Smoke does not pass --output. Its catalog falsifier is --flat (expects exit 4).

Source