Skip to content

Commit 4b2c66b

Browse files
TMHSDigitalclaude
andcommitted
feat(showcase): add mushroom-stump (nature)
The seventh piece in the nature category: a felled-tree stump on a forest-floor soil disc that rises toward the back. The stump is one lathe about a plumb axis, sawn off 0.50 m above the soil and 0.62 m across the bark, widening toward the ground and flaring through five buttresses into it. Its foot follows the soil: the four lowest rings sit a fixed offset above the soil read back by raycast under each vertex, the lowest 45 mm under it. Plated bark cut by sixteen wandering V furrows, peeled in two patches to the sapwood with a dark torn rim (Peel point attribute). The saw cut carries uneven growth rings drawn as thin latewood lines round a dark heartwood, grey weathering from the rim in, faint chainsaw streaks, and five radial drying checks, each a V groove deepening toward the rim that notches the bark (Check point attribute darkens only the groove floor). A strip of torn holding wood stands on the hinge chord, leaning toward the fall, with three long splinters. Five surface roots, one per buttress, lie in the soil along their run and dive into it; near the disc's rolled rim they are held inside the thinning soil. Four moss cushions on the shaded north flank; two tiers of thin, lobed, banded turkey-tail brackets set into the bark; three fly agarics (mature, domed, button) with Voronoi warts on a red cap, pleated gills, a bulbous volva and a hanging skirt on a folded lathe profile; two clusters of ringed honey fungus out of a root (7) and the stump's foot (6), neighbours alternating tall-and-close with short-and-leaning so the caps shingle. 101 leaves in drifts, two fern clumps, three forked twigs, four cleaved pebbles. Twelve materials. Budgets (measured, 5.2.1): 35250 tris (34700-35800), LOD 0.5000/0.2200, 12 materials with face floors, UVs 0..1 no overlap, AABB 1.9961x1.8965x 0.7807 (+-0.01), collider 66 (<=75), hygiene 0 incl. 0 coplanar cross-shell pairs, zmin 0; stump sealed in 8/8 sectors (5 mm); 16 caps on 16 stipes, bite 0.0057-0.0137 m (0.003-0.030); cut tilt 0.1167 deg (<=1.0), 0.6207 m across and 0.5002 m tall (0.62/0.50 +-0.015); 5 roots, shallowest of 19 stations 0.0227 m under (>=0.006); 16 stipes rooted 0.0237-0.0425 m in soil, root or stump (0.008-0.070); 6 shelves 0.0182-0.0212 m in the bark (0.006-0.050); moss 0.9529 up/north (>=0.85); 343 cover shells all joined to the soil. Two default runs identical; 4.5.11 and 5.1.2 print the same measurements (export differs by 8 bytes). The coplanar budget caught cap-cap pairs in the honey clusters (members at one height and reach), a leaf pair (leaves closer than their length) and a fern pinna pair; fixed by alternating members, half-length spacing plus a per-leaf roll, and a per-frond twist phase. The root bed audit first binned at 0.05 m with rings 0.075 m apart, so bins held part rings and read negative; roots now carry 24 rings and bins where a root leaves the buttress (sealed by the stump) are skipped. A soil heap round the foot made --perch-stump seal 8/8 anyway; the heap went and the slope steepened. Falsifiers (flag -> measured -> exit), 5.2.1 and 4.5.11 identical; tris 35250 and envelope unchanged in all: --skip-decimate LOD1 1.0000 9 --stray-vert loose_v 1 15 --lift-z zmin 0.05000 16 --perch-stump sealed 7/8 sectors 17 --float-caps stipe bite -0.0156..-0.0100 m 18 --tilt-cut cut tilt 4.8884 deg 19 --fat-stump 0.6703 m across 19 --arch-roots shallowest station -0.0273 m 20 --float-mushrooms host depth -0.0260..-0.0052 m 21 --float-brackets bark bite -0.0166..-0.0130 m 22 --sunny-moss 0.4448 up/north 23 --float-cover 101 of 343 cover shells loose 24 --float-caps at 30 mm put a honey crown on a neighbour's gill plane and exited 15; 24 mm keeps it on 18. --perch-stump first moved a honey cap onto a bracket underside (15); the lower tier went up the bole. --fat-stump first re-grounded the piece 6.4 mm (the foot fan's centre went below the disc); the centre now sits under the ring's mean. The upper lathe ring count is fixed so a falsifier that moves the foot keeps the topology. tests/check_falsifier_targets.py --run --only mushroom-stump passes. Blender: E:\Blender-Developer-Tools\.scratch\5.2\blender-5.2.1-windows-x64\blender.exe, reports "Blender 5.2.1 LTS"; default and every falsifier also run on .scratch\blender-4.5.11-windows-x64 ("Blender 4.5.11 LTS"); default on .scratch\blender-5.1.2-windows-x64 ("Blender 5.1.2"). Render: render_hero.py wrote hero (46360 B) and preview (41952 B); framing fill x 0.675, y 0.856, margins left 0.206 right 0.119 bottom 0.039 top 0.106; asset-quality floors pass (12 materials, edge90 0.018). Default stage, hero yaw 180 deg about Z, no deviation. Asset sheet (docs/gallery/asset-sheets/mushroom-stump.webp): not the least-designed object; the hydrant is plainer. Isolated, it reads at once as a sawn stump with a ringed, checked top and splinters, buttress roots, moss, banded brackets, honey clusters and fly agarics among leaves and ferns. Weak point: at panel size the small parts are small against a wide soil disc, and the ferns are the stylised fronds shared with fallen-log. Contact sheet (docs/gallery/contact-sheets/mushroom-stump-contact-sheet.webp): luma 0.2377 against 0.2369-0.2428 (in band, after relighting from 0.2753); stage 0.2456 against 0.1919-0.2517 (in range, dark); wedge warmth +0.1456, a warm pool on the wall (calibration -0.144..+0.105, warmest of the set); saturation 0.2298 against 0.1525-0.2367; subject fill 0.856 vertical. Thumbnail legible: stump, red caps and ferns read at a glance. Also updated: README, CLAUDE.md, AGENTS.md counts (61 -> 62), ROADMAP Nature list (tree stump with mushrooms struck as shipped), asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated gallery. build_gallery, check_site_links (117 pages, 0 failures), check_falsifier_targets (static and --run), check_exit_code_readme, check_engine_id, check_gallery_images and check_import_export_rules pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 73eefcd commit 4b2c66b

77 files changed

Lines changed: 9036 additions & 133 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
@@ -199,6 +199,7 @@
199199
"showcase/palm-tree",
200200
"showcase/wingback-armchair",
201201
"showcase/planet-rover",
202-
"showcase/traffic-cones"
202+
"showcase/traffic-cones",
203+
"showcase/mushroom-stump"
203204
]
204205
}

‎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 61 showcase pieces (counts are CI-enforced against README.md)
24+
examples, and 62 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, 61 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
25+
showcase/<name>/ - Budget-conformance props, 62 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>61 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>62 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 61 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 62 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>61 showcase pieces</strong> — click to expand the preview grid</summary>
109+
<summary><strong>62 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>
@@ -170,6 +170,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
170170
<a href="showcase/wingback-armchair/"><img src="showcase/wingback-armchair/preview.webp" width="24%" alt="Wingback armchair: an oxblood leather wingback with a deep-button tufted back, rolled arms trimmed with brass nailheads and a piped seat cushion, beside a side table with a brass reading lamp and books on a fringed rug" /></a>
171171
<a href="showcase/planet-rover/"><img src="showcase/planet-rover/preview.webp" width="24%" alt="Planet rover: a six-wheeled rocker-bogie rover with gold-foil sides, a camera mast, a dish antenna and a finned power unit, its arm drilling a boulder on red-grey regolith" /></a>
172172
<a href="showcase/traffic-cones/"><img src="showcase/traffic-cones/preview.webp" width="24%" alt="Traffic cones: orange cones with white reflective collars on a patch of asphalt with a worn white line, three standing in a row, three nested in a stack and one knocked over showing its open base, before a striped A-frame barricade with an amber warning lamp" /></a>
173+
<a href="showcase/mushroom-stump/"><img src="showcase/mushroom-stump/preview.webp" width="24%" alt="Mushroom stump: a sawn tree stump with ringed, cracked end grain and torn splinters on a sloping soil disc, buttress roots in the soil, moss, banded shelf fungi, honey mushroom clusters, red fly agarics, ferns and fallen leaves" /></a>
173174
</p>
174175

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

291292
[`traffic-cones`](showcase/traffic-cones/) — the seventh `vehicles` piece: procedural roadworks set on a cut-out patch of asphalt (a broken edge, a worn white road line and two sealed tar cracks; seven 720 mm PVC cones, each a hollow lathed body with a moulded bead and a rolled lip round an open tip, bonded into a square rubber base with chamfered corners, a raked top, a collar, four lugs and a recess underneath, and hooped with two retroreflective collars; three standing in a taper line, three nested in a stack and one knocked over onto the edge of its base and its lip; a folding A-frame barricade of four square steel legs hinged in pairs on pivot bolts, spread by pinned straps, footed in rubber pads, with two striped boards bolted to each face and a warning lamp with amber fresnel lenses on a bracket), the cone wall sized so each cone in the stack bears 1 mm on the one below at a 36 mm pitch. `--float-cone` exits 16 on every support bedded in the slab, `--gap-board` 17 on the boards biting their legs, `--float-band` 18 on the collars seated on their bodies, `--lean-cone` and `--skew-leg` 19 on the cones plumb at real size and the legs mirror-symmetric, `--loose-stack` 20 on the nesting pitch and wall bite, `--loose-lamp` 21 on one connected assembly, while the envelope holds.
292293

294+
[`mushroom-stump`](showcase/mushroom-stump/) — the seventh `nature` piece: procedural felled-tree stump on a sloping forest-floor soil disc (one furrowed lathe about a plumb axis flaring through five buttresses into the ground, plated bark peeled to sapwood in two patches, a level saw cut with weathered growth rings round a dark heartwood, radial drying checks notching the rim and a strip of torn holding wood with long splinters, five surface roots lying in the soil and diving into it, moss on the shaded flank, two tiers of turkey-tail brackets, three fly agarics with warted caps, pleated gills, a volva and a hanging skirt, two clusters of ringed honey fungus out of a root and the stump's foot, fallen leaves, ferns, twigs and pebbles), whose foot sealed in the soil all round, caps seated on their stipes, level cut and stated size, roots bedded along their run, stipes rooted in their soil or wood, brackets rooted in the bark, moss on up- and shade-facing surfaces and ground cover joined to the soil are recomputed from the mesh, through the same pipeline. `--perch-stump` exits 17 on the stump sealed all round, `--float-caps` 18 on every cap seated on its stipe, `--tilt-cut` and `--fat-stump` 19 on the level cut and stated size, `--arch-roots` 20 on the roots bedded, `--float-mushrooms` 21 on every stipe rooted in its host, `--float-brackets` 22 on the brackets rooted in the bark, `--sunny-moss` 23 on moss facing up or into the shade, `--float-cover` 24 on the ground cover joined to the soil, while the envelope holds.
295+
293296
</details>
294297

295298
## Examples

0 commit comments

Comments
 (0)