feat: add VSE linear-modifiers and GN socket-rename cross-version examples - #145
Merged
Merged
Conversation
Naive getattr still works on 4.5.11 and 5.1.2 and raises AttributeError on 5.2.1. Version-guarded hasattr then read exits 0 on all three; --assume-present is red only where the RNA is gone. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
…on 5.2 Enabled-name lookup wires on 4.5.11, 5.1.2, and 5.2.1. Pre-5.2 identifiers Min_001 and A_INT are absent on 5.2; --legacy-ids is red only there. Regenerates gallery pages so the new still is in the index. Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Sep 13, 2026
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.
Summary
Two cross-version breakage examples. Default path exits 0 on 4.5.11, 5.1.2, and 5.2.1 while asserting different behavior per version. Framing deviation contract and #138 stay queued.
examples/vse-linear-modifiers/— pathology, no gallery still.examples/gn-socket-rename/— gallery still + contact sheet.Authoring-gate conflicts (repo docs win)
docs/new-example-prompt.mdwants a render for every example.CLAUDE.mdpathology/sidecar examples omit gallery by design. VSE example follows CLAUDE.md (andexit-pre-sidecar/ngon-triangulate).docs/new-example-prompt.mdsays merge. This phase does not merge.cross-version-property-deletedoes not version-branch (delis identical on 4.5 and 5.x). Copied its scaffolding (check()returns, argparse naive-API flag, FATAL wrapper). Version-gated assertions copygn-modifier-inputs(bpy.app.version >= (5, 2, 0)).Task 2 — observed API matrix (live run)
Binaries:
.scratch/blender-4.5.11-windows-x64/blender.exe4db51e9d1e1e.scratch/blender-5.1.2-windows-x64/blender.exeec6e62d40fa9.scratch/blender-5.2.1-windows-x64/blender.exe9e2066aef7efClaim A —
use_linear_modifiersonColorStrip. Holds. 5.1 matches 4.5; not a third behavior.FalseboolFalseboolAttributeErrorAttributeErrormodifiersremains)Claim B — Compare / Random Value identifiers. Holds. 5.1 matches 4.5.
FunctionNodeCompareINT:A_INT,B_INT(plus typedA,A_VEC3, …)A,Bonly —A_INT/B_INTabsentFunctionNodeRandomValueFLOAT:Min_001/Max_001; outputValue_001Min/Max; outputValue—Min_001/Value_001absentExit codes (live run, local Windows)
vse-linear-modifiers--assume-presentFalsifier is red only on 5.2.1 (
use_linear_modifiers missing). On 4.5/5.1 the old RNA still works, so the naive path is green. That is unlike--same-axis.gn-socket-rename--legacy-idsDefault measured on all three:
verts=16 faces=12 zmax=1.940000 gauge_h_hi=8 gauge_h_lo=8.Falsifier is red only on 5.2.1 (
FunctionNodeRandomValue has no inputs identifier 'Min_001'). On 4.5/5.1 those identifiers still exist.5.1 evidence is local (
.scratch/blender-5.1.2-windows-x64, hashec6e62d40fa9), not CI. Applyneeds-5.1so CI re-proves it.GN still
Rendered on 5.2.1 LTS (
9e2066aef7ef), EEVEE. Framing (nodeviation=):x=0.272 y=0.728band 0.70–0.90 okContact sheet:
docs/gallery/contact-sheets/gn-socket-rename-contact-sheet.webpMean luma (full hero): armature-bend 70.76, damped-track-aim 44.46, bmesh-gear 77.74, candidate 73.14. Stage darkness and wedge warmth sit with the calibration set; subject is a jo-block (contract vehicle, same class as
gn-modifier-inputscubes), not a game prop — no asset sheet.Authoring hazard (live)
FunctionNodeRandomValueused as a constant Size source evaluates to 0 even with min=max set. The witness stores min=max=HEIGHTas POINTgauge_h(field context). Documented in the example README.Proven vs inspection
--outputbuild_gallery.pyneeds-5.1)Remaining candidates
The version-dependent assertion shape worked. The next two (
to_mesh().name,MeshAutomaskingSettings) can use the same pattern. Both pathology, no gallery. Framing contract and #138 stay behind them.Do not merge from this phase.