Skip to content

Commit 64ceb77

Browse files
TMHSDigitalclaude
andcommitted
feat(showcase): add farm-tractor (vehicles)
The ninth piece in the vehicles category, things that move: a mid-century utility farm tractor (generic, no marks, text or maker's livery) standing in the ruts of a muddy farmyard, a puddle in the right rut between its wheels. A cast-iron backbone (block, head, sump, bell housing, gearbox, rear axle centre housing with lift cover, trumpets with brake drums, half-shafts and hubs); a front axle oscillating on a pivot pin through the front support's lugs and the beam's boss in two flanged bushings, kingpins, knuckles, spindles, steering arms and a tie rod on vertical pins. 1.240 m rear tyres whose carcass carries 44 chevron bars (two staggered halves of 22) rooted in it and handed for forward travel, on dished rims with welded clamp lugs and cast-iron half-moon weights; 0.690 m three-rib fronts on ribbed discs. A grille shell with eleven bars, radiator core, filler cap and headlamps; a louvred bonnet with a zinc crown strip, a fuel tank lapping it with a bayonet cap, a dash with gauges; an exhaust stack through a collar with a silencer barrel and a hinged rain cap; an oil-bath pre-cleaner bowl; fan, pump, dynamo, fan belt, starter, filter, manifolds. A 45 deg raked column and wheel, a pan seat on a two-leaf spring, gear lever, pedals, footplates with anti-slip strips; mudguards on stays with a tail lamp and a work lamp; a three-point linkage (lower links, lift arms, lift rods with levelling box, stowed top link, drawbar) and a splined PTO stub under its shield. Twelve materials; the paint chips to primer and steel in patches along square edges (an EdgeWear attribute), fades toward the sky, grimes toward the ground and is rust-streaked and mud-splashed; the rut floors carry the bars' prints. Budgets (measured, 5.2.1): 122272 tris (121000-123600), LOD 0.5000/0.2198, 12 materials with face floors, UVs 0..1 no overlap, AABB 3.5839x2.0869x 1.7330 (+-0.01, read off the vertices), collider 944 (<=1040), hygiene 0 incl. 0 coplanar cross-shell pairs, zmin 0; 4 tyres sunk 28.9-30.1 mm into the mud by rays onto the soil (18-45); 4 hubs and the pivot pin against both bushings 0.0 mm, 0.0 deg (0.3 mm, 0.3 deg); 14 link eyes 0.0 mm off their pins, pins >= 8.5 mm past both faces (0.5 mm, 1 deg, 2 mm); beads seated 0.683-0.962 mm (0.4-2.0); 88 bars rooted 3.932-3.997 mm (2.0-6.0), 28.3 mm proud (>= 20); pitch exact (0.25 deg); every bar's apex 10.886 deg ahead of its shoulder about +Y (>= 5); body and wheels mirrored 0.0001 mm (0.5); wheelbase 1.7800, tracks 1.2200/1.3200 (+-4 mm), rear tyres 1.2400 m (+-6 mm); mass centre 0.4151 m inside the support triangle of the rear contact patches and the front pivot (>= 0.330, a quarter of the rear track; 1541 kg); one assembly of 505 shells. Two default runs print identical measurements; 4.5.11 and 5.1.2 print the same (LOD2 26898 vs 26874 tris, export 8 bytes apart). The first draft measured 2471 coplanar pairs: eleven identical grille bars side by side (each now steps back and down from the centre out; a plain per-bar step first broke the bonnet mirror by 4.7 mm), three equal louvres (each now leans out and is a step longer), clamp-lug bolts on the lugs' faces, a weight bolt on the weight grip's plane, wheel nuts on the hub's end cap, the head on the bell-housing flange, equal port flanges, two spring bolts, a lamp stalk on its collar, the steering shaft on its hub. Rain-cap and six clamp-lug bolts first floated (10 stray shells). The edge-wear attribute first spread across whole faces (a rust band down the grille shell, a fully "chipped" footplate); it now marks square edges only and those parts carry a vertex ring a few mm in from the edge. Falsifiers (flag -> measured -> exit), 5.2.1, 4.5.11 and 5.1.2 identical; tris 122272 and envelope unchanged in all: --skip-decimate LOD1 1.0000 9 --stray-vert loose_v 1 15 --lift-z zmin 0.05000 16 --float-tyre left front sink -9.889 mm 16 --cock-hub left rear hub 1.5 mm off its half-shaft 17 --cant-pin bushings 1.894 mm, 1.5 deg off the pin 17 --unpin-link top-link rear eye 8.0 mm off its pin 17 --sink-tyre right rear bead seat 2.762 mm 18 --float-lugs left rear bar roots -3.068 mm 18 --skew-wheel wheel mirror 6.000 mm 19 --wide-track rear track 1.3280 m 19 --tall-lugs rear tyres 1.256 m 19 --odd-fender body mirror 3.000 mm 19 --bunch-lugs bar pitch off 2.000 deg 20 --reverse-lugs bar handing -10.886 deg 21 --offset-pivot stance margin 0.3074 m 22 --loose-lamp 2 components [4, 501] 23 --cant-pin first turned the bushings with the pin and exited 0; it now turns the pin alone. --loose-lamp first exited 0 because the lamp's bezel rested on the skirt; the lamp now stands clear on its bracket. A mirror of a rear tyre across the centre plane does not reverse its chevrons (the bars are symmetric about the tyre's own mid-plane); building the tread about the wheel's outboard axis does, and --reverse-lugs does exactly that on the right rear. tests/check_falsifier_targets.py --run --only farm-tractor 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") and .scratch\blender-5.1.2-windows-x64 ("Blender 5.1.2"). Render: render_hero.py wrote hero (53028 B) and preview (48194 B); framing fill x 0.712, y 0.861, margins >= 0.050; asset-quality floors pass (12 materials, edge90 0.048). Default stage, no deviation. Asset sheet (docs/gallery/asset-sheets/farm-tractor.webp): not the least-designed object; the hydrant is plainer. Isolated, it reads at once as a tractor: bonnet and grille, stack and pre-cleaner, lugged rear tyres on weighted rims, mudguards, seat, linkage. Weak point: the mud patch makes the tractor smaller in its panel. Contact sheet (docs/gallery/contact-sheets/farm-tractor-contact-sheet.webp): luma 0.2408 against 0.2369-0.2428 (in band, after relighting from 0.2499); stage 0.2303 against 0.1919-0.2517; saturation 0.1624 against 0.1525-0.2367 (the first green/grey livery measured 0.1153 and was enriched); wedge warmth +0.0464 inside -0.1440/+0.1052. Thumbnail legible. Also updated: README, CLAUDE.md, AGENTS.md counts (64 -> 65), ROADMAP Vehicles list (farm tractor struck as shipped), asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated gallery. build_gallery, check_site_links (120 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 59ac58d commit 64ceb77

80 files changed

Lines changed: 12079 additions & 139 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
@@ -202,6 +202,7 @@
202202
"showcase/traffic-cones",
203203
"showcase/mushroom-stump",
204204
"showcase/go-kart",
205-
"showcase/broadleaf-oak"
205+
"showcase/broadleaf-oak",
206+
"showcase/farm-tractor"
206207
]
207208
}

‎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 64 showcase pieces (counts are CI-enforced against README.md)
24+
examples, and 65 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, 64 pieces, each with a gallery `category` (sibling of examples/; see showcase/README.md § Categories)
25+
showcase/<name>/ - Budget-conformance props, 65 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>64 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>65 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 64 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 65 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>64 showcase pieces</strong> — click to expand the preview grid</summary>
109+
<summary><strong>65 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>
@@ -173,6 +173,7 @@ Budget-conformance props. Not examples. Conventions: [`showcase/README.md`](show
173173
<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>
174174
<a href="showcase/go-kart/"><img src="showcase/go-kart/preview.webp" width="24%" alt="Go-kart: yellow go-kart on a patch of track asphalt before a red and white kerb: bent red tube chassis, black seat, finned engine with chain to the rear axle, slick tyres on silver rims." /></a>
175175
<a href="showcase/broadleaf-oak/"><img src="showcase/broadleaf-oak/preview.webp" width="24%" alt="Broadleaf oak: a broad oak with a short fluted trunk and crooked spreading limbs under a domed crown of lobed green leaves, on a grassy soil disc with surface roots, tufts, fallen leaves and acorns" /></a>
176+
<a href="showcase/farm-tractor/"><img src="showcase/farm-tractor/preview.webp" width="24%" alt="Farm tractor: green farm tractor in muddy ruts beside a puddle: long bonnet, barred grille, rusty exhaust stack, big lugged rear tyres on cream rims with weights, small ribbed fronts." /></a>
176177
</p>
177178

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

300301
[`broadleaf-oak`](showcase/broadleaf-oak/) — the eighth `nature` piece: procedural mature, open-grown English oak on a sloping grassy soil disc (a short fluted, ridged trunk flaring through six buttresses into surface roots bedded in the soil, a low fork into five crooked scaffold limbs that divide three more times into 260 tapered branches, each seated in its parent and narrowing past every junction by its child's area, a broad domed crown of 1370 lobed oak leaves in clusters on every twig tip, dead twigs, acorns with scaly cups and glossy nuts hanging on stalks and lying in the grass among curled fallen leaves, tufts and sticks), whose branch seats, da Vinci taper, nuts seated in their cups, plumb trunk and balanced crown, foot and roots sealed in the soil, leaves carried by their twigs, acorns hung on their stalks and ground cover joined to the soil are recomputed from the mesh, through the same pipeline. `--float-branches` exits 17 on every branch seated in its parent, `--pop-nuts` 18 on every nut seated in its cup, `--lean-crown` 19 on plumb and balance, `--fat-twigs` 20 on the taper and area rule, `--perch-trunk` and `--arch-roots` 21 on the trunk and roots sealed in the soil, `--orphan-clump` 22 on every leaf cluster carried by its twig, `--drop-acorns` 23 on the hanging acorns on their stalks, `--float-cover` 24 on the ground cover joined to the soil, while the envelope holds.
301302

303+
[`farm-tractor`](showcase/farm-tractor/) — the ninth `vehicles` piece: procedural mid-century utility tractor standing in the ruts of a muddy farmyard with a puddle between its wheels (a cast-iron backbone of engine, bell housing, gearbox and rear axle housing with trumpets; a front axle oscillating on a pivot pin through the front support's lugs and two bushings, kingpins, spindles and a tie rod; 1.240 m rear tyres with 44 chevron bars rooted in the carcass and handed for forward travel, on dished rims with welded clamp lugs and cast-iron half-moon weights; ribbed front tyres; a grille shell with radiator and headlamps, a louvred bonnet, fuel tank and dash; a vertical exhaust stack with a hinged rain cap and an oil-bath pre-cleaner bowl; a raked steering column, a pan seat on a leaf spring, pedals and footplates; mudguards with a tail lamp and a work lamp; a three-point linkage with lift arms, lift rods, lower links, a stowed top link and the drawbar, and a PTO stub under its shield; paint chipped to primer at its edges, rust-streaked, sun-faded and mud-splashed). Asserts 122272 tris, twelve materials with face floors, zero coplanar cross-shell pairs, every tyre sunk 18–45 mm into the mud, hubs and the pivot pin coaxial, 14 link eyes on their pins, beads seated, 88 bars rooted and evenly pitched with their apex leading, body and wheels mirrored, wheelbase, tracks and rear-tyre diameter at their stated size, the mass centre inside the support triangle of the rear contacts and the front pivot by a quarter of the track, and one connected assembly; `--float-tyre` exits 16, `--cock-hub`, `--cant-pin` and `--unpin-link` 17, `--sink-tyre` and `--float-lugs` 18, `--skew-wheel`, `--wide-track`, `--tall-lugs` and `--odd-fender` 19, `--bunch-lugs` 20, `--reverse-lugs` 21, `--offset-pivot` 22, `--loose-lamp` 23, while the envelope holds.
304+
302305
</details>
303306

304307
## Examples

‎ROADMAP.md‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎docs/gallery/anvil/index.html‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ <h1>anvil</h1>
358358
<p>A procedural blacksmith anvil on a timber stump through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
359359
</header>
360360
<main id="main">
361-
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../wheelbarrow/" aria-label="Previous showcase piece: wheelbarrow"><span aria-hidden="true">&larr;</span> wheelbarrow</a><span class="pager-pos hud">14 of 64 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../water-trough/" aria-label="Next showcase piece: water-trough">water-trough <span aria-hidden="true">&rarr;</span></a></nav>
361+
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../wheelbarrow/" aria-label="Previous showcase piece: wheelbarrow"><span aria-hidden="true">&larr;</span> wheelbarrow</a><span class="pager-pos hud">14 of 65 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../water-trough/" aria-label="Next showcase piece: water-trough">water-trough <span aria-hidden="true">&rarr;</span></a></nav>
362362
<button class="detail-hero" id="heroZoom" type="button" aria-label="View full size: A forged-steel anvil with a hammer-polished face and a flared, squared waist on a hooped timber stump, a cross-peen hammer on the floor and forge light on its flank.">
363363
<img src="../assets/anvil-hero.webp" alt="A forged-steel anvil with a hammer-polished face and a flared, squared waist on a hooped timber stump, a cross-peen hammer on the floor and forge light on its flank." width="1280" height="720" fetchpriority="high" />
364364
</button>
@@ -3716,7 +3716,7 @@ <h3><a href="../wooden-barrel/">wooden-barrel</a></h3>
37163716
</article>
37173717
</div>
37183718
</section>
3719-
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../wheelbarrow/" aria-label="Previous showcase piece: wheelbarrow"><span aria-hidden="true">&larr;</span> wheelbarrow</a><span class="pager-pos hud">14 of 64 showcase pieces</span><a rel="next" href="../water-trough/" aria-label="Next showcase piece: water-trough">water-trough <span aria-hidden="true">&rarr;</span></a></nav>
3719+
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../wheelbarrow/" aria-label="Previous showcase piece: wheelbarrow"><span aria-hidden="true">&larr;</span> wheelbarrow</a><span class="pager-pos hud">14 of 65 showcase pieces</span><a rel="next" href="../water-trough/" aria-label="Next showcase piece: water-trough">water-trough <span aria-hidden="true">&rarr;</span></a></nav>
37203720
</main>
37213721
<dialog class="lightbox" id="lightbox" aria-label="Full-size render">
37223722
<button class="lightbox-close" type="button" autofocus>Close</button>

‎docs/gallery/apothecary-shelf/index.html‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ <h1>apothecary-shelf</h1>
358358
<p>A procedural apothecary shelf — housed shelves, gallery rails, a drawer bank and an arched crest, stocked with fifteen lathed bottles, flasks and glazed jars, each corked or lidded and labelled — carried through UVs, bake, LOD, convex collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
359359
</header>
360360
<main id="main">
361-
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../brazier/" aria-label="Previous showcase piece: brazier"><span aria-hidden="true">&larr;</span> brazier</a><span class="pager-pos hud">32 of 64 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../wooden-yoke/" aria-label="Next showcase piece: wooden-yoke">wooden-yoke <span aria-hidden="true">&rarr;</span></a></nav>
361+
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../brazier/" aria-label="Previous showcase piece: brazier"><span aria-hidden="true">&larr;</span> brazier</a><span class="pager-pos hud">32 of 65 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../wooden-yoke/" aria-label="Next showcase piece: wooden-yoke">wooden-yoke <span aria-hidden="true">&rarr;</span></a></nav>
362362
<button class="detail-hero" id="heroZoom" type="button" aria-label="View full size: A stained wooden shelf with an arched crest, gallery rails and three brass-knobbed drawers, stocked with labelled glass bottles and flasks and cream and blue glazed jars.">
363363
<img src="../assets/apothecary-shelf-hero.webp" alt="A stained wooden shelf with an arched crest, gallery rails and three brass-knobbed drawers, stocked with labelled glass bottles and flasks and cream and blue glazed jars." width="1280" height="720" fetchpriority="high" />
364364
</button>
@@ -3733,7 +3733,7 @@ <h3><a href="../wooden-barrel/">wooden-barrel</a></h3>
37333733
</article>
37343734
</div>
37353735
</section>
3736-
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../brazier/" aria-label="Previous showcase piece: brazier"><span aria-hidden="true">&larr;</span> brazier</a><span class="pager-pos hud">32 of 64 showcase pieces</span><a rel="next" href="../wooden-yoke/" aria-label="Next showcase piece: wooden-yoke">wooden-yoke <span aria-hidden="true">&rarr;</span></a></nav>
3736+
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../brazier/" aria-label="Previous showcase piece: brazier"><span aria-hidden="true">&larr;</span> brazier</a><span class="pager-pos hud">32 of 65 showcase pieces</span><a rel="next" href="../wooden-yoke/" aria-label="Next showcase piece: wooden-yoke">wooden-yoke <span aria-hidden="true">&rarr;</span></a></nav>
37373737
</main>
37383738
<dialog class="lightbox" id="lightbox" aria-label="Full-size render">
37393739
<button class="lightbox-close" type="button" autofocus>Close</button>

‎docs/gallery/archery-target/index.html‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ <h1>archery-target</h1>
358358
<p>A procedural archery range target on a turf patch — a 1.10 m compressed-straw boss coiled from rope courses that show on its back and round its edge, bound with doubled jute twine drawn tight over the crests; an 80 cm ten-zone World Archery face in aged inks with ring lines, an X ring and a printed X, held by four 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, and a splay chain between eye bolts; five carbon arrows in the face with cresting, nocks and three vanes, one glancing into the straw edge, one snapped with its fletched half on the grass, and a leather quiver of arrows lying among grass tufts — through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract.</p>
359359
</header>
360360
<main id="main">
361-
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../cargo-loader/" aria-label="Previous showcase piece: cargo-loader"><span aria-hidden="true">&larr;</span> cargo-loader</a><span class="pager-pos hud">53 of 64 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../cactus-garden/" aria-label="Next showcase piece: cactus-garden">cactus-garden <span aria-hidden="true">&rarr;</span></a></nav>
361+
<nav class="pager" aria-label="Showcase pieces"><a rel="prev" href="../cargo-loader/" aria-label="Previous showcase piece: cargo-loader"><span aria-hidden="true">&larr;</span> cargo-loader</a><span class="pager-pos hud">53 of 65 showcase pieces<span class="pager-keys"> &middot; <kbd>&larr;</kbd><kbd>&rarr;</kbd></span></span><a rel="next" href="../cactus-garden/" aria-label="Next showcase piece: cactus-garden">cactus-garden <span aria-hidden="true">&rarr;</span></a></nav>
362362
<button class="detail-hero" id="heroZoom" type="button" aria-label="View full size: A straw archery boss with a gold, red, blue, black and white face and five arrows, leaning on a timber easel numbered 12, a quiver on the grass patch below.">
363363
<img src="../assets/archery-target-hero.webp" alt="A straw archery boss with a gold, red, blue, black and white face and five arrows, leaning on a timber easel numbered 12, a quiver on the grass patch below." width="1280" height="720" fetchpriority="high" />
364364
</button>
@@ -5579,7 +5579,7 @@ <h3><a href="../wooden-barrel/">wooden-barrel</a></h3>
55795579
</article>
55805580
</div>
55815581
</section>
5582-
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../cargo-loader/" aria-label="Previous showcase piece: cargo-loader"><span aria-hidden="true">&larr;</span> cargo-loader</a><span class="pager-pos hud">53 of 64 showcase pieces</span><a rel="next" href="../cactus-garden/" aria-label="Next showcase piece: cactus-garden">cactus-garden <span aria-hidden="true">&rarr;</span></a></nav>
5582+
<nav class="pager pager-foot" aria-label="Showcase pieces"><a rel="prev" href="../cargo-loader/" aria-label="Previous showcase piece: cargo-loader"><span aria-hidden="true">&larr;</span> cargo-loader</a><span class="pager-pos hud">53 of 65 showcase pieces</span><a rel="next" href="../cactus-garden/" aria-label="Next showcase piece: cactus-garden">cactus-garden <span aria-hidden="true">&rarr;</span></a></nav>
55835583
</main>
55845584
<dialog class="lightbox" id="lightbox" aria-label="Full-size render">
55855585
<button class="lightbox-close" type="button" autofocus>Close</button>
63.6 KB
Loading
51.8 KB
Loading

0 commit comments

Comments
 (0)