Commit ddde8ce
fix(showcase): remodel basketball-hoop as a court-side hoop on a painted concrete pad
At thumbnail size the hoop read as a thin line drawing: horizontal fill
0.20, a 4.5 in round pole and thin braces, and a plain board face with
nothing around it. It is rebuilt as a driveway hoop standing on its own
patch of court:
- a two-pour concrete pad (5.2 x 6.6 m, 100 mm) with a sealed expansion
joint; the second pour sits 1.5 mm under the first
- faded, worn court paint set into the slabs: baseline, a filled green
key with lane lines, a block and three ticks each side, free-throw line
and circle, and part of a three-point arc cut off by the pad (a
driveway layout scaled to the pad, not regulation)
- two pebbled size-7 basketballs with black seam tori, each resting on
the concrete, one on the court and one by the pole's foot
- a 6 in rounded-square pole swept in one piece through the gooseneck,
with a welded gusset web inside each bend; its plate is sunk 4 mm into
the slab, with four gussets and four anchor bolts set 70 mm into it
- a square pad with seam grooves and a hook-and-loop flap; bolted
square clamp sleeves; thicker braces (44 mm)
- a 50 mm satin aluminium board frame, a thicker navy edge pad
- a breakaway rim mount: bigger flange plate, hinge barrel and spring
housing on the bracket
- a knot at each of the 72 net crossings
- twelve materials (was six): powder-coat steel and aluminium carry a
studio reflection term (after espresso-machine), concrete with stains
and speckle bump, worn line and key paint, pebbled ball leather, seams
- a long-lens hero (70 mm from 20 m) so the court runs toward the camera
without its near corner swelling; relit to the calibration luma
Coplanar hygiene was fixed by staggering parts, not by widening bands:
each overlapping paint group has its own top and sink, the free-throw
circle is 6 mm wider than the lane, the plate is sunk rather than laid on
the slab, the border line narrows to 44 mm so it clears the square's
bottom line, and the two bolt heads on each clamp face stand 1 mm apart.
New budgets and falsifiers (checked before the component check, so a
floated part names its own budget):
- Ball seat (exit 21): 2 balls, fitted radius 0.1194 +/- 0.002, lowest
vertex 0.5-4 mm into the slab under it (measured 0.1194 / 2.0 mm).
- Anchor bolts (exit 22): 4 bolts, foot >= 50 mm under the slab top,
head >= 30 mm over the plate (70 / 62 mm).
- Court paint (exit 23): 18 shells, top 0.5-3 mm over their slab, sink
1-4 mm under it (1.0-2.2 / 1.4-3.0 mm).
- Asset-quality remap moves from 21 to 24.
Kept: brace bite, net seat, rim height (now measured over the slab
under the ring), level, size, board gap, one connected assembly.
Budget changes:
- Base tris 8700-10000 -> 18500-20500 (measured 19564; LOD 0.4984/0.2183)
- Materials 6 -> 12, face floors per material
- Outer AABB -> (5.200, 6.600, 4.050) m; collider 58 tris (ceiling 220)
- Shells 93 -> 209, one connected assembly
Falsifiers (flag -> measured -> exit), all on the final code:
--skip-decimate LOD1 1.0000 9
--stray-vert loose_v 1 15
--lift-z zmin 0.05000 16
--short-brace rail bite -0.02150 17
--drop-net worst eye-to-loop 0.03200 18
--tilt-rim tilt 3.000 deg 19
--loose-pad 2 components 20
--float-ball sink -0.01800 21
--short-bolts embed -0.0125 22
--float-paint sink -0.00460..-0.00300, top 0.0070+ 23
tests/check_falsifier_targets.py --run --only basketball-hoop passes.
Evidence (live runs, local):
- .scratch/5.2/blender-5.2.1-windows-x64/blender.exe (Blender 5.2.1 LTS).
Two default runs exit 0 with identical measured lines; hygiene all 0
including coplanar cross-shell pairs.
- Framing: fill x 0.800 (was 0.20), y 0.856; margins l .113 r .088
b .072 t .072.
- Contact sheet: luma 0.2419 (calibration 0.2369-0.2428), stage 0.2276,
warmth +0.044, sat 0.2126 (band 0.1525-0.2367). Before, the hoop was a
thin silhouette in the left third of a dark frame; now the board, net,
pole and court all read at thumbnail size.
- Asset sheet: the hoop now reads as a hoop on a painted court with
balls; it is not the least-designed object in the lineup (the hydrant
is simpler). Before it was a thin stick figure beside the others.
- build_gallery, check_site_links and every tests/check_*.py pass.
- 4.5 LTS and 5.1 were not run locally.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>1 parent 9be99b7 commit ddde8ce
11 files changed
Lines changed: 2537 additions & 778 deletions
File tree
- docs/gallery
- asset-sheets
- assets
- basketball-hoop
- contact-sheets
- showcase
- basketball-hoop
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | | - | |
| 242 | + | |
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| |||
Large diffs are not rendered by default.
Loading
Loading
0 commit comments