jnxd wrote:Once the deletion is triggered, the code tries to delete constraints related to these external geometries, but due to the structure of the constraintlist object, we only get an empty list, and the code replaces the constraints with this empty list.
I remember that evil bit of code, I messed with it some long time ago. It makes it look like the sketch has no constraints if geometry types change, and eventually that state of no constraints is stored permanently, with no way back.
I searched up the commit that introduced the code, and it was some kind of an experimental measure against crashes when edge kind of external geometry changes.
I thought on how to solve it better, but unfortunately didn't come up with anything.
So the way to go should be to patch up validateExternalLinks, I think.