depsgraph-and-evaluated-data
Installation
SKILL.md
Depsgraph and Evaluated Data
Trigger
Use this skill when the user:
- Is writing an exporter, measurement script, or inspection tool
- Reports that "modifiers are missing from my export" or "the vertex positions don't match what I see"
- Mentions
evaluated_depsgraph_get,evaluated_get,to_mesh,to_mesh_clear - Reads from
obj.data.verticesand gets unexpectedly raw geometry - Needs final positions after armature deformation, shape keys, modifiers, or geometry nodes
The core misunderstanding
bpy.data.objects['Cube'].data.vertices does not return what the user sees in the viewport. It returns the mesh datablock as authored, before any modifier, armature, shape key, or geometry nodes evaluation.
The viewport shows evaluated geometry: the result of running the full dependency graph. Anything that downstream code consumes (renderers, exporters, measurement tools) almost always wants the evaluated form, not the raw form.