To Code-CAD or Not to Code-CAD
CadHub is an advocate of defining 3D models using lines code instead of the more traditional interactive UI descended from pre-computer drafting boards. It holds a lot of promise and it linked to several projects making those ideas real. The problem is they're built around OpenSCAD which, while not as bad as I thought, is still hobbled by some fairly fundamental limitations. I wouldn't say I'm a convert to the cause just yet.
I am happy to see these code-cad projects implementing some of my wishlist for collaborative CAD capabilities. However, taking a step back, I noticed there is no fundamental requirement linking the two. Take the example of branching and merging: this is a valuable feature that has been implemented in Autodesk Fusion 360 and in OnShape, neither of which are code-cad systems. Similarly, there's nothing fundamentally impossible about adding automated drawing regeneration, integration with documentation systems, etc. to non-code-cad systems.
I will admit it is easier for code-cad systems to implement such features in the context of git. Since code-cad is based on code and git is specifically designed to work with code. There's a barrier to climb for non-code data files, but git can be used to version control non-text files like images. Doing so restricts conflict resolution to granularity of entire files: we have to choose one file, or the other, and couldn't merge between them like we could with text files. Or at least, that's the situation by default. I'm not familiar enough with the git protocol to know if it's possible to patch in a binary file format merging mechanism. I do know it's possible to introduce a binary file change difference visualizer, because GitHub offers support for select non-code file formats.
But there's more to a collaborative information management system than git, as shown by Fusion 360 and Onshape. While code-cad is A way forward to reach items on my wishlist, it may not be THE way forward. This little research tour has been extremely educational, but I should get back to studying FreeCAD.