Our NPM Packages
When developing standalone applications in TypeScript or JavaScript, you often use third-party libraries and frameworks. We've developed several open-source NPM packages (MIT Licensed) to help you integrate our powerful 3D CAD algorithms directly into your applications.
Quick Start with CLI
The fastest way to get started is with our CLI tool. Scaffold a fully-configured 3D CAD project in seconds:
npx @bitbybit-dev/create-app my-awesome-project
The CLI guides you through an interactive setup where you choose your preferred 3D engine (Three.js, Babylon.js, or PlayCanvas). You can also specify the engine directly:
npx @bitbybit-dev/create-app my-project --engine babylonjs
What You Get
Your scaffolded project includes:
- Vite for fast development and optimized production builds
- TypeScript configured out of the box
- All three geometry kernels pre-configured and ready to use:
- OCCT (OpenCascade) for professional CAD operations
- JSCAD for programmatic solid modeling
- Manifold for fast mesh boolean operations
- Starter code demonstrating each kernel's capabilities
Development Workflow
cd my-awesome-project
npm install
npm run dev
Your browser opens with a live 3D preview at http://localhost:5173. Changes appear instantly with hot reload.
Architecture of NPM Packages
The following diagram illustrates the architecture of our NPM packages. Each game engine-specific package (@bitbybit-dev/threejs, @bitbybit-dev/babylonjs, @bitbybit-dev/playcanvas) connects through the @bitbybit-dev/core layer. This creates a streamlined, extensible structure that supports a range of integrations with various geometry kernels like OCCT, JSCAD, and Manifold.
Architecture of Bitbybit NPM packages
Available Packages
Here's a list of our core NPM packages. Each provides distinct functionalities for your 3D development needs.
Rendering & Integration Packages
These packages provide the bridge between our core geometry libraries and popular 3D rendering engines.
@bitbybit-dev/babylonjs
Allows users of the BabylonJS game engine to use our core 3D CAD algorithms. It helps you build 3D model configurators or other 3D applications by providing tools to construct meshes and groups from OpenCascade or JSCAD geometry kernels.
@bitbybit-dev/threejs
Enables users of the ThreeJS library to utilize our core 3D CAD algorithms. Similar to the BabylonJS package, it assists in building 3D applications by providing algorithms for constructing meshes from OpenCascade or JSCAD geometry.
@bitbybit-dev/playcanvas
Enables users of the PlayCanvas game engine to utilize our core 3D CAD algorithms. It assists in building high-performance 3D applications by providing algorithms for constructing meshes and entities from OpenCascade, JSCAD, or Manifold geometry kernels.
Core & Kernel Packages
These packages form the foundation of our geometry processing capabilities.
@bitbybit-dev/core
Contains the core 3D algorithms of the Bitbybit platform. It's independent of UI and specific game engines but is designed for browser environments. This package integrates various 3D kernels (OCCT, JSCAD, Manifold) by leveraging our other specialized kernel packages.
@bitbybit-dev/occt-worker
Exposes core OpenCascade (OCCT) 3D algorithms via a Web Worker for browser environments. This package is independent of rendering frameworks, allowing you to build custom rendering pipelines (WebGL, WebGPU). For Node.js environments, consider the @bitbybit-dev/occt library.
@bitbybit-dev/occt
Contains core OpenCascade (OCCT) 3D algorithms. This package can be deployed in both browser and backend (Node.js) contexts, allowing you to build custom caching or Web Worker pipelines.
@bitbybit-dev/jscad-worker
Exposes core JSCAD 3D algorithms via a Web Worker for browser environments. Independent of rendering frameworks. For Node.js environments, consider the @bitbybit-dev/jscad library.
@bitbybit-dev/jscad
Contains core JSCAD 3D algorithms. JSCAD is developed by an amazing community, which you can find here.
@bitbybit-dev/manifold-worker
Exposes core Manifold 3D algorithms via a Web Worker for browser environments. Independent of rendering frameworks. For Node.js environments, consider the @bitbybit-dev/manifold library.
@bitbybit-dev/manifold
Contains Manifold 3D algorithms. The Manifold geometry kernel was started by Emmet Lalish. Learn more about the Manifold 3D project here.
@bitbybit-dev/base
Contains foundational algorithms for the Bitbybit platform, used in all higher-level NPM packages. Includes utilities for vectors, math, text manipulation, and other basic operations.