Yeah that would be amazing, but sadly nobody has made that work for any CAD of reasonable complexity.
In reality, CAD version control is done just like assets in the artistic world (game design, animation, films, etc): with file locks.
I used to work for Dyson. There's no way you're designing a vacuum cleaner with code-based CAD. We used TeamCenter (which is probably the worst software I've ever used, but for unrelated reasons).
It does but the internal state is not going to be very meaningful in text form. Edge 4826 connects to vertex 7264.
Think about SVG - you can do some simple stuff procedurally but you're never going to create something like the SVG tiger in code, nor would it be remotely useful to read the source SVG for the SVG tiger. Most CAD is like that.
In reality, CAD version control is done just like assets in the artistic world (game design, animation, films, etc): with file locks.
I used to work for Dyson. There's no way you're designing a vacuum cleaner with code-based CAD. We used TeamCenter (which is probably the worst software I've ever used, but for unrelated reasons).