Skip to content

Commit a8f121d

Browse files
TMHSDigitalclaude
andauthored
fix: park-bench, fence-kit and soccer-ball-goldberg quality pass (#240)
* fix(showcase): bend each park-bench leg in one piece and seat what it carries The scroll feet were separate arcs stopped 14 mm under square posts, the back slats straddled vertical posts, and the iron read as chrome. Each leg is now one swept round bar from toe to reclined back; slats and armrests bite named bearers (exit 20), legs are asserted whole (exit 21), and the back recline is a band (exit 19). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> * fix(showcase): fit fence-kit to its tile and house the brace in both posts The iron collars were loose plates with open corners and stood 12 mm past each tile edge, and the brace ran post centre to post centre through the bands and 6 mm into every rail. Bands are now one mitred shell each, posts are placed from the tile (exit 21), and the brace is a plumb-cut board housed in both posts and bearing on the middle rail (exit 20). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> * fix(examples): show every soccer-ball panel and gate its framing Render path only. The white hexagons merged into one shell and the ball read lumpy; a render-only seam overlay and a Cast modifier fix both. The render path now calls check_framing, remapped to exit 14 because 10 is the centroid check. Contract, assertions and exit codes 0-13 unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> * docs(showcase): conventions for bent bar, bearing bite, tile fit, level stage Also refreshes the gallery cards and root README alts for the three restaged stills and regenerates docs/gallery. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> --------- Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent c7e765d commit a8f121d

23 files changed

Lines changed: 2111 additions & 605 deletions

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,10 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
117117
<a href="showcase/street-lantern/"><img src="showcase/street-lantern/preview.webp" width="24%" alt="Street lantern: an iron post with aged brass collars, a knee brace tenoned into post and arm, and a muntined amber cage on a dark studio floor" /></a>
118118
<a href="showcase/treasure-chest/"><img src="showcase/treasure-chest/preview.webp" width="24%" alt="Treasure chest: a slatted wooden chest with iron bands, corner brackets, and an open lid on a dark studio floor" /></a>
119119
<a href="showcase/terrain-scatter/"><img src="showcase/terrain-scatter/preview.webp" width="24%" alt="Terrain scatter: a Geometry Nodes dirt hill tile with bevelled masonry rocks on a dark studio floor" /></a>
120-
<a href="showcase/fence-kit/"><img src="showcase/fence-kit/preview.webp" width="24%" alt="Fence kit: a timber post-and-rail section with pyramidal caps, iron shoes and straps on a dark studio floor" /></a>
120+
<a href="showcase/fence-kit/"><img src="showcase/fence-kit/preview.webp" width="24%" alt="Fence kit: a grained timber post-and-rail section with pyramidal caps, a diagonal board brace, and iron shoes and bands on a dark studio floor" /></a>
121121
<a href="showcase/watchtower/"><img src="showcase/watchtower/preview.webp" width="24%" alt="Watchtower: a grained timber lookout with X-braces, hatch ladder, a plank platform on deck girts, and a coursed shake roof on a dark studio floor" /></a>
122122
<a href="showcase/cart/"><img src="showcase/cart/preview.webp" width="24%" alt="Cart: a two-wheel wooden cart with spoked wheels, slatted bed, and shafts on a dark studio floor" /></a>
123-
<a href="showcase/park-bench/"><img src="showcase/park-bench/preview.webp" width="24%" alt="Park bench: a wrought-iron bench with scrolled legs and wooden slats on a dark studio floor" /></a>
123+
<a href="showcase/park-bench/"><img src="showcase/park-bench/preview.webp" width="24%" alt="Park bench: a wrought-iron bench whose round-bar legs curl into scrolled feet, with wooden slats and a reclined back, on a dark studio floor" /></a>
124124
<a href="showcase/wheelbarrow/"><img src="showcase/wheelbarrow/preview.webp" width="24%" alt="Wheelbarrow: a wooden tray with walls of stacked boards and iron straps, a spoked wheel, rear legs, and handles on a dark studio floor" /></a>
125125
<a href="showcase/anvil/"><img src="showcase/anvil/preview.webp" width="24%" alt="Anvil: a dark forged-steel London-pattern anvil with a flared, squared waist on a hooped timber stump on a dark studio floor" /></a>
126126
<a href="showcase/water-trough/"><img src="showcase/water-trough/preview.webp" width="24%" alt="Water trough: a watertight wooden trough with plank ends, contained water, and trestle legs on a dark studio floor" /></a>
@@ -1008,7 +1008,7 @@ teleported flange) vs MPI KEEP.
10081008
</tr>
10091009
<tr>
10101010
<td width="46%" valign="middle">
1011-
<a href="examples/soccer-ball-goldberg/"><img src="examples/soccer-ball-goldberg/preview.webp" alt="Soccer ball Goldberg: a white soccer ball with black pentagon panels on a dark studio floor — a bmesh icosphere truncated at one-third per edge into the Goldberg polyhedron, proving closed-form counts, uniform degree, equal edges, planar faces, one circumsphere, and panels bound by face vertex count" /></a>
1011+
<a href="examples/soccer-ball-goldberg/"><img src="examples/soccer-ball-goldberg/preview.webp" alt="Soccer ball Goldberg: a round white soccer ball with black pentagon panels and dark stitched seams around every hexagon on a dark studio floor — a bmesh icosphere truncated at one-third per edge into the Goldberg polyhedron, proving closed-form counts, uniform degree, equal edges, planar faces, one circumsphere, and panels bound by face vertex count" /></a>
10121012
</td>
10131013
<td valign="middle">
10141014

-530 Bytes
Loading
-1.41 KB
Loading
6.21 KB
Loading
-204 Bytes
Loading
-520 Bytes
Loading
10.2 KB
Loading

‎docs/gallery/fence-kit/index.html‎

Lines changed: 383 additions & 80 deletions
Large diffs are not rendered by default.

‎docs/gallery/index.html‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,7 @@ <h2><a href="prop-origin-transform/">prop-origin-transform</a></h2>
761761
</article>
762762
<article class="card" data-tags="bmesh mesh">
763763
<a class="card-media" href="soccer-ball-goldberg/" tabindex="-1" aria-hidden="true">
764-
<img src="assets/soccer-ball-goldberg-hero.webp" alt="A white soccer ball with black pentagon panels, built as a smoothed Goldberg polyhedron." loading="lazy" decoding="async" />
764+
<img src="assets/soccer-ball-goldberg-hero.webp" alt="A round white soccer ball with black pentagon panels and dark stitched seams outlining every white hexagon, built as a smoothed Goldberg polyhedron." loading="lazy" decoding="async" />
765765
</a>
766766
<div class="card-body">
767767
<h2><a href="soccer-ball-goldberg/">soccer-ball-goldberg</a></h2>
@@ -992,12 +992,12 @@ <h2><a href="terrain-scatter/">terrain-scatter</a></h2>
992992
</article>
993993
<article class="card" data-tags="mesh export showcase">
994994
<a class="card-media" href="fence-kit/" tabindex="-1" aria-hidden="true">
995-
<img src="assets/fence-kit-hero.webp" alt="A section of wooden post-and-rail fence with a diagonal brace and dark iron collars." loading="lazy" decoding="async" />
995+
<img src="assets/fence-kit-hero.webp" alt="A section of grained timber post-and-rail fence with a diagonal board brace across the rails and dark iron bands and shoes on both posts." loading="lazy" decoding="async" />
996996
</a>
997997
<div class="card-body">
998998
<h2><a href="fence-kit/">fence-kit</a></h2>
999-
<p class="teaches">A procedural post-and-rail fence section whose brace is an oriented box between named post stations, through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1000-
<p class="witnesses"><span class="tag">witnesses</span> Recomputed: 1092 tris, two materials with 156 metal and 390 wood faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.624×0.134×1.232 m, grounded zmin, 2 iron shoes, brace-to-post gap 2.4 mm on both posts, rail-to-post gap 0.93 mm, rail span 1.390 m, LOD ratios in band (5.2 COLLAPSE leaner on LOD2), convex collider 32 tris, hygiene all zero, non-empty glTF. --skip-decimate exits 9; --stray-vert 15; --lift-z/--short-shoes 16; --short-brace 17; --gap-rails 18; --long-rails 19.</p>
999+
<p class="teaches">A procedural post-and-rail fence section that fits its 1.60 m tile, with one-shell iron bands and a board brace housed in both posts, through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1000+
<p class="witnesses"><span class="tag">witnesses</span> Recomputed: 1012 tris, two materials with 116 metal and 390 wood faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.596×0.134×1.232 m inside the 1.60 m tile, grounded zmin, 2 iron shoes, brace housed 12 mm in both posts and bearing 2 mm on the middle rail, rail-to-post gap 0.93 mm, rail span 1.362 m, LOD ratios in band (5.2 COLLAPSE leaner on LOD2), convex collider 24 tris, hygiene all zero, non-empty glTF. --skip-decimate exits 9; --stray-vert 15; --lift-z/--short-shoes 16; --short-brace 17; --gap-rails 18; --long-rails 19; --float-brace 20; --wide-tile 21.</p>
10011001
<a class="card-link" href="fence-kit/">View showcase piece<span class="sr-only"> fence-kit</span> <span aria-hidden="true">&rarr;</span></a>
10021002
</div>
10031003
</article>
@@ -1025,12 +1025,12 @@ <h2><a href="cart/">cart</a></h2>
10251025
</article>
10261026
<article class="card" data-tags="mesh export showcase">
10271027
<a class="card-media" href="park-bench/" tabindex="-1" aria-hidden="true">
1028-
<img src="assets/park-bench-hero.webp" alt="A park bench of wooden slats on a wrought-iron frame with scrolled feet and armrests." loading="lazy" decoding="async" />
1028+
<img src="assets/park-bench-hero.webp" alt="A park bench of grained wooden slats with a reclined back, on a dark wrought-iron frame whose round-bar legs curl into scrolled feet, with armrests on curved brackets." loading="lazy" decoding="async" />
10291029
</a>
10301030
<div class="card-body">
10311031
<h2><a href="park-bench/">park-bench</a></h2>
1032-
<p class="teaches">A procedural wrought-iron park bench with tangent tube scroll feet through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1033-
<p class="witnesses"><span class="tag">witnesses</span> Recomputed: 2520 tris, two materials with 540 metal and 756 wood faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.295×0.632×0.884 m, grounded zmin, 4 named toes, stretcher gap 1.2 mm, slat gap 0.3 mm, seat span 1.272 m, LOD ratios in band, convex collider 82 tris, hygiene zero, non-empty glTF. --skip-decimate exits 9; --stray-vert 15; --lift-z/--short-feet 16; --float-stretcher 17; --gap-slats 18; --narrow-seat 19.</p>
1032+
<p class="teaches">A procedural wrought-iron park bench whose legs are each one bent bar from scroll toe to reclined back, through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1033+
<p class="witnesses"><span class="tag">witnesses</span> Recomputed: 3272 tris, two materials with 1008 metal and 756 wood faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.295×0.632×0.887 m, grounded zmin, 4 named toes, 4 legs each one bar from toe to seat, back reclined 12°, 28 slat and armrest bites of at least 2.0 mm, stretcher gap 1.1 mm, seat span 1.272 m, LOD ratios in band, convex collider 64 tris, hygiene zero, non-empty glTF. --skip-decimate exits 9; --stray-vert 15; --lift-z/--short-feet 16; --float-stretcher 17; --gap-slats 18; --narrow-seat/--upright-back 19; --float-slats 20; --split-feet 21.</p>
10341034
<a class="card-link" href="park-bench/">View showcase piece<span class="sr-only"> park-bench</span> <span aria-hidden="true">&rarr;</span></a>
10351035
</div>
10361036
</article>

0 commit comments

Comments
 (0)