I've decided to spend some time learning about FreeCAD and was quite intrigued by their wiki page on OpenCascade (a.k.a. OpenCASCADE, OCC, OCCT, etc.) The first paragraph ended with "OpenCASCADE is the heart of the geometrical capabilities of FreeCAD." The rest of the page goes into details on how OCCT integrated into FreeCAD code base and basic geometric concepts from which FreeCAD bodies are built upon. From this page I inferred that OCCT implements most (all?) of the basic requirements of building any 3D CAD software. FreeCAD can then be viewed as a set of user interfaces on top of OCCT concepts. Of course, this grossly understates the effort required to do such a thing but is a rough imperfect lens for this beginner to view the rest of FreeCAD through.

Elsewhere in FreeCAD documentation, I learned user interfaces are built around the concept of grouping related tools together. Each of these groups is a workbench intended to address their target usage scenarios. Despite their differences in methods operation, in the vast majority of cases, they all eventually break down to 2D or 3D elements built using OCCT primitives and manipulated via OCCT operations.

This is very interesting because, as an open-source CAD kernel, OCCT is not exclusive to FreeCAD. This means anyone who wants to try out a new twist on CAD semantics, they do not have to reinvent the wheel. They can build on top of OCCT as well. This sounded very interesting because one of my favorite features of Onshape CAD is that it is available anywhere that can run a modern web browser. I remember when "CAD workstation" meant a multi-thousand-dollar computer. With Onshape, a $200 Chromebook can be a modern CAD workstation.

This is not possible in FreeCAD, which is very solidly tied to a desktop. I think it would be very interesting to have an open-source browser-based CAD solution on top of OCCT, and I'm not the first to have this idea. I took a quick survey of several options, starting with CadQuery.