@vcad/mcp 0.9.4-main.42 → 0.9.4-main.44
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 +1 -1
- package/index.mjs +85 -6
- package/package.json +3 -3
- package/vcad_kernel_wasm_bg.wasm +0 -0
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
|
|
9
|
+
Built from efd602e1a47295ebf6cb9eceb252bd6e63962be5 at 2026-07-26T15:31:54.644Z. 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
|
|
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
|
|
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",
|
|
@@ -41159,6 +41199,19 @@ var init_CHANGELOG = __esm({
|
|
|
41159
41199
|
"render_view"
|
|
41160
41200
|
]
|
|
41161
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
|
+
},
|
|
41162
41215
|
{
|
|
41163
41216
|
id: "2026-07-26-flat-pattern-from-solid",
|
|
41164
41217
|
version: "0.9.4",
|
|
@@ -41177,6 +41230,19 @@ var init_CHANGELOG = __esm({
|
|
|
41177
41230
|
"sheet_metal_cost"
|
|
41178
41231
|
]
|
|
41179
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
|
+
},
|
|
41180
41246
|
{
|
|
41181
41247
|
id: "2026-07-26-fastener-forms",
|
|
41182
41248
|
version: "0.9.4",
|
|
@@ -41266,6 +41332,19 @@ var init_CHANGELOG = __esm({
|
|
|
41266
41332
|
"create_cad_loon"
|
|
41267
41333
|
]
|
|
41268
41334
|
},
|
|
41335
|
+
{
|
|
41336
|
+
id: "2026-07-26-anisotropic-roughness",
|
|
41337
|
+
version: "0.9.4",
|
|
41338
|
+
date: "2026-07-26",
|
|
41339
|
+
category: "feat",
|
|
41340
|
+
title: "Brushed and turned finishes render correctly",
|
|
41341
|
+
summary: "Materials gain an anisotropy value, and the photoreal path tracer orients the stretched highlight by the BRep's own surface parameterisation, so turned shafts and bored holes get the circumferential grain they have in life.",
|
|
41342
|
+
features: [
|
|
41343
|
+
"rendering",
|
|
41344
|
+
"raytracing",
|
|
41345
|
+
"materials"
|
|
41346
|
+
]
|
|
41347
|
+
},
|
|
41269
41348
|
{
|
|
41270
41349
|
id: "2026-07-25-via-layer-spans-in-fab-export",
|
|
41271
41350
|
version: "0.9.4",
|
|
@@ -80674,8 +80753,8 @@ var init_server3 = __esm({
|
|
|
80674
80753
|
init_order_feed();
|
|
80675
80754
|
init_animate();
|
|
80676
80755
|
PKG_VERSION = (() => {
|
|
80677
|
-
if ("0.9.4-main.
|
|
80678
|
-
return "0.9.4-main.
|
|
80756
|
+
if ("0.9.4-main.44") {
|
|
80757
|
+
return "0.9.4-main.44";
|
|
80679
80758
|
}
|
|
80680
80759
|
try {
|
|
80681
80760
|
const req = createRequire2(import.meta.url);
|
|
@@ -80684,8 +80763,8 @@ var init_server3 = __esm({
|
|
|
80684
80763
|
return "0.0.0";
|
|
80685
80764
|
}
|
|
80686
80765
|
})();
|
|
80687
|
-
BUILD_SHA = "
|
|
80688
|
-
BUILD_TIME = "2026-07-
|
|
80766
|
+
BUILD_SHA = "efd602e1a47295ebf6cb9eceb252bd6e63962be5";
|
|
80767
|
+
BUILD_TIME = "2026-07-26T15:31:54.644Z";
|
|
80689
80768
|
SHORT_SHA = BUILD_SHA === "unknown" ? "unknown" : BUILD_SHA.slice(0, 7);
|
|
80690
80769
|
VERSION_WITH_BUILD = SHORT_SHA === "unknown" ? PKG_VERSION : `${PKG_VERSION}+${SHORT_SHA}`;
|
|
80691
80770
|
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.
|
|
3
|
+
"version": "0.9.4-main.44",
|
|
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": "
|
|
23
|
-
"builtAt": "2026-07-
|
|
22
|
+
"sha": "efd602e1a47295ebf6cb9eceb252bd6e63962be5",
|
|
23
|
+
"builtAt": "2026-07-26T15:31:54.644Z"
|
|
24
24
|
}
|
|
25
25
|
}
|
package/vcad_kernel_wasm_bg.wasm
CHANGED
|
Binary file
|