Even if you had that representation, resolving merge conflicts would be a huge headache. Imagine resolving code conflicts by resolving things at the AST level.
Forget CAD, we don't even have a good way to version control images, something programmers work with every day, besides "use Git LFS and pretend an image is just a pointer".
edit: just saw GumTree mentioned above. Guess I have something to check out...