Repository navigation
Commit c894e0b
feat(showcase): add cargo-loader (vehicles)
The fourth piece in the vehicles category: a generic sci-fi industrial
cargo loader, a bipedal powered-lift exoframe standing in a crouch and
holding a corrugated cargo crate 1.00 m off the ground on two forged
L-tines. Broad flat feet (rubber sole, cast foot, grip cleats, toe
bumper); box-section shins and thighs pinned at the ankle, knee and hip;
arms hung from shoulder yokes on towers. Every joint is a clevis: two lug
bushings straddle an eye bushing, a chrome pin through all three. Eight
rams (hip, knee, shoulder, elbow), each a collared steel cylinder with a
chromed rod, a pinned bracket at each end and a port hose. Fork carriages
with hazard-striped faces; an open roll-cage cockpit with bucket seat,
four-point harness, joystick consoles, amber beacon and two work lights;
a power pack with grille, fins, hazard bands, exhaust stacks and cable
looms; a hydraulic tank under the pelvis. Ten materials: paint, hazard
stripes, chrome, gunmetal steel, rubber, seat vinyl, harness webbing,
emissive beacon, emissive work light, crate paint.
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 and 5.1 are left to CI (not run locally).
Recomputed budgets (5.2.1):
- 44600 tris (band 44000-45000); LOD1 0.5000, LOD2 0.2190
- 10 materials: paint 2736, hazard 608, chrome 3128, steel 15328,
rubber 2740, seat 480, webbing 640, beacon 256, light 152, crate 516 faces
- UVs in 0..1, overlap 0; AABB 2.8272 x 1.6890 x 2.9740 m, zmin 0;
collider 710 tris (ceiling 760); bake FINISHED; glTF 3461604 B
- hygiene all 0, zero coplanar cross-shell pairs. The first draft had
1185 (buried cleat caps on one plane, beacon cap on the lens top, crate
posts on the wall cap); later ones cage collars on tube ends, fin inner
faces, a post against its casting. All fixed by staggering, never bands.
- soles: 2, zmin 0, 0; flat 0.000 mm, tilt 0.000 deg (caps 0.5 mm, 0.2)
- clevis joints: 28 x (1 pin + 3 bushings), 0.000 mm off axis, 0.000 deg
(caps 0.3 mm, 0.3 deg)
- crate: bite 0.0020 m at every 10 mm station on both tines (band
0.0010-0.0040, ray down onto the tine, ray up into the base), 0.74 m run
- rams: 8 rods 0.000 mm off their cylinders, 0.0096 deg (caps 0.3 mm,
0.3 deg); exposed 0.1591-0.2858 m (band 0.080-0.340), engaged 0.060
(floor 0.040)
- stance: loader and crate 2380.6 kg (457.3 kg cargo), mass centre
0.4473 m inside the soles' polygon (floor 0.200)
- one connected assembly, 414 shells
- two default runs print identical measurements
Falsifiers (flag -> measured -> exit):
- --skip-decimate -> LOD1 ratio 1.0000 -> 9
- --stray-vert -> loose_v 1 -> 15
- --lift-z -> zmin 0.05000 -> 16
- --float-foot -> left sole zmin 0.00500 -> 16
- --offset-pin -> left knee pin 0.002500 m off its bushings -> 17
- --lift-crate -> bites -0.0040 m on both tines -> 18
- --tilt-sole -> spread 0.012545 m, tilt 0.600 deg -> 19
- --skew-rod -> rod tilt 1.0000 deg, 0.002184 m off -> 20
- --bottom-ram -> exposed 0.0440 m -> 21
- --overload -> 6401.9 kg cargo, margin -0.3853 m -> 22
- --loose-light -> 2 components -> 23
Tris (44600) and AABB identical under every falsifier; every budget
checked before each target stayed green.
Render: render_hero.py wrote the hero and preview. Framing fill y 0.850,
x 0.431 (a tall subject; the height axis carries the band), margins
>= 0.067. Asset-quality floors pass (edge90 0.115); a violation remaps
to 24.
Asset sheet (docs/gallery/asset-sheets/cargo-loader.webp): not the
least-designed object in the lineup; the hydrant and the wheelbarrow are
plainer. Isolated, it reads at once as a power loader: rams, clevises,
cage, seat and harness, beacon, pack grille and fins, crate on forks.
Weak points: the tines are mostly under the crate, and the panel is small
for a 3 m machine, so the joint detail reads as dark knuckles.
Contact sheet: luma 0.2376 against calibration 0.2369-0.2428 (in band;
first draft 0.2264). Stage 0.2202 against 0.1919-0.2517 (in band).
Saturation 0.1862 against 0.1525-0.2367 (in band; first draft 0.2636).
Wedge warmth +0.1580 against -0.1440/+0.1052/+0.0921: above the spread,
because the lower half's brightest tenth is the yellow feet; a neutral
wedge only moved it to +0.13 and cost the warm wall pool, so the warm
wedge was kept. Thumbnail legibility good.
Also updated: README, CLAUDE.md and ROADMAP counts and entries (cargo
loader struck in the Vehicles list as shipped), the asset_sheet.py SELECT
row, catalog.json, plugin.json and the regenerated gallery. build_gallery,
check_site_links (107 pages, 0 failures), check_falsifier_targets,
check_exit_code_readme, check_engine_id, check_gallery_images and the
count check all pass.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>1 parent 047e244 commit c894e0b
66 files changed
Lines changed: 7718 additions & 112 deletions
File tree
- .cursor-plugin
- docs/gallery
- anvil
- apothecary-shelf
- asset-sheets
- assets
- basketball-hoop
- book-trolley
- bookshelf
- boulder-cluster
- bowling-pins
- brazier
- butter-churn
- campfire
- cargo-loader
- cart
- chopping-block
- contact-sheets
- crate-stack
- desk-lamp
- fallen-log
- fence-kit
- floor-fan
- grain-sacks
- grindstone
- hand-pump
- hay-bale
- hitching-post
- hover-bike
- iron-cauldron
- market-stall
- motor-scooter
- office-chair
- park-bench
- pine-tree
- pond-edge
- quad-drone
- rope-bridge
- shipping-crate
- signpost
- soccer-goal
- stand-mixer
- stone-archway
- stone-well
- street-lantern
- tavern-stool
- terrain-scatter
- treasure-chest
- wall-torch
- watchtower
- water-trough
- weight-rack
- wheelbarrow
- wooden-barrel
- wooden-bucket
- wooden-ladder
- wooden-yoke
- scripts
- showcase
- cargo-loader
- tests/smoke
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
| 192 | + | |
| 193 | + | |
193 | 194 | | |
194 | 195 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
163 | 164 | | |
164 | 165 | | |
165 | 166 | | |
| |||
260 | 261 | | |
261 | 262 | | |
262 | 263 | | |
| 264 | + | |
| 265 | + | |
263 | 266 | | |
264 | 267 | | |
265 | 268 | | |
| |||
0 commit comments