@vcad/mcp 0.9.4-main.75 → 0.9.4-main.77

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 89230349e9d445891fbcb1efd7f0cc9425ba972e at 2026-08-25T23:30:10.326Z. Source: https://github.com/ecto/vcad
9
+ Built from 47bac49e0b31af1164ed47e5b81d72861ea5ce0f at 2026-08-28T13:11:01.217Z. Source: https://github.com/ecto/vcad
package/index.mjs CHANGED
@@ -41631,6 +41631,34 @@ var init_CHANGELOG = __esm({
41631
41631
  CHANGELOG_default = {
41632
41632
  $schema: "./changelog.schema.json",
41633
41633
  entries: [
41634
+ {
41635
+ id: "2026-08-28-manifold-nested-ring-unions",
41636
+ version: "0.9.4",
41637
+ date: "2026-08-28",
41638
+ category: "fix",
41639
+ title: "Manifold STLs for unions of stacked rings",
41640
+ summary: "A union whose operands are differences (stacked annular rings) no longer exports doubled surface a slicer reports as non-manifold and auto-repairs by filling the bore.",
41641
+ features: [
41642
+ "booleans",
41643
+ "export",
41644
+ "stl",
41645
+ "printing"
41646
+ ],
41647
+ mcpTools: []
41648
+ },
41649
+ {
41650
+ id: "2026-08-28-hex-prism-and-segment-hint",
41651
+ version: "0.9.4",
41652
+ date: "2026-08-28",
41653
+ category: "fix",
41654
+ title: "loon: hex-prism, and cylinder-n stops lying",
41655
+ summary: "The -n primitive forms refuse segment counts under 8 (they are a fidelity hint, not a face count) and point at prism / polygon-prism / hex-prism for real facets.",
41656
+ features: [
41657
+ "loon",
41658
+ "primitives"
41659
+ ],
41660
+ mcpTools: []
41661
+ },
41634
41662
  {
41635
41663
  id: "2026-08-25-measure-joint-sweep",
41636
41664
  version: "0.9.4",
@@ -41650,6 +41678,37 @@ var init_CHANGELOG = __esm({
41650
41678
  "check_clearance"
41651
41679
  ]
41652
41680
  },
41681
+ {
41682
+ id: "2026-08-25-export-web-glb",
41683
+ version: "0.9.4",
41684
+ date: "2026-08-25",
41685
+ category: "feat",
41686
+ title: "vcad-render: web export (named-node GLB + JSON)",
41687
+ summary: "--export-web writes a Y-up GLB with one named, materialed glTF node per part; --export-web-js writes a primitive scene graph for web consumers.",
41688
+ features: [
41689
+ "render",
41690
+ "export",
41691
+ "glb",
41692
+ "web"
41693
+ ],
41694
+ mcpTools: []
41695
+ },
41696
+ {
41697
+ id: "2026-08-25-animate-drafting-style",
41698
+ version: "0.9.4",
41699
+ date: "2026-08-25",
41700
+ category: "feat",
41701
+ title: "Animate in any style, not just photoreal",
41702
+ summary: "vcad-render --animate now works without --photoreal: drafting line art by default, --raytrace as a middle tier, with one camera pinned across the whole sequence.",
41703
+ details: "--animate used to require --photoreal, so the cheapest and most legible style \u2014 the default drafting line art \u2014 could not be animated at all, and a sequence meant tens of seconds a frame. It is now a style-agnostic path: the front half (resolve the timeline, evaluate the document exactly once, sample the sequence, bake one pose vector per frame) is shared, and three back ends turn a pose into pixels \u2014 drafting (default), --raytrace, and --photoreal. The drafting tier tessellates each part once and only re-poses the cached meshes per frame, which puts a 37-part machine at ~0.35 s a frame instead of minutes. Every tier now frames its camera once, on the union of all posed bounds, and hands that same framing to every frame, so all PNGs share one canvas size and scale and the assembly no longer swims about; --auto-aspect resolves once against that union. --trim is refused with --animate (a per-frame crop is per-frame sizing, the drift the shared camera prevents) and names the flag to drop.",
41704
+ features: [
41705
+ "rendering",
41706
+ "animation",
41707
+ "assemblies",
41708
+ "joints",
41709
+ "cli"
41710
+ ]
41711
+ },
41653
41712
  {
41654
41713
  id: "2026-08-19-photoreal-animation",
41655
41714
  version: "0.9.4",
@@ -84258,8 +84317,8 @@ var init_server3 = __esm({
84258
84317
  init_order_feed();
84259
84318
  init_animate();
84260
84319
  PKG_VERSION = (() => {
84261
- if ("0.9.4-main.75") {
84262
- return "0.9.4-main.75";
84320
+ if ("0.9.4-main.77") {
84321
+ return "0.9.4-main.77";
84263
84322
  }
84264
84323
  try {
84265
84324
  const req = createRequire2(import.meta.url);
@@ -84268,8 +84327,8 @@ var init_server3 = __esm({
84268
84327
  return "0.0.0";
84269
84328
  }
84270
84329
  })();
84271
- BUILD_SHA = "89230349e9d445891fbcb1efd7f0cc9425ba972e";
84272
- BUILD_TIME = "2026-08-25T23:30:10.326Z";
84330
+ BUILD_SHA = "47bac49e0b31af1164ed47e5b81d72861ea5ce0f";
84331
+ BUILD_TIME = "2026-08-28T13:11:01.217Z";
84273
84332
  SHORT_SHA = BUILD_SHA === "unknown" ? "unknown" : BUILD_SHA.slice(0, 7);
84274
84333
  VERSION_WITH_BUILD = SHORT_SHA === "unknown" ? PKG_VERSION : `${PKG_VERSION}+${SHORT_SHA}`;
84275
84334
  INSTANCE_ID = randomUUID7().slice(0, 8);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcad/mcp",
3
- "version": "0.9.4-main.75",
3
+ "version": "0.9.4-main.77",
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": "89230349e9d445891fbcb1efd7f0cc9425ba972e",
23
- "builtAt": "2026-08-25T23:30:10.326Z"
22
+ "sha": "47bac49e0b31af1164ed47e5b81d72861ea5ce0f",
23
+ "builtAt": "2026-08-28T13:11:01.217Z"
24
24
  }
25
25
  }
Binary file