feat: witness ID-property delete and USD evaluation_mode - #126
Merged
Conversation
The snippet __main__ is dark headless because it keys off active_object; the example builds IDs via the data API. USD evaluation_mode is silent under default BEST_MATCH; TESSELLATE is what makes RENDER vs VIEWPORT observable. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.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.
Summary
Witness the custom ID-property delete contract (
del, notproperty_unset) with IDs built through the data API, andwm.usd_exportevaluation_modeRENDER vs VIEWPORT — which is silent unlessexport_subdivision='TESSELLATE'.Type
feat— new skill / rule / snippet / template / example (minor bump)fix— correction to existing content or a broken contract (patch bump)docs/chore/ci/refactor— no release;release.ymlstill runs and should exit without a tagSquash-merge subject:
feat: witness ID-property delete and USD evaluation_modeEvidence
USD probe (before any example code) — live-run-proven
CI Linux portable tarballs extracted in WSL (NTFS cannot create Blender
lib/symlinks). Do not drop this example.poll()evaluation_mode~/blender-linux/blender-5.2.1-linux-x64/blender9e2066aef7efRENDER,VIEWPORT~/blender-linux/blender-4.5.13-linux-x64/blenderdaeeeca98fb0RNA trap (live-run-proven, all four binaries): default
export_subdivision='BEST_MATCH'writes the 8-vert cage +subdivisionScheme = catmullClark. VIEWPORT and RENDER files are identical. TESSELLATE is load-bearing. Closed form: verts =2 + 6 × 4^n(n=1 → 26, n=2 → 98).Windows supporting probe (not the CI-leg gate):
.scratch/blender-5.2.1-windows-x64/blender.exe5.2.1 LTS9e2066aef7ef;.scratch/blender-4.5.11-windows-x64/blender.exe4.5.11 LTS4db51e9d1e1e.Check-only — live-run-proven
No skips. Catalog rows have no
min_version.9e2066aef7ef, Win 4.5.114db51e9d1e1e, Linux 5.2.19e2066aef7ef, Linux 4.5.13daeeeca98fb0active_object=None keep_has=True clear_has=Falseusda_vp=26/24 usda_rd=98/96 usda_cage=8Falsify (break, red, restore) — live-run-proven
--skip-delete--unset-insteadproperty_unsetis not a delete--evaluation-mode VIEWPORT--subdivision BEST_MATCHcatmullClark, expected 98/96noneFraming — live-run-proven (render path, Win 5.2.1)
(3.55, -6.59, 3.30).(4.16, -5.85, 3.00).Contact-sheet gate — live-run-proven luminance, inspection of composite
Pinned set: armature-bend / damped-track-aim / bmesh-gear. Not asset-sheet subjects.
Mean luma (Rec.709 / 255): armature-bend 0.2787, damped-track-aim 0.1722, bmesh-gear 0.3048, property-delete 0.1940, usd-export 0.1471.
Composites: property-delete · usd-export
Generated HTML alts — inspection-only (read character-by-character after
build_gallery.py)docs/gallery/index.html:alt="cross-version-property-delete — Custom ID properties are removed with del, not property_unset."alt="usd-export-evaluation-mode — The USD exporter evaluation_mode chooses viewport versus render modifier quality."Not truncated at a dotted API path. Detail witnesses callouts match
gallery.jsonwitnessesFix.Gallery stills
The USD still depicts L1 vs L2 tessellation; the USDA point counts are the evidence. Inspection-only vs VISUAL-STYLE: Standard transform, no remaining clipped-white facet after roughness 0.58 / key 200.
Backlog (not this PR)
Inverted canaries currently assert wrapper exit 1. A canary that dies for the wrong reason still satisfies that. Tighten to also require the expected
[FAIL]marker text. Logged in ROADMAP candidate pool.Release-owned fields — do not hand-edit
Untouched:
VERSION,CHANGELOG.md, CLAUDE.md**Version:**, ROADMAP.md**Current:**, plugin.json"version"(still 0.48.0). Counts 45 → 47.Checklist
"version"untouched.build_gallery.py, framing + contact-sheet.Signed-off-by:Test plan
blender-smoke5.2 LTS and 4.5 LTS catalog rows (no SKIP)release.ymldecision line; expectRELEASE (bump=minor)→ v0.49.0Made with Cursor