@vcad/mcp 0.10.0-main.95 → 0.10.0-main.96

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/index.mjs +123 -8
  3. package/package.json +3 -3
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 2182e0fa666586bfac3ebff40ad17af91836bf97 at 2026-10-17T19:27:56.972Z. Source: https://github.com/ecto/vcad
9
+ Built from a0671ca49eaf507c48cb4e456b41c67326dc9ab3 at 2026-10-18T01:12:01.234Z. Source: https://github.com/ecto/vcad
package/index.mjs CHANGED
@@ -32668,7 +32668,11 @@ var init_document_store = __esm({
32668
32668
  edgeClearance: 0.25,
32669
32669
  holeToHole: 0.25,
32670
32670
  minAnnularRing: 0.13,
32671
- minDrill: 0.2
32671
+ minDrill: 0.2,
32672
+ // KiCad's microvia defaults (uvia_min_drill / uvia_min_size).
32673
+ minMicroviaDrill: 0.1,
32674
+ minMicroviaDiameter: 0.2,
32675
+ inferredFloors: []
32672
32676
  },
32673
32677
  footprints: [],
32674
32678
  traces: [],
@@ -41776,6 +41780,23 @@ var init_CHANGELOG = __esm({
41776
41780
  "kernel"
41777
41781
  ]
41778
41782
  },
41783
+ {
41784
+ id: "2026-10-17-stackup-layer-roles",
41785
+ version: "0.10.0",
41786
+ date: "2026-10-17",
41787
+ category: "feat",
41788
+ title: "Stackup layer roles inferred from pours",
41789
+ summary: "Plane, split-plane and signal roles are inferred from copper pours; DRC reports signals routed on plane layers (enforcement opt-in).",
41790
+ features: [
41791
+ "pcb",
41792
+ "electronics",
41793
+ "routing"
41794
+ ],
41795
+ mcpTools: [
41796
+ "run_drc",
41797
+ "set_stackup"
41798
+ ]
41799
+ },
41779
41800
  {
41780
41801
  id: "2026-10-17-pcb-layer-coverage",
41781
41802
  version: "0.10.0",
@@ -41807,6 +41828,59 @@ var init_CHANGELOG = __esm({
41807
41828
  "ir"
41808
41829
  ]
41809
41830
  },
41831
+ {
41832
+ id: "2026-10-17-pair-router-coupled-legs",
41833
+ version: "0.10.0",
41834
+ date: "2026-10-17",
41835
+ category: "fix",
41836
+ title: "Pair router keeps coupled legs together",
41837
+ summary: "The router no longer rips or shoves one leg of a coupled pair or routes a twin twice; diff-pair gap checks use coupled segments only, matching KiCad.",
41838
+ features: [
41839
+ "pcb",
41840
+ "electronics",
41841
+ "routing"
41842
+ ],
41843
+ mcpTools: [
41844
+ "route_nets",
41845
+ "route_diff_pair",
41846
+ "run_drc"
41847
+ ]
41848
+ },
41849
+ {
41850
+ id: "2026-10-17-neckdown-and-via-floors",
41851
+ version: "0.10.0",
41852
+ date: "2026-10-17",
41853
+ category: "feat",
41854
+ title: "Per-class neck-down and inferred via floors",
41855
+ summary: "Net classes get a neck-down minimum width; via size floors are inferred from the board with provenance reported.",
41856
+ features: [
41857
+ "pcb",
41858
+ "electronics",
41859
+ "routing"
41860
+ ],
41861
+ mcpTools: [
41862
+ "route_nets",
41863
+ "set_design_rules"
41864
+ ]
41865
+ },
41866
+ {
41867
+ id: "2026-10-17-microvias",
41868
+ version: "0.10.0",
41869
+ date: "2026-10-17",
41870
+ category: "feat",
41871
+ title: "Microvias as a via type",
41872
+ summary: "Microvias are a first-class via type with KiCad semantics (adjacent-layer span, own size rules), imported and exported faithfully.",
41873
+ features: [
41874
+ "pcb",
41875
+ "electronics",
41876
+ "routing"
41877
+ ],
41878
+ mcpTools: [
41879
+ "add_via",
41880
+ "import_kicad",
41881
+ "export_kicad"
41882
+ ]
41883
+ },
41810
41884
  {
41811
41885
  id: "2026-10-17-kicad-import-wildcard-layers",
41812
41886
  version: "0.10.0",
@@ -41841,6 +41915,39 @@ var init_CHANGELOG = __esm({
41841
41915
  "export_gerber"
41842
41916
  ]
41843
41917
  },
41918
+ {
41919
+ id: "2026-10-17-drc-inner-layers-in7-in8",
41920
+ version: "0.10.0",
41921
+ date: "2026-10-17",
41922
+ category: "fix",
41923
+ title: "DRC sees In7/In8 copper on 10-layer boards",
41924
+ summary: "The DRC copper stack skipped In7Cu/In8Cu, reporting thousands of false disjoint-net fragments on 10-layer boards.",
41925
+ features: [
41926
+ "pcb",
41927
+ "electronics",
41928
+ "routing"
41929
+ ],
41930
+ mcpTools: [
41931
+ "run_drc"
41932
+ ]
41933
+ },
41934
+ {
41935
+ id: "2026-10-17-diff-pair-si-polish",
41936
+ version: "0.10.0",
41937
+ date: "2026-10-17",
41938
+ category: "feat",
41939
+ title: "Differentiable diff-pair SI polish",
41940
+ summary: "Routed diff pairs are tuned by a tang-based claim compiler with SCO/SQP solvers and mined cuts, improving coupling and skew without breaking connectivity.",
41941
+ features: [
41942
+ "pcb",
41943
+ "electronics",
41944
+ "routing"
41945
+ ],
41946
+ mcpTools: [
41947
+ "route_nets",
41948
+ "route_diff_pair"
41949
+ ]
41950
+ },
41844
41951
  {
41845
41952
  id: "2026-10-16-root-cache-rigid-placement",
41846
41953
  version: "0.10.0",
@@ -62127,7 +62234,11 @@ function defaultDesignRules() {
62127
62234
  edgeClearance: 0.5,
62128
62235
  holeToHole: 0.5,
62129
62236
  minAnnularRing: 0.15,
62130
- minDrill: 0.2
62237
+ minDrill: 0.2,
62238
+ // KiCad's microvia defaults (uvia_min_drill / uvia_min_size).
62239
+ minMicroviaDrill: 0.1,
62240
+ minMicroviaDiameter: 0.2,
62241
+ inferredFloors: []
62131
62242
  };
62132
62243
  }
62133
62244
  function stripDocArgs(args) {
@@ -63628,7 +63739,8 @@ async function routeNets(args, toolCtx) {
63628
63739
  startLayer: v.start_layer ?? "FCu",
63629
63740
  endLayer: v.end_layer ?? "BCu",
63630
63741
  net: v.net,
63631
- source: "autoroute"
63742
+ source: "autoroute",
63743
+ ...v.via_type ? { viaType: v.via_type } : {}
63632
63744
  });
63633
63745
  viasAdded++;
63634
63746
  }
@@ -66819,7 +66931,10 @@ async function describePcb(args) {
66819
66931
  edgeClearance: dr.edgeClearance,
66820
66932
  holeToHole: dr.holeToHole,
66821
66933
  minAnnularRing: dr.minAnnularRing,
66822
- minDrill: dr.minDrill
66934
+ minDrill: dr.minDrill,
66935
+ minMicroviaDrill: dr.minMicroviaDrill,
66936
+ minMicroviaDiameter: dr.minMicroviaDiameter,
66937
+ inferredFloors: dr.inferredFloors
66823
66938
  };
66824
66939
  const zones = pcb.zones.map((z) => ({
66825
66940
  net: z.net,
@@ -84695,8 +84810,8 @@ var init_server3 = __esm({
84695
84810
  init_order_feed();
84696
84811
  init_animate();
84697
84812
  PKG_VERSION = (() => {
84698
- if ("0.10.0-main.95") {
84699
- return "0.10.0-main.95";
84813
+ if ("0.10.0-main.96") {
84814
+ return "0.10.0-main.96";
84700
84815
  }
84701
84816
  try {
84702
84817
  const req = createRequire2(import.meta.url);
@@ -84705,8 +84820,8 @@ var init_server3 = __esm({
84705
84820
  return "0.0.0";
84706
84821
  }
84707
84822
  })();
84708
- BUILD_SHA = "2182e0fa666586bfac3ebff40ad17af91836bf97";
84709
- BUILD_TIME = "2026-10-17T19:27:56.972Z";
84823
+ BUILD_SHA = "a0671ca49eaf507c48cb4e456b41c67326dc9ab3";
84824
+ BUILD_TIME = "2026-10-18T01:12:01.234Z";
84710
84825
  SHORT_SHA = BUILD_SHA === "unknown" ? "unknown" : BUILD_SHA.slice(0, 7);
84711
84826
  VERSION_WITH_BUILD = SHORT_SHA === "unknown" ? PKG_VERSION : `${PKG_VERSION}+${SHORT_SHA}`;
84712
84827
  INSTANCE_ID = randomUUID7().slice(0, 8);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcad/mcp",
3
- "version": "0.10.0-main.95",
3
+ "version": "0.10.0-main.96",
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": "2182e0fa666586bfac3ebff40ad17af91836bf97",
23
- "builtAt": "2026-10-17T19:27:56.972Z"
22
+ "sha": "a0671ca49eaf507c48cb4e456b41c67326dc9ab3",
23
+ "builtAt": "2026-10-18T01:12:01.234Z"
24
24
  }
25
25
  }