@bitbybit-dev/base 1.0.0-rc.2 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,75 +1,97 @@
|
|
|
1
|
-
|
|
1
|
+
# @bitbybit-dev/base
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Best way to support us - [Silver or Gold plan subscription](https://bitbybit.dev/auth/pick-plan)
|
|
5
|
-
Buy unique products from our [Crafts shop](https://crafts.bitbybit.dev) all designed with Bitbybit algorithms
|
|
6
|
-
Check out [3D Bits app for Shopify](https://apps.shopify.com/3d-bits-1) also used in our Crafts shop
|
|
3
|
+
Base algorithms for [Bitbybit](https://bitbybit.dev) CAD platform - math, vectors, matrices, lists, text utilities, and shared types used across all higher-level packages.
|
|
7
4
|
|
|
8
5
|
<img src="https://app.bitbybit.dev/assets/git-cover.png" alt="Picture showing bitbybit.dev platform">
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
## Overview
|
|
11
8
|
|
|
9
|
+
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.
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
Works in both **Node.js** and **browser** environments.
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
[@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs)
|
|
17
|
-
[@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core)
|
|
18
|
-
[@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad)
|
|
19
|
-
[@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker)
|
|
20
|
-
[@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold)
|
|
21
|
-
[@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker)
|
|
22
|
-
[@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt)
|
|
23
|
-
[@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker)
|
|
13
|
+
## Used By
|
|
24
14
|
|
|
25
|
-
This package
|
|
15
|
+
This package is a dependency of all higher-level Bitbybit packages:
|
|
26
16
|
|
|
27
|
-
|
|
28
|
-
https://
|
|
29
|
-
|
|
30
|
-
https://www.npmjs.com/package/@bitbybit-dev/
|
|
17
|
+
- [@bitbybit-dev/occt](https://www.npmjs.com/package/@bitbybit-dev/occt) - OpenCascade CAD kernel
|
|
18
|
+
- [@bitbybit-dev/occt-worker](https://www.npmjs.com/package/@bitbybit-dev/occt-worker) - OCCT via WebWorker
|
|
19
|
+
- [@bitbybit-dev/manifold](https://www.npmjs.com/package/@bitbybit-dev/manifold) - Manifold mesh booleans
|
|
20
|
+
- [@bitbybit-dev/manifold-worker](https://www.npmjs.com/package/@bitbybit-dev/manifold-worker) - Manifold via WebWorker
|
|
21
|
+
- [@bitbybit-dev/jscad](https://www.npmjs.com/package/@bitbybit-dev/jscad) - JSCAD solid modeling
|
|
22
|
+
- [@bitbybit-dev/jscad-worker](https://www.npmjs.com/package/@bitbybit-dev/jscad-worker) - JSCAD via WebWorker
|
|
23
|
+
- [@bitbybit-dev/core](https://www.npmjs.com/package/@bitbybit-dev/core) - Core assembly layer
|
|
24
|
+
- [@bitbybit-dev/babylonjs](https://www.npmjs.com/package/@bitbybit-dev/babylonjs) - BabylonJS integration
|
|
25
|
+
- [@bitbybit-dev/threejs](https://www.npmjs.com/package/@bitbybit-dev/threejs) - Three.js integration
|
|
26
|
+
- [@bitbybit-dev/playcanvas](https://www.npmjs.com/package/@bitbybit-dev/playcanvas) - PlayCanvas integration
|
|
31
27
|
|
|
32
|
-
##
|
|
33
|
-
Vase
|
|
34
|
-
https://app-store.bitbybit.dev/vase
|
|
35
|
-
Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/threejs/vase
|
|
28
|
+
## Quick Start
|
|
36
29
|
|
|
37
|
-
|
|
38
|
-
Laptop Holder
|
|
39
|
-
https://app-store.bitbybit.dev/laptop-holder
|
|
40
|
-
Github Source Code Angular - https://github.com/bitbybit-dev/app-examples/tree/main/angular/laptop-holder
|
|
41
|
-
Github Source Code React - https://github.com/bitbybit-dev/app-examples/tree/main/react/laptop-holder
|
|
42
|
-
|
|
43
|
-
Cup Configurator
|
|
44
|
-
https://app-store.bitbybit.dev/cup
|
|
45
|
-
Github Source Code - https://github.com/bitbybit-dev/app-examples/tree/main/react/cup
|
|
30
|
+
The fastest way to start a project using Bitbybit packages:
|
|
46
31
|
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
```bash
|
|
33
|
+
npx @bitbybit-dev/create-app my-project
|
|
34
|
+
```
|
|
49
35
|
|
|
50
|
-
|
|
36
|
+
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).
|
|
37
|
+
|
|
38
|
+
## Links
|
|
39
|
+
|
|
40
|
+
| Resource | URL |
|
|
41
|
+
|----------|-----|
|
|
42
|
+
| **GitHub** | https://github.com/bitbybit-dev/bitbybit/tree/master/packages/dev/base |
|
|
43
|
+
| **Monorepo** | https://github.com/bitbybit-dev/bitbybit |
|
|
44
|
+
| **NPM** | https://www.npmjs.com/package/@bitbybit-dev/base |
|
|
45
|
+
| **Documentation** | https://learn.bitbybit.dev/learn/npm-packages/intro |
|
|
46
|
+
| **Unit Test Coverage** | https://tests.bitbybit.dev/base |
|
|
47
|
+
|
|
48
|
+
## Example Applications
|
|
49
|
+
|
|
50
|
+
| App | Source Code |
|
|
51
|
+
|-----|-------------|
|
|
52
|
+
| [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) |
|
|
53
|
+
| [Cup Configurator](https://app-store.bitbybit.dev/cup) | [GitHub](https://github.com/bitbybit-dev/bitbybit/tree/master/examples/vite/threejs/cup) |
|
|
54
|
+
| [Terrace Furniture](https://app-store.bitbybit.dev/terrace-furniture) (BabylonJS) | Closed source |
|
|
55
|
+
|
|
56
|
+
## Development
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Build package
|
|
51
60
|
npm run build-p
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
# Run unit tests with coverage
|
|
54
63
|
npm run test-c
|
|
55
64
|
|
|
56
|
-
|
|
65
|
+
# Run live unit tests with coverage on save
|
|
57
66
|
npm run test-c-l
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Bitbybit Platform
|
|
70
|
+
|
|
71
|
+
Beyond NPM packages, Bitbybit offers:
|
|
72
|
+
|
|
73
|
+
- **[Visual Programming Editors](https://bitbybit.dev)** - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor
|
|
74
|
+
- **[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
|
|
75
|
+
- **[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
|
|
76
|
+
- **[3D Bits for Shopify](https://apps.shopify.com/3d-bits-1)** - Interactive 3D product configurators for e-commerce
|
|
77
|
+
- **[Script Runners](https://learn.bitbybit.dev/learn/runners/intro)** - Execute visual scripts directly on your website
|
|
78
|
+
- **[AI-Assisted Development](https://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro)** - Context files for GitHub Copilot, Claude, and ChatGPT
|
|
79
|
+
- **[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
|
|
80
|
+
|
|
81
|
+
## Support the Project
|
|
82
|
+
|
|
83
|
+
This package is part of the open-source Bitbybit ecosystem. Your subscription helps fund continued development.
|
|
84
|
+
|
|
85
|
+
⭐ **[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)**
|
|
58
86
|
|
|
59
|
-
##
|
|
60
|
-
https://tests.bitbybit.dev/threejs
|
|
87
|
+
## Community
|
|
61
88
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
LinkedIn: https://lnkd.in/gQjEQA2
|
|
68
|
-
Facebook: https://www.facebook.com/bitbybitdev
|
|
69
|
-
Medium: https://bitbybit-dev.medium.com/
|
|
89
|
+
- [Discord](https://discord.gg/GSe3VMe)
|
|
90
|
+
- [YouTube](https://www.youtube.com/@bitbybitdev?sub_confirmation=1)
|
|
91
|
+
- [LinkedIn](https://www.linkedin.com/company/bitbybit-dev)
|
|
92
|
+
- [X (Twitter)](https://x.com/bitbybit_dev)
|
|
93
|
+
- [Blog](https://learn.bitbybit.dev/blog)
|
|
70
94
|
|
|
71
|
-
##
|
|
72
|
-
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.
|
|
95
|
+
## License
|
|
73
96
|
|
|
74
|
-
|
|
75
|
-
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.
|
|
97
|
+
MIT © [Bit By Bit Developers](https://bitbybit.dev)
|
|
@@ -465,7 +465,7 @@ export declare class MathBitByBit {
|
|
|
465
465
|
* Safely evaluates a simple arithmetic expression containing only
|
|
466
466
|
* numbers, +, -, *, /, parentheses, and whitespace.
|
|
467
467
|
* Uses the shunting-yard algorithm — no eval/Function.
|
|
468
|
-
* Example:
|
|
468
|
+
* Example: '(3+2)*4' → 20, '10/3' → 3.3333...
|
|
469
469
|
* @param inputs arithmetic expression string
|
|
470
470
|
* @returns evaluated result
|
|
471
471
|
* @group operations
|
package/lib/api/services/math.js
CHANGED
|
@@ -664,7 +664,7 @@ export class MathBitByBit {
|
|
|
664
664
|
* Safely evaluates a simple arithmetic expression containing only
|
|
665
665
|
* numbers, +, -, *, /, parentheses, and whitespace.
|
|
666
666
|
* Uses the shunting-yard algorithm — no eval/Function.
|
|
667
|
-
* Example:
|
|
667
|
+
* Example: '(3+2)*4' → 20, '10/3' → 3.3333...
|
|
668
668
|
* @param inputs arithmetic expression string
|
|
669
669
|
* @returns evaluated result
|
|
670
670
|
* @group operations
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbybit-dev/base",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Bit By Bit Developers Base CAD Library to Program Geometry",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
},
|
|
56
56
|
"author": "Bit by bit developers",
|
|
57
57
|
"license": "MIT",
|
|
58
|
+
"funding": {
|
|
59
|
+
"type": "corporate",
|
|
60
|
+
"url": "https://bitbybit.dev/auth/pick-plan"
|
|
61
|
+
},
|
|
58
62
|
"types": "./index.d.ts",
|
|
59
63
|
"type": "module",
|
|
60
64
|
"dependencies": {},
|
|
@@ -62,14 +66,14 @@
|
|
|
62
66
|
"shx":"0.4.0",
|
|
63
67
|
"@testing-library/jest-dom": "6.9.1",
|
|
64
68
|
"mvdir": "1.0.22",
|
|
65
|
-
"jest": "30.2
|
|
69
|
+
"jest": "30.4.2",
|
|
66
70
|
"ts-node": "10.9.2",
|
|
67
|
-
"ts-jest": "29.4.
|
|
71
|
+
"ts-jest": "29.4.10",
|
|
68
72
|
"typescript": "5.9.3",
|
|
69
73
|
"@types/jest": "30.0.0",
|
|
70
|
-
"babel-jest": "30.
|
|
71
|
-
"@babel/core": "7.
|
|
72
|
-
"@babel/preset-env": "7.
|
|
74
|
+
"babel-jest": "30.4.1",
|
|
75
|
+
"@babel/core": "7.29.0",
|
|
76
|
+
"@babel/preset-env": "7.29.5",
|
|
73
77
|
"@babel/preset-typescript": "7.28.5",
|
|
74
78
|
"jest-html-reporters": "3.1.7"
|
|
75
79
|
},
|