Skip to content

Commit efc489c

Browse files
TMHSDigitalclaude
andcommitted
feat(showcase): add cactus-garden (nature)
The fifth piece in the nature category: a Sonoran cactus garden on a raised sand-and-gravel disc. A 2.2 m saguaro of fourteen pleated ribs (rounded crests, creased valleys, a drought pinch, a domed crown), three arms leaving the trunk through a smooth collar where the pleats open out, turning up through wide elbows; felt areoles with three-spine clusters down every crest, a corky boot and two scars conforming to the ribs, and cream flowers on the crown and one arm tip. A fishhook barrel of eighteen ribs with a red hooked central at every areole and seven yellow crown fruit; a prickly pear of twelve broad sage paddles in four tiers, each pad's narrow base fused into its parent's rim with no stalk, thick to the rim with a swollen centre, glochids on a diagonal lattice, magenta fruit; a blue agave rosette of keeled, channelled leaves; cleaved sandstone rocks, a bleached branch, two fallen saguaro ribs, bunchgrass and gravel. Ten materials; seeded plan plus hashed per-areole draws. Budgets (5.2.1): 45364 tris (band 44700-46000), LOD 0.5000 / 0.2200, 10 materials with face floors, UVs 0..1 overlap 0, AABB 2.9950 x 2.6077 x 2.3754 m, collider 112 tris, hygiene 0 incl. coplanar cross-shell. Arm bites 0.1154-0.1222 m (0.080-0.160); pad seats 0.0297-0.0313 m (0.022-0.040); saguaro lean 0.000 deg, mass 0.0012 m off its foot, height 2.2004 m, crest diameter 0.3376 m; rib gap spread 0.000 deg on 14 trunk and 18 barrel ribs (cap 2); 898 spine clusters rooted 0.00363-0.00602 m (0.0030-0.0080); bedding 0.0498-0.0829 m, agave leaves 0.0424-0.0531 m; 1118 shells joined to the sand. Every inside test is ray parity: a nearest face's normal read a pad joint 0.11 m "inside" a pad it was nowhere near. Falsifiers (each breaks only its own budget; tris unchanged on all): - --skip-decimate -> r1 1.0000 -> 9 - --stray-vert -> loose_v 1 -> 15 - --lift-z -> zmin 0.05000 -> 16 - --short-arm -> arms drawn 70 mm out, bites 0.0465-0.0545 m -> 17 - --shallow-pad -> leaf pad slid 22 mm, seat 0.0093 m -> 18 - --lean-saguaro -> lean 3.702 deg, mass 0.0606 m off -> 19 - --skew-ribs -> one rib 7 deg off, spread 13.908 deg -> 20 - --float-spines -> lifted 3 mm, root 0.00096 m -> 21 - --perch-barrel -> raised 35 mm, shallowest sector 0.0200 m -> 22 - --float-cover -> 109 of 1118 shells loose -> 23 Two default runs print identical measurements. Blender: E:\Blender-Developer-Tools\.scratch\5.2\blender-5.2.1-windows-x64\blender.exe, reports "Blender 5.2.1 LTS". 4.5 LTS left to CI. Render: render_hero.py wrote hero and preview; framing fill x 0.506, y 0.883, margins >= 0.022; asset-quality floors pass (edge90 0.019). Asset sheet (docs/gallery/asset-sheets/cactus-garden.webp): not the least-designed object in the lineup; the hydrant and the wheelbarrow are plainer. Isolated, it reads at once as a desert garden: pleated saguaro with spine rows and flowers, hooked barrel, fruiting pear clump, agave. The pear reads as a fanning pad-on-pad clump in the panel. Weak point: the agave and small ground cover are modest at panel size. Contact sheet (docs/gallery/contact-sheets/cactus-garden-contact-sheet.webp): luma 0.2397 against 0.2369-0.2428 (in band; first draft 0.2344, relit with a brighter key and a closer camera). Stage 0.2434 against 0.1919-0.2517 (in band). Saturation 0.1773 against 0.1525-0.2367 (in band). Wedge warmth +0.0964 against -0.1440/+0.1052/+0.0921 (inside the spread). Thumbnail legible. Also updated: README, CLAUDE.md, AGENTS.md counts (53 -> 54), ROADMAP Nature list (cactus garden struck as shipped), asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated gallery. build_gallery, check_site_links (109 pages, 0 failures), check_falsifier_targets, check_exit_code_readme, check_engine_id, check_gallery_images and the count check pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent a4326bf commit efc489c

69 files changed

Lines changed: 9307 additions & 122 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.cursor-plugin/plugin.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@
191191
"showcase/pond-edge",
192192
"showcase/stand-mixer",
193193
"showcase/cargo-loader",
194-
"showcase/archery-target"
194+
"showcase/archery-target",
195+
"showcase/cactus-garden"
195196
]
196197
}

‎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, 60
24-
examples, and 53 showcase pieces (counts are CI-enforced against README.md)
24+
examples, and 54 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, 60 total (+ gallery.json)
25-
showcase/<name>/ - Budget-conformance props, 53 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
25+
showcase/<name>/ - Budget-conformance props, 54 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
2626
scripts/build_gallery.py - Regenerates docs/gallery/ from examples/gallery.json + showcase/gallery.json
2727
scripts/site/ - Vendored landing-page build (Jinja2); tokens.css is the shared palette
2828
tests/check_site_links.py - Internal link/anchor/alt gate over the built site (docs/)

‎README.md‎

Lines changed: 6 additions & 3 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>60 examples</strong> &nbsp;&bull;&nbsp; <strong>53 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>60 examples</strong> &nbsp;&bull;&nbsp; <strong>54 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, 60 examples, and 53 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, 60 examples, and 54 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 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.
4343

@@ -106,7 +106,7 @@ per-script exit-code model, are in
106106
Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](showcase/README.md).
107107

108108
<details>
109-
<summary><strong>53 showcase pieces</strong> — click to expand the preview grid</summary>
109+
<summary><strong>54 showcase pieces</strong> — click to expand the preview grid</summary>
110110

111111
<p align="center">
112112
<a href="showcase/shipping-crate/"><img src="showcase/shipping-crate/preview.webp" width="24%" alt="Shipping crate: a wooden slat crate stencilled PORT ROYAL and NO 17, with iron corner brackets and an end handle, on a dark studio floor, warm wedge on the back wall" /></a>
@@ -162,6 +162,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
162162
<a href="showcase/stand-mixer/"><img src="showcase/stand-mixer/preview.webp" width="24%" alt="Stand mixer: a slate-blue retro tilt-head stand mixer with a chrome trim band and a brushed steel bowl on a stone countertop, beside a wire whisk, a steel measuring cup and two brown eggs in a terracotta dish, on a dark studio floor" /></a>
163163
<a href="showcase/cargo-loader/"><img src="showcase/cargo-loader/preview.webp" width="24%" alt="Cargo loader: a yellow bipedal powered-lift exoframe in a crouch, hydraulic rams and pinned clevises on its legs and arms, an open roll-cage cockpit with a seat, harness and amber beacon, a power pack behind, holding a corrugated blue-grey crate on two forks, on a dark studio floor" /></a>
164164
<a href="showcase/archery-target/"><img src="showcase/archery-target/preview.webp" width="24%" alt="Archery target: a straw boss with a gold, red, blue, black and white face and five arrows, leaning on a timber easel numbered 12 with a hinged rear leg and a splay chain, on a turf patch with a leather quiver and a snapped arrow in the grass, on a dark studio floor" /></a>
165+
<a href="showcase/cactus-garden/"><img src="showcase/cactus-garden/preview.webp" width="24%" alt="Cactus garden: a ribbed saguaro with three arms, rows of spines and cream flowers on its crown, a barrel cactus with red hooked spines and yellow fruit, a prickly pear with magenta fruit, an agave rosette and sandstone rocks on a raised sand disc, on a dark studio floor" /></a>
165166
</p>
166167

167168
[`shipping-crate`](showcase/shipping-crate/) — procedural crate through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets. Falsifier `--skip-decimate` exits 9.
@@ -266,6 +267,8 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
266267

267268
[`archery-target`](showcase/archery-target/) — the fifth `sports` piece: procedural archery range target (a compressed-straw boss coiled from rope courses that show on its back and edge, bound with doubled jute twine tight over the crests; an 80 cm ten-zone World Archery face with ring lines, an X ring and a printed X, held by target pins; a timber easel leaning it back 12° on toe skids with knee braces, a ledge with a stop lip on a bolted rail and gussets, a numbered butt board, a strap hinge pinned to a rear leg in a steel ferrule and foot, a splay chain between eye bolts; five arrows in the face, one glancing into the edge, one snapped with its fletched half on the grass, a leather quiver of arrows among grass tufts on a turf patch), whose supports bedded in the turf, hinge pin coaxial with its knuckles, boss seated on its ledge and leaning on both legs, regulation gold height and size, points buried in the straw, fletching clear of the face, vanes at 120°, ring radii of the scoring table, forward tip angle and single connected assembly are recomputed from the mesh, through the same pipeline. Falsifiers `--float-foot` exits 16, `--offset-hinge` 17, `--lift-boss` 18, `--high-boss` 19, `--shallow-arrow` 20, `--short-arrow` 21, `--skew-vane` 22, `--wide-gold` 23, `--short-skids` 24, `--loose-pin` 25.
268269

270+
[`cactus-garden`](showcase/cactus-garden/) — the fifth `nature` piece: procedural Sonoran cactus garden on a raised sand-and-gravel disc (a 2.2 m saguaro of fourteen pleated ribs with rounded crests, three arms leaving the trunk through a smooth collar and turning up through wide elbows, a corky boot and scars, felt areoles with radiating spine clusters down every crest and cream flowers on the crown; a fishhook barrel cactus with a red hooked central at every areole and a ring of yellow fruit; a prickly pear of twelve broad sage paddles fused pad on pad in four tiers, with glochids and magenta fruit; a blue agave rosette, cleaved sandstone rocks, a bleached branch, fallen saguaro ribs, dry bunchgrass and gravel), whose arms biting into the trunk, pads jointed into their parents, plumb saguaro with its mass over its foot, ribs at equal stations, spines rooted in the skin, plants bedded in the sand and cover joined to the sand are recomputed from the mesh, through the same pipeline. Falsifiers `--short-arm` exits 17, `--shallow-pad` 18, `--lean-saguaro` 19, `--skew-ribs` 20, `--float-spines` 21, `--perch-barrel` 22, `--float-cover` 23.
271+
269272
</details>
270273

271274
## Examples

0 commit comments

Comments
 (0)