Skip to content

Commit 3f414ff

Browse files
authored
Merge pull request #50 from TMHSDigital/fix/polish-four-examples
fix: polish the four newest examples
2 parents 4449ed7 + ca97a6e commit 3f414ff

24 files changed

Lines changed: 457 additions & 285 deletions

File tree

.github/workflows/blender-smoke.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,35 +198,37 @@ jobs:
198198
- name: Shipped example - temp-override join (context override)
199199
run: |
200200
set -euo pipefail
201-
# Frame-independent check only (no render): three cubes joined under
201+
# Frame-independent check only (no render): three-step staircase joined under
202202
# bpy.context.temp_override; asserts one mesh remains, sources are gone,
203-
# and topology is verts=24 faces=18. Exits non-zero on failure.
203+
# topology verts=24 faces=18, and local Z spans all steps. Exits non-zero
204+
# on failure.
204205
xvfb-run -a "$BLENDER" --background \
205206
--python examples/temp-override-join/temp_override_join.py --
206207
207208
- name: Shipped example - GN instance grid (Instance on Points)
208209
run: |
209210
set -euo pipefail
210211
# Frame-independent check only (no render): generative GN tree instances a
211-
# cube on a 3x3 grid and realizes; asserts eval verts=72 faces=54 and Set
212-
# Material carries Lime. Exits non-zero on failure.
212+
# cube on a 3x3 grid and realizes; asserts eval verts=72 faces=54, Set
213+
# Material carries Lime, and corner center matches the grid. Exits non-zero
214+
# on failure.
213215
xvfb-run -a "$BLENDER" --background \
214216
--python examples/gn-instance-grid/gn_instance_grid.py --
215217
216218
- name: Shipped example - shape-key blend (data API + evaluated mesh)
217219
run: |
218220
set -euo pipefail
219-
# Frame-independent check only (no render): relative Tall shape key at
220-
# value=0.5; asserts undeformed mesh stays at Basis and evaluated z matches
221-
# basis + value*(key-basis). Exits non-zero on failure.
221+
# Frame-independent check only (no render): relative Tall key lifts+flares
222+
# at value=0.5; asserts undeformed mesh stays at Basis and every evaluated
223+
# vert matches basis + value*(key-basis). Exits non-zero on failure.
222224
xvfb-run -a "$BLENDER" --background \
223225
--python examples/shape-key-blend/shape_key_blend.py --
224226
225227
- name: Shipped example - curve bevel arc (Bezier + bevel_depth)
226228
run: |
227229
set -euo pipefail
228230
# Frame-independent check only (no render): beveled Bezier semicircle via
229-
# curve data API; asserts 8 points, bevel_depth=0.12, eval verts=850
230-
# faces=840, tube rests on floor. Exits non-zero on failure.
231+
# curve data API; asserts 8 points, bevel_depth=0.15, fill caps, eval
232+
# verts=1044 faces=1028, tube rests on floor. Exits non-zero on failure.
231233
xvfb-run -a "$BLENDER" --background \
232234
--python examples/curve-bevel-arc/curve_bevel_arc.py --

README.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,15 @@ materials with different Tint values. Witnesses the grouping contract: shared da
165165
</tr>
166166
<tr>
167167
<td width="46%" valign="middle">
168-
<a href="examples/temp-override-join/"><img src="examples/temp-override-join/preview.webp" alt="Temp-override join: an amber L-shaped mesh made of three joined unit cubes on a dark studio floor, viewed into the open corner" /></a>
168+
<a href="examples/temp-override-join/"><img src="examples/temp-override-join/preview.webp" alt="Temp-override join: an amber three-step staircase of joined unit cubes on a dark studio floor" /></a>
169169
</td>
170170
<td valign="middle">
171171

172172
### [temp-override-join](examples/temp-override-join/)
173173

174-
Three unit cubes joined into one L-shaped mesh under `bpy.context.temp_override` — the
175-
supported replacement for the removed `context.copy()` dict-pass form. Asserts one mesh
176-
remains, sources are gone, and topology is verts = 8 × blocks, faces = 6 × blocks.
174+
Three unit cubes joined into a staircase under `bpy.context.temp_override` — the supported
175+
replacement for the removed `context.copy()` dict-pass form. Asserts one mesh remains,
176+
sources are gone, and local Z spans all three steps.
177177

178178
</td>
179179
</tr>
@@ -193,16 +193,15 @@ verts = 72, faces = 54, and `Set Material` carries the lime accent.
193193
</tr>
194194
<tr>
195195
<td width="46%" valign="middle">
196-
<a href="examples/shape-key-blend/"><img src="examples/shape-key-blend/preview.webp" alt="Shape-key blend: a tall violet rectangular block on a dark studio floor, stretched by a relative Tall shape key at value 0.5" /></a>
196+
<a href="examples/shape-key-blend/"><img src="examples/shape-key-blend/preview.webp" alt="Shape-key blend: a violet truncated pyramid on a dark studio floor, lifted and flared by a relative Tall shape key at value 0.5" /></a>
197197
</td>
198198
<td valign="middle">
199199

200200
### [shape-key-blend](examples/shape-key-blend/)
201201

202-
A relative shape key authored through the data API — `shape_key_add`, per-vertex
203-
`key_blocks` data, and `.value`. Witnesses that shape keys do not rewrite
204-
`mesh.vertices`: undeformed top stays at Basis, evaluated z matches
205-
`basis + value × (key − basis)`.
202+
A relative Tall shape key that lifts and flares the top face — authored through
203+
`shape_key_add` / `key_blocks` / `.value`. Witnesses that shape keys do not rewrite
204+
`mesh.vertices`: every evaluated vert matches `basis + value × (key − basis)`.
206205

207206
</td>
208207
</tr>
@@ -215,9 +214,9 @@ A relative shape key authored through the data API — `shape_key_add`, per-vert
215214
### [curve-bevel-arc](examples/curve-bevel-arc/)
216215

217216
A beveled Bezier semicircle authored on `bpy.types.Curve``splines.new('BEZIER')`,
218-
`bezier_points`, `bevel_depth` — so the curve renders as a tube without a prior mesh
219-
conversion. Asserts eight points, `bevel_depth == 0.12`, and evaluated topology
220-
850 verts / 840 faces.
217+
`bezier_points`, `bevel_depth`, `use_fill_caps` — so the curve renders as a solid tube
218+
without a prior mesh conversion. Asserts eight points, `bevel_depth == 0.15`, and
219+
evaluated topology 1044 verts / 1028 faces.
221220

222221
</td>
223222
</tr>
-414 Bytes
Loading
152 Bytes
Loading
2.43 KB
Loading
-5.25 KB
Loading

0 commit comments

Comments
 (0)