Commit 456cf59
feat(showcase): add motor-scooter (vehicles)
The third piece in the vehicles category: a 1960s Italian step-through
motor scooter, no brand names or badges, parked on its centre stand. A
pressed-steel tail lofted from superellipse sections with two bulbous side
cowls (narrower inboard so the tyre clears; chrome belt trims; six
graduated pressed louvres on the engine-side cowl); a floorboard with seven
rubber runner strips and chrome edge trims, pressed up into the tail's
front face and into the leg shield through two radiused fillets; a leg
shield pressed as one panel, convex in plan (edges swept 0.075 m back at
the foot, 0.135 m at the top), bulged at mid-height, its top arched up
into the headset round the column, its foot 32 mm deep in the floor,
rimmed in a rolled chrome trim, with a horn cast (fork crown to headset)
and chrome grille; a single-sided front end (column raked 26 deg, crown, fork leg,
trailing link, coil spring on a damper rod) under a crested mudguard; a
headset with headlamp, speedometer, collar, ribbed grips, levers and two
mirrors; a two-tone dual saddle (cream top, oxblood sides) with piping and
a grab strap; 10-inch split rims (two halves, five nuts, hub cap, finned
drum) in block-tread tyres; an alloy engine case with a finned cylinder,
header, black silencer, chrome tailpipe and kick-start; brake pedal,
luggage rack, tail lamp, blank plate; a centre stand on rubber feet.
Nine materials: pastel paint, chrome, rubber, oxblood vinyl, cream vinyl,
glass, tail lens, alloy, black enamel.
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):
- 45060 tris (band 44400-45700); LOD1 0.5000, LOD2 0.2200
- 9 materials: paint 7156, chrome 4638, rubber 3608, oxblood 1147,
cream 297, glass 550, lens 188, alloy 4020, black 2292 faces
- UVs in 0..1, overlap 0; AABB 1.7901 x 0.7300 x 1.2435 m, zmin 0
- collider 1678 tris (ceiling 1850); bake FINISHED; glTF 3374040 B
- hygiene all 0, zero coplanar cross-shell pairs (first draft measured
525: runner strips, rim nuts vs each other and the hub cap, rack cross
bars, louvres; now staggered 0.3-0.4 mm, louvres graduated and laid on
the cowl's latitude)
- supports: both tyres and both stand feet zmin 0
- wheel alignment: camber 0.000/0.000 deg, toe 0.000 deg (cap 0.3)
- steering: rake 26.000 deg, trail 0.0750 m (band 0.055-0.090), 0 mm off
the contact's line (tol 2 mm)
- body mirror 0.000 mm (cap 0.5; engine side excluded by construction:
louvres, engine, exhaust, fork are separate shells), tail 0.8624 m,
saddle top 0.8068 m (tol 0.004)
- wheelbase 1.20000 m (tol 0.004)
- stance: 101.6 kg, mass centre 0.1284 m inside the tyres-and-stand
support polygon (floor 0.080)
- one connected assembly of 105 shells
- shield seam: its foot 0.0320 m deep in the floorboard (band 0.020-0.040)
- 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-tyre -> rear tyre zmin 0.00400 -> 16
- --toe-wheel -> toe 2.5000 deg -> 17
- --steep-head -> rake 20.000 deg, trail 0.01683 m -> 18
- --odd-body -> mirror deviation 0.00695 m -> 19
- --short-wheelbase -> 1.18500 m -> 20
- --narrow-stand -> margin 0.0424 m -> 21
- --pop-speedo -> 2 components -> 22
- --lift-shield -> foot 4 mm above the floor (-0.00400 m) -> 23
Tris and AABB identical to the default under every falsifier; every
earlier budget green in each run. Three were re-aimed by fixing the model:
--odd-body first exited 15 (a rack rail riding past the tail's shoulder
lay in a bowed tail face's plane; the rails now follow the crown),
--narrow-stand exited 15 at +-0.035 m (the two soles came within coplanar
range; stops at +-0.060), --pop-speedo at 15 mm stayed seated (30 mm).
Render: render_hero.py wrote hero and preview. Framing fill x 0.603,
y 0.856, margins >= 0.056 (a tall vehicle with mirrors; y carries the
band). Asset-quality floors pass (edge90 0.039); a violation remaps to 24.
Asset sheet (docs/gallery/asset-sheets/motor-scooter.webp): not the
least-designed object in the lineup; the hydrant and the wheelbarrow are
plainer. Isolated it reads at once as a classic scooter: cowls, trims,
louvres, two-tone saddle, split rim, silencer, headset and mirrors. Weak
points: it is small in its panel and the mirror stalks are thin at sheet
scale. A review of the first hero found the leg shield read as a flat
plank standing apart from the floor and column; it was rebuilt as the
curved pressing above, with the seam budget and --lift-shield added.
Contact sheet: luma 0.2398 against calibration 0.2369-0.2428 (in band).
Stage 0.1906 against 0.1919-0.2517 (0.001 darker than the darkest).
Wedge warmth +0.1005 against -0.1440/+0.1052/+0.0921 (warm, in band).
Saturation 0.2334 against 0.1525-0.2367 (in band). Thumbnail legibility
good. The first lit draft measured luma 0.2708 and warmth -0.0123; relit
by lowering key, fill and rim and warming the wedge.
Also updated: README, CLAUDE.md and ROADMAP counts and entries (the
scooter added to the Vehicles sub-list, struck as shipped), the
asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated
gallery. build_gallery, check_site_links (103 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 38fd249 commit 456cf59
62 files changed
Lines changed: 7923 additions & 104 deletions
File tree
- .cursor-plugin
- docs/gallery
- anvil
- apothecary-shelf
- asset-sheets
- assets
- basketball-hoop
- book-trolley
- bookshelf
- boulder-cluster
- brazier
- butter-churn
- campfire
- 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
- quad-drone
- rope-bridge
- shipping-crate
- signpost
- soccer-goal
- 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
- motor-scooter
- 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 | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
| 189 | + | |
189 | 190 | | |
190 | 191 | | |
| 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 | | |
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
159 | 160 | | |
160 | 161 | | |
161 | 162 | | |
| |||
248 | 249 | | |
249 | 250 | | |
250 | 251 | | |
| 252 | + | |
| 253 | + | |
251 | 254 | | |
252 | 255 | | |
253 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
162 | | - | |
| 162 | + | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| |||
0 commit comments