From 61bb142869e64d9bd33881be0ce4f08e35ef8716 Mon Sep 17 00:00:00 2001
From: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Date: Fri, 2 Oct 2026 06:54:15 -0400
Subject: [PATCH] feat(examples): add ray-cast-space and lattice-deform
ray-cast-space: Object.ray_cast takes object-local coordinates;
Scene.ray_cast takes world coordinates. The script casts five closed-form
rays at a block that is translated, rotated about Z and scaled unevenly.
- Scene.ray_cast hits every world point and normal exactly (exit 3).
- Object.ray_cast, given matrix_world.inverted() origins and directions
mapped through the 3x3 only, hits the same polygons and maps back
within 5e-7 m (exit 4).
- World coordinates passed straight to Object.ray_cast land at least
0.287 m from the true hits (exit 5).
- --world-to-object exits 4 with a 1.125 m error.
lattice-deform: a 2x2x2 KEY_LINEAR lattice with two corners moved
through co_deform puts all 602 evaluated vertices on the trilinear
closed form, max error 5.6e-7, through a translated and unevenly scaled
lattice.
- An unmoved lattice is the identity (exit 3).
- The mesh really does move (exit 5).
- --bspline, the default interpolation, misses by 0.2145 and exits 4.
Both pass the default check on Blender 4.5.11, 5.1.2 and 5.2.1, and each
falsifier is proven on 4.5.11 and 5.2.1. Contact sheets are committed
under docs/gallery/contact-sheets/. Counts are updated in README, AGENTS,
CLAUDE and new-example-prompt; the AGENTS and CLAUDE showcase counts are
corrected from 67 to 72 as well.
Co-Authored-By: Claude Opus 5.5
- 16 skills • 9 rules • 3 templates • 27 snippets • 60 examples • 72 showcase pieces + 16 skills • 9 rules • 3 templates • 27 snippets • 62 examples • 72 showcase pieces
@@ -37,7 +37,7 @@
## Overview
-This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 60 examples, and 72 showcase pieces** for Blender Python development targeting Blender 5.2 LTS (current stable) with Blender 4.5 LTS fallback support. Blender 5.1 is prior stable.
+This repository ships **16 skills, 9 rules, 3 templates, 27 snippets, 62 examples, and 72 showcase pieces** for Blender Python development targeting Blender 5.2 LTS (current stable) with Blender 4.5 LTS fallback support. Blender 5.1 is prior stable.
The content is consumed by AI coding agents reading these files directly from a checkout — **there is no MCP server in this repository, and none is required**. Cursor applies `rules/*.mdc` automatically wherever their scope globs match and takes skills by name in chat; Claude Code reads `skills/` and `rules/` from the project workspace, or from this repo kept as a referenced checkout. Any agent that can read files in a workspace can use it the same way. There is no build step for the content — edit the Markdown and Python files directly.
@@ -75,7 +75,7 @@ blender --background --python examples/bmesh-gear/bmesh_gear.py --
## Falsifiers
-Every one of the 60 examples carries a **falsifier**: a flag that changes the
+Every one of the 62 examples carries a **falsifier**: a flag that changes the
input so a real assertion fails. It never disables the assertion, skips the
check, or short-circuits to an error — it feeds the script something the
contract says must not pass, and the same check that guards the happy path
@@ -451,7 +451,7 @@ Gallery still is a sky-lit obelisk diptych (8° dusk | 55° midday) so the contr
Rigging end to end in the data API — edit_bones chain construction, name-bound vertex groups with smoothstep blend zones, posing, and depsgraph evaluation — bending a ribbed bellows hose through rest, half, and full curl.Mesh, curves & text — 13 examples
+Mesh, curves & text — 15 examples
Armature Bend
LOD Decimate Chain
-
+