fix: showcase quality pass — stone-well and cart - #171
Merged
Merged
Conversation
Quality pass on the stone-well generator after an inspection-sheet review found the curb floating above the masonry, windlass stubs buried in the posts, a crank that was a capped stub, an open pit at the roof peak, a sealed bucket with hoops that ignored the taper, a bail handle floating off the rim, and a rope that ended above the handle. Structural fixes in the generator: curb Z derived from the masonry top, windlass lengthened to pass through both posts, a real crank arm and grip, a peak cap, a manifold open bucket with tapered walls and hoops that follow it, bail legs pinned at the rim, rope terminated at the bail bar. Deterministic per-stone jitter, bevels on structural wood, noise/wear on all three materials, cap_tris everywhere to kill n-gons. New budgets: hygiene (loose/non-manifold/zero-area/doubles/ngons all zero, exit 15), grounded zmin (exit 16, --lift-z falsifier), BVH material-island gaps (exit 17), per-material face floors (exit 5) that catch the materials.clear() index-wipe class. Slot assignment is now index-preserving. Hero re-rendered; framing gate passes. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Quality pass on the cart generator after an inspection-sheet review found the axle interpenetrating the bed floor, shafts poking through the bed, corner plates buried inside the wall corners, shaft straps floating off the bed, inconsistent wall heights, torus-profile wheels with round pipe treads, and spokes floating at both ends. Structural fixes in the generator: bed Z derived from the axle top via real bolster beams, shafts dropped to run beside the bed edge and angle down, corner plates moved onto the bed top, straps aligned to the bed bottom, a lower tailgate, flat-tread felloes and iron tyres built as rings, spokes embedded at hub and felloe. Noise/wear on both materials, cap_tris everywhere to kill n-gons. New budgets: hygiene (loose/non-manifold/zero-area/doubles/ngons all zero, exit 15), grounded zmin (exit 16, --lift-z falsifier), BVH metal-wood gap (exit 17), wood face floor (exit 5). Hero re-rendered; framing gate passes. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Adds the material face-floor convention to the showcase README: every declared material asserts a named minimum polygon count recomputed from polygon.material_index, which catches the slot-assignment wipe class (materials.clear() resets material_index to 0 on some versions while the slot count still passes). Slot assignment must be index-preserving. Refreshes the stone-well and cart witness strings in showcase/gallery.json for the quality-pass numbers and regenerates docs/gallery. The regeneration also picks up iron-cauldron detail-page drift whose README landed without a gallery rebuild. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Showcase visual quality pass: stone-well + cart
Second quality pass under the showcase visual-quality procedure (first was #170, hay-bale + hitching-post). Both pieces went from "passes budgets" to "actually looks right" via an inspection-sheet review: six orthos, two material three-quarter views, clay pass, wireframe overlay, joint close-ups, and a ground-contact close-up, all rendered headless on 5.2.1 into
.scratch/(untracked).stone-well
Defects found (view that revealed each)
Generator changes (structural, not nudges)
MASONRY_TOP(computed from course count × course height), so the curb seats on the masonry no matter how the dimensions change.hash01(no RNG state; identical across reruns — verified).cap_tris=Trueon all cone primitives (n-gons now 0).obj.data.materials.clear()resets everypolygon.material_indexto 0 on 5.2.1 — the piece rendered single-material while the slot-count check still passed. The new per-material face-floor budgets (exit 5) catch this class permanently.New hygiene budgets (measured 4.5.11 / 5.1.2 / 5.2.1)
Exit codes (4.5.11 / 5.1.2 / 5.2.1)
--skip-decimate: 9 / 9 / 9 (violates the LOD1 ratio band)--lift-z: 16 / 16 / 16 (violates the grounded-zmin budget)Triangles
Base 8388 → 9380 (crank, peak cap, open bucket, bevels); collider 230 → 306 (ceiling raised 260 → 320 accordingly). LOD2 0.2198 of base on all three series.
Rounds
Two: round 1 found the eleven defects above; round 2 verified every fix on a fresh sheet.
cart
Defects found (view that revealed each)
Generator changes (structural, not nudges)
TAILGATE_H); side and front walls flush atWALL_H.add_ring: flat-tread wooden felloes and flat iron tyres; spokes embedded into hub and felloe at both ends.cap_tris=Trueeverywhere (n-gons now 0).New hygiene budgets (measured 4.5.11 / 5.1.2 / 5.2.1)
Exit codes (4.5.11 / 5.1.2 / 5.2.1)
--skip-decimate: 9 / 9 / 9 (violates the LOD1 ratio band)--lift-z: 16 / 16 / 16 (violates the grounded-zmin budget)Triangles
Base 2572 → 2600; collider 306 → 122 (the hull no longer contains the interpenetrating shafts/axle geometry). LOD2 is 0.2200 on 4.5.11/5.1.2 and 0.2154 on 5.2.1 — the ratio band absorbs the cross-series DECIMATE difference, as documented.
Rounds
Two: round 1 found the nine defects above; round 2 verified every fix on a fresh sheet.
Convention change
showcase/README.mdgains the material face-floor convention: every declared material asserts a named minimum polygon count recomputed frompolygon.material_index, and slot assignment must be index-preserving (nevermaterials.clear()+ rebuild, which wipes indices to 0 on some versions while the slot count still passes). Existing hygiene/grounded/gap conventions already covered the rest of this pass.Evidence notes
.scratch/blender-4.5.11-windows-x64,.scratch/blender-5.1.2-windows-x64, and.scratch/blender-5.2.1-windows-x64(binary-reported versions).check_framingpasses both (well: fill 0.861, min margin 0.033; cart: fill 0.806, min margin 0.044). Nodeviation=used.scripts/build_gallery.py; generated HTML for both detail pages and the index cards read back and verified (witness strings, alt text,×entities). The rebuild also picks up stale iron-cauldron detail-page drift whose README landed without a gallery regen..scratch/inspect/(untracked, per procedure).