1.0.0
v1.0.0 Release Notes
After nearly 100 releases in the 0.x.x range, Bitbybit reaches version 1.0.0. This release consolidates the work done across three release candidates (rc.0, rc.1, rc.2) and represents a ground-up rebuild of the project's CAD foundation.
New CAD Kernel: OCCT 8
The most significant change in v1.0.0 is the removal of the OpenCascade.js dependency and a complete rebuild directly on top of the native OCCT C++ library. OpenCascade.js was ahead of its time but is no longer actively maintained, so a more sustainable path was needed.
Bitbybit now ships with OCCT v8.0, the latest version of OpenCascade Technology. This upgrade brings measurable improvements to filleting, boolean operations, and many other core algorithms. All unit tests pass, and both open-source examples and commercial B2B projects continue to function without loss of functionality.
Three OCCT build variants are available to match different performance needs:
- 32-bit - broadest compatibility, works on all browsers and mobile devices
- 64-bit - supports models up to 16 GB of memory
- 64-bit multi-threaded - maximum performance for complex operations
STEP Assembly Support
A toolkit for working with STEP assemblies in the browser. You can now load, create, inspect, and export multi-part CAD assemblies without desktop software.
Assembly Manager (occt.assembly.manager)
Build and export assembly documents with methods for creating parts, assembly nodes, instance nodes, and complete structures. Load STEP files (including compressed STEP-Z), set colors and names on labels, and export to both STEP and GLTF/GLB formats.
Assembly Query (occt.assembly.query)
Inspect assembly documents: list all parts, get the full hierarchy tree, extract shapes by label, read colors and transforms, and retrieve detailed label metadata.
IO Enhancements
convertStepToGltf- convert STEP files to GLTF/GLB in a single call, preserving hierarchy, names, colors, and transformsconvertStepToGltfAdvanced- same conversion with fine-grained control over reading, meshing, and export optionsparseStepToJson- parse a STEP file to JSON for quick inspection without full geometry processing
Color Preservation
Standard STEP exports lose color data. Bitbybit uses OCCT's XCAF framework to embed colors into assembly structures. Models exported from Bitbybit retain their colors when opened in FreeCAD or other CAD software.
CAD Cloud TypeScript SDK (@bitbybit-dev/cad-cloud-sdk)
A new standalone npm package for integrating Bitbybit's managed cloud CAD servers into any TypeScript backend (Node.js, Hono/Cloudflare Workers, Deno, Bun). API keys stay on the server and are never exposed in frontend code.
Lear more:
https://learn.bitbybit.dev/api/cloud-api
SDK Capabilities
| Namespace | Description |
|---|---|
client.models |
Submit parametric model jobs (single and batch), poll for results |
client.cad |
Execute raw CAD operations, run pipelines, and compounds |
client.convert |
STEP-to-glTF conversion with simple and advanced tessellation controls |
client.files |
Upload files via presigned URLs, manage uploaded assets |
client.tasks |
Poll, list, and cancel running tasks |
Learn more:
https://learn.bitbybit.dev/api/sdk/typescript/intro
Pipelines
Chain multiple CAD operations in a single request using step references ($ref:N), file inputs ($file:N), iteration (map with $item/$index), and branching (choice). Pipelines can be built with the type-safe SDK step() helper or visually in Bitbybit Studio.
Learn more:
https://learn.bitbybit.dev/api/sdk/typescript/pipelines
Client-Side Validation
Most requests are validated against JSON Schema before hitting the network. This catches parameter errors, saves compute time, and throws a structured BitbybitValidationError with detailed paths to invalid fields. Enabled by default.
Example Projects
Five backend examples ship with a shared React 19 + Vite + Three.js frontend:
| Example | Stack |
|---|---|
hono-rest |
Hono (Cloudflare Workers) — raw fetch |
hono-sdk |
Hono (Cloudflare Workers) — SDK |
nodejs-rest |
Express 5 — raw fetch |
nodejs-sdk |
Express 5 — SDK |
dotnet-rest |
ASP.NET Core (.NET 10) — HttpClient |
Learn More:
https://github.com/bitbybit-dev/bitbybit/tree/master/examples/api
Rendering Engine Updates
All three supported rendering engines have been updated to their latest major versions:
- BabylonJS 9.6.0 — major engine upgrade from 8.x, bringing the new rendering architecture and many performance improvements
- Three.js 0.184.0 — updated from 0.182.0
- PlayCanvas 2.18.1 — updated from 2.15.1
New Features
Arithmetic Expression Evaluator
bitbybit.math.evalArithmetic evaluates arithmetic expressions (+, -, *, /, parentheses) using the shunting-yard algorithm.
New Spiral Algorithms
createTaperedHelixWire- helixes with varying radiuscreateHelixWireByTurns- helixes defined by turn countcreateFlatSpiralWire- flat spirals (e.g., watch springs)
OCCT Torus Solid
A proper torus solid primitive is now available in the OCCT shape library.
Custom CDN URL Propagation
The cdnUrl option is now forwarded to OCCT and Manifold web workers, fixing WASM loading for self-hosted or custom CDN deployments.
STEP-to-glTF Core Runner Example
A standalone HTML example demonstrates client-side STEP-to-glTF conversion using the Bitbybit Core Runner with no rendering engine required.
Breaking Changes
Edge Indexing Is Now Zero-Based
Edge indexing previously started at 1. It is now zero-based, consistent with standard programming conventions. All projects that reference edges by index must be updated.
Direct OCCT WASM API Changes
Projects using the @bitbybit-dev/occt layer directly and interacting with WASM builds will encounter significant API changes. Usage via the official exported API functions (occt-worker or game-engine-specific packages) is strongly recommended, as this is the only surface guaranteed to remain mostly stable.
Published Packages
@bitbybit-dev/base@bitbybit-dev/occt@bitbybit-dev/occt-worker@bitbybit-dev/manifold-worker@bitbybit-dev/jscad-worker@bitbybit-dev/core@bitbybit-dev/babylonjs@bitbybit-dev/threejs@bitbybit-dev/playcanvas@bitbybit-dev/create-app@bitbybit-dev/cad-cloud-sdk(new)