You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5a9aee8
Browse filesBrowse the repository at this point in the historyBrowse files
The #202 asset sheet read moka-pot as the least-designed object in its
lineup. The geometry is a faithful octagonal Bialetti (hourglass waist, grip
band, V spout, faceted lid, bakelite knob and handle, brass valve); what
failed was the surface. A low-contrast noise (0.60-0.82 grey) rendered the
flat-shaded facets as plain uniform planes.
aluminium_material (render only; no budget, face count or check changes):
- vertical brushing: noise stretched 260:5 along Z drives roughness
0.16-0.42 and a faint bump, so facets catch broken, streaky highlights
- broad tone variation at hand scale (0.50-0.80 grey)
- heat tint darkening the lowest 4.5 cm of the boiler, where a stovetop
flame discolours a real pot
README documents it; gallery alt says "brushed".
Proof (local .scratch Blender):
- every README falsifier lands on its declared exit on 5.2.1 and 4.5.11
(check_falsifier_targets --run --only moka-pot)
- render path: framing fill 0.844 ok, aq_ok
- hero, 640 card and preview regenerated with scripts/render_hero.py
- new contact sheet: luma 0.2463 / stage 0.2106, inside the calibration band
- asset sheet rebuilt: the brushed metal now reads as metal; the handle
hides behind the body in the neutral three-quarter view, so the silhouette
stays simple. Judged a borderline pass.
Closes#345
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
<articleclass="card" data-tags="mesh export showcase" data-kind="showcase" data-category="household" data-name="moka-pot" data-search="moka pot moka-pot a procedural three-cup moka express-pattern pot — an eight-flat boiler and collector flaring out from an hourglass waist with a proud grip band, a v beak pinched from the rim, a hinged faceted lid and bakelite knob, a two-root bakelite d handle on a riveted fin, and a brass valve — carried through uvs, bake, lod, compound collider, and unity gltf, asserting recomputed budgets rather than an api contract. mesh export showcase household">
1629
1629
<divclass="card-media">
1630
-
<imgsrc="assets/moka-pot-hero-640.webp" srcset="assets/moka-pot-hero-640.webp 640w, assets/moka-pot-hero.webp 1280w" sizes="(min-width: 900px) 340px, (min-width: 560px) 50vw, 100vw" alt="An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." width="1280" height="720" loading="lazy" decoding="async" />
1630
+
<imgsrc="assets/moka-pot-hero-640.webp" srcset="assets/moka-pot-hero-640.webp 640w, assets/moka-pot-hero.webp 1280w" sizes="(min-width: 900px) 340px, (min-width: 560px) 50vw, 100vw" alt="A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." width="1280" height="720" loading="lazy" decoding="async" />
Copy file name to clipboardExpand all lines: docs/gallery/moka-pot/index.html
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@
19
19
<metaproperty="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
<metaname="twitter:image:alt" content="An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." />
22
+
<metaname="twitter:image:alt" content="A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." />
<metaname="twitter:description" content="A procedural three-cup Moka Express-pattern pot — an eight-flat boiler and collector flaring out from an hourglass waist with a proud grip band, a V beak pinched from the rim, a hinged faceted lid and bakelite knob, a two-root bakelite D handle on a riveted fin, and a brass valve — carried through UVs, bake, LOD, compound collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
<buttonclass="detail-hero" id="heroZoom" type="button" aria-label="View full size: An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve.">
53
-
<imgsrc="../assets/moka-pot-hero.webp" alt="An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." width="1280" height="720" fetchpriority="high" />
52
+
<buttonclass="detail-hero" id="heroZoom" type="button" aria-label="View full size: A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve.">
53
+
<imgsrc="../assets/moka-pot-hero.webp" alt="A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." width="1280" height="720" fetchpriority="high" />
54
54
</button>
55
55
<pclass="zoom-hint">Rendered headless by the showcase piece itself. Select it to enlarge.</p>
56
56
<divclass="callout"><spanclass="tag">witnesses</span> Recomputed: 1300 tris, three materials with 197 aluminium, 388 bakelite and 124 brass faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.1327×0.0832×0.1600 m, zmin 0, hygiene 0 including zero coplanar cross-shell pairs, 10 shells, the collector 3.5 mm onto the boiler, both handle roots 2.5 mm into the fin, the knob 1.8 mm into the lid, spout and fin 1.5 mm into the wall, fasteners 1.2–1.6 mm in and ≥1.8 mm proud, 83.2/80.2/160.0 mm foot/collector/height against a 16 cm, 9 cm-base three-cup pot, plumb 0 and eight-fold spread 0. --lean-pot exits 19 at 3.3 mm of plumb drift and --odd-facet at 2.0 mm of facet spread, both inside the unchanged bounding box.</div>
<divclass="table-wrap"><table><thead><tr><thscope="col">Budget</th><thscope="col">Band</th><thscope="col">Measured</th></tr></thead><tbody><tr><td>Base triangles</td><td>1200–1400</td><td>1300</td></tr><tr><td>LOD1 ratio</td><td>0.32–0.62</td><td>0.5000</td></tr><tr><td>LOD2 ratio</td><td>0.10–0.35</td><td>0.2185</td></tr><tr><td>Material slots</td><td>exactly 3, distinct</td><td>3</td></tr><tr><td>Aluminium / bakelite / brass faces</td><td>≥ 160 / 280 / 100</td><td>197 / 388 / 124</td></tr><tr><td>UV bounds</td><td>inside 0..1</td><td>(0.0025, 0.0025)–(0.9975, 0.9975)</td></tr><tr><td>UV AABB overlap</td><td>≤ 1e-5</td><td>0.000000</td></tr><tr><td>Outer AABB</td><td>0.1327 × 0.0832 × 0.1600 m ± 0.006</td><td>0.1327 × 0.0832 × 0.1600</td></tr><tr><td>Collider triangles</td><td>≤ 200</td><td>154 (two hulls)</td></tr><tr><td>Normal bake</td><td><code>{'FINISHED'}</code> with image data</td><td><code>{'FINISHED'}</code>, <code>has_data=True</code></td></tr><tr><td>glTF export</td><td>file written, non-empty</td><td>~78 kB</td></tr><tr><td>Hygiene</td><td>all zero</td><td>loose 0/0, non-manifold 0, zero-area 0, doubles 0, n-gons 0, coplanar cross-shell pairs 0</td></tr><tr><td>Grounded AABB</td><td>\</td><td>zmin\</td><td>≤ 1e-4, boiler zmin ≤ 1e-4</td><td>0.00000</td></tr><tr><td>Shells</td><td>exactly 10, none unclassified</td><td>10</td></tr><tr><td>Collector seat on the boiler</td><td>2.5–4.5 mm</td><td>3.50 mm</td></tr><tr><td>Handle bite into the fin</td><td>1.0–3.0 mm, each of the two roots</td><td>2.50 mm, both roots</td></tr><tr><td>Knob bite into the lid</td><td>1.0–3.0 mm</td><td>1.80 mm</td></tr><tr><td>Lid seat on the collector</td><td>1.0–3.0 mm</td><td>1.80 mm</td></tr><tr><td>Spout bite and reach</td><td>base 0.9–3.0 mm into the wall; tip 10–15 mm beyond it</td><td>1.50 mm; 12.41 mm</td></tr><tr><td>Fin bite</td><td>0.9–3.0 mm into the wall</td><td>1.50 mm</td></tr><tr><td>Hinge bite</td><td>1.5–5.0 mm into the collector</td><td>2.63 mm</td></tr><tr><td>Fasteners (valve, one rivet)</td><td>bite 0.8–2.5 mm, proud ≥ 1.2 mm</td><td>valve 1.60 / 4.60; rivet 1.20 / 1.80</td></tr><tr><td>Real size: foot, collector, height</td><td>83.2 / 80.2 / 160.0 mm ± 3</td><td>83.2 / 80.2 / 160.0</td></tr><tr><td>Plumb</td><td>≤ 0.8 mm</td><td>0.000 mm</td></tr><tr><td>Eight-fold spread</td><td>≤ 0.2 mm</td><td>0.000 mm</td></tr></tbody></table></div>
77
77
<p>Real-world size: a three-cup Moka Express is listed at 16.0 cm tall and 9.0 cm across the base point to point, which is 83.2 mm across its flats. The collector rim is read off product photos at 0.96 of the foot, 80.2 mm across its flats. The waist at the joint is 0.76 of the foot. Spout tip to handle is about 133 mm.</p>
78
78
<h2id="construction">Construction<aclass="anchor" href="#construction" aria-label="Link to this section">#</a></h2>
79
-
<ul><li><strong>Body.</strong> Boiler, collector and lid are eight-flat lathes from <code>(apothem, z)</code> profiles: the distance from the axis to the middle of a flat, which is what a ruler across the pot reads. Vertices every 45° offset by 22.5° put a flat square on each axis, so the fin and the spout each sit on a flat. The boiler flares from a 63.6 mm neck to an 83.2 mm foot; the collector from a 65.2 mm waist to an 80.2 mm rim. Its bottom 9 mm is a vertical skirt 67.6 mm across, 2.0 mm proud of the boiler's neck and 1.2 mm proud of its own waist: the grip band. Every edge over 30° is chamfered 0.7 mm, which includes the 45° ridge between flats, so the ridges catch light.</li><li><strong>Joints are tenoned, not stood.</strong> The collector's floor sits 3.5 mm below the boiler's top plane (the boiler's neck runs up inside the skirt); the lid sits 1.8 mm below the collector's top plane; the knob is driven 1.8 mm into the lid. Nothing lands on a shared plane.</li><li><strong>Spout.</strong> A triangular prism on the −x flat: its base spans 30 mm of the flat and is driven 1.5 mm into the wall per vertex from the collector's own wall function; its apex is one vertical edge 12.4 mm out. The underside sweeps 21 mm down the wall to the base, and the lip rises 1.2 mm from the rim to the tip, so it reads as a V pinched out of the rim rather than a block stuck to it.</li><li><strong>Fin.</strong> A 22 mm plate on the +x flat built the same way, so it follows the collector's 7° flare from the waist almost to the rim. One brass rivet sits in the opening of the D.</li><li><strong>Handle.</strong> A bakelite D in the XZ plane: twenty-two rings of a twelve-point rounded rectangle along a superellipse half (exponent 0.55, 34 mm out from the fin, 41 mm between roots), slim at the roots and fuller through the grip. Both roots leave the fin horizontally and each root cap is cut parallel to the fin's raked face, 2.5 mm inside it.</li><li><strong>Hinge.</strong> An aluminium knuckle on top of the fin, through the collector's rim and the lid's edge.</li><li><strong>Fasteners.</strong> The rivet and the valve are small turned heads aimed down the host's normal (the fin's rake, the boiler's taper). Their seat is read back as height above the host's own nearest face.</li><li><strong>Shading.</strong> Aluminium is flat-shaded, because the faceting is the object. Bakelite and brass are turned or swept and smooth-shaded with every edge over 35° hard.</li></ul>
79
+
<ul><li><strong>Body.</strong> Boiler, collector and lid are eight-flat lathes from <code>(apothem, z)</code> profiles: the distance from the axis to the middle of a flat, which is what a ruler across the pot reads. Vertices every 45° offset by 22.5° put a flat square on each axis, so the fin and the spout each sit on a flat. The boiler flares from a 63.6 mm neck to an 83.2 mm foot; the collector from a 65.2 mm waist to an 80.2 mm rim. Its bottom 9 mm is a vertical skirt 67.6 mm across, 2.0 mm proud of the boiler's neck and 1.2 mm proud of its own waist: the grip band. Every edge over 30° is chamfered 0.7 mm, which includes the 45° ridge between flats, so the ridges catch light.</li><li><strong>Joints are tenoned, not stood.</strong> The collector's floor sits 3.5 mm below the boiler's top plane (the boiler's neck runs up inside the skirt); the lid sits 1.8 mm below the collector's top plane; the knob is driven 1.8 mm into the lid. Nothing lands on a shared plane.</li><li><strong>Spout.</strong> A triangular prism on the −x flat: its base spans 30 mm of the flat and is driven 1.5 mm into the wall per vertex from the collector's own wall function; its apex is one vertical edge 12.4 mm out. The underside sweeps 21 mm down the wall to the base, and the lip rises 1.2 mm from the rim to the tip, so it reads as a V pinched out of the rim rather than a block stuck to it.</li><li><strong>Fin.</strong> A 22 mm plate on the +x flat built the same way, so it follows the collector's 7° flare from the waist almost to the rim. One brass rivet sits in the opening of the D.</li><li><strong>Handle.</strong> A bakelite D in the XZ plane: twenty-two rings of a twelve-point rounded rectangle along a superellipse half (exponent 0.55, 34 mm out from the fin, 41 mm between roots), slim at the roots and fuller through the grip. Both roots leave the fin horizontally and each root cap is cut parallel to the fin's raked face, 2.5 mm inside it.</li><li><strong>Hinge.</strong> An aluminium knuckle on top of the fin, through the collector's rim and the lid's edge.</li><li><strong>Fasteners.</strong> The rivet and the valve are small turned heads aimed down the host's normal (the fin's rake, the boiler's taper). Their seat is read back as height above the host's own nearest face.</li><li><strong>Shading.</strong> Aluminium is flat-shaded, because the faceting is the object. Bakelite and brass are turned or swept and smooth-shaded with every edge over 35° hard.</li><li><strong>Aluminium surface (#345).</strong> Flat facets under a uniform grey read as plain planes, and the asset sheet judged the pot the least-designed object in its lineup. The material now carries vertical brushing (noise stretched along Z driving roughness 0.16–0.42 and a faint bump), a broad tone variation, and heat tint darkening the lowest 4.5 cm of the boiler, where a stovetop flame discolours a real pot. Render-only: no budget, face count or check changed.</li></ul>
80
80
<h2id="findings-the-budgets-forced">Findings the budgets forced<aclass="anchor" href="#findings-the-budgets-forced" aria-label="Link to this section">#</a></h2>
81
81
<ul><li><strong>Spout floated the wrong way.</strong><code>--float-spout</code> first shifted the whole spout in +x, which is <em>into</em> the pot: the bite read 5.5 mm and the failure was a sunk spout, not a floating one. It now lifts the base outward by 4 mm and leaves the tip where it was, so only the bite fails and the reach stays in its band.</li><li><strong>The first pass was not a Moka Express.</strong> It was 152 mm tall with a 100 mm foot, its waist pinched to only 0.81 of the foot, the handle a horn curving up off a bracket, and the spout a blunt block. Every budget passed. The quality pass took the size from retailer listings, pinched the waist to 0.76, added the grip band, and replaced the horn with a two-root D and the block with a V beak.</li><li><strong>Two rivets on one fin are a coplanar pair.</strong> The D's opening leaves room for rivets only 8.5 mm apart. On one raked plane with centres closer than the 20 mm window, their caps counted as 200 cross-shell coplanar pairs. The fin now carries one rivet, as the real one carries one screw.</li><li><strong>The fin rakes further than it is thick.</strong> Splitting the fin's vertices into inner and outer by world x put the outer face's low corners on the inner side, and its bite read −4.5 mm on a correct model. The split is now by signed distance off the collector's own surface.</li><li><strong>A D handle has two roots.</strong> Measuring the vertices nearest the pot in x saw only the lower root, because the wall flares out with height. Each half of the D is now read on its own, from the handle vertices inside the fin, and a root with none inside is a float.</li></ul>
82
82
<h2id="conventions-walked">Conventions walked<aclass="anchor" href="#conventions-walked" aria-label="Link to this section">#</a></h2>
<imgsrc="../assets/moka-pot-hero.webp" alt="An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." />
151
+
<imgsrc="../assets/moka-pot-hero.webp" alt="A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve." />
Copy file name to clipboardExpand all lines: showcase/gallery.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -954,7 +954,7 @@
954
954
"dir": "showcase/moka-pot",
955
955
"category": "household",
956
956
"teaches": "A procedural three-cup Moka Express-pattern pot — an eight-flat boiler and collector flaring out from an hourglass waist with a proud grip band, a V beak pinched from the rim, a hinged faceted lid and bakelite knob, a two-root bakelite D handle on a riveted fin, and a brass valve — carried through UVs, bake, LOD, compound collider, and Unity glTF, asserting recomputed budgets rather than an API contract.",
957
-
"alt": "An eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve.",
957
+
"alt": "A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band, a V-beak spout, a black bakelite knob and D handle, and a brass valve.",
958
958
"witnessesFix": "Recomputed: 1300 tris, three materials with 197 aluminium, 388 bakelite and 124 brass faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.1327×0.0832×0.1600 m, zmin 0, hygiene 0 including zero coplanar cross-shell pairs, 10 shells, the collector 3.5 mm onto the boiler, both handle roots 2.5 mm into the fin, the knob 1.8 mm into the lid, spout and fin 1.5 mm into the wall, fasteners 1.2–1.6 mm in and ≥1.8 mm proud, 83.2/80.2/160.0 mm foot/collector/height against a 16 cm, 9 cm-base three-cup pot, plumb 0 and eight-fold spread 0. --lean-pot exits 19 at 3.3 mm of plumb drift and --odd-facet at 2.0 mm of facet spread, both inside the unchanged bounding box.",
Copy file name to clipboardExpand all lines: showcase/moka-pot/README.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# moka-pot
2
2
3
-

3
+

4
4
5
5
A three-cup Moka Express-pattern stovetop pot: an eight-flat boiler that
6
6
flares out to its foot, a collector that flares out to its rim, both
@@ -136,6 +136,13 @@ Spout tip to handle is about 133 mm.
136
136
-**Shading.** Aluminium is flat-shaded, because the faceting is the
137
137
object. Bakelite and brass are turned or swept and smooth-shaded with
138
138
every edge over 35° hard.
139
+
-**Aluminium surface (#345).** Flat facets under a uniform grey read as
140
+
plain planes, and the asset sheet judged the pot the least-designed
141
+
object in its lineup. The material now carries vertical brushing (noise
142
+
stretched along Z driving roughness 0.16–0.42 and a faint bump), a
143
+
broad tone variation, and heat tint darkening the lowest 4.5 cm of the
144
+
boiler, where a stovetop flame discolours a real pot. Render-only: no
0 commit comments