fix: shipping-crate, shape-key-blend and vse-linear-modifiers quality pass - #231
Merged
Merged
Conversation
… handles on a board Each strap was two unbevelled boxes flush on the post; it is now one chamfered L-section biting into the post, nailed (seat budget, exit 18, --float-nails). Handle mounting plates straddled an end-board gap; the handle now snaps to the nearest board's centre and a budget asserts each plate sits inside one board (exit 20, --straddle-handle). Per-plank tone and grain. The temp glTF export is removed after measuring. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
… key endpoints Render path only. The check, its assertions and exit codes are unchanged. docs/gallery/index.html also carries the shipping-crate card alt. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
… Sequence type Docstring and README only; assertions and exit codes unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
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.
Quality pass: three items, one per track. Everything below comes from live runs on
.scratch/blender-{4.5.11,5.1.2,5.2.1}-windows-x64/blender.exe, which report 4.5.11 LTS / 5.1.2 / 5.2.1 LTS, unless it is labelled inspection. Baselines were taken on the pristine tree before any edit.A —
showcase/shipping-crateTook 2 inspection rounds: r0 found the defects, r1 confirmed the fixes, and a third wasn't needed. Each round covered six orthos, two three-quarters, clay, wireframe, 8 close-ups (corner strap, strap top, handle, handle plate, lid, long slats, skid end, skid mid) and ground contact.
Defects
.glbexport leaked into the working directory.Fixes, and why each is structural (patterns from
crate-stack, #227, copied not imported)add_strapbuilds one L-section extrusion per corner that bitesIRON_BITEinto the post. The straps and the mounting plates are chamfered atIRON_BEVELwithmaterial=METAL_IDX.add_nailplaces 3 stations × 2 plates × 4 corners = 24 frustum nails from each plate's own outer face and normal._span_layoutthe boards are built from, so it follows any plank count or jitter change.paint_plankswritesPlankToneandGrainDirface attributes for the grain-along-the-board shader, and the iron gets rust wear.New budgets. Measured identically on 4.5.11, 5.1.2 and 5.2.1.
Re-fitted around the measurements: base tris 1200–2800 → 2900–3900, iron face floor 48 → 600, wood 200 → 900. The hygiene set stays all zero.
The
crate-stackright-angle-edge budget is not applied here. The handle bail's pipe ends are square discs buried in the mounting plates, so "every box chamfered" doesn't hold for this piece.Triangles: 2508 → 3388. Collider 76 → 116 (ceiling 220). LOD2 now matches across versions (744). Same-binary determinism: two runs on 5.2.1 match on every measured line.
Falsifiers, the same exit on all three binaries:
--float-nails→ 18: bite −0.90 mm.--straddle-handle→ 20: the handle is put on a board gap, clearance −26.9 mm.tests/check_falsifier_targets.pypasses (188).Existing exit codes, before → after, identical on all three binaries: default 0→0,
--skip-decimate9→9,--lift-z16→16,--stray-vert15→15,--short-skids16→16,--float-handle17→17,--omit-slats18→18.Hero re-rendered on 5.2.1 through
scripts/render_hero.py.check_framingruns withoutdeviation=: fill y 0.728, min margin 0.089. Contact sheet:docs/gallery/contact-sheets/shipping-crate-contact-sheet.webp. Luma 0.176, inside the band.B —
examples/shape-key-blendPresentation change (render path only): pale wire cages of the checked block's own Basis and full Tall key now sit over it, so the 0.5-blend solid visibly sits halfway to its full key. That is the closed form the check asserts; before, the still read as three purple boxes of different sizes. The camera and aim moved to hold the taller cage in frame. The cages are render-only mesh copies with their own key value;
objis untouched.Contract unchanged. Before → after, identical on 4.5.11, 5.1.2 and 5.2.1: default 0 → 0,
--zero-blend5 → 5.Framing: like gn-sdf-remesh (#229), this example's render path has no
check_framingcall. Adding one would add exit 10 to its table, so it was measured externally instead (.scratchprobe: the example's ownmain()with--output, thengallery_framing.check_framing). The first reframe clipped the cage (exit 10 in the probe); the final one measures fill x 0.778, min margin 0.061, code 0. Contact sheet:docs/gallery/contact-sheets/shape-key-blend-contact-sheet.webp, luma 0.236.C —
examples/vse-linear-modifiersDocumentation correction. The README and docstring said "the 5.2 removal of
Sequence.use_linear_modifiers".bpy.types.Sequencedoes not exist on 4.5.11, 5.1.2 or 5.2.1. The attribute is defined onStrip, with class chainColorStrip → EffectStrip → Strip.This is a stale identifier. The documented behaviour (present and settable on 4.5 and 5.1,
AttributeErroron 5.2) re-verified correct, so this is a naming fix, not a reversed claim.README improvements:
Falsedefault.linear-named property exists onStripor on the strip modifier. The README claims only that the switch is gone from RNA, not how 5.2 picks the colour space.Strip.use_linear_modifiers.strip.modifiers.new(type="COLOR_BALANCE")on a COLOR strip crashes Blender (EXCEPTION_ACCESS_VIOLATION); 4.5.11 and 5.2.1 are fine. It is outside this example's contract; the example never adds a modifier.bpy.types.Sequenceuse_linear_modifiersdefined onStripStrip--assume-presentexitAssertions and exit codes are unchanged.
Also
showcase/README.mdconvention: fixtures are mounted on one board, snapped from the board layout, with a clearance budget.check_framingin their render paths.🤖 Generated with Claude Code