Skip to content

Commit 5a9aee8

Browse files
TMHSDigitalclaude
andcommitted
fix(showcase): moka-pot gets brushed, heat-tinted aluminium
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>
1 parent e6a0d68 commit 5a9aee8

10 files changed

Lines changed: 57 additions & 22 deletions

File tree

206 Bytes
Loading
-48 Bytes
Loading
152 Bytes
Loading
52.8 KB
Loading

‎docs/gallery/index.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1627,7 +1627,7 @@ <h2><a class="stretch" href="sea-stack-arch/">Sea Stack Arch</a></h2>
16271627
</article>
16281628
<article class="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">
16291629
<div class="card-media">
1630-
<img src="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+
<img src="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" />
16311631
</div>
16321632
<div class="card-body">
16331633
<h2><a class="stretch" href="moka-pot/">Moka Pot</a></h2>

‎docs/gallery/moka-pot/index.html‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<meta property="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" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/moka-pot-hero.webp" />
22-
<meta name="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+
<meta name="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." />
2323
<meta property="og:site_name" content="Blender Developer Tools" />
2424
<meta name="twitter:title" content="Moka Pot (moka-pot) — Showcase — Blender Developer Tools" />
2525
<meta name="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." />
@@ -49,8 +49,8 @@ <h1>Moka Pot</h1>
4949
</header>
5050
<main id="main">
5151
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../sea-stack-arch/" aria-label="Previous showcase piece: sea-stack-arch"><span aria-hidden="true">&larr;</span> sea-stack-arch</a><span class="pager-pos hud">68 of 76 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../cricket-wicket/" aria-label="Next showcase piece: cricket-wicket">cricket-wicket <span aria-hidden="true">&rarr;</span></a></nav>
52-
<button class="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-
<img src="../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+
<button class="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+
<img src="../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" />
5454
</button>
5555
<p class="zoom-hint">Rendered headless by the showcase piece itself. Select it to enlarge.</p>
5656
<div class="callout"><span class="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>
@@ -76,7 +76,7 @@ <h2 id="budgets">Budgets<a class="anchor" href="#budgets" aria-label="Link to th
7676
<div class="table-wrap"><table><thead><tr><th scope="col">Budget</th><th scope="col">Band</th><th scope="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>{&#x27;FINISHED&#x27;}</code> with image data</td><td><code>{&#x27;FINISHED&#x27;}</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>
7777
<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>
7878
<h2 id="construction">Construction<a class="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&#x27;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&#x27;s floor sits 3.5 mm below the boiler&#x27;s top plane (the boiler&#x27;s neck runs up inside the skirt); the lid sits 1.8 mm below the collector&#x27;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&#x27;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&#x27;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&#x27;s raked face, 2.5 mm inside it.</li><li><strong>Hinge.</strong> An aluminium knuckle on top of the fin, through the collector&#x27;s rim and the lid&#x27;s edge.</li><li><strong>Fasteners.</strong> The rivet and the valve are small turned heads aimed down the host&#x27;s normal (the fin&#x27;s rake, the boiler&#x27;s taper). Their seat is read back as height above the host&#x27;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&#x27;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&#x27;s floor sits 3.5 mm below the boiler&#x27;s top plane (the boiler&#x27;s neck runs up inside the skirt); the lid sits 1.8 mm below the collector&#x27;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&#x27;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&#x27;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&#x27;s raked face, 2.5 mm inside it.</li><li><strong>Hinge.</strong> An aluminium knuckle on top of the fin, through the collector&#x27;s rim and the lid&#x27;s edge.</li><li><strong>Fasteners.</strong> The rivet and the valve are small turned heads aimed down the host&#x27;s normal (the fin&#x27;s rake, the boiler&#x27;s taper). Their seat is read back as height above the host&#x27;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>
8080
<h2 id="findings-the-budgets-forced">Findings the budgets forced<a class="anchor" href="#findings-the-budgets-forced" aria-label="Link to this section">#</a></h2>
8181
<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&#x27;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&#x27;s vertices into inner and outer by world x put the outer face&#x27;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&#x27;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>
8282
<h2 id="conventions-walked">Conventions walked<a class="anchor" href="#conventions-walked" aria-label="Link to this section">#</a></h2>
@@ -148,7 +148,7 @@ <h3><a class="stretch" href="../wooden-barrel/">Wooden Barrel</a></h3>
148148
</main>
149149
<dialog class="lightbox" id="lightbox" aria-label="Full-size render">
150150
<div class="lightbox-bar"><button class="lightbox-close" id="lightboxNative" type="button" aria-pressed="false">Actual size</button><button class="lightbox-close" id="lightboxClose" type="button" autofocus>Close</button></div>
151-
<img src="../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+
<img src="../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." />
152152
</dialog>
153153
<footer class="site-footer">
154154
<div class="site-footer-inner">

‎showcase/gallery.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@
954954
"dir": "showcase/moka-pot",
955955
"category": "household",
956956
"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.",
958958
"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.",
959959
"hero": "docs/gallery/assets/moka-pot-hero.webp",
960960
"preview": "showcase/moka-pot/preview.webp",

‎showcase/moka-pot/README.md‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# moka-pot
22

3-
![A polished eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band at the joint, a V-beak spout, a faceted lid with a black bakelite knob and a hinge knuckle, a black bakelite D handle on a fin, and a brass safety valve on the boiler](preview.webp)
3+
![A brushed eight-sided aluminium moka pot pinched to an hourglass waist with a proud grip band at the joint, a V-beak spout, a faceted lid with a black bakelite knob and a hinge knuckle, a black bakelite D handle on a fin, and a brass safety valve on the boiler](preview.webp)
44

55
A three-cup Moka Express-pattern stovetop pot: an eight-flat boiler that
66
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.
136136
- **Shading.** Aluminium is flat-shaded, because the faceting is the
137137
object. Bakelite and brass are turned or swept and smooth-shaded with
138138
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
145+
budget, face count or check changed.
139146

140147
## Findings the budgets forced
141148

0 commit comments

Comments
 (0)