Skip to main content

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 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.