@vcad/mcp 0.9.4-main.41 → 0.9.4-main.43

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
@@ -6,4 +6,4 @@ vcad's MCP server as a self-contained bundle (server + BRep kernel WASM).
6
6
  { "mcpServers": { "vcad": { "command": "npx", "args": ["-y", "@vcad/mcp"] } } }
7
7
  ```
8
8
 
9
- Built from b00f071e4b839c6448769107ed84182597d763ed at 2026-07-26T14:41:39.682Z. Source: https://github.com/ecto/vcad
9
+ Built from b8688eaf89da55b654b320d07262e2b17de65d37 at 2026-07-26T15:17:55.143Z. Source: https://github.com/ecto/vcad
package/index.mjs CHANGED
@@ -111,6 +111,7 @@ __export(vcad_kernel_wasm_exports, {
111
111
  documentParameterGradient: () => documentParameterGradient,
112
112
  documentToLoon: () => documentToLoon,
113
113
  documentToLoonChecked: () => documentToLoonChecked,
114
+ documentToStepBuffer: () => documentToStepBuffer,
114
115
  drawingSheetToPdf: () => drawingSheetToPdf,
115
116
  ecadAirgapFluxDensity: () => ecadAirgapFluxDensity,
116
117
  ecadAirgapSolve: () => ecadAirgapSolve,
@@ -179,6 +180,7 @@ __export(vcad_kernel_wasm_exports, {
179
180
  exprParse: () => exprParse,
180
181
  feaAnalyzeMesh: () => feaAnalyzeMesh,
181
182
  feaCheckBeam: () => feaCheckBeam,
183
+ flattenSolidToSheetMetal: () => flattenSolidToSheetMetal,
182
184
  generate3mf: () => generate3mf,
183
185
  generate3mfWithGcode: () => generate3mfWithGcode,
184
186
  generateGcode: () => generateGcode,
@@ -1126,6 +1128,17 @@ function documentToLoonChecked(doc_json) {
1126
1128
  }
1127
1129
  return takeFromExternrefTable0(ret[0]);
1128
1130
  }
1131
+ function documentToStepBuffer(doc_json) {
1132
+ const ptr0 = passStringToWasm0(doc_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1133
+ const len0 = WASM_VECTOR_LEN;
1134
+ const ret = wasm.documentToStepBuffer(ptr0, len0);
1135
+ if (ret[3]) {
1136
+ throw takeFromExternrefTable0(ret[2]);
1137
+ }
1138
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
1139
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
1140
+ return v2;
1141
+ }
1129
1142
  function drawingSheetToPdf(spec_json) {
1130
1143
  const ptr0 = passStringToWasm0(spec_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1131
1144
  const len0 = WASM_VECTOR_LEN;
@@ -1947,6 +1960,20 @@ function feaCheckBeam(case_json) {
1947
1960
  }
1948
1961
  return takeFromExternrefTable0(ret[0]);
1949
1962
  }
1963
+ function flattenSolidToSheetMetal(request_json) {
1964
+ let deferred2_0;
1965
+ let deferred2_1;
1966
+ try {
1967
+ const ptr0 = passStringToWasm0(request_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1968
+ const len0 = WASM_VECTOR_LEN;
1969
+ const ret = wasm.flattenSolidToSheetMetal(ptr0, len0);
1970
+ deferred2_0 = ret[0];
1971
+ deferred2_1 = ret[1];
1972
+ return getStringFromWasm0(ret[0], ret[1]);
1973
+ } finally {
1974
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1975
+ }
1976
+ }
1950
1977
  function generate3mf(name, vertices, indices, settings_json) {
1951
1978
  const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1952
1979
  const len0 = WASM_VECTOR_LEN;
@@ -8996,7 +9023,7 @@ function costSheetMetalChain(chain, kernel2, rates, quantity2 = 1) {
8996
9023
  }
8997
9024
  return { breakdown: parsed.breakdown, rates: parsed.rates };
8998
9025
  }
8999
- function flattenSolidToSheetMetal(mesh, kernel2, options = {}) {
9026
+ function flattenSolidToSheetMetal2(mesh, kernel2, options = {}) {
9000
9027
  if (!kernel2.flattenSolidToSheetMetal) {
9001
9028
  throw new Error("kernel.flattenSolidToSheetMetal not available \u2014 rebuild @vcad/kernel-wasm");
9002
9029
  }
@@ -12177,7 +12204,7 @@ var init_dist = __esm({
12177
12204
  * the mechanical counterpart of `board_from_solid`. Throws when the solid
12178
12205
  * is not constant-thickness sheet. */
12179
12206
  flattenSolidToSheetMetal(mesh, options) {
12180
- return flattenSolidToSheetMetal(mesh, this.kernel, options);
12207
+ return flattenSolidToSheetMetal2(mesh, this.kernel, options);
12181
12208
  }
12182
12209
  /** Compute a feasible bend sequence (outermost-first) for the
12183
12210
  * sheet-metal part in `doc`. Returns `null` if there is none. */
@@ -41072,6 +41099,19 @@ var init_CHANGELOG = __esm({
41072
41099
  "rendering"
41073
41100
  ]
41074
41101
  },
41102
+ {
41103
+ id: "2026-07-26-raytrace-mesh-parts",
41104
+ version: "0.9.4",
41105
+ date: "2026-07-26",
41106
+ category: "fix",
41107
+ title: "Ray-traced renders no longer drop mesh parts",
41108
+ summary: "Mesh-backed parts (frozen topology-optimization results, imported STL/GLB) now ray trace as smooth-shaded triangles instead of being silently omitted from the image.",
41109
+ features: [
41110
+ "rendering",
41111
+ "raytrace",
41112
+ "mesh"
41113
+ ]
41114
+ },
41075
41115
  {
41076
41116
  id: "2026-07-26-photoreal-path-tracer",
41077
41117
  version: "0.9.4",
@@ -41144,6 +41184,34 @@ var init_CHANGELOG = __esm({
41144
41184
  "export_cad"
41145
41185
  ]
41146
41186
  },
41187
+ {
41188
+ id: "2026-07-26-isometric-handedness",
41189
+ version: "0.9.4",
41190
+ date: "2026-07-26",
41191
+ category: "fix",
41192
+ title: "Isometric renders are no longer mirrored",
41193
+ summary: "The default isometric view used a left-handed screen basis, so every static render was a mirror image of the app viewport; it now matches.",
41194
+ features: [
41195
+ "rendering",
41196
+ "drafting"
41197
+ ],
41198
+ mcpTools: [
41199
+ "render_view"
41200
+ ]
41201
+ },
41202
+ {
41203
+ id: "2026-07-26-hdri-environment-lighting",
41204
+ version: "0.9.4",
41205
+ date: "2026-07-26",
41206
+ category: "feat",
41207
+ title: "HDRI environment lighting for photoreal renders",
41208
+ summary: "vcad-render --photoreal gains --env (three built-in studio HDRIs or any lat-long .hdr file) and --env-rotation, importance-sampled as a third MIS strategy.",
41209
+ features: [
41210
+ "render",
41211
+ "photoreal",
41212
+ "lighting"
41213
+ ]
41214
+ },
41147
41215
  {
41148
41216
  id: "2026-07-26-flat-pattern-from-solid",
41149
41217
  version: "0.9.4",
@@ -41162,6 +41230,19 @@ var init_CHANGELOG = __esm({
41162
41230
  "sheet_metal_cost"
41163
41231
  ]
41164
41232
  },
41233
+ {
41234
+ id: "2026-07-26-fillet-corner-raytrace-hole",
41235
+ version: "0.9.4",
41236
+ date: "2026-07-26",
41237
+ category: "fix",
41238
+ title: "Fix holes at fillet corners in ray-traced renders",
41239
+ summary: "Ray-traced filleted parts showed a crescent-shaped hole at every rounded corner; the spherical corner blend's trim boundary collapsed at the sphere's pole and cut away half the patch.",
41240
+ features: [
41241
+ "fillet",
41242
+ "rendering",
41243
+ "raytrace"
41244
+ ]
41245
+ },
41165
41246
  {
41166
41247
  id: "2026-07-26-fastener-forms",
41167
41248
  version: "0.9.4",
@@ -80659,8 +80740,8 @@ var init_server3 = __esm({
80659
80740
  init_order_feed();
80660
80741
  init_animate();
80661
80742
  PKG_VERSION = (() => {
80662
- if ("0.9.4-main.41") {
80663
- return "0.9.4-main.41";
80743
+ if ("0.9.4-main.43") {
80744
+ return "0.9.4-main.43";
80664
80745
  }
80665
80746
  try {
80666
80747
  const req = createRequire2(import.meta.url);
@@ -80669,8 +80750,8 @@ var init_server3 = __esm({
80669
80750
  return "0.0.0";
80670
80751
  }
80671
80752
  })();
80672
- BUILD_SHA = "b00f071e4b839c6448769107ed84182597d763ed";
80673
- BUILD_TIME = "2026-07-26T14:41:39.682Z";
80753
+ BUILD_SHA = "b8688eaf89da55b654b320d07262e2b17de65d37";
80754
+ BUILD_TIME = "2026-07-26T15:17:55.143Z";
80674
80755
  SHORT_SHA = BUILD_SHA === "unknown" ? "unknown" : BUILD_SHA.slice(0, 7);
80675
80756
  VERSION_WITH_BUILD = SHORT_SHA === "unknown" ? PKG_VERSION : `${PKG_VERSION}+${SHORT_SHA}`;
80676
80757
  INSTANCE_ID = randomUUID6().slice(0, 8);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcad/mcp",
3
- "version": "0.9.4-main.41",
3
+ "version": "0.9.4-main.43",
4
4
  "description": "vcad MCP server — parametric CAD + PCB design tools for AI agents (self-contained: bundled server + kernel WASM)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "homepage": "https://vcad.io",
21
21
  "vcadBuild": {
22
- "sha": "b00f071e4b839c6448769107ed84182597d763ed",
23
- "builtAt": "2026-07-26T14:41:39.682Z"
22
+ "sha": "b8688eaf89da55b654b320d07262e2b17de65d37",
23
+ "builtAt": "2026-07-26T15:17:55.143Z"
24
24
  }
25
25
  }
Binary file