Skip to content

fix(showcase): terrain-scatter and park-bench visual quality pass - #182

Merged
TMHSDigital merged 3 commits into
mainfrom
fix/showcase-terrain-bench-quality
Sep 18, 2026
Merged

TMHSDigital merged 3 commits into
mainfrom
fix/showcase-terrain-bench-quality

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

  • Terrain-scatter: GN hill + instance grid kept; realized cubes replaced with icospheres seated on sampled dirt Z and clamped above the slab. Hygiene 15–19 plus poke/float/crate falsifiers.
  • Park-bench: named hx/hy/SCROLL_R stations, 6-gon tube feet tangent to posts, H-stretcher into post volumes, jittered slats, wood arm caps. Hygiene 15–19 plus named-toe / gap / span falsifiers.
  • showcase/README.md: sampled-host-seat convention for scatter pieces.

Terrain-scatter

Defects (round-1 inspection of the old mesh)

  1. Rocks were bevelled cubes / open crates (threeq_a, clay, top, wire).
  2. At least one rock punched through the slab bottom (front, left, bottom ortho).
  3. 3×3 lattice with only ±9 cm XY jitter (top).
  4. Rocks not seated on the hill: floating in dips or buried through (left, rock joints).
  5. Bevel corner tabs like packing crates (top).
  6. Hill was a 9-vert grid of huge planar facets (clay, threeq).
  7. One rock standing as a slab ~2× the others (threeq_a, front).
  8. Flat single-color dirt/stone (threeq_a).
  9. Through-floor stone vs slab interior (bottom).
  10. Clay silhouette did not read as terrain scatter.

Generator fixes (structural)

  • Keep GN MeshGrid hill + Index-jittered Instance-on-Points.
  • Replace cube islands with subdiv-2 icospheres whose zmin is sampled dirt Z minus ROCK_BITE, then clamp verts above ROCK_ZMIN.
  • Hill grid 9 → 21 verts; jitter 0.09 → 0.22; wear noise on both materials.
  • 3 inspection rounds. Tris 1194 → 1758. Framing gate passed on 5.2.1 (no deviation=).

Hygiene (all three binaries)

loose/nonman/doubles/zero-area/ngons/zfight = 0; zmin = 0; 9 stones × 80 faces; poke_z = 0.11334; float_off = −0.03500.

Falsifiers (4.5.11 / 5.1.2 / 5.2.1, same codes)

default 0; --skip-decimate 9; --stray-vert 15; --lift-z 16; --poke-rock 17; --float-rocks 18; --box-rocks 19.

Park-bench

Defects (round-1 inspection of the old mesh)

  1. Scroll feet C-arcs missed the posts by ~2–3 cm (left, clay, wire).
  2. Arm C-scroll did not join the arm bar / front post (left, arm close-up).
  3. X/Y stretchers floated, did not reach posts (bottom, front, stretcher close-up, wire).
  4. Scrolls were faceted sausages of box segments (clay, arm close-up).
  5. Identical slat widths (front, top).
  6. Back slats with large even gaps (front).
  7. No wood arm cap (threeq).
  8. Legs were posts with hanging C, not a tangent scroll-foot (left).
  9. Posts did not plant; only disconnected C-scrolls at z=0 (left).
  10. Ground/foot close-ups missed (black). Width 1.08 m tight for a bench.

Generator fixes (structural)

  • Named stations hx, hy, SCROLL_R. Quarter-circle 6-gon tube about (hy ± R, R), tangent at the post join, toe at z=0.
  • H-stretcher into post volumes without shared corner verts; slats insert into posts, rails stop at post centers.
  • Closed-form slat-width jitter; wood arm caps; iron wear noise.
  • 3 inspection rounds. Tris 2100 → 2520. Sitting width 1.40 m. Framing y-fill 0.800 on 5.2.1 (no deviation=).

Hygiene (all three binaries)

loose/nonman/doubles/zero-area/ngons/zfight = 0; zmin = 0; 4 toes at z=0; st_gap = 0.00120; slat_gap = 0.00028; seat_x = 1.2720.

Falsifiers (4.5.11 / 5.1.2 / 5.2.1, same codes)

default 0; --skip-decimate 9; --stray-vert 15; --lift-z 16; --short-feet 16 (named toes; AABB would still pass); --float-stretcher 17; --gap-slats 18; --narrow-seat 19.

Test plan

  • Default + every falsifier on 4.5.11, 5.1.2, 5.2.1 (live run)
  • Hero stills on 5.2.1 Cycles; check_framing with no deviation=
  • python scripts/build_gallery.py; card alts and witnesses callouts read in generated HTML
  • CI: validate, blender-smoke 5.2 + 4.5, labeled 5.1, drift-check, Socket

TMHSDigital and others added 3 commits September 18, 2026 13:53
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
… crate cubes

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 18, 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 18, 2026
@TMHSDigital
TMHSDigital merged commit 8461626 into main Sep 18, 2026
13 checks passed
@TMHSDigital
TMHSDigital deleted the fix/showcase-terrain-bench-quality branch September 18, 2026 18:01
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