Repository navigation
Commit e3a3884
feat(showcase): add bowling-pins (sports)
The fourth piece in the sports category: the pin deck end of a ten-pin
bowling lane. One laminated slab of 39 maple boards, 41.5 in across, each
board's top edges chamfered into a V seam and crossed by the joint to a
dark pin deck; ten pin spots inlaid on a 12 in equilateral triangle, the
head spot 34 3/16 in from the pit edge; a chevron of seven targeting
arrows and ten range dots (brought up to the near end of this 2.3 m
section); channel-profile gutters, cappings, kickbacks with sloped noses
under mitred aluminium caps and phenolic kick plates; a steel pit-edge
bullnose; five sleepers. Ten pins lathe-turned (PCHIP, no overshoot) from
the regulation profile table, 15 in tall, 4.766 in belly, two red neck
stripes and a crown band of red teeth. An 8.5 in marbled resin ball
drilled by an exact Boolean: countersunk 1 in thumb hole 2.5 in deep and
two 0.8 in finger holes 2 in deep, drilled parallel (radially drilled they
converged and met inside the ball). Eleven materials: maple, pin deck, pin
white, pin red, ball resin, bore, phenolic, kickback laminate, aluminium,
inlay, sleeper 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):
- 37078 tris (band 36400-37700); LOD1 0.5000, LOD2 0.2200
- 11 materials: maple 358, deck 358, pin white 13720, pin red 1280,
ball 1649, bore 562, phenolic 254, laminate 142, aluminium 176,
inlay 1197, sleeper 380 faces
- UVs in 0..1, overlap 0; AABB 1.6400 x 2.3014 x 0.5234 m (read off the
vertices), zmin 0; collider 277 tris (ceiling 300); bake FINISHED;
glTF 2730012 B
- hygiene all 0, zero coplanar cross-shell pairs (first draft 206: range
dots 54 mm apart shared cap planes; neighbours now alternate 0.13 mm) and
zero zero-area faces (one Boolean sliver; the ball is triangulated and
its slivers dissolved before joining)
- supports: all 5 sleepers zmin 0
- pins: base centres 0.000 mm off their spots (tol 0.5), seated 0.6 mm
below the deck face (band 0.3-1.0), tilt 0.000 deg, height 0.3810 m,
belly 0.12106 m (tol 0.5 mm), radius at all 15 table stations 0.000 mm
off (tol 0.2)
- spots: 18 lattice edges at 12 in (0.000 mm off), rows 1-2-3-4 level,
row pitch 0.26396 m, head spot on the lane's centre line
- ball: diameter 0.21590 m, resting 0.60 mm into the lane (band 0.3-0.9);
holes 63.5 / 50.8 / 50.8 mm deep, bores 25.40 / 20.32 / 20.32 mm, span
112.2 mm (4.4 in +- 2 mm), bridge 26.67 mm; each hole's axis from its
flat drilled bottom
- boards: 39, flush 0.000 mm, straight 0.000 mm, pitch 0.000 mm off
- one connected assembly of 55 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-sleeper -> middle sleeper zmin 0.00300 -> 16
- --offset-pin -> pin 5 0.006 m off its spot -> 17
- --float-pin -> pin 3 base 2.4 mm above the deck face -> 18
- --lean-pin -> pin 6 tilt 1.396 deg -> 19
- --wide-rack -> lattice edges 9.14 mm long, row pitch 7.92 mm off -> 20
- --fat-neck -> 1.5 mm off the table at the neck -> 21
- --float-ball -> rest +3.40 mm -> 22
- --shallow-holes -> finger depth 0.030 m (bores, span, bridge unchanged) -> 23
- --proud-board -> board tops spread 1.20 mm -> 24
- --lift-arrows -> 8 components -> 25
Tris (37078) and AABB identical under every falsifier; every earlier
budget green in each run. Two were re-aimed by fixing the audit: --lift-z
first exited 16 on the sleepers because bound_box was stale after the
vertex edit (the AABB gate now reads the vertices), and --shallow-holes
also moved bore and bridge because a PCA axis wanders on a short hole.
Render: render_hero.py wrote hero and preview. Framing fill x 0.803,
y 0.878, margins >= 0.033. Camera 15 deg off the lane axis, between the
rack's 0 and 30 deg lines, so the whole triangle reads. Asset-quality
floors pass (edge90 0.038); a violation remaps to 26.
Asset sheet (docs/gallery/asset-sheets/bowling-pins.webp): not the
least-designed object in the lineup; the hydrant and the wheelbarrow are
plainer. Isolated it reads at once as a lane end: seamed boards, arrows,
dots, gutters, capped kickbacks, the rack and the ball. Weak points: the
kickback panels are plain laminate, and the pins and ball are small at
sheet scale because the lane sets the extent.
Contact sheet: luma 0.2405 against calibration 0.2369-0.2428 (in band).
Stage 0.2019 against 0.1919-0.2517 (in band). Saturation 0.1701 against
0.1525-0.2367 (in band). Wedge warmth +0.1525 against -0.1440/+0.1052/
+0.0921: warmer than the warmest by 0.047. The brightest tenth of the
lower half is the blond lane itself, not the wedge pool: halving the wedge
left it at +0.1538 and dropped luma out of band, and greying the maple to
bring it in read as weathered wood, so it stays. Thumbnail legibility good.
Also updated: README, CLAUDE.md and ROADMAP counts and entries (bowling
pins struck from the Sports alternates as shipped), the asset_sheet.py
SELECT row, catalog.json, plugin.json and the regenerated gallery.
build_gallery, check_site_links (104 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 f9d0ecd commit e3a3884
63 files changed
Lines changed: 7171 additions & 106 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
- 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
- bowling-pins
- 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 | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
| 189 | + | |
| 190 | + | |
190 | 191 | | |
191 | 192 | | |
| 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 | | |
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
160 | 161 | | |
161 | 162 | | |
162 | 163 | | |
| |||
251 | 252 | | |
252 | 253 | | |
253 | 254 | | |
| 255 | + | |
| 256 | + | |
254 | 257 | | |
255 | 258 | | |
256 | 259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
0 commit comments