Regression Testing of Geometry Nodes - Final Report

This page documents the work done by Himanshi Kalra for Google Summer of Code 2021 on the project Regression Testing of Geometry Nodes.


Over the Summer of 2021, I worked on developing a framework for Regression Testing of Geometry Nodes. The deliverables outlined in the Project Proposal have been implemented. Other tasks necessary for Regression Testing were implemented originally not part of the part of the proposal.



Completed Work

Extended the framework to directly test blend files without using Blender API for adding tests. Extended the comparison function to include comparison for generic custom data.

Added test for the following nodes:

Curve Primitives

Mesh Primitives


  • attribute clamp
  • attribute color ramp
  • attribute curve map
  • attribute map range
  • attribute mix
  • attribute proximity
  • attribute randomize
  • attribute sample texture
  • attribute vector math


  • curve endpoints
  • curve length
  • curve resample
  • curve reverse
  • curve reverse attributes
  • curve subdivide
  • curve to mesh
  • curve to points
  • curve trim
  • mesh to curve


  • bounding box
  • convex hull
  • delete geometry
  • join geometry


  • boolean diff
  • boolean intersect
  • boolean union
  • edge split
  • subdivide
  • subdivision surface
  • triangulate


  • point distribute
  • point instance


  • math add
  • switch


  • volume to mesh


Lots of thanks to my mentors - Habib Gahbiche and Jacques Lucke and blender community. They helped me out whenever I was stuck. Had a hard-working summer :)

Future Work

Hoping tests gets more firmly included in the workflow. Merging a new node in master requires blend test file whenever possible. As for the project itself, more tests can always be added.