|
17 | 17 | </p> |
18 | 18 |
|
19 | 19 | <p align="center"> |
20 | | - <strong>12 skills</strong> • <strong>6 rules</strong> • <strong>2 templates</strong> • <strong>17 snippets</strong> • <strong>18 examples</strong> |
| 20 | + <strong>12 skills</strong> • <strong>6 rules</strong> • <strong>2 templates</strong> • <strong>17 snippets</strong> • <strong>19 examples</strong> |
21 | 21 | </p> |
22 | 22 |
|
23 | 23 | --- |
24 | 24 |
|
25 | 25 | ## Overview |
26 | 26 |
|
27 | | -This repository ships **12 skills, 6 rules, 2 templates, 17 snippets, and 18 runnable examples** for Blender Python development targeting Blender 5.1 (current stable) with Blender 4.5 LTS fallback support. |
| 27 | +This repository ships **12 skills, 6 rules, 2 templates, 17 snippets, and 19 runnable examples** for Blender Python development targeting Blender 5.1 (current stable) with Blender 4.5 LTS fallback support. |
28 | 28 |
|
29 | 29 | The content is consumed by AI coding agents (Cursor, Claude Code, any MCP-capable client) when working on Blender add-ons, geometry nodes scripts, batch pipelines, or animation tooling. There is no build step. Edit the markdown and Python files directly. |
30 | 30 |
|
@@ -314,6 +314,24 @@ linear blend skinning — every evaluated vertex equals |
314 | 314 | Σ wᵢ · (`pose_bone.matrix` @ `bone.matrix_local.inverted()`) @ rest, with the root |
315 | 315 | ring pinned and the tip deflected. A straight tube is a failure. |
316 | 316 |
|
| 317 | +</td> |
| 318 | +</tr> |
| 319 | +<tr> |
| 320 | +<td width="46%" valign="middle"> |
| 321 | +<a href="examples/text-version-stamp/"><img src="examples/text-version-stamp/preview.webp" alt="Text version stamp: beveled brass 5.1.2 numerals standing on a dark studio floor over a glowing teal underline, with a small steel BLENDER caption above — the body text is the live bpy.app.version_string" /></a> |
| 322 | +</td> |
| 323 | +<td valign="middle"> |
| 324 | + |
| 325 | +### [text-version-stamp](examples/text-version-stamp/) |
| 326 | + |
| 327 | +A beveled 3D stamp of the running Blender version — a `TextCurve` whose `body` is the |
| 328 | +live `bpy.app.version_string`, so every render self-documents which Blender made it. |
| 329 | +Asserts the TextCurve solids closed form (evaluated z-extent = 2 × (extrude + |
| 330 | +bevel_depth), bevel widening the outline by 2 × bevel_depth), that flat text is filled |
| 331 | +but planar, that body edits regenerate geometry, that `version_string` is not bare |
| 332 | +semver on LTS builds (`"4.5.11 LTS"`), and that a Mesh reference dies at |
| 333 | +`to_mesh_clear()`. |
| 334 | + |
317 | 335 | </td> |
318 | 336 | </tr> |
319 | 337 | </table> |
|
0 commit comments