diff --git a/README.md b/README.md index 61d20d47..96e6d630 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Bitbybit Monorepo -This git repo contains multiple bitbybit packages and code for core 3D algorithms of Bitbybit platform which are open-sourced under MIT license. +Open-source 3D CAD algorithms for the web - MIT licensed. This monorepo contains all Bitbybit NPM packages plus example applications. # [FULL PLATFORM AT BITBYBIT.DEV](https://bitbybit.dev) # [LEARN BITBYBIT](https://learn.bitbybit.dev) @@ -10,86 +10,107 @@ Essential introduction by Matas Picture showing bitbybit.dev platform -## SUPPORT THE MISSION -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms +## Quick Start -Your contributions allow this project to exist. +Scaffold a fully-configured 3D CAD project in seconds: + +```bash +npx @bitbybit-dev/create-app my-project +``` + +The CLI first asks you to pick an **app type**: + +- **Frontend** - Browser-based 3D/CAD app. Choose a game engine (Three.js, Babylon.js, or PlayCanvas) and OCCT architecture (32-bit, 64-bit, or 64-bit MT). You get a Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured. +- **CAD Cloud** - Full-stack project with server-side CAD via our [CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api). Choose a backend template (Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST). You get a React + Three.js frontend that proxies requests through your backend - your API key never leaves the server. + +```bash +cd my-project +npm install +npm run dev +``` + +## Support the Mission + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** + +Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) - interactive 3D product configurators for e-commerce. + +Your subscription directly funds continued open-source development of these packages. ## Important Topics -[Getting Started With Bitbybit Platform](https://learn.bitbybit.dev/learn/getting-started/overview) -[Integrate With ThreeJS](https://learn.bitbybit.dev/learn/npm-packages/threejs) -[Integrate With BabylonJS](https://learn.bitbybit.dev/learn/npm-packages/babylonjs) -[Bitbybit Runners](https://learn.bitbybit.dev/learn/runners) -[Bitbybit Blog](https://learn.bitbybit.dev/blog) -[3D Bits App For Shopify](https://learn.bitbybit.dev/learn/3d-bits/intro) -[Unit Testing Approach](https://learn.bitbybit.dev/learn/github/unit-tests) -[Live Unit Test Coverage](https://learn.bitbybit.dev/learn/github/live-unit-test-coverage) - -## Github -https://github.com/bitbybit-dev/bitbybit + +| Topic | Link | +|-------|------| +| Getting Started | https://learn.bitbybit.dev/learn/getting-started/overview | +| NPM Packages Intro | https://learn.bitbybit.dev/learn/npm-packages/intro | +| Integrate with Three.js | https://learn.bitbybit.dev/learn/npm-packages/threejs/start-with-three-js | +| Integrate with BabylonJS | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/start-with-babylon-js | +| Integrate with PlayCanvas | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/start-with-playcanvas | +| CAD Cloud API | https://learn.bitbybit.dev/api/cloud-api | +| Script Runners | https://learn.bitbybit.dev/learn/runners/intro | +| 3D Bits for Shopify | https://learn.bitbybit.dev/learn/3d-bits/intro | +| AI-Assisted Development | https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro | +| Unit Testing Approach | https://learn.bitbybit.dev/learn/github/unit-tests | +| Live Unit Test Coverage | https://learn.bitbybit.dev/learn/github/live-unit-test-coverage | +| Blog | https://learn.bitbybit.dev/blog | ## NPM Packages -[@bitbybit-dev/babylonjs](https://www.npmjs.com/package/@bitbybit-dev/babylonjs) -BabylonJS game engine integration that allows easy drawing of geometry constructed by JSCAD, Manifold and OCCT kernels. -[@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs) -ThreeJS game engine integration that allows easy drawing of geometry constructed by JSCAD, Manifold and OCCT kernels. -[@bitbybit-dev/playcanvas](https://www.npmjs.com/package/@bitbybit-dev/playcanvas) -PlayCanvas game engine integration that allows easy drawing of geometry constructed by JSCAD, Manifold and OCCT kernels. -[@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core) -Assembles various packages and provides additional features that may combine all CAD kernels -[@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) -Wraps JSCAD with additional algorithms offered by bitbybit.dev -[@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) -Exposes @bitbybit-dev/jscad package via webworker and makes all calls asynchronouse and non-blocking -[@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) -Wraps MANIFOLD with additional algorithms offered by bitbybit.dev -[@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) -Exposes @bitbybit-dev/manifold package via webworker and makes all calls asynchronouse and non-blocking -[@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) -Wraps OpenCascade with additional algorithms offered by bitbybit.dev -[@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) -Exposes @bitbybit-dev/occt package via webworker and makes all calls asynchronouse and non-blocking -[@bitbybit-dev/base](https://www.npmjs.com/package/@bitbybit-dev/base) -Contains various base algorithms used in all other layers, such as vector math. - -To understand the structure of these packages better we provided this diagram: +| Package | Description | +|---------|-------------| +| [@bitbybit-dev/babylonjs](https://www.npmjs.com/package/@bitbybit-dev/babylonjs) | BabylonJS engine integration for drawing CAD geometry | +| [@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs) | Three.js engine integration for drawing CAD geometry | +| [@bitbybit-dev/playcanvas](https://www.npmjs.com/package/@bitbybit-dev/playcanvas) | PlayCanvas engine integration for drawing CAD geometry | +| [@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core) | Core assembly layer combining all CAD kernels | +| [@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) | OpenCascade CAD kernel (works in Node.js & browser) | +| [@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) | OCCT via WebWorker (non-blocking, browser only) | +| [@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) | Manifold fast mesh booleans (works in Node.js & browser) | +| [@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) | Manifold via WebWorker (non-blocking, browser only) | +| [@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) | JSCAD solid modeling (works in Node.js & browser) | +| [@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) | JSCAD via WebWorker (non-blocking, browser only) | +| [@bitbybit-dev/base](https://www.npmjs.com/package/@bitbybit-dev/base) | Base math/vector/matrix algorithms used by all packages | +| [@bitbybit-dev/create-app](https://www.npmjs.com/package/@bitbybit-dev/create-app) | CLI tool to scaffold 3D/CAD projects | +| [@bitbybit-dev/cad-cloud-sdk](https://www.npmjs.com/package/@bitbybit-dev/cad-cloud-sdk) | TypeScript SDK for the CAD Cloud API | ## NPM Package Architecture + Schematic diagram showing the architecture of all NPM packages ## Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular -https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React -https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code -https://github.com/bitbybit-dev/app-examples/tree/main/react/cup - -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture - -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ - -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. - -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. + +All examples live in the [`examples/`](https://github.com/bitbybit-dev/bitbybit/tree/master/examples) directory of this monorepo: + +| App | Engine | Source Code | +|-----|--------|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | Three.js | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | Three.js | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept) | Three.js | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-house-concept) | +| Starter Template | BabylonJS | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/babylonjs/starter-template) | +| Starter Template | Three.js | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/starter-template) | +| Starter Template | PlayCanvas | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/playcanvas/starter-template) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) | BabylonJS | Closed source | + +## Bitbybit Platform + +Beyond these open-source NPM packages, the Bitbybit platform includes: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor with full IntelliSense +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP. [TypeScript SDK available](https://www.npmjs.com/package/@bitbybit-dev/cad-cloud-sdk). +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for your Shopify store. [Documentation](https://learn.bitbybit.dev/learn/3d-bits/intro). +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute Rete/Blockly/TypeScript scripts directly on your website without writing code +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT. [MCP integration](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/mcp/context-7) available. +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Instagram](https://www.instagram.com/bitbybit.dev) +- [Facebook](https://www.facebook.com/bitbybitdev) +- [Blog](https://learn.bitbybit.dev/blog) # Development Setup diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index beb90dd0..0ef521f1 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -130,6 +130,11 @@ const config: Config = { theme: { customCss: "./src/css/custom.css", }, + sitemap: { + lastmod: "date", + changefreq: null, + priority: null, + }, } as Preset.Options, ], ], diff --git a/docs/static/robots.txt b/docs/static/robots.txt index 72f3c4e8..eef3bf1c 100644 --- a/docs/static/robots.txt +++ b/docs/static/robots.txt @@ -1,12 +1,6 @@ User-agent: * Allow: / -# Prevent crawling of static asset bundles (saves crawl budget). -# Googlebot can still render pages from cache; these hashed files -# rarely change and are not content pages. -Disallow: /assets/js/ -Disallow: /assets/css/ - Sitemap: https://learn.bitbybit.dev/sitemap.xml # LLM Context diff --git a/examples/api/README.md b/examples/api/README.md index bed89366..d6dee173 100644 --- a/examples/api/README.md +++ b/examples/api/README.md @@ -1,4 +1,4 @@ -# Bitbybit CAD Cloud API — Example Projects +# Bitbybit CAD Cloud API - Example Projects This folder contains a **shared React frontend** and **five interchangeable backend implementations** that demonstrate how to integrate the Bitbybit CAD Cloud API into a web application. @@ -12,7 +12,7 @@ This folder contains a **shared React frontend** and **five interchangeable back └─────────────────────────────┘ └─────────────────────────────┘ ``` -The frontend never calls the Bitbybit API directly — your **API key stays on the server**. Vite's dev proxy forwards `/api/*` requests to `localhost:3000`, so the frontend works identically with any of the five backends. +The frontend never calls the Bitbybit API directly - your **API key stays on the server**. Vite's dev proxy forwards `/api/*` requests to `localhost:3000`, so the frontend works identically with any of the five backends. ## Backend Variants @@ -35,7 +35,7 @@ All five backends expose the same `/api/*` routes, so the frontend is completely - **Node.js** ≥ 20 (for the frontend and Node.js/Hono backends) - **.NET** ≥ 10 (only for the `dotnet-rest` backend) -- A **Bitbybit API key** — get one from [bitbybit.dev](https://bitbybit.dev) +- A **Bitbybit API key** - get one from [bitbybit.dev](https://bitbybit.dev) - For Hono backends: **Wrangler** CLI (installed as a dev dependency) ## Quick Start @@ -118,18 +118,18 @@ The app includes several pipeline examples accessible via dedicated buttons: | Pipeline | What it does | |----------|-------------| -| **Translate → Union → Fillet** | Creates two boxes, translates one, unions them, fillets edges — demonstrates `$ref:N` step references | -| **Map Cylinders** | Uses a `map` step to create cylinders at different positions — demonstrates iteration with `$item` and `$index` | -| **Map Spheres** | Maps over an array of radii to create multiple spheres — demonstrates `$item` references | -| **Choice** | Uses a `choice` step to conditionally create a box or cylinder — demonstrates branching logic | -| **File Input** | Upload a STEP file, fillet its edges — demonstrates `$file:N` references and the file upload flow | +| **Translate → Union → Fillet** | Creates two boxes, translates one, unions them, fillets edges - demonstrates `$ref:N` step references | +| **Map Cylinders** | Uses a `map` step to create cylinders at different positions - demonstrates iteration with `$item` and `$index` | +| **Map Spheres** | Maps over an array of radii to create multiple spheres - demonstrates `$item` references | +| **Choice** | Uses a `choice` step to conditionally create a box or cylinder - demonstrates branching logic | +| **File Input** | Upload a STEP file, fillet its edges - demonstrates `$file:N` references and the file upload flow | ## Project Structure ``` frontend/ ├── src/ -│ ├── App.tsx # Main app — orchestrates panels +│ ├── App.tsx # Main app - orchestrates panels │ ├── panels/ # UI panels for each feature │ └── components/ # Three.js viewer, shared UI ├── vite.config.ts # Dev proxy: /api → localhost:3000 diff --git a/examples/api/hono-rest/README.md b/examples/api/hono-rest/README.md index 1899bd01..a15a1d45 100644 --- a/examples/api/hono-rest/README.md +++ b/examples/api/hono-rest/README.md @@ -5,7 +5,7 @@ A [Cloudflare Worker](https://developers.cloudflare.com/workers/) built with [Ho ## Prerequisites - [Node.js](https://nodejs.org/) 18+ -- A **bitbybit API key** — purchase one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan). The key needs the **models** and **tasks** scopes. +- A **bitbybit API key** - purchase one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan). The key needs the **models** and **tasks** scopes. ## Setup @@ -33,7 +33,7 @@ npx wrangler secret put BITBYBIT_API_KEY Paste your `bbk_...` key when prompted. -> **⚠️ Keep your API key safe.** Treat it like a password — anyone with your key can make API calls on your behalf and consume your quota. Never commit it to version control, share it in chat, paste it in client-side code, or include it in public repositories. If you suspect a key has been leaked, revoke it immediately in your bitbybit.dev dashboard and generate a new one. The `.dev.vars` file is listed in `.gitignore` for this reason, and this example keeps the key strictly server-side in the Cloudflare Worker environment. +> **⚠️ Keep your API key safe.** Treat it like a password - anyone with your key can make API calls on your behalf and consume your quota. Never commit it to version control, share it in chat, paste it in client-side code, or include it in public repositories. If you suspect a key has been leaked, revoke it immediately in your bitbybit.dev dashboard and generate a new one. The `.dev.vars` file is listed in `.gitignore` for this reason, and this example keeps the key strictly server-side in the Cloudflare Worker environment. ## Development @@ -51,6 +51,6 @@ npm run deploy ## How It Works -1. **Frontend** (`/`) — A minimal Three.js page with a "Generate Dragon Cup" button. -2. **Backend** (`POST /api/generate`) — Calls `api.bitbybit.dev` to create a dragon cup model, polls the task until complete, and returns a pre-signed GLB download URL. +1. **Frontend** (`/`) - A minimal Three.js page with a "Generate Dragon Cup" button. +2. **Backend** (`POST /api/generate`) - Calls `api.bitbybit.dev` to create a dragon cup model, polls the task until complete, and returns a pre-signed GLB download URL. 3. **Frontend** loads the GLB URL into Three.js via `GLTFLoader`. diff --git a/examples/api/hono-sdk/README.md b/examples/api/hono-sdk/README.md index db764abd..caae73b3 100644 --- a/examples/api/hono-sdk/README.md +++ b/examples/api/hono-sdk/README.md @@ -7,7 +7,7 @@ For full SDK documentation, see the [TypeScript SDK guide](https://learn.bitbybi ## Prerequisites - [Node.js](https://nodejs.org/) 18+ -- A Bitbybit API key — get one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan) +- A Bitbybit API key - get one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan) ## Setup @@ -49,8 +49,8 @@ npm run deploy ## How It Works -1. **Frontend** (`/`) — A minimal Three.js page with buttons to generate models. -2. **Backend** (`POST /api/generate`) — Uses `BitbybitClient` from the SDK to create a dragon cup model, automatically polls the task until complete, and returns a pre-signed GLB download URL. +1. **Frontend** (`/`) - A minimal Three.js page with buttons to generate models. +2. **Backend** (`POST /api/generate`) - Uses `BitbybitClient` from the SDK to create a dragon cup model, automatically polls the task until complete, and returns a pre-signed GLB download URL. 3. **Frontend** loads the GLB URL into Three.js via `GLTFLoader`. ## Learn More diff --git a/examples/api/nodejs-rest/README.md b/examples/api/nodejs-rest/README.md index 406568f3..9f2c4424 100644 --- a/examples/api/nodejs-rest/README.md +++ b/examples/api/nodejs-rest/README.md @@ -5,7 +5,7 @@ A Node.js server built with Express that creates a Dragon Cup via the bitbybit R ## Prerequisites - Node.js 18+ -- A bitbybit API key — purchase one at bitbybit.dev/auth/pick-plan. The key needs the **models** and **tasks** scopes. +- A bitbybit API key - purchase one at bitbybit.dev/auth/pick-plan. The key needs the **models** and **tasks** scopes. ## Setup @@ -37,6 +37,6 @@ Open http://localhost:3000 ## How It Works -1. **Frontend** (`/`) — Three.js page with a "Generate Dragon Cup" button. -2. **Backend** (`POST /api/generate`) — Calls `api.bitbybit.dev`, polls the task until complete, returns a pre-signed GLB download URL. +1. **Frontend** (`/`) - Three.js page with a "Generate Dragon Cup" button. +2. **Backend** (`POST /api/generate`) - Calls `api.bitbybit.dev`, polls the task until complete, returns a pre-signed GLB download URL. 3. **Frontend** loads the GLB into Three.js via `GLTFLoader`. diff --git a/examples/api/nodejs-sdk/README.md b/examples/api/nodejs-sdk/README.md index e2818ecf..c2c6b14b 100644 --- a/examples/api/nodejs-sdk/README.md +++ b/examples/api/nodejs-sdk/README.md @@ -7,7 +7,7 @@ This example is functionally identical to [nodejs-rest](../nodejs-rest), but rep ## Prerequisites - Node.js 18+ -- A Bitbybit API key — purchase one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan). The key needs the **models** and **tasks** scopes. +- A Bitbybit API key - purchase one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan). The key needs the **models** and **tasks** scopes. ## Setup @@ -39,8 +39,8 @@ Open http://localhost:3000 ## How It Works -1. **Frontend** (`/`) — Three.js page with a "Generate Dragon Cup" button. -2. **Backend** (`POST /api/generate`) — Uses `BitbybitClient` from the SDK to create a dragon cup model, automatically polls the task until complete, returns a pre-signed GLB download URL. +1. **Frontend** (`/`) - Three.js page with a "Generate Dragon Cup" button. +2. **Backend** (`POST /api/generate`) - Uses `BitbybitClient` from the SDK to create a dragon cup model, automatically polls the task until complete, returns a pre-signed GLB download URL. 3. **Frontend** loads the GLB into Three.js via `GLTFLoader`. ## Learn More diff --git a/packages/dev/babylonjs/README.md b/packages/dev/babylonjs/README.md index 0afdb132..bfed0710 100644 --- a/packages/dev/babylonjs/README.md +++ b/packages/dev/babylonjs/README.md @@ -1,49 +1,102 @@ -## Bit By Bit Developers library for BABYLONJS game engine +# @bitbybit-dev/babylonjs -This project exposes core 3D algorithms of Bitbybit platform through BABYLONJS game engine. Code is open-sourced under MIT license. This library was previously intertwined in core package and is now separated. +[BabylonJS](https://www.babylonjs.com/) game engine integration for [Bitbybit](https://bitbybit.dev) - draw and interact with CAD geometry from OCCT, JSCAD, and Manifold kernels directly in your BabylonJS scenes. Picture showing bitbybit.dev platform -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +## Overview -## Github -https://github.com/bitbybit-dev/bitbybit -## NPM -https://www.npmjs.com/package/@bitbybit-dev/babylonjs +This package connects Bitbybit's powerful CAD kernels to the BabylonJS rendering engine. It includes `@babylonjs/core` as a dependency, so you don't need to install BabylonJS separately. Create parametric 3D models with professional CAD operations and render them with BabylonJS's advanced features - PBR materials, physics, XR, and more. + +## Quick Start + +The fastest way to scaffold a BabylonJS + Bitbybit project: + +```bash +npx @bitbybit-dev/create-app my-project --engine babylonjs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured and rendering through BabylonJS. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Learn + +| Topic | Link | +|-------|------| +| **Quick Start Tutorial** | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/start-with-babylon-js | +| **About BabylonJS Integration** | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/about-babylonjs | +| **Advanced Parametric Model** | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/advanced-parametric-3d-model | +| **Hex House Concept** | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/hex-house-concept | +| **BabylonJS Engine Setup** | https://learn.bitbybit.dev/learn/getting-started/engines/babylonjs | +| **AI-Assisted Development** | https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro | + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/babylonjs | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/babylonjs | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/babylonjs/start-with-babylon-js | ## Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup - -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture - -## Build package -tsc -p tsconfig.bitbybit.json - -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ - -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. - -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/babylonjs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/babylonjs/hex-shell) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/babylonjs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/babylonjs/hex-house-concept) | +| [Starter Template](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/babylonjs/starter-template) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/babylonjs/starter-template) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package +tsc -p tsconfig.bitbybit.json +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Support the Project + +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** + +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -BabylonJS, Rete, Blockly, OpenCascade, JSCAD, Verbnurbs \ No newline at end of file + +BabylonJS, OpenCascade, JSCAD, Manifold, Verbnurbs + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/babylonjs/package.json b/packages/dev/babylonjs/package.json index 16e42f36..b94154e0 100644 --- a/packages/dev/babylonjs/package.json +++ b/packages/dev/babylonjs/package.json @@ -51,6 +51,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/base/README.md b/packages/dev/base/README.md index 15f4dd7a..ccec4de0 100644 --- a/packages/dev/base/README.md +++ b/packages/dev/base/README.md @@ -1,75 +1,97 @@ -## Bit By Bit Developers Base Algorithms for CAD library +# @bitbybit-dev/base -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +Base algorithms for [Bitbybit](https://bitbybit.dev) CAD platform - math, vectors, matrices, lists, text utilities, and shared types used across all higher-level packages. Picture showing bitbybit.dev platform -This package contains base algorithms for our CAD platform. It has various helper functions for math, text, lists, vectors, matrix operations. It also contains some base types used accross bitbybit.dev platform on higher levels. This layer should be kept as lightweight as possible and ideally not contain any third-party dependencies as they just add to the weight and complexity. +## Overview +This package provides the foundational layer for all Bitbybit CAD packages. It includes helper functions for math, text, lists, vectors, and matrix operations, along with base types used throughout the platform. This layer is kept lightweight with zero third-party dependencies. -This package is already used or will be used in these packages: +Works in both **Node.js** and **browser** environments. -[@bitbybit-dev/babylonjs](https://www.npmjs.com/package/@bitbybit-dev/babylonjs) -[@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs) -[@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core) -[@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) -[@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) -[@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) -[@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) -[@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) -[@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) +## Used By -This package should work in Node and browser based applications and should provide generic layer which could be helpful to all higher-level CAD algorithms and kernels. Algorithms of this base layer are also exposed on our bitbybit.dev Rete, Blockly & Monaco editors. +This package is a dependency of all higher-level Bitbybit packages: -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/base -## NPM -https://www.npmjs.com/package/@bitbybit-dev/base +- [@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) - OpenCascade CAD kernel +- [@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) - OCCT via WebWorker +- [@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) - Manifold mesh booleans +- [@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) - Manifold via WebWorker +- [@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) - JSCAD solid modeling +- [@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) - JSCAD via WebWorker +- [@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core) - Core assembly layer +- [@bitbybit-dev/babylonjs](https://www.npmjs.com/package/@bitbybit-dev/babylonjs) - BabylonJS integration +- [@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs) - Three.js integration +- [@bitbybit-dev/playcanvas](https://www.npmjs.com/package/@bitbybit-dev/playcanvas) - PlayCanvas integration -## THREEJS Example Applications -Vase -https://app-store.bitbybit.dev/vase -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase +## Quick Start -## Other Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +The fastest way to start a project using Bitbybit packages: -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +```bash +npx @bitbybit-dev/create-app my-project +``` -## Build package +This scaffolds a complete Vite + TypeScript project with all CAD kernels pre-configured. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/base | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/base | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | +| **Unit Test Coverage** | https://tests.bitbybit.dev/base | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Support the Project + +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Community -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +## License -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. \ No newline at end of file +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/base/package.json b/packages/dev/base/package.json index e0bca6ee..66bf1ef3 100644 --- a/packages/dev/base/package.json +++ b/packages/dev/base/package.json @@ -55,6 +55,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": {}, diff --git a/packages/dev/cad-cloud-sdk/README.md b/packages/dev/cad-cloud-sdk/README.md index 6a45a17f..7f332185 100644 --- a/packages/dev/cad-cloud-sdk/README.md +++ b/packages/dev/cad-cloud-sdk/README.md @@ -1,9 +1,19 @@ # @bitbybit-dev/cad-cloud-sdk -Type-safe TypeScript SDK for the [Bitbybit CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api). Generate parametric 3D models, run CAD operations, convert STEP files, and manage async tasks — all with full intellisense. +Type-safe TypeScript SDK for the [Bitbybit CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api). Generate parametric 3D models, run CAD operations, convert STEP files, and manage async tasks - all with full intellisense. > **Server-side only.** Never expose your API key in frontend code. +## Scaffold a full project + +The fastest way to get started is with our CLI - it scaffolds a complete backend + React frontend with this SDK pre-configured: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). + ## Install ```bash @@ -19,7 +29,7 @@ const client = new BitbybitClient({ apiKey: process.env.BITBYBIT_API_KEY!, }); -// Generate a dragon cup — polls automatically, returns all download URLs +// Generate a dragon cup - polls automatically, returns all download URLs const { downloads } = await client.models.run("dragon-cup", { params: { height: 10, radiusBottom: 5 }, outputs: { formats: ["gltf"] }, @@ -60,23 +70,25 @@ try { Full guides with examples for every endpoint: -- **[SDK Overview](https://learn.bitbybit.dev/api/sdk/typescript/intro)** — setup, polling, error handling, type imports -- **[Models](https://learn.bitbybit.dev/api/sdk/typescript/models)** — parametric model generation and batch runs -- **[CAD Operations](https://learn.bitbybit.dev/api/sdk/typescript/cad-operations)** — execute, pipeline, compound -- **[Conversion](https://learn.bitbybit.dev/api/sdk/typescript/conversion)** — STEP → glTF with simple and advanced options -- **[Tasks](https://learn.bitbybit.dev/api/sdk/typescript/tasks)** — task lifecycle management -- **[Files](https://learn.bitbybit.dev/api/sdk/typescript/files)** — file upload and management -- **[API Reference](https://learn.bitbybit.dev/api/openapi-docs/bitbybit-cad-cloud-api)** — full OpenAPI endpoint reference +- **[SDK Overview](https://learn.bitbybit.dev/api/sdk/typescript/intro)** - setup, polling, error handling, type imports +- **[Models](https://learn.bitbybit.dev/api/sdk/typescript/models)** - parametric model generation and batch runs +- **[CAD Operations](https://learn.bitbybit.dev/api/sdk/typescript/cad-operations)** - execute, pipeline, compound +- **[Conversion](https://learn.bitbybit.dev/api/sdk/typescript/conversion)** - STEP → glTF with simple and advanced options +- **[Tasks](https://learn.bitbybit.dev/api/sdk/typescript/tasks)** - task lifecycle management +- **[Files](https://learn.bitbybit.dev/api/sdk/typescript/files)** - file upload and management +- **[API Reference](https://learn.bitbybit.dev/api/openapi-docs/bitbybit-cad-cloud-api)** - full OpenAPI endpoint reference ## Working examples -- [Node.js + SDK](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/api/nodejs-sdk) — Express server with Three.js frontend -- [Hono + SDK](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/api/hono-sdk) — Cloudflare Workers with Three.js frontend +- [Node.js + SDK](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/api/nodejs-sdk) - Express server with Three.js frontend +- [Hono + SDK](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/api/hono-sdk) - Cloudflare Workers with Three.js frontend ## Requirements - Node.js 18+ (or any runtime with native `fetch`) -- A Bitbybit API key — get one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan) +- A Bitbybit API key - get one at [bitbybit.dev/auth/pick-plan](https://bitbybit.dev/auth/pick-plan) + +This package is part of the [Bitbybit monorepo](https://github.com/bitbybit-dev/bitbybit). ## License diff --git a/packages/dev/core/README.md b/packages/dev/core/README.md index 2afb7f6f..a35ebb5c 100644 --- a/packages/dev/core/README.md +++ b/packages/dev/core/README.md @@ -1,52 +1,93 @@ -## Bit By Bit Developers core library +# @bitbybit-dev/core -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +Core assembly layer for [Bitbybit](https://bitbybit.dev) CAD platform - combines all geometry kernels (OCCT, JSCAD, Manifold) into a unified API and provides additional cross-kernel features. Picture showing bitbybit.dev platform -## IMPORTANT -If you used this npm package prior to v0.18.0, please use @bitbybit-dev/babylonjs package. +## Overview -This project contains core 3D algorithms of Bit By Bit Developers platform which are open-sourced under MIT license. +This package assembles the various Bitbybit kernel packages and provides additional features that combine all CAD kernels. It is the central integration point used by engine-specific packages like `@bitbybit-dev/babylonjs`, `@bitbybit-dev/threejs`, and `@bitbybit-dev/playcanvas`. -## Github -https://github.com/bitbybit-dev/bitbybit -## NPM -https://www.npmjs.com/package/@bitbybit-dev/core +> **Note**: If you used this package prior to v0.18.0, please switch to the engine-specific package for your renderer (e.g. `@bitbybit-dev/babylonjs`). + +## Quick Start + +The fastest way to scaffold a project using Bitbybit packages: + +```bash +npx @bitbybit-dev/create-app my-project --engine babylonjs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with all CAD kernels pre-configured. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/core | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/core | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | ## Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup - -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture - -## Build package -tsc -p tsconfig.bitbybit.json - -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ - -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. - -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-house-concept) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package +tsc -p tsconfig.bitbybit.json +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Support the Project + +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** + +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -BabylonJS, Rete, Blockly, OpenCascade, JSCAD, Verbnurbs \ No newline at end of file + +BabylonJS, ThreeJS, PlayCanvas, OpenCascade, JSCAD, Manifold, Verbnurbs + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/core/package.json b/packages/dev/core/package.json index 4404375d..5bda9a30 100644 --- a/packages/dev/core/package.json +++ b/packages/dev/core/package.json @@ -51,6 +51,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/create-app/README.md b/packages/dev/create-app/README.md index ffd15d3a..238b0a0f 100644 --- a/packages/dev/create-app/README.md +++ b/packages/dev/create-app/README.md @@ -1,6 +1,6 @@ # @bitbybit-dev/create-app -🚀 **CLI tool to scaffold Bit By Bit Developers 3D/CAD projects — browser-based frontend apps and CAD Cloud backend projects** +🚀 **CLI tool to scaffold Bit By Bit Developers 3D/CAD projects - browser-based frontend apps and CAD Cloud backend projects** Create stunning 3D/CAD applications with ease using our powerful geometry kernels: OCCT (OpenCascade), JSCAD, and Manifold. Or scaffold a full-stack project that connects to our [CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api) for server-side model generation and file conversion. @@ -98,6 +98,8 @@ npm run dev ## Project Structure +### Frontend Projects + ``` my-project/ ├── index.html @@ -111,12 +113,32 @@ my-project/ └── vite-env.d.ts ``` +### Cloud Projects + +``` +my-cloud-project/ +├── README.md +├── frontend/ +│ ├── src/ +│ │ ├── App.tsx +│ │ ├── components/ # Three.js viewer, header, API key warning +│ │ └── panels/ # Models and Pipelines UI panels +│ ├── vite.config.ts # Dev proxy: /api → localhost:3000 +│ └── package.json +└── backend/ + ├── src/ + │ ├── index.ts # Routes + │ └── bitbybit-client.ts # API calls + └── package.json +``` + ## Links - 🌐 **Website**: [https://bitbybit.dev](https://bitbybit.dev) - 📚 **Documentation**: [https://bitbybit.dev/docs](https://bitbybit.dev/docs) - 💬 **Discord Community**: [https://discord.gg/GSe3VMe](https://discord.gg/GSe3VMe) - 🐛 **Issues**: [https://github.com/bitbybit-dev/bitbybit/issues](https://github.com/bitbybit-dev/bitbybit/issues) +- 📦 **Monorepo**: [https://github.com/bitbybit-dev/bitbybit](https://github.com/bitbybit-dev/bitbybit) ## Support Us diff --git a/packages/dev/jscad-worker/README.md b/packages/dev/jscad-worker/README.md index 0c9778b6..53a670e2 100644 --- a/packages/dev/jscad-worker/README.md +++ b/packages/dev/jscad-worker/README.md @@ -1,64 +1,99 @@ -## Bit By Bit Developers JSCAD based CAD library in webworker +# @bitbybit-dev/jscad-worker -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +Non-blocking WebWorker wrapper for [@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) - run JSCAD solid modeling operations asynchronously without freezing the UI. Picture showing bitbybit.dev platform -This project exposes 3D algorithms based on OPENJSCAD 3D CAD kernel via webworker. You can find JSCAD project on https://github.com/jscad. Bit By Bit Developers platform integrates this kernel into it's platform via this library. Currently we try to expose JSCAD library 1:1 in terms of functionality through our structured API, but as time goes we will have more unique algorithms in this package, which will be tuned specifically to our users. +## Overview -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/jscad-worker -## NPM -https://www.npmjs.com/package/@bitbybit-dev/jscad-worker +This package exposes JSCAD 3D algorithms from Bitbybit via a WebWorker, making all CSG and solid modeling operations asynchronous and non-blocking. Perfect for complex parametric designs that need responsive UIs. -## THREEJS Example Applications -Vase -https://app-store.bitbybit.dev/vase -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase +Designed for **browser environments**. For Node.js, use [@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) directly. -## Other Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +## Quick Start -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +The fastest way to scaffold a project with JSCAD pre-configured: -## Build package +```bash +npx @bitbybit-dev/create-app my-project --engine babylonjs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with JSCAD (via WebWorker), OCCT, and Manifold kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/jscad-worker | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/jscad-worker | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | +| **Unit Test Coverage** | https://tests.bitbybit.dev/jscad | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Support the Project -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -JSCAD -https://github.com/jscad \ No newline at end of file + +[JSCAD](https://github.com/jscad) + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/jscad-worker/package.json b/packages/dev/jscad-worker/package.json index 5d6c4092..1ed0c7d7 100644 --- a/packages/dev/jscad-worker/package.json +++ b/packages/dev/jscad-worker/package.json @@ -57,6 +57,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/jscad/README.md b/packages/dev/jscad/README.md index 61d0f795..3e670724 100644 --- a/packages/dev/jscad/README.md +++ b/packages/dev/jscad/README.md @@ -1,64 +1,99 @@ -## Bit By Bit Developers JSCAD based CAD library +# @bitbybit-dev/jscad -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +[JSCAD](https://github.com/jscad) solid modeling integration for [Bitbybit](https://bitbybit.dev) - programmatic CSG operations, extrusions, hulls, and more for creating precise 3D geometry through code. Picture showing bitbybit.dev platform -This project exposes 3D algorithms based on OPENJSCAD 3D CAD kernel, which you can find on https://github.com/jscad. Bit By Bit Developers platform integrates this kernel into it's platform via this library. Currently we try to expose JSCAD library 1:1 in terms of functionality through our structured API, but as time goes we will have more unique algorithms in this package, which will be tuned specifically to our users. +## Overview -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/jscad -## NPM -https://www.npmjs.com/package/@bitbybit-dev/jscad +This package wraps the [OpenJSCAD](https://github.com/jscad) kernel with additional algorithms from Bitbybit. JSCAD excels at programmatic solid modeling using constructive solid geometry (CSG) - perfect for parametric designs, mechanical parts, and 3D-printable models. -## THREEJS Example Applications -Vase -https://app-store.bitbybit.dev/vase -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase +Works in both **Node.js** and **browser** environments. For browser apps, we recommend [@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) which wraps this library in a non-blocking WebWorker. -## Other Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +## Quick Start -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +The fastest way to scaffold a project with JSCAD pre-configured: -## Build package +```bash +npx @bitbybit-dev/create-app my-project --engine threejs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with JSCAD, OCCT, and Manifold kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/jscad | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/jscad | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | +| **Unit Test Coverage** | https://tests.bitbybit.dev/jscad | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Support the Project -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -JSCAD -https://github.com/jscad \ No newline at end of file + +[JSCAD](https://github.com/jscad) + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/jscad/package.json b/packages/dev/jscad/package.json index f72941b4..c35d4250 100644 --- a/packages/dev/jscad/package.json +++ b/packages/dev/jscad/package.json @@ -55,6 +55,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/manifold-worker/README.md b/packages/dev/manifold-worker/README.md index ea7c963e..bc5b51c3 100644 --- a/packages/dev/manifold-worker/README.md +++ b/packages/dev/manifold-worker/README.md @@ -1,67 +1,99 @@ -## Bit By Bit Developers Manifold based CAD library in webworker +# @bitbybit-dev/manifold-worker -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +Non-blocking WebWorker wrapper for [@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) - run Manifold mesh boolean operations asynchronously without freezing the UI. Picture showing bitbybit.dev platform -This project exposes 3D algorithms based on manifold-3d 3D CAD kernel via webworker. Manifold project is developed by Emmett Lalish and Chun Kit LAM, you can find it on https://github.com/elalish/manifold. Bit By Bit Developers platform integrates this kernel into it's platform via this library. Currently we try to expose Manifold library 1:1 in terms of functionality through our structured API, but as time goes we will have more unique algorithms in this package, which will be tuned specifically to our users. +## Overview -This package should be used in browser based applications. If you want to use our manifold library in Node apps, consider checking @bitbybit-dev/manifold npm package, which this library wraps through webworker. +This package exposes Manifold 3D algorithms from Bitbybit via a WebWorker, making all mesh boolean operations asynchronous and non-blocking. Use it for fast union, intersection, and difference operations on watertight geometry. -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/manifold-worker -## NPM -https://www.npmjs.com/package/@bitbybit-dev/manifold-worker +Designed for **browser environments**. For Node.js, use [@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) directly. -## THREEJS Example Applications Using Manifold -[Manifold Sliced Mesh](https://app-store.bitbybit.dev/manifold-sliced-mesh/) -[Github Source Code](https://github.com/bitbybit-dev/app-examples/blob/main/webpack/threejs/src/code/manifold-sliced-mesh.ts) +## Quick Start -## Other THREEJS Applications -[Vase](https://app-store.bitbybit.dev/vase) -[Github source code](https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase) +The fastest way to scaffold a project with Manifold pre-configured: -## Other Example Applications -[Laptop Holder](https://app-store.bitbybit.dev/laptop-holder) -[Github Source Code Angular](https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder) -[Github Source Code React](https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder) - -[Cup Configurator](https://app-store.bitbybit.dev/cup) -[Github Source Code](https://github.com/bitbybit-dev/app-examples/tree/main/react/cup) +```bash +npx @bitbybit-dev/create-app my-project --engine threejs +cd my-project +npm install +npm run dev +``` -## Closed Source Example Applications -[Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) +This creates a complete Vite + TypeScript project with Manifold (via WebWorker), OCCT, and JSCAD kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). -## Build package +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/manifold-worker | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/manifold-worker | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | +| **Unit Test Coverage** | https://tests.bitbybit.dev/manifold | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Manifold Sliced Mesh](https://app-store.bitbybit.dev/manifold-sliced-mesh) | [GitHub](https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase) | +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Support the Project -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -Manifold -https://github.com/elalish/manifold \ No newline at end of file + +[Manifold](https://github.com/elalish/manifold) + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/manifold-worker/package.json b/packages/dev/manifold-worker/package.json index 810f61d7..2f7a6f8d 100644 --- a/packages/dev/manifold-worker/package.json +++ b/packages/dev/manifold-worker/package.json @@ -57,6 +57,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/manifold/README.md b/packages/dev/manifold/README.md index d3e7ffb6..fcf6f57f 100644 --- a/packages/dev/manifold/README.md +++ b/packages/dev/manifold/README.md @@ -1,67 +1,99 @@ -## Bit By Bit Developers Manifold based CAD library +# @bitbybit-dev/manifold -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +[Manifold](https://github.com/elalish/manifold) 3D mesh boolean engine integration for [Bitbybit](https://bitbybit.dev) - fast union, intersection, difference, and mesh operations for watertight geometry. Picture showing bitbybit.dev platform -This project exposes 3D algorithms based on manifold-3d 3D CAD kernel, developed by Emmett Lalish and Chun Kit LAM, which you can find on https://github.com/elalish/manifold. Bit By Bit Developers platform integrates this kernel into it's platform via this library. Currently we try to expose Manifold library 1:1 in terms of functionality through our structured API, but as time goes we will have more unique algorithms in this package, which will be tuned specifically to our users. +## Overview -This package should work in Node and browser based applications. If you want to use this package in your browser based applications we highly suggest to use @bitbybit-dev/manifold-webworker npm package, which wraps this lib into promisified non-blocking API. +This package wraps the [manifold-3d](https://github.com/elalish/manifold) CAD kernel (by Emmett Lalish and Chun Kit LAM) with additional algorithms from Bitbybit. Manifold is optimized for lightning-fast mesh boolean operations on guaranteed-watertight geometry - ideal for 3D printing and game asset creation. -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/manifold -## NPM -https://www.npmjs.com/package/@bitbybit-dev/manifold +Works in both **Node.js** and **browser** environments. For browser apps, we recommend [@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) which wraps this library in a non-blocking WebWorker. -## THREEJS Example Applications Using Manifold -[Manifold Sliced Mesh](https://app-store.bitbybit.dev/manifold-sliced-mesh/) -[Github Source Code](https://github.com/bitbybit-dev/app-examples/blob/main/webpack/threejs/src/code/manifold-sliced-mesh.ts) +## Quick Start -## Other THREEJS Applications -[Vase](https://app-store.bitbybit.dev/vase) -[Github source code](https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase) +The fastest way to scaffold a project with Manifold pre-configured: -## Other Example Applications -[Laptop Holder](https://app-store.bitbybit.dev/laptop-holder) -[Github Source Code Angular](https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder) -[Github Source Code React](https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder) - -[Cup Configurator](https://app-store.bitbybit.dev/cup) -[Github Source Code](https://github.com/bitbybit-dev/app-examples/tree/main/react/cup) +```bash +npx @bitbybit-dev/create-app my-project --engine threejs +cd my-project +npm install +npm run dev +``` -## Closed Source Example Applications -[Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) +This creates a complete Vite + TypeScript project with Manifold, OCCT, and JSCAD kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). -## Build package +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/manifold | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/manifold | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro | +| **Unit Test Coverage** | https://tests.bitbybit.dev/manifold | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Manifold Sliced Mesh](https://app-store.bitbybit.dev/manifold-sliced-mesh) | [GitHub](https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase) | +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Support the Project -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -Manifold -https://github.com/elalish/manifold \ No newline at end of file + +[Manifold](https://github.com/elalish/manifold) + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/manifold/package.json b/packages/dev/manifold/package.json index e6e1d88e..8468164f 100644 --- a/packages/dev/manifold/package.json +++ b/packages/dev/manifold/package.json @@ -55,6 +55,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/occt-worker/README.md b/packages/dev/occt-worker/README.md index 9b3cbbf1..07949b38 100644 --- a/packages/dev/occt-worker/README.md +++ b/packages/dev/occt-worker/README.md @@ -1,56 +1,100 @@ -# Bit By Bit Developers CAD algorithms exposing OCCT code via webworker +# @bitbybit-dev/occt-worker -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +Non-blocking WebWorker wrapper for [@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) - run OpenCascade CAD operations asynchronously without freezing the UI. Picture showing bitbybit.dev platform -This project exposes core OCCT 3D algorithms of Bit By Bit Developers platform via webworker. This code is open-sourced under MIT license. This package is independent of rendering frameworks such as BabylonJS or ThreeJS. You can build your own rendering pipeline in WebGL or WebGPU. While webworkers have their implementation in Node environment, this code is meant to be used in the browser environment. For Node environment check bitbybit-occt library. +## Overview -# Github -https://github.com/bitbybit-dev -# NPM -https://www.npmjs.com/package/@bitbybit-dev/occt-worker +This package exposes the OCCT 3D algorithms from Bitbybit via a WebWorker, making all CAD operations asynchronous and non-blocking. It is **independent of rendering frameworks** - use it with BabylonJS, Three.js, PlayCanvas, or your own WebGL/WebGPU pipeline. -# Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular (BabylonJS) - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React (BabylonJS) - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code React (BabylonJS) - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +Designed for **browser environments**. For Node.js, use [@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) directly. -# Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +## Quick Start +The fastest way to scaffold a project with OCCT pre-configured: + +```bash +npx @bitbybit-dev/create-app my-project --engine babylonjs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with OCCT (via WebWorker), JSCAD, and Manifold kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/occt-worker | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/occt-worker | +| **Documentation** | https://learn.bitbybit.dev/learn/code/common/occt/what-is-occt | +| **Unit Test Coverage** | https://tests.bitbybit.dev/occt | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-house-concept) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash # Build package tsc -p tsconfig.bitbybit.json -# Run Live Unit Tests +# Run live unit tests npm run test -# Run Live Unit Tests With Coverage +# Run live unit tests with coverage npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Support the Project + +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** + +## Community -# Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) -# Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +## Major Dependencies -# About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +[OpenCascade Technology (OCCT)](https://github.com/Open-Cascade-SAS/OCCT) -# Dependencies +## License -This project is based on amazing [OCCT geometry kernel](https://github.com/Open-Cascade-SAS/OCCT) \ No newline at end of file +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/occt-worker/package.json b/packages/dev/occt-worker/package.json index 29c00420..c616418d 100644 --- a/packages/dev/occt-worker/package.json +++ b/packages/dev/occt-worker/package.json @@ -53,6 +53,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/occt/README.md b/packages/dev/occt/README.md index 33b49cc6..a3a3bb2a 100644 --- a/packages/dev/occt/README.md +++ b/packages/dev/occt/README.md @@ -1,59 +1,100 @@ -# Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel +# @bitbybit-dev/occt -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +OpenCascade Technology (OCCT) CAD kernel integration for [Bitbybit](https://bitbybit.dev) - professional-grade 3D modeling with boolean operations, fillets, chamfers, lofts, sweeps, STEP/IGES import/export, and more. Picture showing bitbybit.dev platform -This project contains core OCCT 3D algorithms of Bit By Bit Developers platform which are open-sourced under MIT license. This package is independent of rendering frameworks such as BabylonJS or ThreeJS. You can build your own rendering pipeline in WebGL or WebGPU. This code potentially can also be used alongside other OCCT libraries. This library can also run in NodeJS environments. +## Overview -# Github -https://github.com/bitbybit-dev -# NPM -https://www.npmjs.com/package/@bitbybit-dev/occt +This package wraps the [OpenCascade Technology](https://github.com/Open-Cascade-SAS/OCCT) kernel with additional algorithms from Bitbybit. It is **independent of rendering frameworks** - use it with BabylonJS, Three.js, PlayCanvas, or build your own WebGL/WebGPU pipeline. -# Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +Works in both **Node.js** and **browser** environments. For browser apps, consider using [@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) which wraps this library in a non-blocking WebWorker. -# Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +## Quick Start -## Build package +The fastest way to scaffold a project with OCCT pre-configured: + +```bash +npx @bitbybit-dev/create-app my-project --engine threejs +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with OCCT, JSCAD, and Manifold kernels ready to use. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/occt | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/occt | +| **Documentation** | https://learn.bitbybit.dev/learn/code/common/occt/what-is-occt | +| **Unit Test Coverage** | https://tests.bitbybit.dev/occt | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-house-concept) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers + +## Support the Project + +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. + +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## Unit test coverage report online -https://tests.bitbybit.dev/occt +## Community -# Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) -# Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +## Major Dependencies -# About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +[OpenCascade Technology (OCCT)](https://github.com/Open-Cascade-SAS/OCCT) -# Dependencies +## License -This project is based on amazing OCCT3D that you can find at https://github.com/Open-Cascade-SAS/OCCT \ No newline at end of file +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/occt/package.json b/packages/dev/occt/package.json index 732f0e12..8c778117 100644 --- a/packages/dev/occt/package.json +++ b/packages/dev/occt/package.json @@ -53,6 +53,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/playcanvas/README.md b/packages/dev/playcanvas/README.md index 1fca68b2..8d3d5289 100644 --- a/packages/dev/playcanvas/README.md +++ b/packages/dev/playcanvas/README.md @@ -1,45 +1,108 @@ -## Bit By Bit Developers CAD library for PlayCanvas game engine +# @bitbybit-dev/playcanvas -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +[PlayCanvas](https://playcanvas.com/) game engine integration for [Bitbybit](https://bitbybit.dev) - draw and interact with CAD geometry from OCCT, JSCAD, and Manifold kernels directly in your PlayCanvas applications. Picture showing bitbybit.dev platform -This project exposes 3D algorithms of Bit By Bit Developers platform through PlayCanvas game engine. Code is open-sourced under MIT license. +## Overview -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/playcanvas -## NPM -https://www.npmjs.com/package/@bitbybit-dev/playcanvas +This package connects Bitbybit's powerful CAD kernels to the PlayCanvas rendering engine. It includes `playcanvas` as a dependency, so you don't need to install PlayCanvas separately. Create parametric 3D models with professional CAD operations and render them with PlayCanvas's high-performance WebGL engine. -## Build package +## Quick Start + +The fastest way to scaffold a PlayCanvas + Bitbybit project: + +```bash +npx @bitbybit-dev/create-app my-project --engine playcanvas +cd my-project +npm install +npm run dev +``` + +This creates a complete Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured and rendering through PlayCanvas. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Learn + +| Topic | Link | +|-------|------| +| **Quick Start Tutorial** | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/start-with-playcanvas | +| **About PlayCanvas Integration** | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/about-playcanvas | +| **Advanced Parametric Model** | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/advanced-parametric-3d-model | +| **Hex House Concept** | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/hex-house-concept | +| **PlayCanvas Engine Setup** | https://learn.bitbybit.dev/learn/getting-started/engines/playcanvas | +| **AI-Assisted Development** | https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro | + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/playcanvas | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/playcanvas | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/playcanvas/start-with-playcanvas | +| **Unit Test Coverage** | https://tests.bitbybit.dev/playcanvas | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/playcanvas/starter-template) | +| [Starter Template](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/playcanvas/starter-template) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/playcanvas/starter-template) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: -## Unit test coverage report online -https://tests.bitbybit.dev/playcanvas +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +## Support the Project -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** + +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -PlayCanvas, OpenCascade, JSCAD, Verbnurbs \ No newline at end of file + +PlayCanvas, OpenCascade, JSCAD, Manifold, Verbnurbs + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/playcanvas/package.json b/packages/dev/playcanvas/package.json index 03b59de3..06d12190 100644 --- a/packages/dev/playcanvas/package.json +++ b/packages/dev/playcanvas/package.json @@ -51,6 +51,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": { diff --git a/packages/dev/threejs/README.md b/packages/dev/threejs/README.md index d5168833..efd342a8 100644 --- a/packages/dev/threejs/README.md +++ b/packages/dev/threejs/README.md @@ -1,63 +1,110 @@ -## Bit By Bit Developers CAD library for THREEJS game engine +# @bitbybit-dev/threejs -Visit [bitbybit.dev](https://bitbybit.dev) to use our full cloud platform. -Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan) -Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms -Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop +[Three.js](https://threejs.org/) engine integration for [Bitbybit](https://bitbybit.dev) - draw and interact with CAD geometry from OCCT, JSCAD, and Manifold kernels directly in your Three.js scenes. Picture showing bitbybit.dev platform -This project exposes 3D algorithms of Bit By Bit Developers platform through THREEJS game engine. Code is open-sourced under MIT license. +## Overview -## Github -https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/threejs -## NPM -https://www.npmjs.com/package/@bitbybit-dev/threejs +This package connects Bitbybit's powerful CAD kernels to the Three.js rendering engine. It includes `three` as a dependency, so you don't need to install Three.js separately. Create parametric 3D models with professional CAD operations and render them with Three.js's lightweight yet flexible rendering capabilities. -## THREEJS Example Applications -Vase -https://app-store.bitbybit.dev/vase -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase +## Quick Start -## Other Example Applications -Laptop Holder -https://app-store.bitbybit.dev/laptop-holder -Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder -Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder - -Cup Configurator -https://app-store.bitbybit.dev/cup -Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup +The fastest way to scaffold a Three.js + Bitbybit project: -## Closed Source Example Applications -https://app-store.bitbybit.dev/terrace-furniture +```bash +npx @bitbybit-dev/create-app my-project --engine threejs +cd my-project +npm install +npm run dev +``` -## Build package +This creates a complete Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured and rendering through Three.js. [Learn more about the CLI](https://learn.bitbybit.dev/learn/npm-packages/intro). + +### Need Server-Side CAD? + +The CLI first asks you to choose between a **Frontend** app or a **CAD Cloud** app. Select "cloud" to scaffold a full-stack project with a backend (Hono on Cloudflare Workers, Node.js Express, or ASP.NET Core) and a React + Three.js frontend. Your API key stays on the server and the frontend proxies requests through your backend: + +```bash +npx @bitbybit-dev/create-app my-cloud-project --type cloud +``` + +Choose from 5 backend templates: Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST. Each includes ready-to-run examples with model generation, batch operations, and [CAD pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines). [Learn more](https://learn.bitbybit.dev/api/cloud-api). + +## Learn + +| Topic | Link | +|-------|------| +| **Quick Start Tutorial** | https://learn.bitbybit.dev/learn/npm-packages/threejs/start-with-three-js | +| **About Three.js Integration** | https://learn.bitbybit.dev/learn/npm-packages/threejs/about-threejs | +| **Advanced Parametric Model** | https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model | +| **Hex House Concept** | https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept | +| **Three.js Engine Setup** | https://learn.bitbybit.dev/learn/getting-started/engines/threejs | +| **AI-Assisted Development** | https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro | + +## Links + +| Resource | URL | +|----------|-----| +| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/threejs | +| **Monorepo** | https://github.com/bitbybit-dev/bitbybit | +| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/threejs | +| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/threejs/start-with-three-js | +| **Unit Test Coverage** | https://tests.bitbybit.dev/threejs | + +## Example Applications + +| App | Source Code | +|-----|-------------| +| [Hex Shell](https://learn.bitbybit.dev/learn/npm-packages/threejs/advanced-parametric-3d-model) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-shell) | +| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) | +| [Hex House Concept](https://learn.bitbybit.dev/learn/npm-packages/threejs/hex-house-concept) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/hex-house-concept) | +| [Starter Template](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/starter-template) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/starter-template) | +| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source | + +## Development + +```bash +# Build package npm run build-p -## Run unit tests and generate test coverage +# Run unit tests with coverage npm run test-c -## Run live unit tests and generate test coverage on save +# Run live unit tests with coverage on save npm run test-c-l +``` + +## Bitbybit Platform + +Beyond NPM packages, Bitbybit offers: + +- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor +- **[CAD Cloud API](https://learn.bitbybit.dev/api/cloud-api)** - Build full [pipelines](https://learn.bitbybit.dev/api/sdk/typescript/pipelines) that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP +- **[Bitbybit Studio](https://studio.bitbybit.dev)** - A growing visual dashboard where API Key users can generate models, convert files, build [pipelines with a GUI](https://learn.bitbybit.dev/api/studio/intro), inspect tasks, and preview 3D results +- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce +- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website +- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT +- **[Business & Enterprise](https://bitbybit.dev/b2b)** - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers -## Unit test coverage report online -https://tests.bitbybit.dev/threejs +## Support the Project -## Media Channels -Discord: https://discord.gg/GSe3VMe -Youtube: https://www.youtube.com/@bitbybitdev?sub_confirmation=1 -Instagram: https://www.instagram.com/bitbybit.dev -Twitter: https://twitter.com/bitbybit_dev -LinkedIn: https://lnkd.in/gQjEQA2 -Facebook: https://www.facebook.com/bitbybitdev -Medium: https://bitbybit-dev.medium.com/ +This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development. -## Principles -Bit By Bit Developers company will keep these core algorithms that you can find in this repository free and opensource for its users. These algorithms are based on other open-source projects, run and are deployed on the browser, thus there is no point of closing them down from public. +⭐ **[Subscribe - Silver or Gold plan](https://bitbybit.dev/auth/pick-plan)** | **[Get API Key for CAD Cloud](https://bitbybit.dev/auth/pick-plan?api-keys=true)** -## About Bit By Bit Developers platform -Bit By Bit Developers web platform allows creators to program geometry through simple visual programming language or choose monaco typescript editor with full intellisense of bitbybit API. This cloud platform can fulfil many practical, educational and artistic needs of its users. Through familiar programming interface used in tools such as Scratch and Blockly.Games we expose powerful 3D algorithms that make it easier to implement various parametric tasks. Our goal is to make it very simple for users to share their ideas and designs. We want to encourage everyone to engage in the future of this tool. +## Community + +- [Discord](https://discord.gg/GSe3VMe) +- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1) +- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev) +- [X (Twitter)](https://x.com/bitbybit_dev) +- [Blog](https://learn.bitbybit.dev/blog) ## Major Dependencies -THREEJS, OpenCascade, JSCAD, Verbnurbs \ No newline at end of file + +Three.js, OpenCascade, JSCAD, Manifold, Verbnurbs + +## License + +MIT © [Bit By Bit Developers](https://bitbybit.dev) \ No newline at end of file diff --git a/packages/dev/threejs/package.json b/packages/dev/threejs/package.json index 05e9ffbe..bbfcc5e5 100644 --- a/packages/dev/threejs/package.json +++ b/packages/dev/threejs/package.json @@ -51,6 +51,10 @@ }, "author": "Bit by bit developers", "license": "MIT", + "funding": { + "type": "corporate", + "url": "https://bitbybit.dev/auth/pick-plan" + }, "types": "./index.d.ts", "type": "module", "dependencies": {