Skip to content

fix: correctness pass on Blender skills, snippets, and docs#3

Merged
TMHSDigital merged 1 commit into
mainfrom
fix/correctness-pass
Jun 13, 2026
Merged

fix: correctness pass on Blender skills, snippets, and docs#3
TMHSDigital merged 1 commit into
mainfrom
fix/correctness-pass

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Correctness pass across skills, snippets, and docs. No content added or removed, so aggregate counts are unchanged (validate-counts stays green).

Code bugs (what the AI serves users)

  1. operators/SKILL.mdOBJECT_OT_offset_active called bpy.types.Vector(offset); Vector lives in mathutils. Added from mathutils import Vector and use Vector(offset). Also column-normalized the basis (matrix_world.to_3x3().normalized()) so object scale no longer distorts a local-axis direction.
  2. cross-version-property-delete.pyproperty_unset() resets a registered RNA prop to default; it does not remove a custom ID property. Dropped the bpy.app.version branch; del id_block[key] is version-stable on all versions. Header now documents the distinction so readers don't reintroduce it.
  3. version-branch-skeleton.pyclear_property() used property_unset as a "divergence" example, but del works on both 4.5 LTS and 5.x (not divergent). Now del obj[key] unconditionally; get_eevee_engine_id() remains the genuine divergence example.
  4. custom-properties/SKILL.md — Removed the "(or property_unset() on 5.0+)" parenthetical from the unbind example and rewrote the "Compatibility paths" section. Both unbinding a type-level PointerProperty and removing an ID property are version-stable via del; property_unset is explicitly called out as a different operation.
  5. shader-node-group.py — Modernized ShaderNodeMixRGBShaderNodeMix with data_type='RGBA', consistent with the geometry-nodes-python skill. Verified against the ShaderNodeMix docs: the node shares socket names (Factor/A/B/Result) across every data type, so name lookup is ambiguous — wired the RGBA sockets by index (inputs[0] Factor, inputs[6] A, outputs[2] Result).

Doc drift

  1. README.md — Removed the hardcoded version-0.2.0 shields badge that drifts every release. The dynamic github/v/release badge already covers it (root-cause fix, not a re-hardcode).
  2. ROADMAP.md — v0.2.0 row status **Current**Shipped and dropped the per-row marker, so the action-owned **Current:** prose line is the single source of truth. The **Current:** line itself was not touched.
  3. SECURITY.md — Supported Versions 0.1.x0.2.x; scope text "one ... template" → two templates.
  4. CONTRIBUTING.md — Snippet length 5 to 305 to 50 (matches README/CLAUDE). Replaced hardcoded 1.9.1 standards-version markers with a pointer to the meta-repo STANDARDS_VERSION, and fixed wording from VERSION to STANDARDS_VERSION (the two are decoupled).
  5. CLAUDE.md — Relabeled the 7 materials/drivers/migration snippets from v0.2.1 to v0.2.0 to match ROADMAP/CHANGELOG/README. The **Version:** line was not touched.

Flag for a separate meta-repo look

The v0.2.0v0.2.1 mangling of historical snippet text in CLAUDE.md looks like the release-doc-sync step running a find/replace that caught a non-current version reference. Worth auditing the action so it only rewrites the current-version prose and leaves historical attributions alone.

Out of scope (per request)

  • No standards-version markers in live files touched (left at 1.9.4); no .github/workflows changes — owned by the separate fleet-onboarding op.
  • Action-owned lines untouched: CLAUDE.md **Version:**, ROADMAP.md **Current:**, CHANGELOG.md.

Test plan

  • python -m py_compile on all three edited snippets passes.
  • Aggregate counts unchanged → validate-counts green.
  • No stray property_unset/ShaderNodeMixRGB/bpy.types.Vector/version-0.2.0 references remain.

Code bugs the AI serves to users:
- operators: import Vector from mathutils (not bpy.types) in the offset
  example and column-normalize the basis so object scale no longer distorts
  the local-axis direction.
- cross-version-property-delete: property_unset resets RNA props to default,
  it does not remove a custom ID property. Use del on all versions and drop
  the bogus version branch; note the property_unset distinction.
- version-branch-skeleton: ID-property deletion is not version-dependent;
  clear_property now uses del unconditionally. EEVEE engine id stays as the
  genuine divergence example.
- custom-properties: stop crediting property_unset for unbinding a type
  PointerProperty or removing an ID property; both are del on all versions.
- shader-node-group: modernize ShaderNodeMixRGB to ShaderNodeMix with
  data_type='RGBA', wiring RGBA sockets by index to avoid the node's
  duplicate socket names.

Doc drift:
- README: drop the static version-0.2.0 shields badge that drifts every
  release; the dynamic github/v/release badge already covers it.
- ROADMAP: v0.2.0 row -> Shipped, drop the per-row Current marker so the
  action-owned Current: prose line is the single source of truth.
- SECURITY: Supported Versions -> 0.2.x; scope text -> two templates.
- CONTRIBUTING: snippet length 5 to 50 (was 5 to 30); standards-version
  wording points at meta-repo STANDARDS_VERSION, not VERSION.
- CLAUDE: relabel the 7 materials/drivers/migration snippets v0.2.1 -> v0.2.0
  to match ROADMAP/CHANGELOG/README.

Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@TMHSDigital TMHSDigital merged commit c801f77 into main Jun 13, 2026
5 of 6 checks passed
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jun 13, 2026
@TMHSDigital TMHSDigital deleted the fix/correctness-pass branch June 13, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation skills snippets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant