Skip to content

fix(showcase): wooden-barrel and wooden-bucket visual quality pass - #177

Merged
TMHSDigital merged 2 commits into
mainfrom
showcase/qpass-barrel-bucket
Sep 16, 2026
Merged

TMHSDigital merged 2 commits into
mainfrom
showcase/qpass-barrel-bucket

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Showcase visual quality pass on wooden-barrel and wooden-bucket (never passed; last report's remaining stave/hoop CG class). Round-1 inspection confirmed 12-gon identical staves, circular hoops floating off flats, circular heads leaving slots in the polygonal croze, a 12-box rope bail that never entered the ear rings, and ear cubes punching through the rim.

Both generators were rewritten so hoops, heads, and ears evaluate the same stave-chord host. Hygiene 15–19 locked. Inspection sheets stayed in .scratch/ (untracked).

wooden-barrel

Defects (round 1, every inspect view)

  1. 12 identical staves, 5 mm daylight — clay, wire, joint-stave-gap
  2. Circular capped-cylinder hoops floating off stave flats — joint-hoop-mid, ortho-front
  3. Circular 16-gon lids leaving black triangular slots at every stave joint — joint-lid-top, ortho-top, clay rim
  4. 5-ring polyline bulge, no bung — clay / three-q silhouette
  5. Heads coplanar with stave ends (z-fight risk) — ortho-top, ortho-bottom

Structural fixes

  • 20 staves, seed-17 width jitter, 8-ring bulge, 1.2 mm hairline GAP_M
  • host_outer_r chord formula; hoops lofted on stave faces with bite/proud/chamfer (--round-band is a circle of radius_at(z))
  • Heads follow the inner stave polygon via croze_xy, recessed by CHIME so stave ends stand above the lid
  • Bung on the first-stave mid-face
  • Named stave supports (--short-staves); head-croze gap (--float-head)
  • Unique-cell UVs kept for the AABB-overlap budget; the still uses mesh normals (the bake is still gated) so the hero is not a quilt of UV islands

Hygiene (measured 4.5.11 / 5.1.2 / 5.2.1)

Axis Declared Measured
Base tris 6000–8500 7216 / 7216 / 7216 (was 4312)
Hygiene 15 0 loose/nonman/doubles/zero-area/ngons/zfight 0
zmin / 20 staves 16 0.0000 / 20
Head-croze gap ≤ 0.010 m 0.00698
Hoop bite 0.0012–0.008 m 0.00300
Body 0.714 × 0.880 m ± 0.04 0.7142 × 0.8800
Collider ≤ 400 238

Falsifiers (same code on all three binaries)

Flag Budget Exit
default 0
--skip-decimate LOD1 ratio 9
--stray-vert loose verts 15
--lift-z / --short-staves grounded / named staves 16
--float-head head-croze 17
--round-band hoop seat 18

Framing gate passed on 5.2.1 (fill y=0.822, margins ≥ 0.056). 3 inspection rounds.

wooden-bucket

Defects (round 1)

  1. 12 box-segment rope bail with V-gaps, never entered the ear rings — joint-bail, clay
  2. Ear cubes punched through the rim — joint-ear
  3. Overlapping identical staves (STAVE_GAP=-0.08) — joint-stave, wire
  4. Circular hoops on a 14-gon — joint-hoop-mid
  5. Circular floor floating inside the polygonal hull — joint-bottom, rim-interior

Structural fixes

  • 16 staves, chord-seated hoops, linear taper + 12 mm sin bulge
  • Floor = inner stave polygon in a croze above a chime (--float-bottom)
  • Ear plates on host_outer_r + plate_t/2, top below the rim; flat XY rings; round semicircle bail through the rings (--float-handle shrinks rx)
  • bail_join is min nearest distance from ring verts to bail BVH

Hygiene (all three binaries)

Axis Declared Measured
Base tris 4000–5800 4872 / 4872 / 4872 (was 4272)
Hygiene 15 0 0
zmin / 16 staves 16 0.0000 / 16
Bail-ear gap ≤ 0.006 m 0.00125
Floor-croze gap ≤ 0.008 m 0.00458
Hoop bite 0.0010–0.007 m 0.00250
Body 0.335 × 0.360 m ± 0.04 0.3349 × 0.3600
Collider ≤ 420 302

Falsifiers (same code on all three)

Flag Budget Exit
default 0
--skip-decimate LOD1 9
--stray-vert loose verts 15
--lift-z / --short-staves grounded / named staves 16
--float-handle / --float-bottom bail-ear / floor-croze 17
--round-band hoop seat 18

Framing gate passed on 5.2.1 (fill y=0.733, margins ≥ 0.083). 3 inspection rounds.

Test plan

  • blender-smoke 5.2 LTS and 4.5 LTS green on this head
  • needs-5.1 labeled via REST; 5.1 smoke job appears and is green
  • validate + drift-check + Socket
  • Squash-merge with branch deletion, no --admin
  • Post-merge: release tag, Pages, gallery 200

showcase/README.md conventions (hygiene 15–19, named supports, --round-band seat) were already in place — no convention commit.

TMHSDigital and others added 2 commits September 16, 2026 18:02
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 16, 2026
@TMHSDigital TMHSDigital added the needs-5.1 Opt-in Blender 5.1 smoke on this PR. Default matrix stays 4.5 + 5.2. Auto-label will not apply this. label Sep 16, 2026
@TMHSDigital
TMHSDigital merged commit bd9808b into main Sep 16, 2026
13 checks passed
@TMHSDigital
TMHSDigital deleted the showcase/qpass-barrel-bucket branch September 16, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation needs-5.1 Opt-in Blender 5.1 smoke on this PR. Default matrix stays 4.5 + 5.2. Auto-label will not apply this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant