diff --git a/README.md b/README.md index 692088a..4275c99 100644 --- a/README.md +++ b/README.md @@ -677,10 +677,10 @@ with the Smooth-by-Angle modifier on 5.1. The mesh-cleanliness contract a prop pipeline relies on before engine ingest: no ngons, no loose vertices, every edge bordering exactly two faces, no zero-area faces, positive signed volume, and Euler `V − E + F == 2` for a -closed solid (measured 24/44/22, volume 0.989248). Companion to +closed solid (measured 66/136/72, volume 0.652001). Companion to [`collision-hull-proxy`](examples/collision-hull-proxy/) (hull watertightness) and [`bmesh-gear`](examples/bmesh-gear/) (parametric closed solids). Dual-panel -still: DIRTY (injected boundary + loose vert) vs CLEAN. +still: DIRTY through-hole + loose-vert bead vs CLEAN manifold (same brass). @@ -695,9 +695,10 @@ still: DIRTY (injected boundary + loose vert) vs CLEAN. The origin / scale-apply / MPI contract a prop pipeline relies on before engine ingest: data-API scale bake to exactly `(1,1,1)`, local bbox `min.z == 0` (origin at base), world AABB unchanged across the bake, and -`matrix_parent_inverse` so a bolted accessory does not teleport. Extends -[`parent-inverse-orrery`](examples/parent-inverse-orrery/) without retreading -orbits. Dual-panel still: TRAP (bare parent) vs MPI KEEP. +`matrix_parent_inverse` so a flanged conduit stays on its mount socket. +Extends [`parent-inverse-orrery`](examples/parent-inverse-orrery/) without +retreading orbits. Dual-panel still: TRAP (bare parent — empty socket + +teleported flange) vs MPI KEEP. diff --git a/docs/gallery/assets/mesh-hygiene-audit-hero.webp b/docs/gallery/assets/mesh-hygiene-audit-hero.webp index 3756513..a6f40da 100644 Binary files a/docs/gallery/assets/mesh-hygiene-audit-hero.webp and b/docs/gallery/assets/mesh-hygiene-audit-hero.webp differ diff --git a/docs/gallery/assets/prop-origin-transform-hero.webp b/docs/gallery/assets/prop-origin-transform-hero.webp index df0116d..e5a3680 100644 Binary files a/docs/gallery/assets/prop-origin-transform-hero.webp and b/docs/gallery/assets/prop-origin-transform-hero.webp differ diff --git a/docs/gallery/contact-sheets/mesh-hygiene-audit-contact-sheet.webp b/docs/gallery/contact-sheets/mesh-hygiene-audit-contact-sheet.webp index c680f01..a24b79b 100644 Binary files a/docs/gallery/contact-sheets/mesh-hygiene-audit-contact-sheet.webp and b/docs/gallery/contact-sheets/mesh-hygiene-audit-contact-sheet.webp differ diff --git a/docs/gallery/contact-sheets/prop-origin-transform-contact-sheet.webp b/docs/gallery/contact-sheets/prop-origin-transform-contact-sheet.webp index d32c754..527b06b 100644 Binary files a/docs/gallery/contact-sheets/prop-origin-transform-contact-sheet.webp and b/docs/gallery/contact-sheets/prop-origin-transform-contact-sheet.webp differ diff --git a/docs/gallery/index.html b/docs/gallery/index.html index 828b266..fe50ab4 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -589,23 +589,23 @@

gp-lineart-contour

- mesh-hygiene-audit — Engine-ingest mesh hygiene as executable topology checks on a stepped street electrical pedestal (plinth, cabinet, drip cap). + mesh-hygiene-audit — Engine-ingest mesh hygiene on an octagonal street valve: no ngons, no loose verts, manifold edges, no zero-area faces, positive signed volume, Euler V-E+F==2.

mesh-hygiene-audit

-

Engine-ingest mesh hygiene as executable topology checks on a stepped street electrical pedestal (plinth, cabinet, drip cap). Gates: no ngons, no loose verts, every edge borders exactly 2 faces, no zero-area faces (min_area printed), positive signed volume, Euler V-E+F==2 (24/44/22, volume 0.989248). Dual-panel dirty vs clean still marks defects.

-

witnesses AI pipelines that skip topology gates ship ngons, loose verts, open boundaries, inverted winding, or non-sphere Euler into engine ingest. Injecting one defect class at a time exits non-zero (ngon=3, loose=4, boundary=5, zero-area=6, flip=7); the clean solid recovers hygiene_ok on both 4.5.11 and 5.1.2.

+

Engine-ingest mesh hygiene on an octagonal street valve: no ngons, no loose verts, manifold edges, no zero-area faces, positive signed volume, Euler V-E+F==2. Dual-panel still shows a through-hole and loose-vert bead derived from live mesh incidence — same brass on both so color alone cannot carry the proof.

+

witnesses Pipelines that skip topology gates ship open boundaries, loose verts, or non-sphere Euler into engine ingest. The still makes the boundary hole and loose vert readable; ngon / zero-area / full winding invert remain check-only.

View example
- prop-origin-transform — Street pedestal origin-to-base-center + data-API scale apply + matrix_parent_inverse for a bolted accessory. + prop-origin-transform — Street pedestal origin-to-base-center + data-API scale apply + matrix_parent_inverse for a flanged conduit accessory.

prop-origin-transform

-

Street pedestal origin-to-base-center + data-API scale apply + matrix_parent_inverse for a bolted accessory. After bake: scale exactly (1,1,1), local min.z==0, world AABB delta 0. Bare parent jumps the accessory (~0.43 m); MPI restores world location (~3e-8). view_layer.update() before reading matrix_world.

-

witnesses AI code parents with child.parent = parent alone (accessory teleports), skips view_layer.update() before matrix_world, or leaves non-uniform scale / centered origin for engine ingest. Skipping apply, origin bake, or MPI each fails a closed-form gate.

+

Street pedestal origin-to-base-center + data-API scale apply + matrix_parent_inverse for a flanged conduit accessory. After bake: scale (1,1,1), local min.z==0, world AABB unchanged. Bare parent jumps the accessory off an empty mount socket; MPI keeps it seated.

+

witnesses Bare child.parent = parent teleports accessories off their mounts; skipping view_layer.update() before matrix_world, or leaving non-uniform scale / centered origin, breaks engine ingest placement.

View example
diff --git a/docs/gallery/mesh-hygiene-audit/index.html b/docs/gallery/mesh-hygiene-audit/index.html index d9415b8..66b01d6 100644 --- a/docs/gallery/mesh-hygiene-audit/index.html +++ b/docs/gallery/mesh-hygiene-audit/index.html @@ -4,18 +4,18 @@ mesh-hygiene-audit — Examples — Blender Developer Tools - + - + - +