Skip to content

feat: witness n-gon, unapplied-scale, and coincident-vert pathologies - #130

Merged
TMHSDigital merged 1 commit into
mainfrom
feat/pathology-witnesses
Sep 10, 2026
Merged

feat: witness n-gon, unapplied-scale, and coincident-vert pathologies#130
TMHSDigital merged 1 commit into
mainfrom
feat/pathology-witnesses

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

  • Three synthesized-pathology examples. Gallery stills skipped: none of the defects are thumbnail-legible.
  • ngon-triangulate inverts mesh-hygiene-audit / triangulate-tangents.
  • unapplied-scale-gltf inverts gltf-export-roundtrip (identity scale) and neighbors prop-origin-transform.
  • coincident-vert-weld inverts degenerate-bevel-weld (bevel-pinch coincidences).
  • ROADMAP: CC0 fixture vendoring (deferred) + overlapping-UV export as leftover.

Why these three

N-gons, unapplied non-uniform scale, and coincident duplicate verts are the defects that stress contracts this repo already teaches. Overlapping UVs already have a SAT gate and --falsify on lightmap-uv-channel. Zero-area faces are owned by degenerate-bevel-weld.

Type

  • feat — new example (minor bump)

Squash-merge subject: feat: witness n-gon, unapplied-scale, and coincident-vert pathologies

Pre-assertions (required)

Example Pathology exists iff Detection falsify (exit 3)
ngon-triangulate 1 face / 6 loops / 5 faces --no-dissolve ngon count 0
unapplied-scale-gltf scale (2,1,0.5) and local verts ±1 --identity scale (1,1,1)
coincident-vert-weld 16 verts / 8 unique / 12 faces / valence 2 --no-duplicate V=8 unique=8

Handling (second axis)

Example Contract Handling falsify (exit 4)
ngon calc_tangents aborts until triangulate → 4 tris + 4 quads / 28 loops. glTF tris=12 either way. --skip-triangulate
scale export_apply is modifiers-only. node.scale Y-up (2, 0.5, 1), POSITION ±1. Vert count 8 either way. --bake → node.scale None, POSITION x ±2
coincident glTF 48 pos / 24 tris / 8 unique. remove_doubles → one cube, still manifold. --weld → 24 pos / 12 tris

Evidence

Live-run-proven (local Windows)

Binaries: .scratch/blender-5.2.1-windows-x64/blender.exe 5.2.1 LTS 9e2066aef7ef; blender-4.5.11-windows-x64 4.5.11 LTS 4db51e9d1e1e.

Both LTS: happy path exit 0; detection flags exit 3; handling flags exit 4. Same closed forms. No skips.

Falsification is local-Windows only (ROADMAP, next to inverted-canary marker-text).

Inspection-only

CI 4.5 job will float (last PR used 4.5.13). export_apply RNA description and Y-up scale permute were read from the live exporter.

Gallery

None. Hexagon-on-cube, stretched box vs modeled size, and coincident cubes do not prove the defect at thumbnail.

Release-owned fields — do not hand-edit

Left at 0.52.0.

Test plan

  • 5.2 smoke: all three PASS
  • 4.5 smoke: all three PASS (no SKIP)
  • validate-counts / manifest: 53 examples
  • Socket not pending/failing
  • After squash-merge: quote release.yml on the merge SHA; expect RELEASE (bump=minor) → v0.53.0

Made with Cursor

Gallery examples build clean geometry. These three synthesize the defects, pre-assert they exist, then check how hygiene/tangents, glTF export_apply, and export-crossing duplicates actually behave.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added skills documentation Improvements or additions to documentation labels Sep 10, 2026
@TMHSDigital
TMHSDigital merged commit dd6b45e into main Sep 10, 2026
10 checks passed
@TMHSDigital
TMHSDigital deleted the feat/pathology-witnesses branch September 10, 2026 02:21
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 skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant