Skip to content

Commit 01207c4

Browse files
feat: add street-lantern showcase piece
Named well/barrel/campfire/stall list is exhausted; this is the ROADMAP hanging-lantern silhouette prop with budgets fitted to the generated mesh. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 0010f41 commit 01207c4

12 files changed

Lines changed: 2267 additions & 7 deletions

File tree

‎.cursor-plugin/plugin.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
"showcase/stone-well",
143143
"showcase/wooden-barrel",
144144
"showcase/campfire",
145-
"showcase/market-stall"
145+
"showcase/market-stall",
146+
"showcase/street-lantern"
146147
]
147148
}

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ classifies it as a `cursor-plugin`. This is content the AI loads when the user
2121
asks Blender questions or works on Blender add-ons in Cursor or Claude Code.
2222

2323
The content base is 16 skills, 9 rules, 3 templates, 27 snippets, 59
24-
examples, and 5 showcase pieces (counts are CI-enforced against README.md
24+
examples, and 6 showcase pieces (counts are CI-enforced against README.md
2525
and the manifest). The full inventory tables and per-item purposes live in
2626
`CLAUDE.md`. Example anatomy and authoring rules: copy `examples/bmesh-gear/`;
2727
showcase conventions: `showcase/README.md`. The render look is specified

‎CLAUDE.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ rules/<rule-name>.mdc - Anti-pattern rules, 9 total
2222
templates/<template-name>/ - Starter projects, 3 total
2323
snippets/<snippet-name>.py - Standalone code patterns, 27 total
2424
examples/<name>/ - Runnable smoke-gated examples, 59 total (+ gallery.json)
25-
showcase/<name>/ - Budget-conformance props, 5 pieces (sibling of examples/; see showcase/README.md)
25+
showcase/<name>/ - Budget-conformance props, 6 pieces (sibling of examples/; see showcase/README.md)
2626
scripts/build_gallery.py - Regenerates docs/gallery/ from examples/gallery.json + showcase/gallery.json
2727
scripts/site/ - Vendored landing-page build (Jinja2)
2828
docs/gallery/ - Committed generated gallery pages + hero renders

‎README.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</p>
1919

2020
<p align="center">
21-
<strong>16 skills</strong> &nbsp;&bull;&nbsp; <strong>9 rules</strong> &nbsp;&bull;&nbsp; <strong>3 templates</strong> &nbsp;&bull;&nbsp; <strong>27 snippets</strong> &nbsp;&bull;&nbsp; <strong>59 examples</strong> &nbsp;&bull;&nbsp; <strong>5 showcase pieces</strong>
21+
<strong>16 skills</strong> &nbsp;&bull;&nbsp; <strong>9 rules</strong> &nbsp;&bull;&nbsp; <strong>3 templates</strong> &nbsp;&bull;&nbsp; <strong>27 snippets</strong> &nbsp;&bull;&nbsp; <strong>59 examples</strong> &nbsp;&bull;&nbsp; <strong>6 showcase pieces</strong>
2222
</p>
2323

2424
<p align="center">
@@ -37,7 +37,7 @@
3737

3838
## Overview
3939

40-
This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, and 5 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.
40+
This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, and 6 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.
4141

4242
The content is consumed by AI coding agents (Cursor, Claude Code, any MCP-capable client) when working on Blender add-ons, geometry nodes scripts, batch pipelines, or animation tooling. There is no build step. Edit the markdown and Python files directly.
4343

@@ -80,6 +80,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
8080
<a href="showcase/wooden-barrel/"><img src="showcase/wooden-barrel/preview.webp" alt="Wooden barrel: a staved barrel with iron hoops on a dark studio floor, warm wedge on the back wall" /></a>
8181
<a href="showcase/campfire/"><img src="showcase/campfire/preview.webp" alt="Campfire: a two-course stone fire ring with a tripod of logs on a dark studio floor, warm wedge on the back wall" /></a>
8282
<a href="showcase/market-stall/"><img src="showcase/market-stall/preview.webp" alt="Market stall: a timber frame with post feet, slatted counter, rafters, and a striped awning on a dark studio floor, warm wedge on the back wall" /></a>
83+
<a href="showcase/street-lantern/"><img src="showcase/street-lantern/preview.webp" alt="Street lantern: an iron post with brass collars, a braced arm, and a muntined amber cage on a dark studio floor" /></a>
8384

8485
[`shipping-crate`](showcase/shipping-crate/) — procedural crate through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets. Falsifier `--skip-decimate` exits 9.
8586

@@ -91,6 +92,8 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
9192

9293
[`market-stall`](showcase/market-stall/) — procedural timber stall with striped awning and counter through the same pipeline. Falsifier `--skip-decimate` exits 9.
9394

95+
[`street-lantern`](showcase/street-lantern/) — procedural hanging lantern with iron post, brass fittings, and amber cage through the same pipeline. Falsifier `--skip-decimate` exits 9.
96+
9497
## Examples
9598

9699
Runnable, smoke-gated demos live in [`examples/`](examples/) — each is executed headless on
11.6 KB
Loading

‎docs/gallery/index.html‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ <h1>Examples Gallery</h1>
272272
autocomplete="off" spellcheck="false" aria-label="Search examples" />
273273
<button class="q-clear" id="qClear" type="button" aria-label="Clear search" hidden>&times;</button>
274274
</div>
275-
<span class="count" id="count" role="status" aria-live="polite">56 examples</span>
275+
<span class="count" id="count" role="status" aria-live="polite">57 examples</span>
276276
<div class="density" role="group" aria-label="Card density">
277277
<button class="density-btn" data-density="compact" type="button" aria-pressed="false">Compact</button>
278278
<button class="density-btn" data-density="detailed" type="button" aria-pressed="false">Detailed</button>
@@ -940,6 +940,17 @@ <h2><a href="market-stall/">market-stall</a></h2>
940940
<a class="card-link" href="market-stall/">View example <span aria-hidden="true">&rarr;</span></a>
941941
</div>
942942
</article>
943+
<article class="card" data-tags="mesh export showcase">
944+
<a class="card-media" href="street-lantern/" aria-label="street-lantern example detail page">
945+
<img src="assets/street-lantern-hero.webp" alt="street-lantern — A procedural hanging street lantern through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." loading="lazy" decoding="async" />
946+
</a>
947+
<div class="card-body">
948+
<h2><a href="street-lantern/">street-lantern</a></h2>
949+
<p class="teaches">A procedural hanging street lantern through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
950+
<p class="witnesses"><span class="tag">witnesses</span> Recomputed: 3520 tris, three materials with 24 glass and 94 brass faces, UVs in 0..1 with zero AABB overlap, outer AABB 0.403×0.892×1.404 m, LOD ratios in band, convex collider 84 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.</p>
951+
<a class="card-link" href="street-lantern/">View example <span aria-hidden="true">&rarr;</span></a>
952+
</div>
953+
</article>
943954
</div>
944955
<p class="noresults" id="noResults" hidden>No examples match the current filters.
945956
<button class="chip" id="resetFilters" type="button">Clear search and tags</button></p>

0 commit comments

Comments
 (0)