
holy sh*t. 3 task classes scored zero on Blender 5.0 for every model tested. stop trusting the render
1,190 graded Blender scripts, 10 models, 4 builds. 91% ran on Blender 3.6, 70% on 5.0. the model named what changed only 35% of the time
your script crashes and CI still goes green. without --python-exit-code 1, a traceback doesn't change Blender's exit status
this board runs the loop from this article: pin the version, write to the data, census the mesh, look last
the core is five lines:
MM = 0.001
mesh = obj.evaluated_get(dg).to_mesh()
solver = "EXACT"
assert (nonmanifold, flipped, loose, degenerate, selfhit) == (0, 0, 0, 0, 0)
assert abs(obj.dimensions.x - 0.020) < 1e-5
here's how to set it up:
1. pin it in the prompt: Blender 5.2 LTS, Python 3.13. the bpy wheel is built for one Python
2. run headless: --background --factory-startup --python-exit-code 1
3. no bpy.ops in a background run. operators poll for a context that isn't there, read the evaluated depsgraph instead
4. primitive_cube_add() makes a 2-unit cube and scale_length is display only. declare MM once, at the top
eight arms on the board, and the panel I watch is census: nonmanifold 0, flipped 0, loose 0, selfhit 0. those defects render perfectly
↳ concept board, figures from the article
Codio @0xCodio