Skip to content

Commit 80d88b3

Browse files
TMHSDigitalclaude
andcommitted
feat(showcase): add planet-rover (vehicles)
The sixth piece in the vehicles category: a six-wheeled rocker-bogie planetary science rover (generic, no marks or text) on a patch of rocky red-grey regolith. A cream warm-electronics body with quilted gold-foil blankets, anodised corner posts and a trimmed deck (instrument boxes, inlets with lids, a funnel, a calibration target, UHF can, whip, cable runs); a finned power unit on struts between two radiator fin banks. On each side a rocker pivots on a boss in the body side (eye and pin) and a bogie is pinned in a clevis on its front end; the rockers are linked through cranks and links to a differential bar on the deck. Six drum wheels with 24 chevron grousers, six curved flexure spokes and a drive actuator each; the corners hang from steering actuators through C-brackets. A camera mast (telescope window, two camera barrels, navcams, weather booms), a high-gain dish on a two-axis gimbal, a 5-DOF arm whose turret drills a boulder, harnesses along every leg, ruts behind the wheel lines and 19 broken rocks. The stance is rockers +-4 deg and bogies -6/+5 deg; the regolith is a closed-form field plus six Gaussians fitted by a 6x6 solve so every wheel sinks into it. Nine materials. Budgets (measured, 5.2.1): 46096 tris (45600-46600), LOD 0.5000/0.2189, 9 materials with face floors, UVs 0..1 no overlap, AABB 4.8568x3.7091x2.1999 (+-0.01), collider 1120 (<=1160), hygiene 0 incl. 0 coplanar cross-shell pairs, zmin 0; six wheels sunk 0.0115-0.0189 m (0.006-0.025); 4 pivots, 10 bushings 0.000000 m off their pins (0.0005); 144 grousers rooted 1.00 mm (0.5-2.5 mm), 7.50 mm proud (min 5); mast 0.0000 deg off plumb (0.2), track 2.7000 (2.700 +-0.006), length 3.3509 (3.351), height 2.1004 (2.100) +-0.01; rockers +4.0000/-4.0000 deg, residual 0 (0.10), link eyes 0.000000 m off crank pins; steering axes 0.000000 m off wheel centres (0.001); axles 0.0000 deg (0.20); grouser pitch 0.0148 deg (0.30); 750.0 kg, mass centre 1.0480 m inside the contact polygon vs a 0.8170 m 45-deg tip margin; one assembly of 441 shells. Two default runs print identical measurements and an identical export size. Falsifiers (flag -> measured -> exit), run against this code; every run's budget_fails lists only its own budget, tris 46096 in all: --skip-decimate LOD1 1.0000 -> 9; --stray-vert loose_v 1 -> 15; --lift-z zmin 0.05000 -> 16; --float-wheel right middle sink -0.0184 m -> 16; --offset-pin bushing 0.00400 m off -> 17; --sink-grousers root 0.00400 m, crown 0.00450 m -> 18; --lean-mast tilt 1.5000 deg -> 19; --jam-rocker defl +4.0/-2.5, residual 1.5000 deg, link eye 0.00785 m -> 20; --offset-steer 0.01000 m -> 21; --camber-wheel 1.0000 deg -> 22; --bunch-grousers pitch 3.0148 deg -> 23; --overload-turret (x40, 296.7 kg) margin 0.6645 < 0.7470 -> 24; --loose-dish 2 components [6, 435] -> 25. 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.731, y 0.817, margins >= 0.067; asset-quality floors pass (edge90 0.064). Asset sheet (docs/gallery/asset-sheets/planet-rover.webp): not the least-designed object; the hydrant is plainer. Isolated it reads at once as a rocker-bogie rover with foil sides, mast, dish, arm and grousered wheels on its regolith patch. Weak point: the patch makes the rover sit small in its panel. Contact sheet (docs/gallery/contact-sheets/planet-rover-contact-sheet.webp): luma 0.2419 against 0.2369-0.2428 (in band, after relighting from 0.3331); stage 0.1915 against 0.1919-0.2517 (0.0004 under the floor); saturation 0.1842 against 0.1525-0.2367; wedge warmth +0.0960 inside the -0.1440/+0.1052 spread (after muting the regolith from +0.152). Thumbnail legible. Also updated: README, CLAUDE.md, AGENTS.md counts (59 -> 60), ROADMAP Vehicles list (planet rover struck as shipped), asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated gallery. build_gallery, check_site_links (115 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 289bab8 commit 80d88b3

75 files changed

Lines changed: 9524 additions & 129 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
@@ -197,6 +197,7 @@
197197
"showcase/road-bicycle",
198198
"showcase/skate-ramp",
199199
"showcase/palm-tree",
200-
"showcase/wingback-armchair"
200+
"showcase/wingback-armchair",
201+
"showcase/planet-rover"
201202
]
202203
}

‎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 59 showcase pieces (counts are CI-enforced against README.md)
24+
examples, and 60 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, 59 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
25+
showcase/<name>/ - Budget-conformance props, 60 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>59 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>60 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 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.
40+
This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 60 examples, and 60 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>59 showcase pieces</strong> — click to expand the preview grid</summary>
109+
<summary><strong>60 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>
@@ -168,6 +168,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
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>
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>
171+
<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 with wheel ruts" /></a>
171172
</p>
172173

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

285286
[`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.
286287

288+
[`planet-rover`](showcase/planet-rover/) — the sixth `vehicles` piece: procedural six-wheeled planetary science rover on a patch of rocky red-grey regolith (a cream warm-electronics body with quilted gold-foil blankets, a deck of instrument boxes, inlets and a calibration target, a finned power unit on struts between two radiator banks; a rocker on each side pivoting on a boss in the body and a bogie pinned in a clevis on its front end, the two rockers linked through a differential bar on the deck; six drum wheels with 24 chevron grousers, curved flexure spokes and drive actuators, the four corners on steering actuators; a camera mast, a high-gain dish on a two-axis gimbal, a whip; a 5-DOF arm drilling a boulder; harnesses along every leg; ruts behind the wheel lines and 19 broken rocks), the regolith fitted so every wheel sinks 11–19 mm into it. `--float-wheel` exits 16 on every wheel sunk in band, `--offset-pin` 17 on the pivot pins coaxial with their bushings, `--sink-grousers` 18 on the grousers seated on the drum, `--lean-mast` 19 on the mast plumb and the rover's size, `--jam-rocker` 20 on the rockers equal and opposite through the differential, `--offset-steer` 21 on the steering axes through the wheel centres, `--camber-wheel` 22 on the axles level and lateral, `--bunch-grousers` 23 on the grouser pitch, `--overload-turret` 24 on the mass centre inside the support polygon by the 45° tip margin, `--loose-dish` 25 on one connected assembly, while the envelope holds.
289+
287290
</details>
288291

289292
## Examples

0 commit comments

Comments
 (0)