From 2b94a6255a1fc243267e6086bd47cc1fc6c5cdd6 Mon Sep 17 00:00:00 2001
From: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Date: Fri, 25 Sep 2026 15:35:13 -0400
Subject: [PATCH] feat(showcase): add brazier
A brazier was the next unclaimed showcase candidate. What an envelope
check cannot see on it is whether it would tip when knocked: legs tucked
in under the bowl still reach the floor and still fit its bounding box.
The piece recomputes a density-weighted mass centre from the closed
shells and the support polygon from the feet on the floor, and asserts
the tip angle; --tuck-legs exits 19 at 10.2 degrees while every other
budget passes.
Also asserts the legs bite the bowl, the coals sit in the ash below the
rim without interpenetrating and vary in size, each with a falsifier
proven on 4.5.11, 5.1.2 and 5.2.1.
Co-Authored-By: Claude Opus 5.5 (1M context)
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
---
.cursor-plugin/plugin.json | 3 +-
CLAUDE.md | 2 +-
README.md | 9 +-
ROADMAP.md | 2 +-
docs/gallery/asset-sheets/brazier.webp | Bin 0 -> 34722 bytes
docs/gallery/assets/brazier-hero.webp | Bin 0 -> 25576 bytes
docs/gallery/brazier/index.html | 1739 +++++++++++++++++
.../contact-sheets/brazier-contact-sheet.webp | Bin 0 -> 54150 bytes
docs/gallery/index.html | 15 +-
showcase/brazier/README.md | 236 +++
showcase/brazier/brazier.py | 1371 +++++++++++++
showcase/brazier/preview.webp | Bin 0 -> 23620 bytes
showcase/gallery.json | 13 +
tests/smoke/catalog.json | 3 +-
14 files changed, 3384 insertions(+), 9 deletions(-)
create mode 100644 docs/gallery/asset-sheets/brazier.webp
create mode 100644 docs/gallery/assets/brazier-hero.webp
create mode 100644 docs/gallery/brazier/index.html
create mode 100644 docs/gallery/contact-sheets/brazier-contact-sheet.webp
create mode 100644 showcase/brazier/README.md
create mode 100644 showcase/brazier/brazier.py
create mode 100644 showcase/brazier/preview.webp
diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json
index 2fa631b1..762e8c90 100644
--- a/.cursor-plugin/plugin.json
+++ b/.cursor-plugin/plugin.json
@@ -167,6 +167,7 @@
"showcase/crate-stack",
"showcase/stone-archway",
"showcase/rope-bridge",
- "showcase/grain-sacks"
+ "showcase/grain-sacks",
+ "showcase/brazier"
]
}
diff --git a/CLAUDE.md b/CLAUDE.md
index e061df11..81befb07 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -22,7 +22,7 @@ rules/.mdc - Anti-pattern rules, 9 total
templates// - Starter projects, 3 total
snippets/.py - Standalone code patterns, 27 total
examples// - Runnable smoke-gated examples, 59 total (+ gallery.json)
-showcase// - Budget-conformance props, 30 pieces (sibling of examples/; see showcase/README.md)
+showcase// - Budget-conformance props, 31 pieces (sibling of examples/; see showcase/README.md)
scripts/build_gallery.py - Regenerates docs/gallery/ from examples/gallery.json + showcase/gallery.json
scripts/site/ - Vendored landing-page build (Jinja2)
docs/gallery/ - Committed generated gallery pages + hero renders
diff --git a/README.md b/README.md
index 80bb0dcf..df201fc4 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
- 16 skills • 9 rules • 3 templates • 27 snippets • 59 examples • 30 showcase pieces
+ 16 skills • 9 rules • 3 templates • 27 snippets • 59 examples • 31 showcase pieces
@@ -37,7 +37,7 @@
## Overview
-This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, and 30 showcase pieces** for Blender Python development targeting Blender 5.2 LTS (current stable) with Blender 4.5 LTS fallback support. Blender 5.1 is prior stable.
+This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, and 31 showcase pieces** for Blender Python development targeting Blender 5.2 LTS (current stable) with Blender 4.5 LTS fallback support. Blender 5.1 is prior stable.
The content is consumed by AI coding agents reading these files directly from a checkout — **there is no MCP server in this repository, and none is required**. Cursor applies `rules/*.mdc` automatically wherever their scope globs match and takes skills by name in chat; Claude Code reads `skills/` and `rules/` from the project workspace, or from this repo kept as a referenced checkout. Any agent that can read files in a workspace can use it the same way. There is no build step for the content — edit the Markdown and Python files directly.
@@ -106,7 +106,7 @@ per-script exit-code model, are in
Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](showcase/README.md).
-30 showcase pieces — click to expand the preview grid
+31 showcase pieces — click to expand the preview grid
@@ -139,6 +139,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
+
[`shipping-crate`](showcase/shipping-crate/) — procedural crate through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets. Falsifier `--skip-decimate` exits 9.
@@ -197,6 +198,8 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
[`grain-sacks`](showcase/grain-sacks/) — procedural pile of burlap grain sacks settled onto flat bases and tied with twine, through the same pipeline. Falsifiers `--round-bottom` exits 19, `--slip-tie` exits 17.
+[`brazier`](showcase/brazier/) — procedural iron brazier with ash and glowing charcoal whose tip angle is recomputed from a density-weighted mass centre and the feet on the floor, through the same pipeline. Falsifiers `--tuck-legs` exits 19, `--overfill` exits 18.
+
## Examples
diff --git a/ROADMAP.md b/ROADMAP.md
index 3f70c9d3..319fd2c6 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -135,7 +135,7 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo
- ~~Keystone archway with voussoirs as a game-prop showcase piece~~ **SHIPPED** as `showcase/stone-archway/` — coursed piers, projecting imposts, nine voussoirs, proud keystone; the intrados circle fit is recomputed from vertex positions and `--off-circle` exits 19 on it while leaving every other budget passing
- ~~Rope bridge (planks, rope rails, sag between anchors) as a game-prop showcase piece~~ **SHIPPED** as `showcase/rope-bridge/` — log posts, through-tenoned sills, twenty planks seated on laid foot ropes, lashed hand ropes, suspenders, staked tie-offs; a least-squares parabola is fitted to the plank tops and `--vee-deck` exits 19 on it with the sag still in band
- ~~Grain sacks (cloth sacks, some slumped, tied necks) as a game-prop showcase piece~~ **SHIPPED** as `showcase/grain-sacks/` — three settled, pleated burlap sacks, one lying, twine ties seated in the neck waist, sacks pressed into one another; flat contact patch summed from the mesh, `--round-bottom` exits 19 on it while zmin still passes
-- Brazier (iron bowl on legs, coals, ash) as a game-prop showcase piece
+- ~~Brazier (iron bowl on legs, coals, ash) as a game-prop showcase piece~~ **SHIPPED** as `showcase/brazier/` — spun bowl with a rolled rim, three one-sweep forged legs, ash bed biting the wall, 36 cleaved coals packed without interpenetration; tip angle from a density-weighted mass centre and the support polygon, `--tuck-legs` exits 19 on it while the feet still ground
- Apothecary shelf (shelf unit, bottles and jars of varied form) as a game-prop showcase piece
- Wooden yoke (oxbow, iron rings) as a game-prop showcase piece
- Butter churn (staved tub, lid, dasher) as a game-prop showcase piece
diff --git a/docs/gallery/asset-sheets/brazier.webp b/docs/gallery/asset-sheets/brazier.webp
new file mode 100644
index 0000000000000000000000000000000000000000..bfa61b3f07773f3418692c35a416f003c38ee50a
GIT binary patch
literal 34722
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
literal 0
HcmV?d00001
diff --git a/docs/gallery/assets/brazier-hero.webp b/docs/gallery/assets/brazier-hero.webp
new file mode 100644
index 0000000000000000000000000000000000000000..70d44c4de76b8cb73053e782d82f2ff3bcdee400
GIT binary patch
literal 25576
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