-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathCHANGELOG.json
More file actions
382 lines (382 loc) · 17.6 KB
/
CHANGELOG.json
File metadata and controls
382 lines (382 loc) · 17.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
{
"$schema": "./changelog.schema.json",
"entries": [
{
"id": "2026-04-23-auto-zoom-sketch-viewport",
"version": "0.9.0",
"date": "2026-04-23",
"category": "feat",
"title": "Auto-zoom viewport to fit populated sketches on open",
"summary": "Opening a document that lands in sketch mode with existing segments now frames the sketch automatically instead of defaulting to a fixed 60 mm distance. Skipped when a share URL carries a ?at= viewer-state hint.",
"features": ["sketch", "viewport", "camera"]
},
{
"id": "2026-04-23-v0-9-0",
"version": "0.9.0",
"date": "2026-04-23",
"category": "feat",
"title": "v0.9.0",
"summary": "Boolean robustness (coplanar-coincident face detection, arc-split dedup) with an expanded degenerate-case test suite. Desktop updater banner now waits for tagged releases instead of every push. PWA precache cap raised to 12 MiB so large WASM assets ship to offline installs.",
"features": ["booleans", "desktop", "pwa"]
},
{
"id": "2026-04-23-launch-prep-legal",
"version": "0.8.0",
"date": "2026-04-23",
"category": "feat",
"title": "Privacy, terms, and a proper license",
"summary": "Privacy policy, terms of service, and security pages are live at /privacy, /terms, and /security, linked from the account menu. New users see a brief acceptance prompt on first load. vcad is now licensed under Apache 2.0 with Municipal Robotics Corporation as the copyright holder.",
"features": ["legal", "onboarding", "licensing"]
},
{
"id": "2026-04-23-fix-chat-free-limit-when-signed-in",
"version": "0.8.0",
"date": "2026-04-23",
"category": "fix",
"title": "Stop showing 'Free chat limit reached' to signed-in users",
"summary": "Signed-in users with credits no longer see the anon free-tier banner when their access token momentarily fails to validate — the chat client now refreshes the Supabase session and retries, and the banner is gated to truly anonymous sessions.",
"features": ["chat", "auth"]
},
{
"id": "2026-04-23-ai-chat-higher-level-tools",
"version": "0.8.0",
"date": "2026-04-23",
"category": "feat",
"title": "Higher-level tools for the AI chat",
"summary": "Added tube, polyline_tube, inspect_part, and place tools plus a pivot option on rotate (defaults to the part's bbox center) and a quad option on screenshot_viewport. Captures now suppress selection highlights and draw an XYZ axes gnomon so material colors and orientation read cleanly.",
"features": ["chat", "ai", "viewport"],
"mcpTools": ["tube", "polyline_tube", "inspect_part", "place"]
},
{
"id": "2026-04-16-ai-as-participant",
"version": "0.8.0",
"date": "2026-04-16",
"category": "feat",
"title": "The AI is in the room with you",
"summary": "The chat AI now shows up in your viewport as its own little camera — you can see where it's looking and what it's selecting, same as if it were another person on the call. Pick whether your view follows along, locks to it, or does its own thing. Also: no more getting yanked back to the AI's camera mid-drag.",
"features": ["chat", "viewport", "collab", "ux"],
"mcpTools": ["focus_part", "frame_all", "set_view"]
},
{
"id": "2026-04-16-billing-upgrade-flow",
"version": "0.8.0",
"date": "2026-04-16",
"category": "feat",
"title": "Pro and Max plans are live",
"summary": "If you're hitting the limits of the free tier, you can now upgrade to Pro or Max through Stripe. There's a usage meter in the sidebar so you can see how much you've burned through, and yes, there is confetti when you subscribe. Free tier's still got 500k tokens a month — no change there.",
"features": ["billing", "chat", "stripe", "ux"]
},
{
"id": "2026-04-15-splash-screen-unified-boot",
"version": "0.8.0",
"date": "2026-04-15",
"category": "feat",
"title": "A real splash screen, finally",
"summary": "Boot used to flicker on fast connections and leave you staring at nothing on slow ones. Now there's a proper splash: you can watch the kernel download byte-by-byte, catch a rotating tip while you wait, and we quietly check for service worker updates in the background.",
"features": ["app", "ux", "boot", "pwa"]
},
{
"id": "2026-04-15-mobile-tool-palette-parity",
"version": "0.8.0",
"date": "2026-04-15",
"category": "feat",
"title": "Mobile tool palette reaches desktop parity",
"summary": "Mobile bottom bar is now a 7-tab tool palette (Create, Transform, Combine, Modify, Assembly, Simulate, Export) sharing a useToolDefinitions hook with desktop — every operation is reachable on phones.",
"features": ["mobile", "ux", "toolbar"]
},
{
"id": "2026-04-15-sketch-math-web-migration",
"version": "0.8.0",
"date": "2026-04-15",
"category": "feat",
"title": "Web sketch math routed through kernel",
"summary": "Plane projection, snap, hit-test, and rectangle/circle builders now come from @vcad/core/sketch-math, a kernel-backed WASM wrapper — SketchPlane3D.tsx and sketch-store.ts no longer own duplicate copies.",
"features": ["sketch", "kernel", "wasm", "web"]
},
{
"id": "2026-04-15-sketch-session-kernel",
"version": "0.8.0",
"date": "2026-04-15",
"category": "feat",
"title": "Unified sketch session in kernel",
"summary": "New SketchSession in vcad-kernel-constraints owns tool state, snapping, hit-testing, undo/redo and the LM solver; web app and TUI share it via WASM.",
"features": ["sketch", "kernel", "constraints", "tui", "wasm"]
},
{
"id": "2026-04-12-rich-tool-chips",
"version": "0.8.0",
"date": "2026-04-12",
"category": "feat",
"title": "Rich AI chat tool call chips",
"summary": "Tool call chips now show action sentences with clickable part links, human-readable field lists, and per-message operation summaries.",
"features": ["ai", "chat", "ux"]
},
{
"id": "2026-04-11-crud-tool-registry",
"version": "0.8.0",
"date": "2026-04-11",
"category": "feat",
"title": "CRUD tool registry for AI chat",
"summary": "Replaced 8 hand-wired chat tools with kernel-driven CRUD registry. AI can now create, read, update, and delete any CAD feature with full document awareness.",
"features": ["ai", "chat", "tools", "registry"],
"mcpTools": ["create", "read", "update", "delete"]
},
{
"id": "2026-03-27-mcp-apps-viewer",
"version": "0.8.0",
"date": "2026-03-27",
"category": "feat",
"title": "MCP Apps: Inline 3D Viewer",
"summary": "Geometry tools now return an interactive 3D viewport via MCP Apps, rendering models inline in Claude Desktop, ChatGPT, and other MCP clients.",
"features": ["mcp", "viewer", "mcp-apps"],
"mcpTools": ["create_cad_document", "create_cad_loon", "import_step"]
},
{
"id": "2026-02-25-boolean-cap-fix",
"version": "0.8.0",
"date": "2026-02-25",
"category": "fix",
"title": "Fix missing faces on cylinder cap booleans",
"summary": "Four fixes to the boolean pipeline that restore missing annular faces on flanged hubs, bolt patterns, and similar cylinder cap operations.",
"features": ["booleans", "tessellation", "cylinder"]
},
{
"id": "2026-02-19-pcb-ecad-support",
"version": "0.8.0",
"date": "2026-02-19",
"category": "feat",
"title": "PCB & ECAD Support",
"summary": "Full PCB design pipeline: schematic capture, routing, DRC, Gerber export, and signal integrity simulation.",
"features": [
"pcb",
"ecad",
"schematic",
"routing",
"drc",
"gerber",
"simulation"
],
"mcpTools": [
"create_schematic",
"place_components",
"route_nets",
"run_drc",
"run_erc",
"export_gerber",
"calc_impedance"
]
},
{
"id": "2026-02-03-twist-taper-extrude",
"version": "0.8.0",
"date": "2026-02-03",
"category": "feat",
"title": "Twist & Taper Extrude",
"summary": "Add twist angle and taper draft to extrusions for more expressive geometry.",
"details": "## What's New\n\n- **Twist angle** - Rotate the profile as it extrudes for helical shapes\n- **Taper draft** - Add draft angle for molding and casting\n- **Combined effects** - Use both twist and taper together\n- **Live preview** - See changes in real-time as you adjust parameters",
"features": [
"extrude",
"modeling",
"parametric"
]
},
{
"id": "2026-02-02-ai-text-to-cad",
"version": "0.8.0",
"date": "2026-02-02",
"category": "feat",
"title": "AI Text-to-CAD",
"summary": "Describe what you want to build in plain English. Generate 3D models with cad0.",
"details": "## What's New\n\n- **Chat interface** - Describe parts in natural language\n- **Browser inference** - Run cad0-mini locally for privacy\n- **Server fallback** - Use cloud inference for complex requests\n- **Iterative refinement** - Add to existing models with follow-up prompts\n- **Rating feedback** - Help improve the model with thumbs up/down",
"features": [
"ai",
"chat",
"generation"
]
},
{
"id": "2026-02-02-cam-toolpaths",
"version": "0.8.0",
"date": "2026-02-02",
"category": "feat",
"title": "CAM Toolpath Generation",
"summary": "Generate CNC toolpaths for milling. Supports 2D contouring, 3D roughing, and stock simulation.",
"details": "## What's New\n\n- **2D contouring** - Profile and pocket operations\n- **3D roughing** - Adaptive clearing with waterline passes\n- **Stock simulation** - Visualize material removal in real-time\n- **Tool library** - Flat, ball, and bull endmills with custom parameters\n- **G-code export** - Ready for your CNC machine",
"features": [
"cam",
"cnc",
"manufacturing"
]
},
{
"id": "2026-02-02-whats-new-panel",
"version": "0.8.0",
"date": "2026-02-02",
"category": "feat",
"title": "What's New Panel",
"summary": "Stay up to date with new features via the changelog panel.",
"details": "## What's New\n\n- **Auto-notification** - Badge appears when new features ship\n- **Simple list** - See all updates at a glance\n- **Detailed descriptions** - Learn what changed and why",
"features": [
"changelog",
"onboarding",
"ux"
]
},
{
"id": "2026-02-01-url-sharing",
"version": "0.8.0",
"date": "2026-02-01",
"category": "feat",
"title": "URL Sharing",
"summary": "Share models instantly via URL. VCode encoding fits entire designs in a link.",
"details": "## What's New\n\n- **?ir= parameter** - Entire model encoded in URL\n- **Gzip compression** - Keeps URLs reasonably short\n- **One-click sharing** - Copy link from share menu\n- **No account required** - Recipients can view without signing in",
"features": [
"sharing",
"collaboration",
"export"
]
},
{
"id": "2026-02-01-print-slicing",
"version": "0.8.0",
"date": "2026-02-01",
"category": "feat",
"title": "3D Print Slicing",
"summary": "Slice models for 3D printing directly in the browser with integrated WASM slicer.",
"details": "## What's New\n\n- **Browser-based slicing** - No external software needed\n- **Layer preview** - Visualize toolpaths before printing\n- **Print settings** - Layer height, infill, supports\n- **G-code export** - Download ready-to-print files",
"features": [
"printing",
"slicer",
"manufacturing"
]
},
{
"id": "2026-02-01-ui-redesign",
"version": "0.8.0",
"date": "2026-02-01",
"category": "feat",
"title": "Redesigned Interface",
"summary": "New floating toolbar and inline feature tree. Drag to reorder operations.",
"details": "## What's New\n\n- **Floating toolbar** - Tab-based UI with hover-to-open dropdowns\n- **Inline feature tree** - See your model history at a glance\n- **Drag to reorder** - Reorganize operations by dragging\n- **Mobile improvements** - Better touch targets and responsive layout\n- **Adaptive colors** - UI adjusts to background for readability",
"features": [
"ui",
"ux",
"toolbar"
]
},
{
"id": "2026-02-01-mcp-enhancements",
"version": "0.8.0",
"date": "2026-02-01",
"category": "feat",
"title": "MCP Tool Enhancements",
"summary": "New MCP tools for sketches, assemblies, STEP import, and browser sharing.",
"details": "## What's New\n\n- **Sketch operations** - Create sketch-based features via MCP\n- **Assembly support** - Build multi-part assemblies programmatically\n- **STEP import** - Import existing CAD files via MCP\n- **open_in_browser** - Share models directly to vcad.io\n- **VCode** - Efficient serialization format option",
"features": [
"mcp",
"api",
"automation"
],
"mcpTools": [
"create_cad_document",
"open_in_browser",
"import_step"
]
},
{
"id": "2026-02-01-physics-simulation",
"version": "0.8.0",
"date": "2026-02-01",
"category": "feat",
"title": "Physics Simulation",
"summary": "Simulate assemblies with Rapier3D physics. Train RL agents via gym-style MCP interface.",
"details": "## What's New\n\n- **Rigid body dynamics** - Parts become physical objects with mass and inertia\n- **Joint support** - Revolute, prismatic, cylindrical, ball, and fixed joints\n- **Gym-style RL interface** - `reset()`, `step(action)`, `observe()` for training\n- **Three action types** - Torque, position targets, velocity targets\n- **MCP integration** - Full programmatic control via MCP tools",
"features": [
"physics",
"assembly",
"mcp",
"simulation"
],
"mcpTools": [
"create_robot_env",
"gym_step",
"gym_reset",
"gym_observe",
"gym_close"
]
},
{
"id": "2026-01-28-ray-tracing",
"version": "0.7.4",
"date": "2026-01-28",
"category": "feat",
"title": "Direct BRep Ray Tracing",
"summary": "Pixel-perfect rendering without tessellation. Toggle between standard and ray-traced modes.",
"details": "## What's New\n\n- **Analytic ray-surface intersection** for all surface types\n- **WebGPU compute shader pipeline** for real-time performance\n- **BVH acceleration** with SAH construction\n- **Trimmed surface handling** for complex geometry\n- **Debug modes** - View normals, face IDs, lighting",
"features": [
"rendering",
"raytrace",
"gpu"
]
},
{
"id": "2026-01-25-step-import",
"version": "0.7.3",
"date": "2026-01-25",
"category": "feat",
"title": "STEP File Import",
"summary": "Import AP203/AP214 STEP files from Fusion 360, SolidWorks, Onshape, and more.",
"details": "## What's New\n\n- **Drag-and-drop import** - Drop .step or .stp files onto the canvas\n- **File picker support** - Use Open dialog or Cmd+O\n- **Multi-solid support** - Import assemblies with multiple parts\n- **GPU mesh processing** - Fast normal computation with creased edges",
"features": [
"import",
"step",
"interop"
],
"mcpTools": [
"import_step"
]
},
{
"id": "2026-01-20-sketch-constraints",
"version": "0.7.2",
"date": "2026-01-20",
"category": "feat",
"title": "Sketch Constraints",
"summary": "Full parametric sketching with geometric constraints and automatic solving.",
"details": "## What's New\n\n- **12 constraint types** - Coincident, horizontal, vertical, parallel, perpendicular, tangent, distance, length, radius, angle, equal length, fixed\n- **Levenberg-Marquardt solver** with adaptive damping\n- **Visual feedback** - Green when fully constrained, yellow when under-constrained\n- **Dimension editing** - Click constraints to modify values",
"features": [
"sketch",
"constraints",
"parametric"
]
},
{
"id": "2026-01-15-assembly-joints",
"version": "0.7.1",
"date": "2026-01-15",
"category": "feat",
"title": "Assembly Mode with Joints",
"summary": "Create assemblies with instances and kinematic joints for motion simulation.",
"details": "## What's New\n\n- **Part instances** - Reference parts multiple times with different transforms\n- **Joint types** - Revolute, prismatic, cylindrical, ball, fixed\n- **Forward kinematics** - Scrub joint values to preview motion\n- **Feature tree integration** - Hierarchical view of parts, instances, joints",
"features": [
"assembly",
"joints",
"kinematics"
]
},
{
"id": "2026-01-10-sweeps-lofts",
"version": "0.7.0",
"date": "2026-01-10",
"category": "feat",
"title": "Sweep and Loft Operations",
"summary": "Create complex geometry by sweeping sketches along paths or interpolating between profiles.",
"details": "## What's New\n\n- **Sweep** - Extrude sketches along line or helix paths\n- **Loft** - Interpolate between multiple sketch profiles\n- **Path control** - Define custom sweep trajectories\n- **Profile alignment** - Automatic orientation along paths",
"features": [
"sweep",
"loft",
"modeling"
]
}
]
}