fix(examples): redesign prop-origin-transform as a street utility pedestal with a thrown conduit elbow - #267
Merged
Merged
Conversation
…estal with a thrown conduit elbow The gallery review judged the hero programmer art: two teal boxes with grey cylinders, cryptic TRAP / MPI KEEP floor text and unexplained tick marks. The pedestal is now a designed prop in five materials: concrete footing, galvanised base plate and anchor nuts, cabinet with kick skirt, hipped lid, hinged door with a T-handle and hazard plate, louvred vents, a conduit boss and a pad sleeve. It is authored as an import arrives (centred origin, mesh divided by a non-uniform object scale), so the data-API bake lands on exactly the designed shape. The accessory is a flanged PVC conduit elbow with a clamp and a coupling that seats in the sleeve. The composition drops all text. The left copy is parented with MPI and seated. On the right copy, bare child.parent throws the elbow 0.65 m into the air past the slab edge, and a glowing cyan wireframe ghost marks the seat it left. Floor pivot rings centred on each origin replace the axis stubs. The render path now runs the gallery_asset_quality gate too, and asset_sheet.py gains a SELECT row for the asset. Check logic and thresholds are unchanged. The documented numbers move with the new mesh: bare jump 0.298 m, and min.z -0.58 without the origin bake. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Signed-off-by: TMHSDigital <[email protected]>
build_gallery caps card alts at 200 chars; the redesign alt was 333. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Signed-off-by: TMHSDigital <[email protected]>
Union of asset-sheet SELECT rows; generated gallery pages regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Signed-off-by: TMHSDigital <[email protected]>
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
prop-origin-transformhero to be programmer art: two teal boxes, each with a grey cylinder, crypticTRAP/MPI KEEPfloor text and unexplained green and pink tick marks. This PR redesigns both the asset and the composition.Asset: a street utility pedestal, built as one mesh with 5 materials:
It is authored the way an import often arrives: origin at the geometric centre, with mesh coordinates divided by the non-uniform object scale
(1.15, 0.92, 1.08). The data-API bake therefore lands on exactly the designed shape. The accessory is a flanged PVC conduit elbow (2 materials) with bolt heads, a strap clamp, and a coupling that seats in the sleeve.Composition (no text):
matrix_parent_inverseand stays seated.child.parent = parentapplies the pedestal's transform a second time. The elbow is thrown 0.65 m past the slab edge and into the air, and a glowing cyan wireframe ghost marks the seat it left.Wiring:
gallery_asset_quality(exit 11).scripts/asset_sheet.pygains a SELECT row for the asset (^(Pedestal|Conduit)\.Keep$).gallery.jsonand the README, and the gallery is regenerated.Gates (Blender 5.2.1 LTS,
E:\Blender-Developer-Tools\.scratch\blender-5.2.1-windows-x64\blender.exe)Framing: fill x=0.812 y=0.644 (band 0.70–0.90, ok). Margins: left 0.050, right 0.097, bottom 0.161, top 0.144 (≥0.02).
Asset quality: parts=2, materials=7, dominant share 0.50, edge90=0.075, no default names. Result:
aq_ok.Contact sheet: docs/gallery/contact-sheets/prop-origin-transform-contact-sheet.webp
Verdicts:
Asset sheet: docs/gallery/asset-sheets/prop-origin-transform.webp, against
collision-hull-proxy,socket-attach-points,vertex-color-ao,wheelbarrowandapothecary-shelf. Verdict: pass. The pedestal carries the most distinct parts and materials per silhouette of any piece in the lineup. It sits level with the hydrant and is not identifiable as the least-designed object.Drift:
measure_hero_drift.py --only prop-origin-transformgives mean_abs 0.00367 and a verdict of matches.The generated
<img alt>indocs/gallery/index.htmlanddocs/gallery/prop-origin-transform/index.htmlwas read back; the text is correct (193 chars).Check runs
--skip-mpitests/smoke/run_example.pyon 5.2.1 gives[PASS]. The render path on 4.5.11 LTS also exits 0 with identical framing numbers.Falsifiers
Check logic and thresholds are unchanged. Because the mesh changed, every mesh-dependent check was re-falsified on 5.2.1 with a probe that monkeypatches the helper out:
local min.z=-0.580000 != 0(1.15, 0.92, 1.08)--skip-mpi: exit 8, err 0.2985 mProven by live run vs. established by inspection
🤖 Generated with Claude Code