Skip to content

fix(showcase): grindstone and wheelbarrow visual quality pass - #174

Merged
TMHSDigital merged 4 commits into
mainfrom
showcase/qpass-wheelbarrow-grindstone
Sep 16, 2026
Merged

TMHSDigital merged 4 commits into
mainfrom
showcase/qpass-wheelbarrow-grindstone

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Showcase visual quality pass on grindstone and wheelbarrow — the two worst remaining after chopping-block. Structural generator fixes, then hygiene / named-support / joint-fit / seat budgets with falsifiers proven on 4.5.11, 5.1.2, and 5.2.1.

showcase/README.md now requires named supports (exit 16) on multi-foot props.


Grindstone

Defects (inspection sheet)

  1. Triangular holes under the A-frame bearings — ortho_front, ortho_back, joint_aframe_peak.
  2. Angled leg end-caps piercing Z=0 / through-holes at the feet — ground_contact, ortho_bottom.
  3. Coincident faces where diagonal, sill, and king shared Y-thickness (black patches) — joint_aframe_peak, clay_a.
  4. Trough built from five overlapping boxes; bevel produced doubles and zero-area faces — hygiene probe.
  5. Daylight between trough and sills; stretchers floating above the tie beams — ortho_top, joint_crossbrace, three_quarter_a.
  6. Trough-sill audit mixed the two Y sides after crank-handle centering, so a visibly gapped trough still reported overlap.

Generator fixes (structural)

  • King post + diagonals tenoning into a fatter sill/king (nested Y), not two sticks meeting at a point.
  • Short wood tenon buried in the iron shoe; diagonal starts on the shoe top so the angled cap cannot pierce Z=0.
  • One manifold basin (inset_region / extrude_face_region) instead of five overlapping boxes; bevel only the trough.
  • TROUGH_W derived from the sill inner face plus a seat; end stretchers tenon through both sills at sill height.
  • Per-side trough-sill gap; --narrow-trough / --float-legs / --short-legs as named falsifiers.
  • --float-crank moves the crank inward so the Y AABB stays in band; --no-dip lowers the trough instead of raising the stone.

Budgets (all three binaries)

Axis 4.5.11 / 5.1.2 / 5.2.1
Base tris 928 / 928 / 928 (was 1604)
LOD2 ratio 0.2198 / 0.2198 / 0.1897
Hygiene 0 / 0 / 0
shoe_z, shoe_wood, trough_sill 0, 0, 0
Stone dip 0.02570
Export bytes 89316 / 89316 / 89312

Falsifiers (same code on all three)

Flag Budget Exit
default 0
--skip-decimate LOD1 9
--stray-vert hygiene 15
--lift-z zmin 16
--short-legs named shoes 16
--float-crank crank-axle gap 17
--float-legs shoe-wood join 17
--no-dip stone dip band 18
--narrow-trough trough-sill seat 18

Inspection rounds: 7. Framing on 5.2.1: fill y=0.722, margins ≥ 0.056, framing_ok.


Wheelbarrow

Defects (inspection sheet)

  1. Daylight at tray floor/wall after wood bevel — ortho_front, joint_tray_bottom.
  2. Coincident faces where handle and chassis shared Y-thickness — joint_handle_tray, clay_a.
  3. Shoes could float while the wheel still grounded the AABB — named-support class.
  4. spoke_clearance matched floor slats, so --fat-spokes could not fail the hub budget.
  5. --pipe-rim used an inner metal torus that floated (tyre_z=0.008) and hit exit 16 before tread aspect.
  6. --float-walls at a zero seat welded four doubles, so hygiene 15 fired before seat 17.

Generator fixes (structural)

  • Negative slat gap and walls seated into the floor (WALL_SEAT).
  • Handle-end thinner in Y so it tenons into a fatter chassis.
  • Spoke metric is hub-local (centroid near the wheel), not "thin-in-Z".
  • Pipe-rim falsifier: metal is the outer torus, planted from its own outer radius at Z=0.
  • --float-walls uses a small negative seat so walls lift without kissing/welding.

Budgets (all three binaries)

Axis 4.5.11 / 5.1.2 / 5.2.1
Base tris 2500 / 2500 / 2500 (was 3088)
LOD2 ratio 0.2200 / 0.2200 / 0.2104
Hygiene 0 / 0 / 0
shoe_z, tyre_z, wall-floor seat 0, 0, 0.012
Spoke clearance / tread aspect 0.040 / 5.111
Export bytes 187576 / 187576 / 187560

Falsifiers (same code on all three)

Flag Budget Exit
default 0
--skip-decimate LOD1 9
--stray-vert hygiene 15
--lift-z zmin 16
--short-legs named shoes 16
--fat-spokes spoke clearance 17
--float-walls wall-floor seat 17
--pipe-rim tread aspect 18

Inspection rounds: 6. Framing on 5.2.1: fill y=0.728, margins ≥ 0.067, framing_ok.

Test plan

  • Default exit 0 on 4.5.11, 5.1.2, 5.2.1 for both pieces
  • Every named falsifier fires the documented code on all three
  • Hero stills on 5.2.1, check_framing without deviation=, framing_ok
  • Generated gallery HTML alts and witnesses callouts read in full (not truncated)
  • CI blender-smoke 5.2 + 4.5 + labeled 5.1

TMHSDigital and others added 3 commits September 16, 2026 11:26
AABB zmin cannot catch a planted wheel hiding floating shoes.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…lly join

The trestle was two sticks with a hole under the bearing and a floating tub. King, nested sill, manifold basin, and shoe tenons close the joints, locked as hygiene and seat budgets.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ctually meet

Walls sat on the floor and spokes were audited against floor slats. Seated walls, nested handles, and a hub-local spoke metric lock the joints.

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
The README exit-table check treats return -1 as a process code. Missing material is None.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@TMHSDigital
TMHSDigital merged commit 0fffd74 into main Sep 16, 2026
12 checks passed
@TMHSDigital
TMHSDigital deleted the showcase/qpass-wheelbarrow-grindstone branch September 16, 2026 15:38
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