fix(examples): redesign lod-decimate-chain rocket and show LOD density - #266
Merged
Merged
Conversation
The gallery review found three near-identical primitive rockets with unreadable floor labels: the LOD drop was invisible at card size, and the rocket was demoted from the asset reference set as the least-designed object (PR #257). The rocket is now a designed asset in one closed-form mesh: hollow nozzle bell, brass collar, red skirt, recessed panel seams with two rivet rows, raised brass shoulder band, tangent-ogive nose with brass finial and antenna, four swept fins with chamfered brass-trimmed rims, and a flanged porthole with a domed glass. Six materials. The render overlays a triangle wireframe of each LOD (same mesh, same Decimate, then Triangulate and Wireframe), so the density drop reads left to right while the silhouettes stay identical, and labels each LOD with the evaluated triangle count from the check. The render path now runs the gallery_framing and gallery_asset_quality gates. Check logic is unchanged; the closed forms follow the new geometry. The fins' layout comes from the bbox contract: three oblique fins let a collapse at ratio 0.18 shave a plate corner by 4.7e-3 (exit 9). So the fins sit on the local axes and end in a straight tip cap and flat foot. Measured bbox drift is now 2.6e-10. 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.
Why
The gallery review found three near-identical primitive rockets (cone, cylinder, flat fins) with tiny floor labels nobody could read at card size. The LOD drop didn't show, and #257 demoted the rocket from the asset reference set as the least-designed object in the lineup.
What changed
Asset. The rocket is now one closed-form mesh with these parts:
It uses six materials and has smooth shading with sharp edges past 40°.
Proof made visible. A dark triangle wireframe sits over each LOD. The overlay object shares the LOD's mesh and applies the same Decimate, then Triangulate and Wireframe, so it draws exactly the triangles the check counts: the overlay's input measured 4784 / 2392 / 860 faces, identical to the check (probe). Reading left to right, the mesh goes from fine (LOD0) to large facets (LOD2), and the porthole flange collapses to an octagon. The silhouettes stay identical, which is contract 3 made visible. Each LOD has one large label showing the evaluated triangle count from the check (
4784 tris/2392 tris/860 tris). The labels are readable at 427x240.Render path now calls
gallery_framing.check_framing(exit 10) andgallery_asset_quality.check_asset_quality(exit 11). "No file" moves from 10 to 12, and the README exit table is updated.Check logic is unchanged. The closed-form counts and bbox now follow the new geometry. The fin layout comes from the bbox contract: with three oblique fins, a collapse at 0.18 shaved a plate corner by 4.7e-3 (exit 9). So the four fins sit on the local axes and end in a straight tip cap and a flat foot, which makes every bbox extreme a mid-rim vertex on a straight edge. The render turns the rocket −45° so the porthole faces the camera. The check reads local coordinates.
Evidence
docs/gallery/contact-sheets/lod-decimate-chain-contact-sheet.webpscripts/asset_sheet.py):docs/gallery/asset-sheets/lod-decimate-chain.webpGates (5.2.1 LTS)
measure_hero_drift.py --only lod-decimate-chainreports matches (mean_abs 0.00559, luma 0.2465/0.2461).build_gallery.pyre-run after rebasing onto main. I read the generated<img alt>and witnesses callout indocs/gallery/index.htmlanddocs/gallery/lod-decimate-chain/index.html; both carry the new text in full.Check runs (
tests/smoke/run_example.py --forbid-skip).scratch/blender-5.2.1-windows-x64/blender.exe.scratch/blender-5.1.2-windows-x64/blender.exe.scratch/blender-4.5.11-windows-x64/blender.exeAll three print the same values: 2511 verts / 2488 faces / 4784 tris; ratio 0.5 gives 2392 tris (dev 0.00%); ratio 0.18 gives 860 tris (dev 0.13%); bbox_dev ≤ 2.6e-10. The
--outputrender path also passed framing and asset quality on 4.5.11.Falsifiers (5.2.1; each break observed failing, then restored)
--no-decimate(also on 4.5.11)obj.dataProven by live run
Established by inspection only
docs/VISUAL-STYLE.mdcalibration row "lod-decimate-chain (former reference)" still records the old asset's floors (3 / 4 / 0.019). I left it as the record behind the demotion. The new asset measures 1 part / 6 materials / 0.010 if you'd rather update it.🤖 Generated with Claude Code