Skip to content

Commit 2dd464d

Browse files
TMHSDigitalclaude
andcommitted
feat(showcase): add wingback-armchair (household)
The seventh piece in the household category: a reading corner on a fringed wool rug. A Queen Anne / Chesterfield wingback in oxblood leather: a reclined back deep-button tufted with 13 buttons on a diamond lattice, each in a funnelled dimple, pillows between them and sharp pleats along every line joining two buttons (the grid is laid in the lattice's pitch and each cell split along its nearest pleat); wings sweeping into rolled arms with a tucked English roll, crowned scroll fronts, piped welts and brass nailhead rows; a nailed front rail; a crowned cushion with piped welts on both seams; cabriole front legs on pad feet, splayed rear legs in brass ferrules. Beside it a walnut tripod side table with a brass reading lamp (knopped stem, harp, finial, spider, linen shade) and two cloth-bound books. Nine materials. Budgets (measured, 5.2.1): 44324 tris (43700-44900), LOD 0.5000/0.2200, 9 materials with face floors, UVs 0..1 no overlap, AABB 2.0304x1.4000x1.1600 (+-0.01), collider 802 (<=820), hygiene 0 incl. 0 coplanar cross-shell pairs, zmin 0; 4 chair + 3 table feet sunk 0.0020 m into the rug (0.0008-0.0040); legs tenoned 0.0288-0.0319 m (0.012-0.045); 13 buttons seated 0.0025 m (0.0012-0.0045), proud 0.0074 m, dimples 0.0169-0.0185 m (min 0.008); body mirror 0.000000 m over 10620 verts (max 0.0005), seat 0.4531, back 1.1113, width 0.8683 m; 16 lattice pairs 0.16169-0.16258 m, spread 0.00089 (max 0.004); table+lamp+books mass centre 0.0922 m inside the feet (min 0.045); cushion rest 0.0020 m (0.0008-0.0040); nails 28+28+19 at 0.03000 m, spread 0, seated 0.0010-0.0013 m. Two default runs print identical measurements. Falsifiers (flag -> measured -> exit), run against this code: --skip-decimate LOD1 1.0000 -> 9; --stray-vert loose_v 1 -> 15; --lift-z zmin 0.05000 -> 16; --float-foot table pad -0.00100 m -> 16; --short-legs rear leg bite -0.0038 m -> 17; --sink-buttons seat 0.00850, proud 0.00140 -> 18; --odd-wing mirror 0.006000 m -> 19; --drift-buttons lattice spread 0.01358 m -> 20; --narrow-tripod margin 0.0280 m -> 21; --lift-cushion rest -0.00300 m -> 22; --bunch-nails spread 0.02699 m -> 23. Tris and AABB unchanged in every run; each piece falsifier's budget_fails lists only its own budget. 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.741, y 0.867, margins >= 0.056; asset-quality floors pass (edge90 0.048). Asset sheet (docs/gallery/asset-sheets/wingback-armchair.webp): not the least-designed object; the hydrant is plainer. Isolated it reads at once as a tufted leather wingback with nailed scroll arms, cushion, cabriole legs, lamp table and fringed rug. Weak points: the outer wing and outer arm panels are plain leather (as on the real chair, carried by the material), and the vignette's width keeps the chair to about half its panel. Contact sheet (docs/gallery/contact-sheets/wingback-armchair-contact-sheet.webp): luma 0.2404 against 0.2369-0.2428 (in band, after relighting from 0.2517); stage 0.2374 against 0.1919-0.2517; saturation 0.2398 against 0.1525-0.2367 (0.003 over the top, after muting the oxblood and rug dyes from 0.2646; office-chair ships at 0.2393); wedge warmth -0.0112 inside the -0.1440/+0.1052 spread. Thumbnail legible. Also updated: README, CLAUDE.md, AGENTS.md counts (58 -> 59), ROADMAP Household list (wingback armchair struck as shipped), asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated gallery. build_gallery, check_site_links (114 pages, 0 failures), check_falsifier_targets, 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 a3a87d2 commit 2dd464d

74 files changed

Lines changed: 8239 additions & 127 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
@@ -196,6 +196,7 @@
196196
"showcase/espresso-machine",
197197
"showcase/road-bicycle",
198198
"showcase/skate-ramp",
199-
"showcase/palm-tree"
199+
"showcase/palm-tree",
200+
"showcase/wingback-armchair"
200201
]
201202
}

‎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 58 showcase pieces (counts are CI-enforced against README.md)
24+
examples, and 59 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, 58 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
25+
showcase/<name>/ - Budget-conformance props, 59 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>58 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>59 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 58 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 59 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>58 showcase pieces</strong> — click to expand the preview grid</summary>
109+
<summary><strong>59 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>
@@ -167,6 +167,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
167167
<a href="showcase/road-bicycle/"><img src="showcase/road-bicycle/preview.webp" width="24%" alt="Road bicycle: a deep red lugged-steel road bicycle leaning on its kickstand, with chromed lugs and fork socks, tan-wall 700c wheels, a honey leather saddle, cream-taped drop bars and a chain over a double crankset" /></a>
168168
<a href="showcase/skate-ramp/"><img src="showcase/skate-ramp/preview.webp" width="24%" alt="Skate ramp: a plywood quarter-pipe with a steel coping and kicker plate, screw rows, sheet seams and a red stencilled roundel, its open side showing studs and sills, a skateboard on the deck" /></a>
169169
<a href="showcase/palm-tree/"><img src="showcase/palm-tree/preview.webp" width="24%" alt="Palm tree: a coconut palm leaning on a raised disc of beach sand, its ringed trunk curving up to a crown of drooping pinnate fronds over green coconuts, fallen coconuts, a frond and driftwood below" /></a>
170+
<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>
170171
</p>
171172

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

282283
[`palm-tree`](showcase/palm-tree/) — the sixth `nature` piece: procedural coconut palm on a raised disc of rippled beach sand (a 4.47 m trunk rising from a swollen, lobed bole with a mat of 24 roots flaring out into the sand, leaning along a curve and coming back upright under the crown, tapering, ringed with 25 leaf scars at an even pitch; a fibrous boss of leaf bases carrying eighteen pinnate fronds in a golden-angle spiral, each a curved, drooping rachis with 36 pairs of folded leaflets hanging below it in a V, young fronds rising and old ones hanging; two dead fronds, two spear leaves and twelve green and ripening coconuts in bunches under the frond bases; two fallen coconuts, a fallen frond, driftwood, seashells and sea grass), whose fronds seated in the crown, coconuts attached under it, trunk height and lean with the crown's mass inside the root plate, leaf-scar rings at an even pitch, trunk and roots bedded in the sand, fallen coconuts resting in it and beach litter joined to it are recomputed from the mesh, through the same pipeline. Falsifiers `--short-petioles` exits 17, `--drop-coconut` 18, `--short-roots` 19, `--bunch-rings` 20, `--perch-trunk` 21, `--float-nuts` 22, `--float-cover` 23.
283284

285+
[`wingback-armchair`](showcase/wingback-armchair/) — the seventh `household` piece: procedural reading corner on a fringed wool rug (a Queen Anne / Chesterfield wingback in oxblood leather: a reclined back deep-button tufted with thirteen buttons on a diamond lattice, each seated in a funnelled dimple, the leather puffed into pillows and folded into sharp pleats along every line joining two buttons; wings sweeping forward into rolled arms with a tucked English roll, crowned scroll fronts, piped welts and rows of brass nailheads, a nailed front rail, a loose crowned cushion with piped welts on both seams, cabriole front legs on pad feet and splayed rear legs in brass ferrules; beside it a walnut tripod side table with a brass reading lamp, a linen shade and two cloth-bound books), whose feet sunk into the rug, legs tenoned into the body, buttons seated in their dimples, mirror symmetry and size, diamond lattice, table's mass centre inside its feet, cushion resting on the deck and evenly spaced, seated nailheads are recomputed from the mesh, through the same pipeline. Falsifiers `--float-foot` exits 16, `--short-legs` 17, `--sink-buttons` 18, `--odd-wing` 19, `--drift-buttons` 20, `--narrow-tripod` 21, `--lift-cushion` 22, `--bunch-nails` 23.
286+
284287
</details>
285288

286289
## Examples

0 commit comments

Comments
 (0)