Skip to content

feat: add CLI falsifiers and exit tables to thirteen rigging examples - #143

Merged
TMHSDigital merged 1 commit into
mainfrom
feat/falsifier-retrofit-batch-3
Sep 13, 2026
Merged

feat: add CLI falsifiers and exit tables to thirteen rigging examples#143
TMHSDigital merged 1 commit into
mainfrom
feat/falsifier-retrofit-batch-3

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Phase 9, retrofit batch 3. Thirteen rigging / constraint / transform / mesh-attribute examples. Each flag feeds degenerate input into an existing assertion. Default smoke path is unchanged. README exit tables document every nonzero code the script already returned; no codes were renumbered.

--same-axis / --flat-source / #141 / #142 shape. Not skip-flags, path selectors, or second witnesses. No substitutions.

Parent of this branch is main @ adf9ace (v0.59.0), after squash-merge of #142 (fdaf467).

Example Flag What it changes Lands at
armature-bend --zero-curl pose bones stay at rest; tip-deflection gate still runs 8
damped-track-aim --mute mute every DAMPED_TRACK; unmute check still runs 7
driver-wave --flat-expr Z-scale expression is 1.0; wave_scale closed form still asserted 3
parent-inverse-orrery --skip-mpi parent without matrix_parent_inverse; orbit closed form still asserted 6
shape-key-blend --zero-blend Tall.value = 0; 0.5 closed form still asserted 5
vertex-weight-limit --skip-limit no 4-influence prune; cap check still runs 4
prop-origin-transform --skip-mpi accessory parented without MPI restore 8
gltf-skin-roundtrip --no-skins export_skins=False; disk skin count still 1 5
temp-override-join --no-override object.join with no temp_override 3
depsgraph-export --unevaluated apply_modifiers=False; export still must equal evaluated 5
attribute-domain-shear --no-overwrite POINT hub written once; last-write-wins still asserted 5
color-attribute-wheel --point-domain POINT-domain color attr; CORNER still asserted 5
soccer-ball-goldberg --invert-bind swap pent/hex material slots; class binding still asserted 13

depsgraph-export

--obj is a path selector and was left alone. --unevaluated calls wm.obj_export(..., apply_modifiers=False). The depsgraph still measures the SUBSURF mesh; the OBJ is the 8-vert cage; existing exported != eval_vcount returns 5.

temp-override-join

--no-override calls bpy.ops.object.join() with no fabricated context. A RuntimeError from poll() is caught so it is not FATAL 1; check() then sees three remaining mesh objects and returns 3. The assertion is the existing object-count gate.

catalog.json was not modified. Falsifiers are not on the default smoke path.

Live-run table

Binaries (each --version from that exe):

Tag Path Reports
4.5.11 .scratch/blender-4.5.11-windows-x64/blender.exe Blender 4.5.11 LTS 4db51e9d1e1e
5.1.2 .scratch/blender-5.1.2-windows-x64/blender.exe Blender 5.1.2 ec6e62d40fa9
5.2.1 .scratch/blender-5.2.1-windows-x64/blender.exe Blender 5.2.1 LTS 9e2066aef7ef

Check-only (no --output). Observed exit codes were identical on all three binaries.

Example Flag 4.5.11 def 4.5.11 flag 5.1.2 def 5.1.2 flag 5.2.1 def 5.2.1 flag
armature-bend --zero-curl 0 8 0 8 0 8
damped-track-aim --mute 0 7 0 7 0 7
driver-wave --flat-expr 0 3 0 3 0 3
parent-inverse-orrery --skip-mpi 0 6 0 6 0 6
shape-key-blend --zero-blend 0 5 0 5 0 5
vertex-weight-limit --skip-limit 0 4 0 4 0 4
prop-origin-transform --skip-mpi 0 8 0 8 0 8
gltf-skin-roundtrip --no-skins 0 5 0 5 0 5
temp-override-join --no-override 0 3 0 3 0 3
depsgraph-export --unevaluated 0 5 0 5 0 5
attribute-domain-shear --no-overwrite 0 5 0 5 0 5
color-attribute-wheel --point-domain 0 5 0 5 0 5
soccer-ball-goldberg --invert-bind 0 13 0 13 0 13

Live-run-proven: the 78 headless invocations (13 × 2 × 3). No falsifier exited 0. No default exited nonzero.

5.1 evidence in this PR body is local, from .scratch/blender-5.1.2-windows-x64/blender.exe. CI 5.1 is the needs-5.1 smoke job on this PR, not this table.

Inspection-only: README table wording vs return N in each script; remaining-count arithmetic (Phase 6's 41 − 6 − 10 − 13 = 12). Did not restyle prior batches or bake-normal-high-to-low. Did not touch pathology/sidecar five, catalog.json, VERSION, CHANGELOG.md, release.yml, blender-smoke.yml, pages.yml, gallery assets.

Test plan

  • Default = 0 and falsifier = documented code on 4.5.11, 5.1.2, 5.2.1 (local, table above)
  • PR smoke 4.5 + 5.2 (default path; no falsifier flags)
  • PR smoke 5.1 via needs-5.1
  • Validate + drift-check
  • Do not merge from this session

Remaining no-falsifier pool

12 of 55 — the Phase 10 / batch 4 set.

Default smoke stays green. Each flag feeds degenerate input into an
existing assertion, including unevaluated OBJ export and join without
temp_override.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@TMHSDigital TMHSDigital added the needs-5.1 Opt-in Blender 5.1 smoke on this PR. Default matrix stays 4.5 + 5.2. Auto-label will not apply this. label Sep 13, 2026
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 13, 2026
@TMHSDigital
TMHSDigital merged commit 89ae4eb into main Sep 13, 2026
13 checks passed
@TMHSDigital
TMHSDigital deleted the feat/falsifier-retrofit-batch-3 branch September 13, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation needs-5.1 Opt-in Blender 5.1 smoke on this PR. Default matrix stays 4.5 + 5.2. Auto-label will not apply this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant