I have a feature request. Currently, I want to use your package for creating synthetic data for an ai approach. For this I need trees with and without leaves. During implementation I noticed that not all memory gets freed after destructing all instances I used. Especially, when generating trees and then deleting all leaves via getLeafUUIDs() from the WeberPennTree, the UUIDs still are referenced in the WeberPennTree instance. A MemCheck with valgrind also revealed that there might be some Memory issues with glfw and the visualizer. But maybe you know more about the exact implementation and how the memory is handled.
If there exists clean up functionality for the primitives and some thoughts about how primitives/trees should be added to a context and removed, documentation about this would be very helpful.
Thank you!