Repository navigation
Commit 8202fc7
feat(showcase): add office-chair (household)
The second piece in the household category: an ergonomic task chair. A
polished aluminium five-star base (crowned spokes with two channels and a
centre rib underneath, socket bosses on a 0.305 m circle) stands on five
twin-wheel casters, each on a plumb chrome swivel stem with a washer, a
nylon web and hood, a chrome axle and two crowned wheels trailing 30 mm,
each swivelled its own way. A chrome gas lift rises from the hub through a
two-stage telescoping cover into the socket of a graphite tilt mechanism
with a spring housing, a knurled knob and two lever paddles. The seat is a
moulded pan under a contoured cushion (tapered, bowed plan, dish, side
bolsters, waterfall front, panel seam, piped welt). An aluminium spine
carries a reclined mesh back (warm-white frame, sheer woven panel, arched
top, lumbar pad on straps, cross bar and hub plate) and a headrest on its
own stem. Two height-adjustable T-arms. Nine materials: fabric, mesh,
shell, nylon, aluminium, chrome, tread, leatherette, steel.
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):
- 35992 tris (band 35200-36800); LOD1 0.5000, LOD2 0.2200
- 9 materials: fabric 2110, mesh 1424, shell 2168, nylon 4178,
aluminium 4307, chrome 1308, tread 1920, leatherette 1624, steel 538 faces
- UVs in 0..1, overlap 0; AABB 0.6781 x 0.6928 x 1.2788 m, zmin 0
- collider 995 tris (ceiling 1040); bake FINISHED; glTF 2708432 B
- hygiene all 0, zero coplanar cross-shell pairs on the first run: the twin
wheels' treads are crowned so no profile segment keeps its radius
(mirrored twins would otherwise share tread planes), the welt is offset
along the profile normal, the headrest stem starts 14 mm above the spine
end inside the shared hub plate
- 10 wheels, every lowest vertex at 0.00000
- star: spoke and boss gaps 72 deg (worst error 0.00003 deg), bosses and
stems on 0.305 m (spread 0), stems plumb 0.000 deg, coaxial 0.0 mm,
seated 34 mm (band 25-40)
- gas lift: 0.0 mm off hub and socket axes, tilt 0, seated 52 / 28 mm
- 5 armrest pairs mirrored and level (0.0 mm, eps 0.5), seat 0.4904 m,
arms 0.1966 m over it, star diameter 0.6599 m, mass centre 0.2154 m inside
the caster contact hull (29.18 kg, floor 0.12)
- one connected assembly, 80 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-caster -> caster 3 body lifted: highest wheel bottom 0.00500 -> 16
- --skew-spoke -> spoke 0 turned 3 deg: worst gap error 3.000 deg -> 17
- --offset-column -> 0.00300 m off hub and socket axes -> 18
- --uneven-arms -> right arm raised on its bracket: mirror 0.01000 m -> 19
- --loose-wheel -> wheel slid off its axle end: 2 components -> 20
Envelope and tris unchanged under every falsifier; every earlier budget
green. --skew-spoke first targeted spoke 1, which moved xmin 5.7 mm; it now
turns spoke 0, which sets no extent.
Render: render_hero.py wrote hero and preview. Framing fill x 0.272,
y 0.850, margins 0.072-0.366 (tall subject: height carries the band).
Asset-quality floors pass (edge90 0.024); a violation remaps to exit 21.
Asset sheet (docs/gallery/asset-sheets/office-chair.webp): not the least-
designed object in the lineup; the hydrant is plainer. It reads at once
as a mesh-back task chair with headrest, T-arms, gas lift and five-star
base on casters. Weak point: a tall narrow chair is small in its tile, so
the knob, levers, seam and caster hoods are hard to see at panel size.
Contact sheet: luma 0.2424 against calibration 0.2369-0.2428 (in band).
Stage 0.2167 against 0.1919-0.2517 (in band). Wedge warmth +0.1142 against
-0.1440/+0.1052/+0.0921 (warm pool on the wall). Saturation 0.2393 against
0.1525-0.2367 (slightly above: tangerine upholstery). Thumbnail legibility
good; subject fill in width is the lowest in the lineup. The first draft
measured luma 0.199; relit by raising the key, fill, rim and wedge.
Also updated: README, CLAUDE.md and ROADMAP counts and entries, the
asset_sheet.py SELECT row, catalog.json, plugin.json and the regenerated
gallery. build_gallery, check_site_links (98 pages, 0 failures),
check_falsifier_targets, check_exit_code_readme, check_engine_id and
check_gallery_images all pass.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>1 parent cdbf893 commit 8202fc7
57 files changed
Lines changed: 6423 additions & 94 deletions
File tree
- .cursor-plugin
- docs/gallery
- anvil
- apothecary-shelf
- asset-sheets
- assets
- basketball-hoop
- book-trolley
- bookshelf
- brazier
- butter-churn
- campfire
- cart
- chopping-block
- contact-sheets
- crate-stack
- desk-lamp
- fallen-log
- fence-kit
- grain-sacks
- grindstone
- hand-pump
- hay-bale
- hitching-post
- iron-cauldron
- market-stall
- 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
- wheelbarrow
- wooden-barrel
- wooden-bucket
- wooden-ladder
- wooden-yoke
- scripts
- showcase
- office-chair
- 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 | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | | - | |
| 183 | + | |
| 184 | + | |
184 | 185 | | |
185 | 186 | | |
| 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 | | |
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| 154 | + | |
154 | 155 | | |
155 | 156 | | |
156 | 157 | | |
| |||
233 | 234 | | |
234 | 235 | | |
235 | 236 | | |
| 237 | + | |
| 238 | + | |
236 | 239 | | |
237 | 240 | | |
238 | 241 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
| 161 | + | |
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
| 361 | + | |
362 | 362 | | |
363 | 363 | | |
364 | 364 | | |
| |||
3716 | 3716 | | |
3717 | 3717 | | |
3718 | 3718 | | |
3719 | | - | |
| 3719 | + | |
3720 | 3720 | | |
3721 | 3721 | | |
3722 | 3722 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
| 361 | + | |
362 | 362 | | |
363 | 363 | | |
364 | 364 | | |
| |||
3733 | 3733 | | |
3734 | 3734 | | |
3735 | 3735 | | |
3736 | | - | |
| 3736 | + | |
3737 | 3737 | | |
3738 | 3738 | | |
3739 | 3739 | | |
| |||
Loading
Loading
0 commit comments