What is OCCT?
Open CASCADE Technology (OCCT) is the only open-source full-scale 3D geometry library. We build various 3D algorithms on top of this kernel and selectively expose them to our users. This means that we do not use full OCCT, just the most important parts of it for us and our users. When times passes we expose more and more features of OCCT to our users.
Why OCCT?
Currently OCCT is the best and only open-source 3D BREP geometry kernels that can be used in the browser. It is very powerful and can deal with very complex modeling scenarios.
What is OpenCascade.js?
OpenCascade.js (OCJS) is the project of Sebastian Alff aka donalffons. He created a python library that takes OCCT C++ library and transforms into WASM code, which can be used in the browser or NodeJS applications. Bitbybit uses a custom build of OCCT that is compiled by this OpenCascade.js docker package. We pick and choose parts of OCCT that we want to be included in our WASM code bundle. Using full OCCT build is not practical as it is very large and would slow down the loading of our editors considerably.
NPM package @bitbybit-dev/occt
Picking and choosing the parts of OCCT is not the only thing we do. Interacting with WASM code of OCCT is not easy and requires special expertise. We have created an NPM package called @bitbybit-dev/occt that wraps OCCT WASM code and exposes it to our users and other javascript developers in a more user-friendly way. This package is used in our editors and can be used in your own projects. It is open-source and can be found on npmjs package repository.