Skip to content

feat: add CLI falsifiers and exit tables to ten mesh examples - #142

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

feat: add CLI falsifiers and exit tables to ten mesh examples#142
TMHSDigital merged 1 commit into
mainfrom
feat/falsifier-retrofit-batch-2

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Phase 8, retrofit batch 2. Nine mesh/GN examples plus a swatch-grid repair. 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 shape. Not skip-flags, path selectors, or second witnesses.

Parent of this branch is main @ cfc869f (v0.58.0), after squash-merge of #141.

Example Flag What it changes Lands at
bmesh-gear --no-extrude skip extrude_face_region; closed-form counts still expect two rings 3
collision-hull-proxy --shrink-hull hull verts *= 0.5; containment plane test still runs 3
degenerate-bevel-weld --both-safe degen box uses SAFE_OFFSET; zero-area closed form still expected 4
gn-instance-grid --one-cell Mesh Grid 1×1; corner instance still expected at GRID_HALF 4
gn-sdf-remesh --no-sdf no NODES modifier; eval verts still must differ from base 3
mesh-hygiene-audit --inject-ngon existing inject_defect(..., "ngon") 3
triangulate-tangents --zero-uv every UV (0,0); polar closed form still checked 4
uv-layer-grid --precreate-on-hazard UV layer on the silent-no-op probe 3
wave-displace --flat skip foreach_set; z-span gate still runs 4
swatch-grid --same-base gray (0.5,0.5,0.5) on every swatch; distinct-count still 6 3

No substitutions. All nine took a genuine falsifier.

swatch-grid --no-verify check

Live-run-proven (rg -n "no-verify" tests/ .github/ scripts/ examples/swatch-grid/ plus catalog.json):

  • Hits: only examples/swatch-grid/ (the flag itself, now gone; README notes the removal).
  • tests/, .github/, scripts/, tests/smoke/catalog.json: no matches.
  • Harness does not invoke --no-verify. Removing it does not break smoke.

--no-verify skipped the pixel check and passed vacuously. It was not renamed. It was deleted. Pixel verification still always runs when --output is passed.

A flag that only broke verify_png would exit 0 on the check-only smoke path, so --same-base targets check_distinct_swatches on the default (no-render) path. That is the existing color-identity contract, not a new witness.

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
bmesh-gear --no-extrude 0 3 0 3 0 3
collision-hull-proxy --shrink-hull 0 3 0 3 0 3
degenerate-bevel-weld --both-safe 0 4 0 4 0 4
gn-instance-grid --one-cell 0 4 0 4 0 4
gn-sdf-remesh --no-sdf 0 3 0 3 0 3
mesh-hygiene-audit --inject-ngon 0 3 0 3 0 3
triangulate-tangents --zero-uv 0 4 0 4 0 4
uv-layer-grid --precreate-on-hazard 0 3 0 3 0 3
wave-displace --flat 0 4 0 4 0 4
swatch-grid --same-base 0 3 0 3 0 3

Live-run-proven: the 60 headless invocations (10 × 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 sys.exit / return N in each script; rg over harness paths for --no-verify; remaining-count arithmetic (Phase 6's 41 − 6 from #141 − 10 here = 25 examples with no extra CLI flag). Did not restyle bake-normal-high-to-low or the six from #141. 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

25 of 55 example dirs have no extra CLI flag (--output / --engine / --samples / --width excluded). Out of scope for this PR.

Default smoke stays green. Each flag feeds degenerate input into an
existing assertion. swatch-grid --no-verify was a skip-flag; it is gone.

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 fdaf467 into main Sep 13, 2026
13 checks passed
@TMHSDigital
TMHSDigital deleted the feat/falsifier-retrofit-batch-2 branch September 13, 2026 13:47
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