feat: target Blender 5.2 LTS and witness NodesModifier input writes - #122
Merged
Conversation
CI was blind to the 5.2 removal of dict assignment on Geometry Nodes modifiers because no example asserted the write. Teach both sides of the split and fail the check if the value does not land. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
The 5.2 job downloaded blender-5.2.1-linux-x64.tar.xz, printed Blender 5.2.1 LTS, then exited 1 on the injected canary. The matrix leg executes. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Owner
Author
5.2 canary — live-run-proven (then reverted)Job (SHA
Canary removed in |
5.2 COLOR strips get readonly width/height from the scene resolution at new_effect. Creating at factory 1920 then rendering 96 made 0.36-scaled cells cover the frame so the mosaic pixel check sampled amber instead of crimson. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Owner
Author
5.2 smoke after canary revert — real failure, then fixPost-canary SHA live-run-proven (
Fix in
|
5 tasks
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
examples/gn-modifier-inputs/writes a Geometry Nodes Float input through the version-appropriate path, reads it back, and asserts evaluated Z-extent == 1 / 2 / 3. The 5.1 dict form is still taught as correct on 4.5/5.1; 5.2 usesmod.properties.inputs.Socket_1.valueand the dict form raisesTypeErrorrather than silently no-opping.This first CI run includes an intentional 5.2 canary (
exit 1after Print Blender version). The 5.2 job must go red. A no-op download is indistinguishable from a pass. After the red run I will revert the canary and wait for green.Witness (the point of the PR)
Shared GN tree, identifier
Socket_1, three modifier copies, scales 1 / 2 / 3. Closed form: 1 m cube × S, lift S/2, evaluated Z-extent == S, zmin == 0.Falsification — live-run-proven
--api auto.scratch/blender-5.2.1-windows-x64/blender.exereports Blender 5.2.1 LTS (hash9e2066aef7ef)--api dictTypeError: bpy_struct[key] = val: id properties not supported for this type--api auto.scratch/blender-4.5.11-windows-x64/blender.exereports Blender 4.5.11 LTS (hash4db51e9d1e1e)--api rnaAttributeError: 'NodesModifier' object has no attribute 'properties'--api auto.scratch/blender-5.1.2-windows-x64/blender.exereports Blender 5.1.2 (hashec6e62d40fa9)If either form were hardcoded, one of those red runs would have been green. They were not.
CI download URL — live-run-proven
Python
urllibagainsthttps://download.blender.org/release/Blender5.2/(User-Agent set; bare urllib got 403). Matches in the listing:blender-5.2.0-linux-x64.tar.xz,blender-5.2.1-linux-x64.tar.xz.sort -V | tail -1equivalent resolves:https://download.blender.org/release/Blender5.2/blender-5.2.1-linux-x64.tar.xz
Framing / contact sheet
check_framinglive-run-proven: fill y=0.806 (band 0.70–0.90), margins min=0.028, no edge touch.docs/gallery/contact-sheets/gn-modifier-inputs-contact-sheet.webp(candidate | armature-bend | damped-track-aim | bmesh-gear).<img alt>on the card is the fullteachesstring endingmod.properties.inputs.Socket_1.value.— noteaches.split(".")[0]truncation, no<identifier>. Witnesses callout matcheswitnessesFixcharacter-for-character — inspection-only of generated HTML afterpython scripts/build_gallery.py.Targeting / matrix — mixed
geometry-nodes-pythonnow shows both dict and RNA paths, TypeError vs AttributeError — inspection-only of the skill text; behavior proven by the example runs above.blender-smoke.ymlconditional matrix:schedule→["5.2","5.1","4.5"], else["5.2","4.5"]— inspection-only until this PR’s jobs run.Untested-teaching surface (count only, no fixes)
Skills/snippets that teach a load-bearing API no example asserts:
NodeSocketBundle/ Combine+Separate BundleGeometryNodeRepeatInput/Output)bpy.app.handlers.exit_pre(5.1)usd-export-evaluation-mode.pycross-version-property-delete.pyTemplate-only (templates exist, no gallery example): addon-scaffolding / register_classes_factory, ui-panels, custom-properties / PointerProperty, bl-info-migration.
6 untested skill/snippet contracts + 4 template-only. foreach_get has only a weak token hit. This PR closed the NodesModifier input gap; the rest stay for later.
Test plan
Downloading https://…blender-5.2.1-linux-x64.tar.xzline.feat:title, delete branch.blender-smoke.ymlhas nopushtrigger — cite PR-head smoke, not merge SHA. Confirmrelease.ymlfired and tagged (expect v0.47.0). If nothing fired, report it.Evidence labels
Claims above are marked live-run-proven or inspection-only. Smoke matrix resolution and the 5.2 canary red run are not proven until CI on this PR.