fix(examples): redesign mesh-hygiene-audit as a flanged street valve with marked defects - #269
Merged
Merged
Conversation
…with marked defects The gallery review judged the hero weak: a crude octagonal brass spool shown twice, the defects a thin orange wire that read as a render glitch, and floor labels unreadable at card size. The subject is now a designed upright street valve in eight named parts (body casting, side outlet, 22 flange bolts, gland nut, threaded stem, brass handwheel hub, rim and spokes; four materials, chamfered steps). The still shows a dirty copy beside the clean valve with no labels. The dirty body carries a hole, a flipped patch, an ngon and three loose verts. Markers are read back from audit incidence: red boundary tubes, red loose-vert beads and an amber ngon slot. Flipped faces and the inside of the hole glow red through the paint's Backfacing mix, so the renderer itself shows the winding. On the clean valve the same material shows no red. The check is stronger, not weaker. Gates 3-7 now run on every part, not just one mesh. A new winding-consistency gate (BMEdge.is_contiguous, exit 7) catches flipped patches that signed volume misses. --inject KIND covers every gate, including a buried second shell that only Euler (exit 8) can see. The render path adds the asset-quality floor (exit 11) and refuses to write a still if staging loses a defect class. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.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.
What changed and why
The gallery review judged the
mesh-hygiene-audithero weak. It showed a crude octagonal brass spool twice, labelled "DIRTY" / "CLEAN". The defects were a thin orange wire that looked like a render glitch, and the floor labels could not be read at card size.Redesign
Valve.Bodycasting (chamfered base and bonnet flanges, globe, domed bonnet),Valve.Outlet,Valve.FlangeBolts(22 hex bolts),Valve.GlandNut, a threadedValve.Stem, and a brass handwheel (Valve.HandwheelHub,Valve.HandwheelRim,Valve.HandwheelSpokes). It uses four materials.Backfacingoutput. The flipped patch and the inside of the hole turn red on their own. The same material on the clean valve shows no red anywhere.audit()incidence on the dirty mesh, not from the staging code. The render path exits 9 if staging loses any of the four defect classes.The check is stronger, not weaker
BMEdge.is_contiguous(exit 7). It catches flipped patches that the signed-volume test misses.--inject KIND [--inject-part NAME]falsifies every gate.--inject-ngonis kept as an alias.gallery_asset_quality(exit 11) as well asgallery_framing(exit 10).scripts/asset_sheet.pygains aSELECTrow:"mesh-hygiene-audit": (r"^Valve\.", None).Before / after
docs/gallery/contact-sheets/mesh-hygiene-audit-contact-sheet.webpdocs/gallery/asset-sheets/mesh-hygiene-audit.webpdocs/gallery/assets/mesh-hygiene-audit-hero.webponmain)Gate numbers (5.2.1 LTS, EEVEE)
aq_okmeasure_hero_drift --only mesh-hygiene-audit: mean_abs 0.00364, gt2pct 1.24%, luma 0.2196/0.2194 — matchesContact sheet (vs armature-bend / damped-track-aim / bmesh-gear)
Per-criterion verdicts:
Asset sheet: reference set from
CLAUDE.mdis collision-hull-proxy, socket-attach-points, vertex-color-ao, wheelbarrow, apothecary-shelf. Verdict: ships. In the isolated lineup the valve is not the least-designed object. It has more parts and edge treatment than the hydrant (bolted flanges, threaded stem, spoked handwheel, chamfered castings). It is simpler than the drone and the apothecary shelf.Check runs (check-only path,
tests/smoke/run_example.py)Identical
hygiene_okon all three binaries:parts=8 … body_euler=2 body_volume=0.453344 body_min_area=1.223e-03.E:\Blender-Developer-Tools\.scratch\blender-5.2.1-windows-x64\blender.exe…\blender-5.1.2-windows-x64\blender.exe…\blender-4.5.11-windows-x64\blender.exeThe render path (
--output) also ran clean on 4.5.11 LTS (framing_ok,aq_ok), and the still is visually identical to the 5.2.1 one.Falsifiers (5.2.1 LTS, each observed non-zero, then restored by dropping the flag)
--inject ngonValve.Body: 1 ngon(s)--inject-ngon(alias)--inject ngon --inject-part Valve.HandwheelRimValve.HandwheelRim: 1 ngon(s)(per-part coverage)--inject loose1 loose vertex(es)--inject boundarynonman_edges=4 boundary_edges=4--inject zero_area2 zero-area face(s) (min_area=0.000e+00)--inject flip_patch4 winding seam edge(s)(new gate)--inject flipsigned volume -0.453344--inject shellEuler characteristic V-E+F=4 != 2(first live falsifier for the Euler gate)Proven by live run vs established by inspection only
Proven by live run:
render_hero.py,contact_sheet.pyandasset_sheet.pyoutputsbuild_gallery.pyregenerated after rebase ontoorigin/main<img alt>indocs/gallery/index.htmlanddocs/gallery/mesh-hygiene-audit/index.htmlwas read and matches the new altEstablished by inspection only:
🤖 Generated with Claude Code