cyclecad 1.3.2 โ†’ 2.0.0

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,377 +1,205 @@
1
1
  <div align="center">
2
- <h1>๐Ÿ”ง cycleCAD</h1>
3
- <p><strong>The open-source browser CAD that understands English.</strong></p>
4
- <p>Type "<code>motor mount plate with 4 bolt holes</code>" โ†’ get a real 3D solid in 5 seconds. No install. No login. Free forever.</p>
5
2
 
6
- [![npm](https://img.shields.io/npm/v/cyclecad?style=flat-square&logo=npm)](https://www.npmjs.com/package/cyclecad)
7
- [![Stars](https://img.shields.io/github/stars/vvlars-cmd/cyclecad?style=flat-square&logo=github)](https://github.com/vvlars-cmd/cyclecad)
8
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
9
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/vvlars-cmd/cyclecad)
10
- [![Discord](https://img.shields.io/discord/1234567890?style=flat-square&logo=discord)](https://discord.gg/cyclecad)
3
+ <img src="https://raw.githubusercontent.com/vvlars-cmd/cyclecad/main/screenshot.png" alt="cycleCAD" width="720">
11
4
 
12
- ![Demo GIF - Text-to-CAD creating a part with holes and fillets]
13
- [DEMO GIF PLACEHOLDER: User types "50mm cylinder with 20mm hole and 5mm fillet" โ†’ 3D part appears with real geometry]
5
+ <h1>cycleCAD</h1>
14
6
 
15
- [**Try it now โ†’**](https://cyclecad.com/app/) โ€ข [Documentation](https://cyclecad.com/docs) โ€ข [GitHub](https://github.com/vvlars-cmd/cyclecad)
16
- </div>
7
+ <p><strong>Open-source browser CAD with a B-Rep kernel.</strong><br>
8
+ Real solid modeling. Real fillets. Real booleans. No install. No login. Free forever.</p>
17
9
 
18
- ---
10
+ <a href="https://www.npmjs.com/package/cyclecad"><img src="https://img.shields.io/npm/v/cyclecad?style=flat-square&logo=npm&color=CB3837" alt="npm"></a>
11
+ <a href="https://www.npmjs.com/package/cyclecad"><img src="https://img.shields.io/npm/dw/cyclecad?style=flat-square&color=CB3837" alt="downloads"></a>
12
+ <a href="https://github.com/vvlars-cmd/cyclecad/stargazers"><img src="https://img.shields.io/github/stars/vvlars-cmd/cyclecad?style=flat-square&logo=github" alt="stars"></a>
13
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT"></a>
19
14
 
20
- ## โœจ What makes cycleCAD different
15
+ <br><br>
21
16
 
22
- Traditional CAD apps make you click 50 times to create a simple part. cycleCAD understands what you want to build.
17
+ <a href="https://cyclecad.com/app/"><strong>Open App</strong></a> ยท <a href="https://github.com/vvlars-cmd/cyclecad">Source</a> ยท <a href="https://cyclecad.com/docs">Docs</a> ยท <a href="https://www.npmjs.com/package/cyclecad">npm</a>
23
18
 
24
- | Feature | **cycleCAD** | OnShape | Fusion 360 | FreeCAD |
25
- |---------|:---:|:---:|:---:|:---:|
26
- | **Browser-native** | โœ… Zero install | โŒ Cloud | โŒ Desktop | โŒ Desktop |
27
- | **Free forever** | โœ… MIT OSS | โŒ $1,500/yr | โŒ $545/yr | โœ… |
28
- | **Text-to-CAD** | โœ… "Draw a gear" | โŒ | โŒ | โŒ |
29
- | **AI-powered** | โœ… Built-in | โŒ | โŒ | โŒ |
30
- | **Real-time multiplayer** | โœ… WebRTC P2P | โœ… (paid) | โŒ | โŒ |
31
- | **Open Inventor files** | โœ… Native .ipt/.iam | โŒ | โœ… | โŒ |
32
- | **B-rep kernel** | โœ… OpenCascade.js | โœ… | โœ… | โœ… |
33
- | **STEP import/export** | โœ… | โœ… | โœ… | โœ… |
34
- | **Mobile viewer** | โœ… Touch-native | โŒ | โŒ | โŒ |
35
- | **Open source** | โœ… MIT | โŒ | โŒ | โœ… |
19
+ </div>
36
20
 
37
21
  ---
38
22
 
39
- ## ๐Ÿš€ Quick Start
40
-
41
- ### **Zero-setup browser version (30 seconds)**
42
- Just open **[cyclecad.com/app/](https://cyclecad.com/app/)** in your browser. Works offline. No account needed.
43
-
44
- ### **Text-to-CAD in action**
45
-
46
- ```
47
- User: "create a motor mount plate 100mm wide, 80mm tall"
48
- cycleCAD: [Generates rectangular prism with exact dimensions]
49
-
50
- User: "add 4 bolt holes in corners, 10mm diameter"
51
- cycleCAD: [Creates 4 cylindrical holes positioned at corners]
52
-
53
- User: "fillet all edges 2mm"
54
- cycleCAD: [Rounds all sharp edges. Part is manufacturable in 5 seconds]
55
- ```
23
+ ## What is this
56
24
 
57
- ### **Install locally**
25
+ cycleCAD is a parametric 3D CAD modeler that runs entirely in the browser. It uses OpenCascade.js (WASM) as a real B-Rep solid modeling kernel โ€” the same geometry engine behind FreeCAD and KiCad. You get actual solid geometry, not mesh approximations.
58
26
 
59
- ```bash
60
- # Via npm
61
- npm install -g cyclecad
62
- cyclecad # Starts local dev server on :3000
27
+ Type `motor mount plate with 4 bolt holes` into the AI copilot and get a real 3D solid in seconds.
63
28
 
64
- # Or clone and run
65
- git clone https://github.com/vvlars-cmd/cyclecad.git
66
- cd cyclecad
67
- npm install
68
- npm run dev
69
29
  ```
30
+ > create a motor mount plate 100mm wide, 80mm tall
31
+ โœ“ solid rectangular prism
70
32
 
71
- ### **Import an existing CAD file**
72
-
73
- cycleCAD can open files from Autodesk Inventor, STEP, STL, and more:
33
+ > add 4 bolt holes in corners, 10mm diameter
34
+ โœ“ holes cut through plate
74
35
 
75
- ```javascript
76
- // In the app UI: File โ†’ Import
77
- // Drop your .ipt, .iam, .step, or .stl file
78
- // cycleCAD instantly renders it with all features editable
36
+ > fillet all edges 2mm
37
+ โœ“ edges rounded โ€” ready to manufacture
79
38
  ```
80
39
 
81
40
  ---
82
41
 
83
- ## ๐Ÿค– Text-to-CAD Examples
42
+ ## How it compares
84
43
 
85
- ### Example 1: Bracket Design
86
- ```
87
- "L-bracket with 50mm vertical and 75mm horizontal arms, 10mm thickness"
88
- โ†’ Real 3D solid with proper corners
89
- ```
90
-
91
- ### Example 2: Fastener Hole Pattern
92
- ```
93
- "circular hole pattern: 6 holes M5 (5mm) evenly spaced on 40mm bolt circle"
94
- โ†’ Perfect DIN 912 hex socket cap screw mounting
95
- ```
96
-
97
- ### Example 3: Mechanical Part
98
- ```
99
- "hexagonal shaft, 20mm across flats, 150mm long, with M10 thread on end"
100
- โ†’ CAM-ready geometry ready to machine
101
- ```
102
-
103
- The AI understands:
104
- - **Geometry**: cylinders, boxes, spheres, wedges, toruses, helixes, springs
105
- - **Features**: holes, fillets, chamfers, pockets, bosses, ribs
106
- - **Patterns**: linear, circular, mirror
107
- - **Materials**: steel, aluminum, plastic, titanium, brass
108
- - **Operations**: boolean (union/cut/intersect), draft angles, shell thickness
109
- - **Constraints**: parallelism, perpendicularity, concentricity, symmetry
44
+ | | cycleCAD | OnShape | Fusion 360 | FreeCAD |
45
+ |:--|:--|:--|:--|:--|
46
+ | Runs in browser | Yes | Cloud | Desktop | Desktop |
47
+ | Cost | Free | $1,500/yr | $545/yr | Free |
48
+ | Text-to-CAD | Yes | No | No | No |
49
+ | B-Rep kernel | OpenCascade.js | Parasolid | Parasolid | OpenCascade |
50
+ | Multiplayer | WebRTC P2P | Paid | No | No |
51
+ | Inventor files | .ipt/.iam native | No | Yes | No |
52
+ | Open source | MIT | No | No | LGPL |
53
+ | Mobile viewer | Yes | No | No | No |
110
54
 
111
55
  ---
112
56
 
113
- ## ๐Ÿ”ฉ Parts Library & Marketplace
114
-
115
- ### Built-in Standard Parts
116
- Get DIN/ISO fasteners, bearings, motors, and commercial off-the-shelf (COTS) parts instantly:
57
+ ## Get started
117
58
 
118
- ```bash
119
- cyclecad install bearing-6205
120
- # โ†’ NSK 6205 deep groove ball bearing (STEP file downloads, adds to library)
59
+ **Browser** โ€” open [cyclecad.com/app](https://cyclecad.com/app/) and start designing.
121
60
 
122
- cyclecad install fastener-M5-hex-socket
123
- # โ†’ DIN 912 M5 ร— 25mm hex socket cap screw with proper geometry
61
+ **npm:**
124
62
 
125
- cyclecad install motor-nema23
126
- # โ†’ NEMA 23 stepper motor (full 3D model, cutsheet, mounting pattern)
63
+ ```bash
64
+ npm install -g cyclecad
65
+ cyclecad
127
66
  ```
128
67
 
129
- ### Community Marketplace
130
- - **Purchase designs** โ€” Browse 10,000+ mechanical parts and assemblies
131
- - **Sell your designs** โ€” Publish a part, earn royalties on each download
132
- - **Parameterized models** โ€” Upload a template, users customize dimensions
133
- - **CAM-ready exports** โ€” Designs come with DXF/DWG for manufacturing
134
-
135
- Examples in marketplace:
136
- - Bearing housings (20+ variants, searchable by bore size)
137
- - Motor mounts (parameterized for different frame sizes)
138
- - Cable routing clips (customize bend radius + tab thickness)
139
- - Enclosure brackets (pick material, cost is estimated per variant)
140
-
141
- ---
142
-
143
- ## ๐Ÿ‘ฅ Real-time Collaboration
144
-
145
- Work on the same model **with teammates simultaneously**. No server signup needed.
68
+ **Clone:**
146
69
 
147
- ```javascript
148
- // Host creates a room
149
- const roomCode = await cyclecad.createRoom(); // Returns "ABC123"
150
- // Share the code with teammates
151
-
152
- // Teammates join
153
- await cyclecad.joinRoom("ABC123");
154
-
155
- // Now when Host creates a hole, Teammate sees it instantly
156
- // See each other's 3D cursors in real-time
157
- // Chat in-viewport while designing
70
+ ```bash
71
+ git clone https://github.com/vvlars-cmd/cyclecad.git
72
+ cd cyclecad && npm run dev
158
73
  ```
159
74
 
160
- **How it works:**
161
- - **Peer-to-peer**: Uses WebRTC for low-latency direct connections (no server overhead)
162
- - **Conflict-free**: Last-write-wins CRDT ensures edits never conflict
163
- - **Browser-native**: Works in tabs, doesn't require anything special
164
-
165
- **Perfect for:**
166
- - Remote design reviews (see collaborator's cursor, watch live edits)
167
- - Distributed teams (8am in Berlin, 4pm in Tokyo, same part, live sync)
168
- - Teaching (instructor + students all editing one model)
169
-
170
75
  ---
171
76
 
172
- ## ๐Ÿ“ Full Feature List
173
-
174
- ### **Core CAD Modeling**
175
- - โœ… **Sketcher** โ€” 2D constraints (coincident, parallel, perpendicular, tangent, distance, angle)
176
- - โœ… **Extrude/Revolve** โ€” Parametric profile-based solids
177
- - โœ… **Boolean ops** โ€” Union, cut, intersect with real CSG
178
- - โœ… **Fillet/Chamfer** โ€” Edge rounding and bevels
179
- - โœ… **Sweep/Loft** โ€” Profile along path, between profiles
180
- - โœ… **Shell** โ€” Hollow out solids with wall thickness
181
- - โœ… **Patterns** โ€” Linear, circular, mirror arrays
182
- - โœ… **Draft** โ€” Taper for molding/casting
183
- - โœ… **Threads** โ€” ISO/UNC/Metric with proper helix
184
-
185
- ### **Analysis & Validation**
186
- - โœ… **Measurement** โ€” Distance, angle, radius, perimeter, area
187
- - โœ… **Mass properties** โ€” Weight, volume, center of gravity
188
- - โœ… **DFM analysis** โ€” Design for manufacturability warnings
189
- - โœ… **Stress preview** โ€” Heatmap of stress concentration
190
- - โœ… **Clearance check** โ€” Collision detection between parts
191
- - โœ… **Assembly validator** โ€” Check for hidden parts, overconstrained joints
192
-
193
- ### **AI & Automation**
194
- - โœ… **Text-to-CAD** โ€” Natural language โ†’ 3D geometry
195
- - โœ… **Part identification** โ€” Upload photo, AI identifies what you built
196
- - โœ… **Cost estimation** โ€” Calculates manufacturing cost (CNC, 3D print, injection)
197
- - โœ… **Rebuild guides** โ€” AI writes step-by-step instructions to recreate any part
198
- - โœ… **Maintenance schedule** โ€” Predicts part wear, suggests replacements
199
- - โœ… **Smart BOM** โ€” Bill of materials with vendor links, lead times, pricing
200
-
201
- ### **Integration & Output**
202
- - โœ… **Export** โ€” STL (ASCII/binary), OBJ, glTF 2.0, STEP, DXF, DWG, PDF
203
- - โœ… **3D Print** โ€” Automatic STL export + slicer integration (Prusaslicer, Cura)
204
- - โœ… **CAM** โ€” DXF export for CNC + G-code preview
205
- - โœ… **Assembly drawing** โ€” Auto-generates engineering drawings (ISO/ASME)
206
- - โœ… **BOM export** โ€” CSV, HTML, with pricing from McMaster-Carr
207
- - โœ… **Datasheets** โ€” PDF cutsheets for all parts
208
-
209
- ### **Platform**
210
- - โœ… **Browser-native** โ€” No install, runs anywhere (Chrome, Safari, Firefox, Edge)
211
- - โœ… **Offline mode** โ€” Design works without internet (IndexedDB storage)
212
- - โœ… **Mobile viewer** โ€” View and annotate on iPad / Android tablets
213
- - โœ… **Version control** โ€” Git-style history with visual diffs
214
- - โœ… **Share/embed** โ€” Generate shareable links, embed 3D viewer in docs
215
- - โœ… **Keyboard-first** โ€” 50+ shortcuts, full REPL for power users
216
-
217
- ---
218
-
219
- ## ๐Ÿ—๏ธ Architecture
77
+ ## Architecture
220
78
 
221
79
  ```
222
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
223
- โ”‚ cycleCAD Runtime (Browser) โ”‚
224
- โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
225
- โ”‚ โ”‚
226
- โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
227
- โ”‚ โ”‚ Sketch Engine (2D constraints solver) โ”‚ โ”‚
228
- โ”‚ โ”‚ โ†“ โ”‚ โ”‚
229
- โ”‚ โ”‚ CAD Operations (extrude, revolve, boolean) โ”‚ โ”‚
230
- โ”‚ โ”‚ โ†“ โ”‚ โ”‚
231
- โ”‚ โ”‚ B-Rep Kernel (OpenCascade.js WASM) โ”‚ โ”‚
232
- โ”‚ โ”‚ โ†“ โ”‚ โ”‚
233
- โ”‚ โ”‚ Three.js Renderer (WebGL viewport) โ”‚ โ”‚
234
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
235
- โ”‚ โ”‚
236
- โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
237
- โ”‚ โ”‚ AI Copilot โ”‚ โ”‚ Real-time โ”‚ โ”‚ Parts โ”‚ โ”‚
238
- โ”‚ โ”‚ (Gemini + โ”‚ โ”‚ Collab โ”‚ โ”‚ Marketplaceโ”‚ โ”‚
239
- โ”‚ โ”‚ Groq) โ”‚ โ”‚ (WebRTC CRDT)โ”‚ โ”‚ โ”‚ โ”‚
240
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
241
- โ”‚ โ”‚
242
- โ”‚ Storage: IndexedDB (offline), GitHub (version ctrl) โ”‚
243
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
80
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
81
+ โ”‚ cycleCAD โ€” Browser Runtime โ”‚
82
+ โ”‚ โ”‚
83
+ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
84
+ โ”‚ โ”‚ UI Layer โ€” Toolbar ยท Tree ยท Properties ยท Chat โ”‚ โ”‚
85
+ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
86
+ โ”‚ โ”‚ โ”‚
87
+ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
88
+ โ”‚ โ”‚ LEGO Microkernel โ”‚ โ”‚
89
+ โ”‚ โ”‚ Module Registry ยท Event Bus ยท Command System โ”‚ โ”‚
90
+ โ”‚ โ”‚ Memory Manager ยท Shared State ยท Hot-Swap โ”‚ โ”‚
91
+ โ”‚ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
92
+ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚
93
+ โ”‚ โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
94
+ โ”‚ โ”‚Sketchโ”‚ โ”‚ Ops โ”‚ โ”‚B-Rep โ”‚ โ”‚ Services โ”‚ โ”‚
95
+ โ”‚ โ”‚Engineโ”‚ โ”‚extr. โ”‚ โ”‚Kernelโ”‚ โ”‚ AI ยท Multi ยท โ”‚ โ”‚
96
+ โ”‚ โ”‚2D โ”‚โ†’ โ”‚rev. โ”‚โ†’ โ”‚OCCT โ”‚ โ”‚ Marketplace โ”‚ โ”‚
97
+ โ”‚ โ”‚const.โ”‚ โ”‚bool. โ”‚ โ”‚WASM โ”‚ โ”‚ Simulation โ”‚ โ”‚
98
+ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
99
+ โ”‚ โ”‚
100
+ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
101
+ โ”‚ โ”‚ I/O โ€” STEP ยท Inventor ยท STL ยท OBJ ยท glTF ยท DXF โ”‚โ”‚
102
+ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
103
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
244
104
  ```
245
105
 
246
- **Tech Stack:**
247
- - **Three.js r170** โ€” WebGL rendering
248
- - **OpenCascade.js** โ€” WASM-based B-Rep kernel for real solid modeling
249
- - **Constraint solver** โ€” Iterative relaxation (up to 100 constraints/sketch)
250
- - **Gemini Flash + Groq Llama** โ€” AI part identification and copilot
251
- - **WebRTC DataChannel** โ€” Peer-to-peer multiplayer sync
252
- - **ES Modules** โ€” Zero-dependency, runs on CDN with import maps
253
-
254
- **Zero dependencies** โ€” Core app is ~22KB gzipped. Loads Three.js, OpenCascade, AI models on demand.
106
+ The kernel is ~300 lines. Everything else is a LEGO module that loads on demand. The B-Rep kernel (50MB WASM) only downloads when you need solid geometry. Modules can be hot-swapped at runtime.
255
107
 
256
108
  ---
257
109
 
258
- ## ๐ŸŽฏ Use Cases
110
+ ## Features
259
111
 
260
- ### **Design Engineers**
261
- "I need to iterate on this pump housing. Give me real-time feedback as I sketch changes."
262
- โ†’ Use text-to-CAD to prototype in minutes. AI validates manufacturability. Export to CAM.
112
+ **Modeling** โ€” Parametric sketcher with 17 tools (line, rect, circle, arc, ellipse, spline, polygon, slot, trim, extend, offset, mirror, fillet, chamfer, construction, dimension, pattern). 12 constraint types. Extrude, revolve, sweep, loft, shell, fillet, chamfer, boolean, pattern, mirror, draft, hole, thread, rib.
263
113
 
264
- ### **Makers & Hobbyists**
265
- "I want to design a custom enclosure for my Arduino project."
266
- โ†’ Sketch dimensions in text. AI generates the part. 3D print it.
114
+ **B-Rep Kernel** โ€” Real solid geometry via OpenCascade.js WASM. True edge fillets and chamfers (not mesh approximations). Real boolean operations. STEP import/export. Mass properties with center of gravity. Edge and face selection.
267
115
 
268
- ### **Manufacturing**
269
- "Our assembly documentation is outdated. Rebuild it from the CAD model."
270
- โ†’ AI writes step-by-step rebuild guide. Export as PDF or HTML.
116
+ **Drawing** โ€” 2D engineering drawing workspace with orthographic views, section views, detail views. Linear, angular, radial, diameter dimensions. GD&T symbols, surface finish, weld symbols, balloons, title blocks, BOM tables. Export to PDF, DXF, SVG.
271
117
 
272
- ### **Remote Teams**
273
- "Design review: I'm in Berlin, designer is in Tokyo. We need to collaborate live."
274
- โ†’ Create a room code. Both open the same part. See each other's cursors. Chat inline.
118
+ **Simulation** โ€” Static stress analysis (FEA), thermal analysis, modal frequency analysis, buckling. Material library (steel, aluminum, ABS, brass, titanium, nylon). Color-coded results visualization with safety factor plots.
275
119
 
276
- ### **Open Source Hardware**
277
- "We want to share our mechanical designs with the community."
278
- โ†’ Upload to cycleCAD marketplace. Community can remix, cost-optimize, manufacture variants.
120
+ **Assembly** โ€” 7 joint types (rigid, revolute, slider, cylindrical, pin-slot, planar, ball). Joint limits and animation. Interference detection. Exploded views. Motion study. Auto-generated BOM.
279
121
 
280
- ---
122
+ **AI** โ€” Text-to-CAD with natural language. Part identification from geometry. Manufacturing cost estimation. Auto-generated assembly instructions. Maintenance scheduling. Smart BOM with McMaster-Carr links. Works offline.
281
123
 
282
- ## ๐Ÿ“Š Performance
124
+ **Export** โ€” STL (ASCII + binary), OBJ, glTF 2.0, STEP, DXF, PDF. 3D print slicer integration. G-code preview.
283
125
 
284
- - **Viewport** โ€” 60 FPS @ 4K on modern hardware
285
- - **STEP import** โ€” 100MB file in <10s (server conversion available)
286
- - **Text-to-CAD** โ€” 2-5s generation + validation
287
- - **Real-time collab** โ€” <50ms sync latency (WebRTC P2P)
288
- - **Mobile** โ€” Full-featured on iPad/Android, touch controls
126
+ **Platform** โ€” Chrome, Safari, Firefox, Edge. Offline via IndexedDB. Mobile touch viewer. 50+ keyboard shortcuts. Multi-language (EN/DE/FR/ES/IT/NL).
289
127
 
290
128
  ---
291
129
 
292
- ## ๐Ÿค Contributing
293
-
294
- **Want to add a feature?** Start here:
130
+ ## Agent API
295
131
 
296
- 1. Fork the repo
297
- 2. Pick an issue labeled `good-first-issue` or `help-wanted`
298
- 3. Create a feature branch: `git checkout -b feat/awesome-thing`
299
- 4. Make your changes (see [CONTRIBUTING.md](./CONTRIBUTING.md) for code style)
300
- 5. Test in the browser: `npm run dev`
301
- 6. Open a PR with before/after screenshots
132
+ cycleCAD is built for AI agents, not just humans. 55 commands across 10 namespaces via JSON-RPC.
302
133
 
303
- **Areas we need help:**
304
- - ๐ŸŽจ UI/UX improvements (design language modernization)
305
- - ๐Ÿค– AI features (improve text-to-CAD, add design review)
306
- - ๐Ÿ“ฑ Mobile (improve touch interactions, add mobile sketcher)
307
- - ๐Ÿงช Testing (add more unit + integration tests)
308
- - ๐Ÿ“š Documentation (examples, tutorials, API docs)
309
- - ๐ŸŒ Translations (add more languages, improve existing ones)
134
+ ```javascript
135
+ // In browser
136
+ await kernel.exec('ops.box', { width: 100, height: 50, depth: 30 });
137
+ await kernel.exec('ops.fillet', { edges: [0, 1, 2], radius: 5 });
138
+ await kernel.exec('step.export', { filename: 'part.step' });
310
139
 
311
- ---
140
+ // Via MCP server
141
+ npx cyclecad-mcp # exposes all 55 commands as MCP tools
312
142
 
313
- ## ๐Ÿ’ฌ Community
143
+ // Via REST API
144
+ curl -X POST http://localhost:3001/api/exec \
145
+ -d '{"command": "ops.box", "params": {"width": 100}}'
314
146
 
315
- - **Discord** โ€” [Join 5,000+ makers](https://discord.gg/cyclecad)
316
- - **Discussions** โ€” [Ask questions, share designs](https://github.com/vvlars-cmd/cyclecad/discussions)
317
- - **Issues** โ€” [Report bugs, suggest features](https://github.com/vvlars-cmd/cyclecad/issues)
318
- - **Twitter** โ€” [@cyclecad](https://twitter.com/cyclecad)
147
+ // Via CLI
148
+ cyclecad ops.box --width 100 --height 50 --depth 30
149
+ ```
319
150
 
320
151
  ---
321
152
 
322
- ## ๐Ÿ’ฐ Support
153
+ ## Multiplayer
323
154
 
324
- cycleCAD is free and always will be (MIT open source).
155
+ ```javascript
156
+ const room = await cyclecad.createRoom(); // "ABC123"
157
+ await cyclecad.joinRoom("ABC123"); // teammate joins
158
+ ```
325
159
 
326
- But if you want to support continued development:
327
- - โญ **Star the repo** โ€” Helps others discover the project
328
- - ๐ŸŽ **Buy from marketplace** โ€” 70% of revenue goes to creators
329
- - ๐Ÿš€ **Sponsor on GitHub** โ€” Help fund full-time development
330
- - ๐Ÿ’ผ **Commercial license** โ€” For companies that need it
160
+ Peer-to-peer via WebRTC. No server. CRDT sync.
331
161
 
332
162
  ---
333
163
 
334
- ## ๐Ÿ“š Documentation
335
-
336
- - **[Getting Started](https://cyclecad.com/docs/getting-started)** โ€” 5-minute intro
337
- - **[Modeling Guide](https://cyclecad.com/docs/modeling)** โ€” Learn sketches, extrude, operations
338
- - **[AI Copilot](https://cyclecad.com/docs/ai)** โ€” Text-to-CAD, part ID, rebuild guides
339
- - **[Collaboration](https://cyclecad.com/docs/collab)** โ€” Create rooms, real-time sync, conflict resolution
340
- - **[API Reference](https://cyclecad.com/docs/api)** โ€” Use cycleCAD as a library
341
- - **[Marketplace Guide](https://cyclecad.com/docs/marketplace)** โ€” Publish and sell designs
164
+ ## Docker
342
165
 
343
- ---
344
-
345
- ## ๐Ÿ† Recognition
166
+ ```bash
167
+ docker compose up # starts cycleCAD + STEP converter + cycleWASH viewer
168
+ ```
346
169
 
347
- - ๐ŸŽ–๏ธ **Product Hunt** โ€” #3 on launch day (Jan 2026)
348
- - โญ **GitHub** โ€” 15K stars (rapidly growing)
349
- - ๐Ÿ“ฐ **Press** โ€” Featured in "Best Open Source CAD" by Hacker News
350
- - ๐Ÿค **Built for cycleWASH** โ€” Real-world production machine with 400+ parts
170
+ Three services: cycleCAD on `:8080`, STEP converter on `:8787`, ExplodeView on `:3000`.
351
171
 
352
172
  ---
353
173
 
354
- ## ๐Ÿ“„ License
174
+ ## Parts Library
355
175
 
356
- MIT ยฉ [Sachin Kumar](https://github.com/vvlars-cmd)
176
+ 35+ built-in parametric parts. Community marketplace with 70-90% creator royalties.
357
177
 
358
- You are free to use, modify, and distribute cycleCAD for any purpose (commercial or personal). See [LICENSE](./LICENSE) for details.
178
+ ```bash
179
+ cyclecad install bearing-6205
180
+ cyclecad install motor-nema23
181
+ ```
359
182
 
360
183
  ---
361
184
 
362
- ## ๐ŸŽฌ Next Steps
185
+ ## Contributing
363
186
 
364
- 1. **[Open the app โ†’](https://cyclecad.com/app/)**
365
- 2. Try the 30-second tutorial ("New" โ†’ "Tutorial")
366
- 3. Type: `"create a 50mm cube with a 20mm hole"`
367
- 4. Watch the AI build it in real-time
368
- 5. Join our [Discord community](https://discord.gg/cyclecad)
187
+ ```bash
188
+ git clone https://github.com/vvlars-cmd/cyclecad.git
189
+ cd cyclecad && npm run dev
190
+ ```
369
191
 
370
- **Happy designing! ๐Ÿ”ง**
192
+ Pick a `good-first-issue`, make changes, open a PR.
371
193
 
372
194
  ---
373
195
 
374
- <p align="center">
375
- <strong>Made with โค๏ธ by makers, for makers.</strong><br>
376
- <em>The future of CAD is here. It's open source. It runs in your browser. And it understands English.</em>
377
- </p>
196
+ ## License
197
+
198
+ MIT &copy; [Sachin Kumar](https://github.com/vvlars-cmd)
199
+
200
+ <div align="center">
201
+ <br>
202
+ <a href="https://cyclecad.com/app/"><strong>Open cycleCAD</strong></a>
203
+ <br><br>
204
+ <sub>Built for <a href="https://cyclewash.com">cycleWASH</a> โ€” designing a real production machine with 400 parts.</sub>
205
+ </div>
package/app/index.html CHANGED
@@ -1414,6 +1414,8 @@
1414
1414
  <script src="./js/misumi-catalog.js"></script>
1415
1415
  <script src="./js/cad-vr.js"></script>
1416
1416
  <script src="./js/generative-design.js"></script>
1417
+ <!-- Drawing Module (2D Engineering Drawings) โ€” LEGO block architecture -->
1418
+ <script type="module" src="./js/modules/drawing-module.js?v=1"></script>
1417
1419
  </head>
1418
1420
  <body>
1419
1421
  <div id="app">