User:HimanshiKalra/GSoC21/FinalReport
< User:HimanshiKalra | GSoC21
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.
Summary
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.
Links
- Git branch:
soc-2021-geometry-nodes-regression-test
- Proposal
- Weekly Reports
- Adding test for Geometry Nodes.
- Daily Log
Patches
- D11611 Regression Testing: Running tests based on blend files
- D12137 Tests: Custom Data comparison for generic attributes
- D12149 Refactor: Move comparison of non-generic attributes
- D12192 Add cutom data color property
- More test cases (yet to be merged)
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
Attributes
- attribute clamp
- attribute color ramp
- attribute curve map
- attribute map range
- attribute mix
- attribute proximity
- attribute randomize
- attribute sample texture
- attribute vector math
Curves
- curve endpoints
- curve length
- curve resample
- curve reverse
- curve reverse attributes
- curve subdivide
- curve to mesh
- curve to points
- curve trim
- mesh to curve
Geometry
- bounding box
- convex hull
- delete geometry
- join geometry
Mesh
- boolean diff
- boolean intersect
- boolean union
- edge split
- subdivide
- subdivision surface
- triangulate
Points
- point distribute
- point instance
Utilities
- math add
- switch
Volumes
- volume to mesh
Acknowledgements
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.