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
feat: add park-bench and wheelbarrow showcase pieces (#158)
* feat: add park-bench showcase piece
Wrought-iron slatted bench with scrolled legs through the shipped budget pipeline. --skip-decimate exits 9 on the LOD1 ratio band.
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: add wheelbarrow showcase piece
Staved U-tray with iron straps, a spoked wheel, and rear legs through the shipped budget pipeline. --skip-decimate exits 9 on the LOD1 ratio band.
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 59 examples, and 11 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 13 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.
41
41
42
42
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.
43
43
@@ -86,6 +86,8 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
86
86
<ahref="showcase/fence-kit/"><imgsrc="showcase/fence-kit/preview.webp"alt="Fence kit: a timber post-and-rail section with pyramidal caps, iron shoes and straps on a dark studio floor" /></a>
87
87
<ahref="showcase/watchtower/"><imgsrc="showcase/watchtower/preview.webp"alt="Watchtower: a timber lookout with X-braces, hatch ladder, plank platform, and a coursed shake roof on a dark studio floor" /></a>
88
88
<ahref="showcase/cart/"><imgsrc="showcase/cart/preview.webp"alt="Cart: a two-wheel wooden cart with spoked wheels, slatted bed, and shafts on a dark studio floor" /></a>
89
+
<ahref="showcase/park-bench/"><imgsrc="showcase/park-bench/preview.webp"alt="Park bench: a wrought-iron bench with scrolled legs and wooden slats on a dark studio floor" /></a>
90
+
<ahref="showcase/wheelbarrow/"><imgsrc="showcase/wheelbarrow/preview.webp"alt="Wheelbarrow: a staved wooden tray with iron straps, a spoked wheel, rear legs, and handles on a dark studio floor" /></a>
89
91
90
92
[`shipping-crate`](showcase/shipping-crate/) — procedural crate through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets. Falsifier `--skip-decimate` exits 9.
91
93
@@ -109,6 +111,10 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
109
111
110
112
[`cart`](showcase/cart/) — procedural two-wheel wooden cart with spoked wheels, slatted bed, and shafts through the same pipeline. Falsifier `--skip-decimate` exits 9.
111
113
114
+
[`park-bench`](showcase/park-bench/) — procedural wrought-iron park bench with scrolled legs and slatted seat through the same pipeline. Falsifier `--skip-decimate` exits 9.
115
+
116
+
[`wheelbarrow`](showcase/wheelbarrow/) — procedural staved wheelbarrow with a spoked wheel, iron straps, legs, and handles through the same pipeline. Falsifier `--skip-decimate` exits 9.
117
+
112
118
## Examples
113
119
114
120
Runnable, smoke-gated demos live in [`examples/`](examples/) — each is executed headless on
Copy file name to clipboardExpand all lines: ROADMAP.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,8 +115,10 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo
115
115
-~~Hero prop with a more complex silhouette (lantern or treasure chest) as a second showcase piece~~**SHIPPED** as `showcase/street-lantern/` and `showcase/treasure-chest/` — hanging iron lantern with muntined amber cage; slatted chest with iron bands and an open lid; `--skip-decimate` exits 9 on the LOD1 ratio band
116
116
-~~Timber watchtower showcase~~**SHIPPED** as `showcase/watchtower/` — corner posts through a plank platform, lower-bay X-braces, hatch ladder, coursed shake roof; `--skip-decimate` exits 9 on the LOD1 ratio band
117
117
-~~Two-wheel wooden cart showcase~~**SHIPPED** as `showcase/cart/` — slatted bed, shafts, spoked wheels, iron hubs and axle; `--skip-decimate` exits 9 on the LOD1 ratio band
118
-
- Wrought-iron park bench (slatted seat, scrolled legs) as a game-prop showcase piece
119
-
- Wooden wheelbarrow (staved tray, single wheel, handles) as a game-prop showcase piece
118
+
-~~Wrought-iron park bench (slatted seat, scrolled legs) as a game-prop showcase piece~~**SHIPPED** as `showcase/park-bench/` — scrolled iron legs, slatted seat and back; `--skip-decimate` exits 9 on the LOD1 ratio band
119
+
-~~Wooden wheelbarrow (staved tray, single wheel, handles) as a game-prop showcase piece~~**SHIPPED** as `showcase/wheelbarrow/` — staved U-tray, iron straps, spoked wheel, rear legs; `--skip-decimate` exits 9 on the LOD1 ratio band
120
+
- Blacksmith anvil on a timber stump as a game-prop showcase piece
121
+
- Staved wooden water trough on a stand as a game-prop showcase piece
120
122
-~~Small modular kit showcase on recognizable geometry (`modular-kit-snap` contract)~~**SHIPPED** as `showcase/fence-kit/` — tiling post-and-rail section (AABB X is the tile width; does not re-witness the snap contract); `--skip-decimate` exits 9 on the LOD1 ratio band
121
123
122
124
-~~Custom ID-property delete witness~~**SHIPPED** as `examples/cross-version-property-delete/` — IDs built via `bpy.data.objects.new` (not `active_object`); `property_unset` is TypeError and leaves the key; `del` removes it on 4.5 LTS and 5.x
<aclass="card-media" href="park-bench/" aria-label="park-bench example detail page">
1011
+
<imgsrc="assets/park-bench-hero.webp" alt="park-bench — A procedural wrought-iron park bench through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." loading="lazy" decoding="async" />
1012
+
</a>
1013
+
<divclass="card-body">
1014
+
<h2><ahref="park-bench/">park-bench</a></h2>
1015
+
<pclass="teaches">A procedural wrought-iron park bench through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1016
+
<pclass="witnesses"><spanclass="tag">witnesses</span> Recomputed: 2100 tris, two materials with 510 metal faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.080×0.566×0.853 m, LOD ratios in band (5.2 COLLAPSE more aggressive on LOD2), convex collider 106 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.</p>
1017
+
<aclass="card-link" href="park-bench/">View example <spanaria-hidden="true">→</span></a>
<aclass="card-media" href="wheelbarrow/" aria-label="wheelbarrow example detail page">
1022
+
<imgsrc="assets/wheelbarrow-hero.webp" alt="wheelbarrow — A procedural wooden wheelbarrow through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." loading="lazy" decoding="async" />
1023
+
</a>
1024
+
<divclass="card-body">
1025
+
<h2><ahref="wheelbarrow/">wheelbarrow</a></h2>
1026
+
<pclass="teaches">A procedural wooden wheelbarrow through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
1027
+
<pclass="witnesses"><spanclass="tag">witnesses</span> Recomputed: 3088 tris, two materials with 308 metal faces, UVs in 0..1 with zero AABB overlap, outer AABB 1.418×0.463×0.594 m, LOD ratios in band (5.2 COLLAPSE more aggressive on LOD2), convex collider 106 tris, non-empty glTF. --skip-decimate exits 9 on the LOD1 ratio budget.</p>
1028
+
<aclass="card-link" href="wheelbarrow/">View example <spanaria-hidden="true">→</span></a>
1029
+
</div>
1030
+
</article>
1009
1031
</div>
1010
1032
<pclass="noresults" id="noResults" hidden>No examples match the current filters.
1011
1033
<buttonclass="chip" id="resetFilters" type="button">Clear search and tags</button></p>
0 commit comments