@tscircuit/3d-viewer 0.0.474 → 0.0.476

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 (2) hide show
  1. package/dist/index.js +1325 -1298
  2. package/package.json +2 -11
package/dist/index.js CHANGED
@@ -144,8 +144,8 @@ var require_dist = __commonJS({
144
144
  fromValues: (x, y) => [x, y]
145
145
  },
146
146
  vec3: {
147
- create: (x, y, z135) => [x, y, z135],
148
- fromValues: (x, y, z135) => [x, y, z135]
147
+ create: (x, y, z138) => [x, y, z138],
148
+ fromValues: (x, y, z138) => [x, y, z138]
149
149
  }
150
150
  },
151
151
  geometries: {
@@ -532,29 +532,29 @@ var require_fromRotation = __commonJS({
532
532
  var { sin: sin2, cos: cos2 } = require_trigonometry();
533
533
  var identity = require_identity();
534
534
  var fromRotation = (out, rad, axis) => {
535
- let [x, y, z135] = axis;
536
- const lengthSquared = x * x + y * y + z135 * z135;
535
+ let [x, y, z138] = axis;
536
+ const lengthSquared = x * x + y * y + z138 * z138;
537
537
  if (Math.abs(lengthSquared) < EPS) {
538
538
  return identity(out);
539
539
  }
540
540
  const len = 1 / Math.sqrt(lengthSquared);
541
541
  x *= len;
542
542
  y *= len;
543
- z135 *= len;
543
+ z138 *= len;
544
544
  const s = sin2(rad);
545
545
  const c = cos2(rad);
546
546
  const t = 1 - c;
547
547
  out[0] = x * x * t + c;
548
- out[1] = y * x * t + z135 * s;
549
- out[2] = z135 * x * t - y * s;
548
+ out[1] = y * x * t + z138 * s;
549
+ out[2] = z138 * x * t - y * s;
550
550
  out[3] = 0;
551
- out[4] = x * y * t - z135 * s;
551
+ out[4] = x * y * t - z138 * s;
552
552
  out[5] = y * y * t + c;
553
- out[6] = z135 * y * t + x * s;
553
+ out[6] = z138 * y * t + x * s;
554
554
  out[7] = 0;
555
- out[8] = x * z135 * t + y * s;
556
- out[9] = y * z135 * t - x * s;
557
- out[10] = z135 * z135 * t + c;
555
+ out[8] = x * z138 * t + y * s;
556
+ out[9] = y * z138 * t - x * s;
557
+ out[10] = z138 * z138 * t + c;
558
558
  out[11] = 0;
559
559
  out[12] = 0;
560
560
  out[13] = 0;
@@ -808,8 +808,8 @@ var require_distance = __commonJS({
808
808
  var distance2 = (a, b) => {
809
809
  const x = b[0] - a[0];
810
810
  const y = b[1] - a[1];
811
- const z135 = b[2] - a[2];
812
- return Math.sqrt(x * x + y * y + z135 * z135);
811
+ const z138 = b[2] - a[2];
812
+ return Math.sqrt(x * x + y * y + z138 * z138);
813
813
  };
814
814
  module.exports = distance2;
815
815
  }
@@ -857,11 +857,11 @@ var require_fromValues2 = __commonJS({
857
857
  "node_modules/@jscad/modeling/src/maths/vec3/fromValues.js"(exports, module) {
858
858
  "use strict";
859
859
  var create = require_create2();
860
- var fromValues = (x, y, z135) => {
860
+ var fromValues = (x, y, z138) => {
861
861
  const out = create();
862
862
  out[0] = x;
863
863
  out[1] = y;
864
- out[2] = z135;
864
+ out[2] = z138;
865
865
  return out;
866
866
  };
867
867
  module.exports = fromValues;
@@ -872,10 +872,10 @@ var require_fromValues2 = __commonJS({
872
872
  var require_fromVec2 = __commonJS({
873
873
  "node_modules/@jscad/modeling/src/maths/vec3/fromVec2.js"(exports, module) {
874
874
  "use strict";
875
- var fromVector2 = (out, vector, z135 = 0) => {
875
+ var fromVector2 = (out, vector, z138 = 0) => {
876
876
  out[0] = vector[0];
877
877
  out[1] = vector[1];
878
- out[2] = z135;
878
+ out[2] = z138;
879
879
  return out;
880
880
  };
881
881
  module.exports = fromVector2;
@@ -889,8 +889,8 @@ var require_length = __commonJS({
889
889
  var length2 = (vector) => {
890
890
  const x = vector[0];
891
891
  const y = vector[1];
892
- const z135 = vector[2];
893
- return Math.sqrt(x * x + y * y + z135 * z135);
892
+ const z138 = vector[2];
893
+ return Math.sqrt(x * x + y * y + z138 * z138);
894
894
  };
895
895
  module.exports = length2;
896
896
  }
@@ -973,14 +973,14 @@ var require_normalize = __commonJS({
973
973
  var normalize = (out, vector) => {
974
974
  const x = vector[0];
975
975
  const y = vector[1];
976
- const z135 = vector[2];
977
- let len = x * x + y * y + z135 * z135;
976
+ const z138 = vector[2];
977
+ let len = x * x + y * y + z138 * z138;
978
978
  if (len > 0) {
979
979
  len = 1 / Math.sqrt(len);
980
980
  }
981
981
  out[0] = x * len;
982
982
  out[1] = y * len;
983
- out[2] = z135 * len;
983
+ out[2] = z138 * len;
984
984
  return out;
985
985
  };
986
986
  module.exports = normalize;
@@ -1104,8 +1104,8 @@ var require_squaredDistance = __commonJS({
1104
1104
  var squaredDistance = (a, b) => {
1105
1105
  const x = b[0] - a[0];
1106
1106
  const y = b[1] - a[1];
1107
- const z135 = b[2] - a[2];
1108
- return x * x + y * y + z135 * z135;
1107
+ const z138 = b[2] - a[2];
1108
+ return x * x + y * y + z138 * z138;
1109
1109
  };
1110
1110
  module.exports = squaredDistance;
1111
1111
  }
@@ -1118,8 +1118,8 @@ var require_squaredLength = __commonJS({
1118
1118
  var squaredLength = (vector) => {
1119
1119
  const x = vector[0];
1120
1120
  const y = vector[1];
1121
- const z135 = vector[2];
1122
- return x * x + y * y + z135 * z135;
1121
+ const z138 = vector[2];
1122
+ return x * x + y * y + z138 * z138;
1123
1123
  };
1124
1124
  module.exports = squaredLength;
1125
1125
  }
@@ -1155,12 +1155,12 @@ var require_transform = __commonJS({
1155
1155
  var transform2 = (out, vector, matrix) => {
1156
1156
  const x = vector[0];
1157
1157
  const y = vector[1];
1158
- const z135 = vector[2];
1159
- let w = matrix[3] * x + matrix[7] * y + matrix[11] * z135 + matrix[15];
1158
+ const z138 = vector[2];
1159
+ let w = matrix[3] * x + matrix[7] * y + matrix[11] * z138 + matrix[15];
1160
1160
  w = w || 1;
1161
- out[0] = (matrix[0] * x + matrix[4] * y + matrix[8] * z135 + matrix[12]) / w;
1162
- out[1] = (matrix[1] * x + matrix[5] * y + matrix[9] * z135 + matrix[13]) / w;
1163
- out[2] = (matrix[2] * x + matrix[6] * y + matrix[10] * z135 + matrix[14]) / w;
1161
+ out[0] = (matrix[0] * x + matrix[4] * y + matrix[8] * z138 + matrix[12]) / w;
1162
+ out[1] = (matrix[1] * x + matrix[5] * y + matrix[9] * z138 + matrix[13]) / w;
1163
+ out[2] = (matrix[2] * x + matrix[6] * y + matrix[10] * z138 + matrix[14]) / w;
1164
1164
  return out;
1165
1165
  };
1166
1166
  module.exports = transform2;
@@ -1362,8 +1362,8 @@ var require_isMirroring = __commonJS({
1362
1362
  var isMirroring = (matrix) => {
1363
1363
  const x = matrix[4] * matrix[9] - matrix[8] * matrix[5];
1364
1364
  const y = matrix[8] * matrix[1] - matrix[0] * matrix[9];
1365
- const z135 = matrix[0] * matrix[5] - matrix[4] * matrix[1];
1366
- const d = x * matrix[2] + y * matrix[6] + z135 * matrix[10];
1365
+ const z138 = matrix[0] * matrix[5] - matrix[4] * matrix[1];
1366
+ const d = x * matrix[2] + y * matrix[6] + z138 * matrix[10];
1367
1367
  return d < 0;
1368
1368
  };
1369
1369
  module.exports = isMirroring;
@@ -1465,15 +1465,15 @@ var require_rotate = __commonJS({
1465
1465
  var { sin: sin2, cos: cos2 } = require_trigonometry();
1466
1466
  var copy = require_copy();
1467
1467
  var rotate3 = (out, matrix, radians, axis) => {
1468
- let [x, y, z135] = axis;
1469
- const lengthSquared = x * x + y * y + z135 * z135;
1468
+ let [x, y, z138] = axis;
1469
+ const lengthSquared = x * x + y * y + z138 * z138;
1470
1470
  if (Math.abs(lengthSquared) < EPS) {
1471
1471
  return copy(out, matrix);
1472
1472
  }
1473
1473
  const len = 1 / Math.sqrt(lengthSquared);
1474
1474
  x *= len;
1475
1475
  y *= len;
1476
- z135 *= len;
1476
+ z138 *= len;
1477
1477
  const s = sin2(radians);
1478
1478
  const c = cos2(radians);
1479
1479
  const t = 1 - c;
@@ -1490,14 +1490,14 @@ var require_rotate = __commonJS({
1490
1490
  const a22 = matrix[10];
1491
1491
  const a23 = matrix[11];
1492
1492
  const b00 = x * x * t + c;
1493
- const b01 = y * x * t + z135 * s;
1494
- const b02 = z135 * x * t - y * s;
1495
- const b10 = x * y * t - z135 * s;
1493
+ const b01 = y * x * t + z138 * s;
1494
+ const b02 = z138 * x * t - y * s;
1495
+ const b10 = x * y * t - z138 * s;
1496
1496
  const b11 = y * y * t + c;
1497
- const b12 = z135 * y * t + x * s;
1498
- const b20 = x * z135 * t + y * s;
1499
- const b21 = y * z135 * t - x * s;
1500
- const b22 = z135 * z135 * t + c;
1497
+ const b12 = z138 * y * t + x * s;
1498
+ const b20 = x * z138 * t + y * s;
1499
+ const b21 = y * z138 * t - x * s;
1500
+ const b22 = z138 * z138 * t + c;
1501
1501
  out[0] = a00 * b00 + a10 * b01 + a20 * b02;
1502
1502
  out[1] = a01 * b00 + a11 * b01 + a21 * b02;
1503
1503
  out[2] = a02 * b00 + a12 * b01 + a22 * b02;
@@ -1649,7 +1649,7 @@ var require_scale2 = __commonJS({
1649
1649
  var scale3 = (out, matrix, dimensions) => {
1650
1650
  const x = dimensions[0];
1651
1651
  const y = dimensions[1];
1652
- const z135 = dimensions[2];
1652
+ const z138 = dimensions[2];
1653
1653
  out[0] = matrix[0] * x;
1654
1654
  out[1] = matrix[1] * x;
1655
1655
  out[2] = matrix[2] * x;
@@ -1658,10 +1658,10 @@ var require_scale2 = __commonJS({
1658
1658
  out[5] = matrix[5] * y;
1659
1659
  out[6] = matrix[6] * y;
1660
1660
  out[7] = matrix[7] * y;
1661
- out[8] = matrix[8] * z135;
1662
- out[9] = matrix[9] * z135;
1663
- out[10] = matrix[10] * z135;
1664
- out[11] = matrix[11] * z135;
1661
+ out[8] = matrix[8] * z138;
1662
+ out[9] = matrix[9] * z138;
1663
+ out[10] = matrix[10] * z138;
1664
+ out[11] = matrix[11] * z138;
1665
1665
  out[12] = matrix[12];
1666
1666
  out[13] = matrix[13];
1667
1667
  out[14] = matrix[14];
@@ -1715,7 +1715,7 @@ var require_translate = __commonJS({
1715
1715
  var translate7 = (out, matrix, offsets) => {
1716
1716
  const x = offsets[0];
1717
1717
  const y = offsets[1];
1718
- const z135 = offsets[2];
1718
+ const z138 = offsets[2];
1719
1719
  let a00;
1720
1720
  let a01;
1721
1721
  let a02;
@@ -1729,10 +1729,10 @@ var require_translate = __commonJS({
1729
1729
  let a22;
1730
1730
  let a23;
1731
1731
  if (matrix === out) {
1732
- out[12] = matrix[0] * x + matrix[4] * y + matrix[8] * z135 + matrix[12];
1733
- out[13] = matrix[1] * x + matrix[5] * y + matrix[9] * z135 + matrix[13];
1734
- out[14] = matrix[2] * x + matrix[6] * y + matrix[10] * z135 + matrix[14];
1735
- out[15] = matrix[3] * x + matrix[7] * y + matrix[11] * z135 + matrix[15];
1732
+ out[12] = matrix[0] * x + matrix[4] * y + matrix[8] * z138 + matrix[12];
1733
+ out[13] = matrix[1] * x + matrix[5] * y + matrix[9] * z138 + matrix[13];
1734
+ out[14] = matrix[2] * x + matrix[6] * y + matrix[10] * z138 + matrix[14];
1735
+ out[15] = matrix[3] * x + matrix[7] * y + matrix[11] * z138 + matrix[15];
1736
1736
  } else {
1737
1737
  a00 = matrix[0];
1738
1738
  a01 = matrix[1];
@@ -1758,10 +1758,10 @@ var require_translate = __commonJS({
1758
1758
  out[9] = a21;
1759
1759
  out[10] = a22;
1760
1760
  out[11] = a23;
1761
- out[12] = a00 * x + a10 * y + a20 * z135 + matrix[12];
1762
- out[13] = a01 * x + a11 * y + a21 * z135 + matrix[13];
1763
- out[14] = a02 * x + a12 * y + a22 * z135 + matrix[14];
1764
- out[15] = a03 * x + a13 * y + a23 * z135 + matrix[15];
1761
+ out[12] = a00 * x + a10 * y + a20 * z138 + matrix[12];
1762
+ out[13] = a01 * x + a11 * y + a21 * z138 + matrix[13];
1763
+ out[14] = a02 * x + a12 * y + a22 * z138 + matrix[14];
1764
+ out[15] = a03 * x + a13 * y + a23 * z138 + matrix[15];
1765
1765
  }
1766
1766
  return out;
1767
1767
  };
@@ -3831,11 +3831,11 @@ var require_fromValues4 = __commonJS({
3831
3831
  "node_modules/@jscad/modeling/src/maths/vec4/fromValues.js"(exports, module) {
3832
3832
  "use strict";
3833
3833
  var create = require_create7();
3834
- var fromValues = (x, y, z135, w) => {
3834
+ var fromValues = (x, y, z138, w) => {
3835
3835
  const out = create();
3836
3836
  out[0] = x;
3837
3837
  out[1] = y;
3838
- out[2] = z135;
3838
+ out[2] = z138;
3839
3839
  out[3] = w;
3840
3840
  return out;
3841
3841
  };
@@ -3993,8 +3993,8 @@ var require_projectionOfPoint = __commonJS({
3993
3993
  const a = point2[0] * plane[0] + point2[1] * plane[1] + point2[2] * plane[2] - plane[3];
3994
3994
  const x = point2[0] - a * plane[0];
3995
3995
  const y = point2[1] - a * plane[1];
3996
- const z135 = point2[2] - a * plane[2];
3997
- return vec3.fromValues(x, y, z135);
3996
+ const z138 = point2[2] - a * plane[2];
3997
+ return vec3.fromValues(x, y, z138);
3998
3998
  };
3999
3999
  module.exports = projectionOfPoint;
4000
4000
  }
@@ -4298,11 +4298,11 @@ var require_transform5 = __commonJS({
4298
4298
  "node_modules/@jscad/modeling/src/maths/vec4/transform.js"(exports, module) {
4299
4299
  "use strict";
4300
4300
  var transform2 = (out, vector, matrix) => {
4301
- const [x, y, z135, w] = vector;
4302
- out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z135 + matrix[12] * w;
4303
- out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z135 + matrix[13] * w;
4304
- out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z135 + matrix[14] * w;
4305
- out[3] = matrix[3] * x + matrix[7] * y + matrix[11] * z135 + matrix[15] * w;
4301
+ const [x, y, z138, w] = vector;
4302
+ out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z138 + matrix[12] * w;
4303
+ out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z138 + matrix[13] * w;
4304
+ out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z138 + matrix[14] * w;
4305
+ out[3] = matrix[3] * x + matrix[7] * y + matrix[11] * z138 + matrix[15] * w;
4306
4306
  return out;
4307
4307
  };
4308
4308
  module.exports = transform2;
@@ -4364,8 +4364,8 @@ var require_measureBoundingSphere = __commonJS({
4364
4364
  out[2] = (minz[2] + maxz[2]) * 0.5;
4365
4365
  const x = out[0] - maxx[0];
4366
4366
  const y = out[1] - maxy[1];
4367
- const z135 = out[2] - maxz[2];
4368
- out[3] = Math.sqrt(x * x + y * y + z135 * z135);
4367
+ const z138 = out[2] - maxz[2];
4368
+ out[3] = Math.sqrt(x * x + y * y + z138 * z138);
4369
4369
  cache.set(polygon3, out);
4370
4370
  return out;
4371
4371
  };
@@ -12563,31 +12563,29 @@ var require_extrudeHelical = __commonJS({
12563
12563
  "node_modules/@jscad/modeling/src/operations/extrusions/extrudeHelical.js"(exports, module) {
12564
12564
  "use strict";
12565
12565
  var { TAU } = require_constants();
12566
- var slice = require_slice();
12567
12566
  var mat4 = require_mat4();
12568
- var extrudeFromSlices = require_extrudeFromSlices();
12569
12567
  var geom2 = require_geom2();
12568
+ var extrudeFromSlices = require_extrudeFromSlices();
12569
+ var slice = require_slice();
12570
12570
  var extrudeHelical = (options, geometry) => {
12571
12571
  const defaults = {
12572
12572
  angle: TAU,
12573
12573
  startAngle: 0,
12574
12574
  pitch: 10,
12575
+ height: 0,
12575
12576
  endOffset: 0,
12576
12577
  segmentsPerRotation: 32
12577
12578
  };
12578
- const { angle, endOffset, segmentsPerRotation, startAngle } = Object.assign({}, defaults, options);
12579
- let pitch;
12580
- if (!options.pitch && options.height) {
12581
- pitch = options.height / (angle / TAU);
12582
- } else {
12583
- pitch = options.pitch ? options.pitch : defaults.pitch;
12579
+ let { angle, startAngle, pitch, height: height10, endOffset, segmentsPerRotation } = Object.assign({}, defaults, options);
12580
+ if (height10 != 0) {
12581
+ pitch = height10 / (angle / TAU);
12584
12582
  }
12585
12583
  const minNumberOfSegments = 3;
12586
12584
  if (segmentsPerRotation < minNumberOfSegments) {
12587
12585
  throw new Error("The number of segments per rotation needs to be at least 3.");
12588
12586
  }
12589
12587
  const shapeSides = geom2.toSides(geometry);
12590
- if (shapeSides.length === 0) throw new Error("the given geometry cannot be empty");
12588
+ if (shapeSides.length === 0) throw new Error("The given geometry cannot be empty");
12591
12589
  const pointsWithPositiveX = shapeSides.filter((s) => s[0][0] >= 0);
12592
12590
  let baseSlice = slice.fromSides(shapeSides);
12593
12591
  if (pointsWithPositiveX.length === 0) {
@@ -12596,7 +12594,7 @@ var require_extrudeHelical = __commonJS({
12596
12594
  const calculatedSegments = Math.round(segmentsPerRotation / TAU * Math.abs(angle));
12597
12595
  const segments = calculatedSegments >= 2 ? calculatedSegments : 2;
12598
12596
  const step1 = mat4.create();
12599
- let matrix;
12597
+ const step2 = mat4.create();
12600
12598
  const sliceCallback = (progress, index2, base) => {
12601
12599
  const zRotation = startAngle + angle / segments * index2;
12602
12600
  const xOffset = endOffset / segments * index2;
@@ -12609,14 +12607,13 @@ var require_extrudeHelical = __commonJS({
12609
12607
  mat4.fromXRotation(mat4.create(), -TAU / 4 * Math.sign(angle))
12610
12608
  // rotate the slice correctly to not create inside-out polygon
12611
12609
  );
12612
- matrix = mat4.create();
12613
12610
  mat4.multiply(
12614
- matrix,
12611
+ step2,
12615
12612
  // finally rotate around Z axis
12616
12613
  mat4.fromZRotation(mat4.create(), zRotation),
12617
12614
  step1
12618
12615
  );
12619
- return slice.transform(matrix, base);
12616
+ return slice.transform(step2, base);
12620
12617
  };
12621
12618
  return extrudeFromSlices(
12622
12619
  {
@@ -14791,7 +14788,7 @@ var import_jscad_planner = __toESM(require_dist(), 1);
14791
14788
  var import_modeling = __toESM(require_src(), 1);
14792
14789
 
14793
14790
  // node_modules/@tscircuit/footprinter/dist/index.js
14794
- import { z as z133 } from "zod";
14791
+ import { z as z136 } from "zod";
14795
14792
 
14796
14793
  // node_modules/@tscircuit/mm/dist/index.js
14797
14794
  var unitToMm = {
@@ -14835,8 +14832,8 @@ import { z as z12 } from "zod";
14835
14832
  import { z as z13 } from "zod";
14836
14833
  import { z as z14 } from "zod";
14837
14834
  import { z as z15 } from "zod";
14838
- import { z as z36 } from "zod";
14839
14835
  import { z as z16 } from "zod";
14836
+ import { z as z38 } from "zod";
14840
14837
  import { z as z17 } from "zod";
14841
14838
  import { z as z18 } from "zod";
14842
14839
  import { z as z19 } from "zod";
@@ -14856,17 +14853,17 @@ import { z as z32 } from "zod";
14856
14853
  import { z as z33 } from "zod";
14857
14854
  import { z as z34 } from "zod";
14858
14855
  import { z as z35 } from "zod";
14856
+ import { z as z36 } from "zod";
14859
14857
  import { z as z37 } from "zod";
14860
- import { z as z38 } from "zod";
14861
14858
  import { z as z39 } from "zod";
14862
14859
  import { z as z40 } from "zod";
14863
14860
  import { z as z41 } from "zod";
14864
14861
  import { z as z42 } from "zod";
14865
- import { z as z44 } from "zod";
14866
14862
  import { z as z43 } from "zod";
14863
+ import { z as z44 } from "zod";
14867
14864
  import { z as z45 } from "zod";
14868
- import { z as z46 } from "zod";
14869
14865
  import { z as z47 } from "zod";
14866
+ import { z as z46 } from "zod";
14870
14867
  import { z as z48 } from "zod";
14871
14868
  import { z as z49 } from "zod";
14872
14869
  import { z as z50 } from "zod";
@@ -14874,11 +14871,11 @@ import { z as z51 } from "zod";
14874
14871
  import { z as z52 } from "zod";
14875
14872
  import { z as z53 } from "zod";
14876
14873
  import { z as z54 } from "zod";
14877
- import { z as z56 } from "zod";
14878
14874
  import { z as z55 } from "zod";
14875
+ import { z as z56 } from "zod";
14879
14876
  import { z as z57 } from "zod";
14880
- import { z as z58 } from "zod";
14881
14877
  import { z as z59 } from "zod";
14878
+ import { z as z58 } from "zod";
14882
14879
  import { z as z60 } from "zod";
14883
14880
  import { z as z61 } from "zod";
14884
14881
  import { z as z62 } from "zod";
@@ -14952,6 +14949,9 @@ import { z as z129 } from "zod";
14952
14949
  import { z as z130 } from "zod";
14953
14950
  import { z as z131 } from "zod";
14954
14951
  import { z as z132 } from "zod";
14952
+ import { z as z133 } from "zod";
14953
+ import { z as z134 } from "zod";
14954
+ import { z as z135 } from "zod";
14955
14955
  var unitMappings = {
14956
14956
  Hz: {
14957
14957
  baseUnit: "Hz",
@@ -15288,191 +15288,200 @@ var source_simple_diode = source_component_base.extend({
15288
15288
  ftype: z11.literal("simple_diode")
15289
15289
  });
15290
15290
  expectTypesMatch(true);
15291
+ var source_simple_fiducial = source_component_base.extend({
15292
+ ftype: z12.literal("simple_fiducial")
15293
+ });
15294
+ expectTypesMatch(true);
15291
15295
  var source_simple_led = source_simple_diode.extend({
15292
- ftype: z12.literal("simple_led"),
15293
- color: z12.string().optional(),
15294
- wavelength: z12.string().optional()
15296
+ ftype: z13.literal("simple_led"),
15297
+ color: z13.string().optional(),
15298
+ wavelength: z13.string().optional()
15295
15299
  });
15296
15300
  expectTypesMatch(true);
15297
15301
  var source_simple_ground = source_component_base.extend({
15298
- ftype: z13.literal("simple_ground")
15302
+ ftype: z14.literal("simple_ground")
15299
15303
  });
15300
15304
  expectTypesMatch(true);
15301
15305
  var source_simple_chip = source_component_base.extend({
15302
- ftype: z14.literal("simple_chip")
15306
+ ftype: z15.literal("simple_chip")
15303
15307
  });
15304
15308
  expectTypesMatch(true);
15305
15309
  var source_simple_power_source = source_component_base.extend({
15306
- ftype: z15.literal("simple_power_source"),
15310
+ ftype: z16.literal("simple_power_source"),
15307
15311
  voltage
15308
15312
  });
15309
15313
  expectTypesMatch(true);
15310
15314
  var source_simple_fuse = source_component_base.extend({
15311
- ftype: z16.literal("simple_fuse"),
15312
- current_rating_amps: z16.number().describe("Nominal current in amps the fuse is rated for"),
15313
- voltage_rating_volts: z16.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
15315
+ ftype: z17.literal("simple_fuse"),
15316
+ current_rating_amps: z17.number().describe("Nominal current in amps the fuse is rated for"),
15317
+ voltage_rating_volts: z17.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
15314
15318
  });
15315
15319
  expectTypesMatch(true);
15316
15320
  var source_simple_battery = source_component_base.extend({
15317
- ftype: z17.literal("simple_battery"),
15321
+ ftype: z18.literal("simple_battery"),
15318
15322
  capacity: battery_capacity
15319
15323
  });
15320
15324
  expectTypesMatch(true);
15321
15325
  var source_simple_inductor = source_component_base.extend({
15322
- ftype: z18.literal("simple_inductor"),
15326
+ ftype: z19.literal("simple_inductor"),
15323
15327
  inductance,
15324
- max_current_rating: z18.number().optional()
15328
+ max_current_rating: z19.number().optional()
15325
15329
  });
15326
15330
  expectTypesMatch(true);
15327
15331
  var source_simple_push_button = source_component_base.extend({
15328
- ftype: z19.literal("simple_push_button")
15332
+ ftype: z20.literal("simple_push_button")
15329
15333
  });
15330
15334
  expectTypesMatch(true);
15331
15335
  var source_simple_potentiometer = source_component_base.extend({
15332
- ftype: z20.literal("simple_potentiometer"),
15336
+ ftype: z21.literal("simple_potentiometer"),
15333
15337
  max_resistance: resistance
15334
15338
  });
15335
15339
  expectTypesMatch(
15336
15340
  true
15337
15341
  );
15338
15342
  var source_simple_crystal = source_component_base.extend({
15339
- ftype: z21.literal("simple_crystal"),
15340
- frequency: z21.number().describe("Frequency in Hz"),
15341
- load_capacitance: z21.number().optional().describe("Load capacitance in pF")
15343
+ ftype: z22.literal("simple_crystal"),
15344
+ frequency: z22.number().describe("Frequency in Hz"),
15345
+ load_capacitance: z22.number().optional().describe("Load capacitance in pF")
15342
15346
  });
15343
15347
  expectTypesMatch(true);
15344
15348
  var source_simple_pin_header = source_component_base.extend({
15345
- ftype: z22.literal("simple_pin_header"),
15346
- pin_count: z22.number(),
15347
- gender: z22.enum(["male", "female"]).optional().default("male")
15349
+ ftype: z23.literal("simple_pin_header"),
15350
+ pin_count: z23.number(),
15351
+ gender: z23.enum(["male", "female"]).optional().default("male")
15348
15352
  });
15349
15353
  expectTypesMatch(true);
15350
15354
  var source_simple_pinout = source_component_base.extend({
15351
- ftype: z23.literal("simple_pinout")
15355
+ ftype: z24.literal("simple_pinout")
15352
15356
  });
15353
15357
  expectTypesMatch(true);
15354
15358
  var source_simple_resonator = source_component_base.extend({
15355
- ftype: z24.literal("simple_resonator"),
15359
+ ftype: z25.literal("simple_resonator"),
15356
15360
  load_capacitance: capacitance,
15357
15361
  equivalent_series_resistance: resistance.optional(),
15358
15362
  frequency
15359
15363
  });
15360
15364
  expectTypesMatch(true);
15361
15365
  var source_simple_transistor = source_component_base.extend({
15362
- ftype: z25.literal("simple_transistor"),
15363
- transistor_type: z25.enum(["npn", "pnp"])
15366
+ ftype: z26.literal("simple_transistor"),
15367
+ transistor_type: z26.enum(["npn", "pnp"])
15364
15368
  });
15365
15369
  expectTypesMatch(true);
15366
15370
  var source_simple_test_point = source_component_base.extend({
15367
- ftype: z26.literal("simple_test_point"),
15368
- footprint_variant: z26.enum(["pad", "through_hole"]).optional(),
15369
- pad_shape: z26.enum(["rect", "circle"]).optional(),
15370
- pad_diameter: z26.union([z26.number(), z26.string()]).optional(),
15371
- hole_diameter: z26.union([z26.number(), z26.string()]).optional(),
15372
- width: z26.union([z26.number(), z26.string()]).optional(),
15373
- height: z26.union([z26.number(), z26.string()]).optional()
15371
+ ftype: z27.literal("simple_test_point"),
15372
+ footprint_variant: z27.enum(["pad", "through_hole"]).optional(),
15373
+ pad_shape: z27.enum(["rect", "circle"]).optional(),
15374
+ pad_diameter: z27.union([z27.number(), z27.string()]).optional(),
15375
+ hole_diameter: z27.union([z27.number(), z27.string()]).optional(),
15376
+ width: z27.union([z27.number(), z27.string()]).optional(),
15377
+ height: z27.union([z27.number(), z27.string()]).optional()
15374
15378
  });
15375
15379
  expectTypesMatch(true);
15376
15380
  var source_simple_mosfet = source_component_base.extend({
15377
- ftype: z27.literal("simple_mosfet"),
15378
- channel_type: z27.enum(["n", "p"]),
15379
- mosfet_mode: z27.enum(["enhancement", "depletion"])
15381
+ ftype: z28.literal("simple_mosfet"),
15382
+ channel_type: z28.enum(["n", "p"]),
15383
+ mosfet_mode: z28.enum(["enhancement", "depletion"])
15380
15384
  });
15381
15385
  expectTypesMatch(true);
15382
15386
  var source_simple_switch = source_component_base.extend({
15383
- ftype: z28.literal("simple_switch")
15387
+ ftype: z29.literal("simple_switch")
15384
15388
  });
15385
15389
  expectTypesMatch(true);
15386
- var source_project_metadata = z29.object({
15387
- type: z29.literal("source_project_metadata"),
15388
- name: z29.string().optional(),
15389
- software_used_string: z29.string().optional(),
15390
- project_url: z29.string().optional(),
15390
+ var source_project_metadata = z30.object({
15391
+ type: z30.literal("source_project_metadata"),
15392
+ name: z30.string().optional(),
15393
+ software_used_string: z30.string().optional(),
15394
+ project_url: z30.string().optional(),
15391
15395
  created_at: timestamp.optional()
15392
15396
  });
15393
15397
  expectTypesMatch(true);
15394
- var source_missing_property_error = z30.object({
15395
- type: z30.literal("source_missing_property_error"),
15398
+ var source_missing_property_error = z31.object({
15399
+ type: z31.literal("source_missing_property_error"),
15396
15400
  source_missing_property_error_id: getZodPrefixedIdWithDefault(
15397
15401
  "source_missing_property_error"
15398
15402
  ),
15399
- source_component_id: z30.string(),
15400
- property_name: z30.string(),
15401
- subcircuit_id: z30.string().optional(),
15402
- error_type: z30.literal("source_missing_property_error").default("source_missing_property_error"),
15403
- message: z30.string()
15403
+ source_component_id: z31.string(),
15404
+ property_name: z31.string(),
15405
+ subcircuit_id: z31.string().optional(),
15406
+ error_type: z31.literal("source_missing_property_error").default("source_missing_property_error"),
15407
+ message: z31.string()
15404
15408
  }).describe("The source code is missing a property");
15405
15409
  expectTypesMatch(true);
15406
- var source_failed_to_create_component_error = z31.object({
15407
- type: z31.literal("source_failed_to_create_component_error"),
15410
+ var source_failed_to_create_component_error = z32.object({
15411
+ type: z32.literal("source_failed_to_create_component_error"),
15408
15412
  source_failed_to_create_component_error_id: getZodPrefixedIdWithDefault(
15409
15413
  "source_failed_to_create_component_error"
15410
15414
  ),
15411
- error_type: z31.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
15412
- component_name: z31.string().optional(),
15413
- subcircuit_id: z31.string().optional(),
15414
- parent_source_component_id: z31.string().optional(),
15415
- message: z31.string(),
15416
- pcb_center: z31.object({
15417
- x: z31.number().optional(),
15418
- y: z31.number().optional()
15415
+ error_type: z32.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
15416
+ component_name: z32.string().optional(),
15417
+ subcircuit_id: z32.string().optional(),
15418
+ parent_source_component_id: z32.string().optional(),
15419
+ message: z32.string(),
15420
+ pcb_center: z32.object({
15421
+ x: z32.number().optional(),
15422
+ y: z32.number().optional()
15419
15423
  }).optional(),
15420
- schematic_center: z31.object({
15421
- x: z31.number().optional(),
15422
- y: z31.number().optional()
15424
+ schematic_center: z32.object({
15425
+ x: z32.number().optional(),
15426
+ y: z32.number().optional()
15423
15427
  }).optional()
15424
15428
  }).describe("Error emitted when a component fails to be constructed");
15425
15429
  expectTypesMatch(true);
15426
- var source_trace_not_connected_error = z32.object({
15427
- type: z32.literal("source_trace_not_connected_error"),
15430
+ var source_trace_not_connected_error = z33.object({
15431
+ type: z33.literal("source_trace_not_connected_error"),
15428
15432
  source_trace_not_connected_error_id: getZodPrefixedIdWithDefault(
15429
15433
  "source_trace_not_connected_error"
15430
15434
  ),
15431
- error_type: z32.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
15432
- message: z32.string(),
15433
- subcircuit_id: z32.string().optional(),
15434
- source_group_id: z32.string().optional(),
15435
- source_trace_id: z32.string().optional(),
15436
- connected_source_port_ids: z32.array(z32.string()).optional(),
15437
- selectors_not_found: z32.array(z32.string()).optional()
15435
+ error_type: z33.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
15436
+ message: z33.string(),
15437
+ subcircuit_id: z33.string().optional(),
15438
+ source_group_id: z33.string().optional(),
15439
+ source_trace_id: z33.string().optional(),
15440
+ connected_source_port_ids: z33.array(z33.string()).optional(),
15441
+ selectors_not_found: z33.array(z33.string()).optional()
15438
15442
  }).describe("Occurs when a source trace selector does not match any ports");
15439
15443
  expectTypesMatch(true);
15440
- var source_property_ignored_warning = z33.object({
15441
- type: z33.literal("source_property_ignored_warning"),
15444
+ var source_property_ignored_warning = z34.object({
15445
+ type: z34.literal("source_property_ignored_warning"),
15442
15446
  source_property_ignored_warning_id: getZodPrefixedIdWithDefault(
15443
15447
  "source_property_ignored_warning"
15444
15448
  ),
15445
- source_component_id: z33.string(),
15446
- property_name: z33.string(),
15447
- subcircuit_id: z33.string().optional(),
15448
- error_type: z33.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
15449
- message: z33.string()
15449
+ source_component_id: z34.string(),
15450
+ property_name: z34.string(),
15451
+ subcircuit_id: z34.string().optional(),
15452
+ error_type: z34.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
15453
+ message: z34.string()
15450
15454
  }).describe("The source property was ignored");
15451
15455
  expectTypesMatch(true);
15452
- var source_pin_missing_trace_warning = z34.object({
15453
- type: z34.literal("source_pin_missing_trace_warning"),
15456
+ var source_pin_missing_trace_warning = z35.object({
15457
+ type: z35.literal("source_pin_missing_trace_warning"),
15454
15458
  source_pin_missing_trace_warning_id: getZodPrefixedIdWithDefault(
15455
15459
  "source_pin_missing_trace_warning"
15456
15460
  ),
15457
- warning_type: z34.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
15458
- message: z34.string(),
15459
- source_component_id: z34.string(),
15460
- source_port_id: z34.string(),
15461
- subcircuit_id: z34.string().optional()
15461
+ warning_type: z35.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
15462
+ message: z35.string(),
15463
+ source_component_id: z35.string(),
15464
+ source_port_id: z35.string(),
15465
+ subcircuit_id: z35.string().optional()
15462
15466
  }).describe(
15463
15467
  "Warning emitted when a source component pin is missing a trace connection"
15464
15468
  );
15465
15469
  expectTypesMatch(true);
15466
15470
  var source_simple_voltage_probe = source_component_base.extend({
15467
- ftype: z35.literal("simple_voltage_probe")
15471
+ ftype: z36.literal("simple_voltage_probe")
15468
15472
  });
15469
15473
  expectTypesMatch(
15470
15474
  true
15471
15475
  );
15472
- var any_source_component = z36.union([
15476
+ var source_interconnect = source_component_base.extend({
15477
+ ftype: z37.literal("interconnect")
15478
+ });
15479
+ expectTypesMatch(true);
15480
+ var any_source_component = z38.union([
15473
15481
  source_simple_resistor,
15474
15482
  source_simple_capacitor,
15475
15483
  source_simple_diode,
15484
+ source_simple_fiducial,
15476
15485
  source_simple_led,
15477
15486
  source_simple_ground,
15478
15487
  source_simple_chip,
@@ -15491,6 +15500,7 @@ var any_source_component = z36.union([
15491
15500
  source_simple_mosfet,
15492
15501
  source_simple_fuse,
15493
15502
  source_simple_voltage_probe,
15503
+ source_interconnect,
15494
15504
  source_project_metadata,
15495
15505
  source_missing_property_error,
15496
15506
  source_failed_to_create_component_error,
@@ -15499,71 +15509,79 @@ var any_source_component = z36.union([
15499
15509
  source_pin_missing_trace_warning
15500
15510
  ]);
15501
15511
  expectTypesMatch(true);
15502
- var source_port = z37.object({
15503
- type: z37.literal("source_port"),
15504
- pin_number: z37.number().optional(),
15505
- port_hints: z37.array(z37.string()).optional(),
15506
- name: z37.string(),
15507
- source_port_id: z37.string(),
15508
- source_component_id: z37.string().optional(),
15509
- source_group_id: z37.string().optional(),
15510
- subcircuit_id: z37.string().optional(),
15511
- subcircuit_connectivity_map_key: z37.string().optional(),
15512
- must_be_connected: z37.boolean().optional()
15512
+ var source_port = z39.object({
15513
+ type: z39.literal("source_port"),
15514
+ pin_number: z39.number().optional(),
15515
+ port_hints: z39.array(z39.string()).optional(),
15516
+ name: z39.string(),
15517
+ source_port_id: z39.string(),
15518
+ source_component_id: z39.string().optional(),
15519
+ source_group_id: z39.string().optional(),
15520
+ subcircuit_id: z39.string().optional(),
15521
+ subcircuit_connectivity_map_key: z39.string().optional(),
15522
+ must_be_connected: z39.boolean().optional()
15513
15523
  });
15514
15524
  expectTypesMatch(true);
15515
- var source_trace = z38.object({
15516
- type: z38.literal("source_trace"),
15517
- source_trace_id: z38.string(),
15518
- connected_source_port_ids: z38.array(z38.string()),
15519
- connected_source_net_ids: z38.array(z38.string()),
15520
- subcircuit_id: z38.string().optional(),
15521
- subcircuit_connectivity_map_key: z38.string().optional(),
15522
- max_length: z38.number().optional(),
15523
- min_trace_thickness: z38.number().optional(),
15524
- display_name: z38.string().optional()
15525
+ var source_component_internal_connection = z40.object({
15526
+ type: z40.literal("source_component_internal_connection"),
15527
+ source_component_internal_connection_id: z40.string(),
15528
+ source_component_id: z40.string(),
15529
+ source_port_ids: z40.array(z40.string()),
15530
+ subcircuit_id: z40.string().optional()
15525
15531
  });
15526
15532
  expectTypesMatch(true);
15527
- var source_group = z39.object({
15528
- type: z39.literal("source_group"),
15529
- source_group_id: z39.string(),
15530
- subcircuit_id: z39.string().optional(),
15531
- parent_subcircuit_id: z39.string().optional(),
15532
- parent_source_group_id: z39.string().optional(),
15533
- is_subcircuit: z39.boolean().optional(),
15534
- show_as_schematic_box: z39.boolean().optional(),
15535
- name: z39.string().optional(),
15536
- was_automatically_named: z39.boolean().optional()
15533
+ var source_trace = z41.object({
15534
+ type: z41.literal("source_trace"),
15535
+ source_trace_id: z41.string(),
15536
+ connected_source_port_ids: z41.array(z41.string()),
15537
+ connected_source_net_ids: z41.array(z41.string()),
15538
+ subcircuit_id: z41.string().optional(),
15539
+ subcircuit_connectivity_map_key: z41.string().optional(),
15540
+ max_length: z41.number().optional(),
15541
+ min_trace_thickness: z41.number().optional(),
15542
+ display_name: z41.string().optional()
15537
15543
  });
15538
15544
  expectTypesMatch(true);
15539
- var source_net = z40.object({
15540
- type: z40.literal("source_net"),
15541
- source_net_id: z40.string(),
15542
- name: z40.string(),
15543
- member_source_group_ids: z40.array(z40.string()),
15544
- is_power: z40.boolean().optional(),
15545
- is_ground: z40.boolean().optional(),
15546
- is_digital_signal: z40.boolean().optional(),
15547
- is_analog_signal: z40.boolean().optional(),
15548
- is_positive_voltage_source: z40.boolean().optional(),
15549
- trace_width: z40.number().optional(),
15550
- subcircuit_id: z40.string().optional(),
15551
- subcircuit_connectivity_map_key: z40.string().optional()
15545
+ var source_group = z42.object({
15546
+ type: z42.literal("source_group"),
15547
+ source_group_id: z42.string(),
15548
+ subcircuit_id: z42.string().optional(),
15549
+ parent_subcircuit_id: z42.string().optional(),
15550
+ parent_source_group_id: z42.string().optional(),
15551
+ is_subcircuit: z42.boolean().optional(),
15552
+ show_as_schematic_box: z42.boolean().optional(),
15553
+ name: z42.string().optional(),
15554
+ was_automatically_named: z42.boolean().optional()
15552
15555
  });
15553
15556
  expectTypesMatch(true);
15554
- var source_board = z41.object({
15555
- type: z41.literal("source_board"),
15556
- source_board_id: z41.string(),
15557
- source_group_id: z41.string(),
15558
- title: z41.string().optional()
15557
+ var source_net = z43.object({
15558
+ type: z43.literal("source_net"),
15559
+ source_net_id: z43.string(),
15560
+ name: z43.string(),
15561
+ member_source_group_ids: z43.array(z43.string()),
15562
+ is_power: z43.boolean().optional(),
15563
+ is_ground: z43.boolean().optional(),
15564
+ is_digital_signal: z43.boolean().optional(),
15565
+ is_analog_signal: z43.boolean().optional(),
15566
+ is_positive_voltage_source: z43.boolean().optional(),
15567
+ trace_width: z43.number().optional(),
15568
+ subcircuit_id: z43.string().optional(),
15569
+ subcircuit_connectivity_map_key: z43.string().optional()
15570
+ });
15571
+ expectTypesMatch(true);
15572
+ var source_board = z44.object({
15573
+ type: z44.literal("source_board"),
15574
+ source_board_id: z44.string(),
15575
+ source_group_id: z44.string(),
15576
+ title: z44.string().optional()
15559
15577
  }).describe("Defines a board in the source domain");
15560
15578
  expectTypesMatch(true);
15561
- var source_pcb_ground_plane = z42.object({
15562
- type: z42.literal("source_pcb_ground_plane"),
15563
- source_pcb_ground_plane_id: z42.string(),
15564
- source_group_id: z42.string(),
15565
- source_net_id: z42.string(),
15566
- subcircuit_id: z42.string().optional()
15579
+ var source_pcb_ground_plane = z45.object({
15580
+ type: z45.literal("source_pcb_ground_plane"),
15581
+ source_pcb_ground_plane_id: z45.string(),
15582
+ source_group_id: z45.string(),
15583
+ source_net_id: z45.string(),
15584
+ subcircuit_id: z45.string().optional()
15567
15585
  }).describe("Defines a ground plane in the source domain");
15568
15586
  expectTypesMatch(true);
15569
15587
  var all_layers = [
@@ -15576,9 +15594,9 @@ var all_layers = [
15576
15594
  "inner5",
15577
15595
  "inner6"
15578
15596
  ];
15579
- var layer_string = z43.enum(all_layers);
15597
+ var layer_string = z46.enum(all_layers);
15580
15598
  var layer_ref = layer_string.or(
15581
- z43.object({
15599
+ z46.object({
15582
15600
  name: layer_string
15583
15601
  })
15584
15602
  ).transform((layer) => {
@@ -15588,215 +15606,215 @@ var layer_ref = layer_string.or(
15588
15606
  return layer.name;
15589
15607
  });
15590
15608
  expectTypesMatch(true);
15591
- var visible_layer = z43.enum(["top", "bottom"]);
15592
- var source_manually_placed_via = z44.object({
15593
- type: z44.literal("source_manually_placed_via"),
15594
- source_manually_placed_via_id: z44.string(),
15595
- source_group_id: z44.string(),
15596
- source_net_id: z44.string(),
15597
- subcircuit_id: z44.string().optional(),
15598
- source_trace_id: z44.string().optional()
15609
+ var visible_layer = z46.enum(["top", "bottom"]);
15610
+ var source_manually_placed_via = z47.object({
15611
+ type: z47.literal("source_manually_placed_via"),
15612
+ source_manually_placed_via_id: z47.string(),
15613
+ source_group_id: z47.string(),
15614
+ source_net_id: z47.string(),
15615
+ subcircuit_id: z47.string().optional(),
15616
+ source_trace_id: z47.string().optional()
15599
15617
  }).describe("Defines a via that is manually placed in the source domain");
15600
15618
  expectTypesMatch(true);
15601
- var source_pin_must_be_connected_error = z45.object({
15602
- type: z45.literal("source_pin_must_be_connected_error"),
15619
+ var source_pin_must_be_connected_error = z48.object({
15620
+ type: z48.literal("source_pin_must_be_connected_error"),
15603
15621
  source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
15604
15622
  "source_pin_must_be_connected_error"
15605
15623
  ),
15606
- error_type: z45.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
15607
- message: z45.string(),
15608
- source_component_id: z45.string(),
15609
- source_port_id: z45.string(),
15610
- subcircuit_id: z45.string().optional()
15624
+ error_type: z48.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
15625
+ message: z48.string(),
15626
+ source_component_id: z48.string(),
15627
+ source_port_id: z48.string(),
15628
+ subcircuit_id: z48.string().optional()
15611
15629
  }).describe(
15612
15630
  "Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
15613
15631
  );
15614
15632
  expectTypesMatch(true);
15615
- var unknown_error_finding_part = z46.object({
15616
- type: z46.literal("unknown_error_finding_part"),
15633
+ var unknown_error_finding_part = z49.object({
15634
+ type: z49.literal("unknown_error_finding_part"),
15617
15635
  unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
15618
15636
  "unknown_error_finding_part"
15619
15637
  ),
15620
- error_type: z46.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
15621
- message: z46.string(),
15622
- source_component_id: z46.string().optional(),
15623
- subcircuit_id: z46.string().optional()
15638
+ error_type: z49.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
15639
+ message: z49.string(),
15640
+ source_component_id: z49.string().optional(),
15641
+ subcircuit_id: z49.string().optional()
15624
15642
  }).describe(
15625
15643
  "Error emitted when an unexpected error occurs while finding a part"
15626
15644
  );
15627
15645
  expectTypesMatch(true);
15628
- var schematic_box = z47.object({
15629
- type: z47.literal("schematic_box"),
15630
- schematic_component_id: z47.string().optional(),
15646
+ var schematic_box = z50.object({
15647
+ type: z50.literal("schematic_box"),
15648
+ schematic_component_id: z50.string().optional(),
15631
15649
  width: distance,
15632
15650
  height: distance,
15633
- is_dashed: z47.boolean().default(false),
15651
+ is_dashed: z50.boolean().default(false),
15634
15652
  x: distance,
15635
15653
  y: distance,
15636
- subcircuit_id: z47.string().optional()
15654
+ subcircuit_id: z50.string().optional()
15637
15655
  }).describe("Draws a box on the schematic");
15638
15656
  expectTypesMatch(true);
15639
- var schematic_path = z48.object({
15640
- type: z48.literal("schematic_path"),
15641
- schematic_component_id: z48.string(),
15642
- fill_color: z48.enum(["red", "blue"]).optional(),
15643
- is_filled: z48.boolean().optional(),
15644
- points: z48.array(point),
15645
- subcircuit_id: z48.string().optional()
15657
+ var schematic_path = z51.object({
15658
+ type: z51.literal("schematic_path"),
15659
+ schematic_component_id: z51.string(),
15660
+ fill_color: z51.enum(["red", "blue"]).optional(),
15661
+ is_filled: z51.boolean().optional(),
15662
+ points: z51.array(point),
15663
+ subcircuit_id: z51.string().optional()
15646
15664
  });
15647
15665
  expectTypesMatch(true);
15648
- var schematic_pin_styles = z49.record(
15649
- z49.object({
15666
+ var schematic_pin_styles = z52.record(
15667
+ z52.object({
15650
15668
  left_margin: length.optional(),
15651
15669
  right_margin: length.optional(),
15652
15670
  top_margin: length.optional(),
15653
15671
  bottom_margin: length.optional()
15654
15672
  })
15655
15673
  );
15656
- var schematic_component_port_arrangement_by_size = z49.object({
15657
- left_size: z49.number(),
15658
- right_size: z49.number(),
15659
- top_size: z49.number().optional(),
15660
- bottom_size: z49.number().optional()
15674
+ var schematic_component_port_arrangement_by_size = z52.object({
15675
+ left_size: z52.number(),
15676
+ right_size: z52.number(),
15677
+ top_size: z52.number().optional(),
15678
+ bottom_size: z52.number().optional()
15661
15679
  });
15662
15680
  expectTypesMatch(true);
15663
- var schematic_component_port_arrangement_by_sides = z49.object({
15664
- left_side: z49.object({
15665
- pins: z49.array(z49.number()),
15681
+ var schematic_component_port_arrangement_by_sides = z52.object({
15682
+ left_side: z52.object({
15683
+ pins: z52.array(z52.number()),
15666
15684
  // @ts-ignore
15667
- direction: z49.enum(["top-to-bottom", "bottom-to-top"]).optional()
15685
+ direction: z52.enum(["top-to-bottom", "bottom-to-top"]).optional()
15668
15686
  }).optional(),
15669
- right_side: z49.object({
15670
- pins: z49.array(z49.number()),
15687
+ right_side: z52.object({
15688
+ pins: z52.array(z52.number()),
15671
15689
  // @ts-ignore
15672
- direction: z49.enum(["top-to-bottom", "bottom-to-top"]).optional()
15690
+ direction: z52.enum(["top-to-bottom", "bottom-to-top"]).optional()
15673
15691
  }).optional(),
15674
- top_side: z49.object({
15675
- pins: z49.array(z49.number()),
15692
+ top_side: z52.object({
15693
+ pins: z52.array(z52.number()),
15676
15694
  // @ts-ignore
15677
- direction: z49.enum(["left-to-right", "right-to-left"]).optional()
15695
+ direction: z52.enum(["left-to-right", "right-to-left"]).optional()
15678
15696
  }).optional(),
15679
- bottom_side: z49.object({
15680
- pins: z49.array(z49.number()),
15697
+ bottom_side: z52.object({
15698
+ pins: z52.array(z52.number()),
15681
15699
  // @ts-ignore
15682
- direction: z49.enum(["left-to-right", "right-to-left"]).optional()
15700
+ direction: z52.enum(["left-to-right", "right-to-left"]).optional()
15683
15701
  }).optional()
15684
15702
  });
15685
15703
  expectTypesMatch(true);
15686
- var port_arrangement = z49.union([
15704
+ var port_arrangement = z52.union([
15687
15705
  schematic_component_port_arrangement_by_size,
15688
15706
  schematic_component_port_arrangement_by_sides
15689
15707
  ]);
15690
- var schematic_component = z49.object({
15691
- type: z49.literal("schematic_component"),
15708
+ var schematic_component = z52.object({
15709
+ type: z52.literal("schematic_component"),
15692
15710
  size,
15693
15711
  center: point,
15694
- source_component_id: z49.string().optional(),
15695
- schematic_component_id: z49.string(),
15712
+ source_component_id: z52.string().optional(),
15713
+ schematic_component_id: z52.string(),
15696
15714
  pin_spacing: length.optional(),
15697
15715
  pin_styles: schematic_pin_styles.optional(),
15698
15716
  box_width: length.optional(),
15699
- symbol_name: z49.string().optional(),
15717
+ symbol_name: z52.string().optional(),
15700
15718
  port_arrangement: port_arrangement.optional(),
15701
- port_labels: z49.record(z49.string()).optional(),
15702
- symbol_display_value: z49.string().optional(),
15703
- subcircuit_id: z49.string().optional(),
15704
- schematic_group_id: z49.string().optional(),
15705
- is_schematic_group: z49.boolean().optional(),
15706
- source_group_id: z49.string().optional(),
15707
- is_box_with_pins: z49.boolean().optional().default(true)
15719
+ port_labels: z52.record(z52.string()).optional(),
15720
+ symbol_display_value: z52.string().optional(),
15721
+ subcircuit_id: z52.string().optional(),
15722
+ schematic_group_id: z52.string().optional(),
15723
+ is_schematic_group: z52.boolean().optional(),
15724
+ source_group_id: z52.string().optional(),
15725
+ is_box_with_pins: z52.boolean().optional().default(true)
15708
15726
  });
15709
15727
  expectTypesMatch(true);
15710
- var schematic_line = z50.object({
15711
- type: z50.literal("schematic_line"),
15728
+ var schematic_line = z53.object({
15729
+ type: z53.literal("schematic_line"),
15712
15730
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
15713
- schematic_component_id: z50.string(),
15731
+ schematic_component_id: z53.string(),
15714
15732
  x1: distance,
15715
15733
  y1: distance,
15716
15734
  x2: distance,
15717
15735
  y2: distance,
15718
15736
  stroke_width: distance.nullable().optional(),
15719
- color: z50.string().default("#000000"),
15720
- is_dashed: z50.boolean().default(false),
15721
- subcircuit_id: z50.string().optional()
15737
+ color: z53.string().default("#000000"),
15738
+ is_dashed: z53.boolean().default(false),
15739
+ subcircuit_id: z53.string().optional()
15722
15740
  }).describe("Draws a styled line on the schematic");
15723
15741
  expectTypesMatch(true);
15724
- var schematic_rect = z51.object({
15725
- type: z51.literal("schematic_rect"),
15742
+ var schematic_rect = z54.object({
15743
+ type: z54.literal("schematic_rect"),
15726
15744
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
15727
- schematic_component_id: z51.string(),
15745
+ schematic_component_id: z54.string(),
15728
15746
  center: point,
15729
15747
  width: distance,
15730
15748
  height: distance,
15731
15749
  rotation: rotation.default(0),
15732
15750
  stroke_width: distance.nullable().optional(),
15733
- color: z51.string().default("#000000"),
15734
- is_filled: z51.boolean().default(false),
15735
- fill_color: z51.string().optional(),
15736
- is_dashed: z51.boolean().default(false),
15737
- subcircuit_id: z51.string().optional()
15751
+ color: z54.string().default("#000000"),
15752
+ is_filled: z54.boolean().default(false),
15753
+ fill_color: z54.string().optional(),
15754
+ is_dashed: z54.boolean().default(false),
15755
+ subcircuit_id: z54.string().optional()
15738
15756
  }).describe("Draws a styled rectangle on the schematic");
15739
15757
  expectTypesMatch(true);
15740
- var schematic_circle = z52.object({
15741
- type: z52.literal("schematic_circle"),
15758
+ var schematic_circle = z55.object({
15759
+ type: z55.literal("schematic_circle"),
15742
15760
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
15743
- schematic_component_id: z52.string(),
15761
+ schematic_component_id: z55.string(),
15744
15762
  center: point,
15745
15763
  radius: distance,
15746
15764
  stroke_width: distance.nullable().optional(),
15747
- color: z52.string().default("#000000"),
15748
- is_filled: z52.boolean().default(false),
15749
- fill_color: z52.string().optional(),
15750
- is_dashed: z52.boolean().default(false),
15751
- subcircuit_id: z52.string().optional()
15765
+ color: z55.string().default("#000000"),
15766
+ is_filled: z55.boolean().default(false),
15767
+ fill_color: z55.string().optional(),
15768
+ is_dashed: z55.boolean().default(false),
15769
+ subcircuit_id: z55.string().optional()
15752
15770
  }).describe("Draws a styled circle on the schematic");
15753
15771
  expectTypesMatch(true);
15754
- var schematic_arc = z53.object({
15755
- type: z53.literal("schematic_arc"),
15772
+ var schematic_arc = z56.object({
15773
+ type: z56.literal("schematic_arc"),
15756
15774
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
15757
- schematic_component_id: z53.string(),
15775
+ schematic_component_id: z56.string(),
15758
15776
  center: point,
15759
15777
  radius: distance,
15760
15778
  start_angle_degrees: rotation,
15761
15779
  end_angle_degrees: rotation,
15762
- direction: z53.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
15780
+ direction: z56.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
15763
15781
  stroke_width: distance.nullable().optional(),
15764
- color: z53.string().default("#000000"),
15765
- is_dashed: z53.boolean().default(false),
15766
- subcircuit_id: z53.string().optional()
15782
+ color: z56.string().default("#000000"),
15783
+ is_dashed: z56.boolean().default(false),
15784
+ subcircuit_id: z56.string().optional()
15767
15785
  }).describe("Draws a styled arc on the schematic");
15768
15786
  expectTypesMatch(true);
15769
- var schematic_trace = z54.object({
15770
- type: z54.literal("schematic_trace"),
15771
- schematic_trace_id: z54.string(),
15772
- source_trace_id: z54.string().optional(),
15773
- junctions: z54.array(
15774
- z54.object({
15775
- x: z54.number(),
15776
- y: z54.number()
15787
+ var schematic_trace = z57.object({
15788
+ type: z57.literal("schematic_trace"),
15789
+ schematic_trace_id: z57.string(),
15790
+ source_trace_id: z57.string().optional(),
15791
+ junctions: z57.array(
15792
+ z57.object({
15793
+ x: z57.number(),
15794
+ y: z57.number()
15777
15795
  })
15778
15796
  ),
15779
- edges: z54.array(
15780
- z54.object({
15781
- from: z54.object({
15782
- x: z54.number(),
15783
- y: z54.number()
15797
+ edges: z57.array(
15798
+ z57.object({
15799
+ from: z57.object({
15800
+ x: z57.number(),
15801
+ y: z57.number()
15784
15802
  }),
15785
- to: z54.object({
15786
- x: z54.number(),
15787
- y: z54.number()
15803
+ to: z57.object({
15804
+ x: z57.number(),
15805
+ y: z57.number()
15788
15806
  }),
15789
- is_crossing: z54.boolean().optional(),
15790
- from_schematic_port_id: z54.string().optional(),
15791
- to_schematic_port_id: z54.string().optional()
15807
+ is_crossing: z57.boolean().optional(),
15808
+ from_schematic_port_id: z57.string().optional(),
15809
+ to_schematic_port_id: z57.string().optional()
15792
15810
  })
15793
15811
  ),
15794
- subcircuit_id: z54.string().optional(),
15812
+ subcircuit_id: z57.string().optional(),
15795
15813
  // TODO: make required in a future release
15796
- subcircuit_connectivity_map_key: z54.string().optional()
15814
+ subcircuit_connectivity_map_key: z57.string().optional()
15797
15815
  });
15798
15816
  expectTypesMatch(true);
15799
- var fivePointAnchor = z55.enum([
15817
+ var fivePointAnchor = z58.enum([
15800
15818
  "center",
15801
15819
  "left",
15802
15820
  "right",
@@ -15804,475 +15822,484 @@ var fivePointAnchor = z55.enum([
15804
15822
  "bottom"
15805
15823
  ]);
15806
15824
  expectTypesMatch(true);
15807
- var schematic_text = z56.object({
15808
- type: z56.literal("schematic_text"),
15809
- schematic_component_id: z56.string().optional(),
15810
- schematic_text_id: z56.string(),
15811
- text: z56.string(),
15812
- font_size: z56.number().default(0.18),
15813
- position: z56.object({
15825
+ var schematic_text = z59.object({
15826
+ type: z59.literal("schematic_text"),
15827
+ schematic_component_id: z59.string().optional(),
15828
+ schematic_text_id: z59.string(),
15829
+ text: z59.string(),
15830
+ font_size: z59.number().default(0.18),
15831
+ position: z59.object({
15814
15832
  x: distance,
15815
15833
  y: distance
15816
15834
  }),
15817
- rotation: z56.number().default(0),
15818
- anchor: z56.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
15819
- color: z56.string().default("#000000"),
15820
- subcircuit_id: z56.string().optional()
15835
+ rotation: z59.number().default(0),
15836
+ anchor: z59.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
15837
+ color: z59.string().default("#000000"),
15838
+ subcircuit_id: z59.string().optional()
15821
15839
  });
15822
15840
  expectTypesMatch(true);
15823
- var schematic_port = z57.object({
15824
- type: z57.literal("schematic_port"),
15825
- schematic_port_id: z57.string(),
15826
- source_port_id: z57.string(),
15827
- schematic_component_id: z57.string().optional(),
15841
+ var schematic_port = z60.object({
15842
+ type: z60.literal("schematic_port"),
15843
+ schematic_port_id: z60.string(),
15844
+ source_port_id: z60.string(),
15845
+ schematic_component_id: z60.string().optional(),
15828
15846
  center: point,
15829
- facing_direction: z57.enum(["up", "down", "left", "right"]).optional(),
15830
- distance_from_component_edge: z57.number().optional(),
15831
- side_of_component: z57.enum(["top", "bottom", "left", "right"]).optional(),
15832
- true_ccw_index: z57.number().optional(),
15833
- pin_number: z57.number().optional(),
15834
- display_pin_label: z57.string().optional(),
15835
- subcircuit_id: z57.string().optional(),
15836
- is_connected: z57.boolean().optional(),
15837
- has_input_arrow: z57.boolean().optional(),
15838
- has_output_arrow: z57.boolean().optional()
15847
+ facing_direction: z60.enum(["up", "down", "left", "right"]).optional(),
15848
+ distance_from_component_edge: z60.number().optional(),
15849
+ side_of_component: z60.enum(["top", "bottom", "left", "right"]).optional(),
15850
+ true_ccw_index: z60.number().optional(),
15851
+ pin_number: z60.number().optional(),
15852
+ display_pin_label: z60.string().optional(),
15853
+ subcircuit_id: z60.string().optional(),
15854
+ is_connected: z60.boolean().optional(),
15855
+ has_input_arrow: z60.boolean().optional(),
15856
+ has_output_arrow: z60.boolean().optional()
15839
15857
  }).describe("Defines a port on a schematic component");
15840
15858
  expectTypesMatch(true);
15841
- var schematic_net_label = z58.object({
15842
- type: z58.literal("schematic_net_label"),
15859
+ var schematic_net_label = z61.object({
15860
+ type: z61.literal("schematic_net_label"),
15843
15861
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
15844
- schematic_trace_id: z58.string().optional(),
15845
- source_trace_id: z58.string().optional(),
15846
- source_net_id: z58.string(),
15862
+ schematic_trace_id: z61.string().optional(),
15863
+ source_trace_id: z61.string().optional(),
15864
+ source_net_id: z61.string(),
15847
15865
  center: point,
15848
15866
  anchor_position: point.optional(),
15849
- anchor_side: z58.enum(["top", "bottom", "left", "right"]),
15850
- text: z58.string(),
15851
- symbol_name: z58.string().optional(),
15852
- is_movable: z58.boolean().optional(),
15853
- subcircuit_id: z58.string().optional()
15867
+ anchor_side: z61.enum(["top", "bottom", "left", "right"]),
15868
+ text: z61.string(),
15869
+ symbol_name: z61.string().optional(),
15870
+ is_movable: z61.boolean().optional(),
15871
+ subcircuit_id: z61.string().optional()
15854
15872
  });
15855
15873
  expectTypesMatch(true);
15856
- var schematic_error = z59.object({
15857
- type: z59.literal("schematic_error"),
15858
- schematic_error_id: z59.string(),
15874
+ var schematic_error = z62.object({
15875
+ type: z62.literal("schematic_error"),
15876
+ schematic_error_id: z62.string(),
15859
15877
  // eventually each error type should be broken out into a dir of files
15860
- error_type: z59.literal("schematic_port_not_found").default("schematic_port_not_found"),
15861
- message: z59.string(),
15862
- subcircuit_id: z59.string().optional()
15878
+ error_type: z62.literal("schematic_port_not_found").default("schematic_port_not_found"),
15879
+ message: z62.string(),
15880
+ subcircuit_id: z62.string().optional()
15863
15881
  }).describe("Defines a schematic error on the schematic");
15864
15882
  expectTypesMatch(true);
15865
- var schematic_layout_error = z60.object({
15866
- type: z60.literal("schematic_layout_error"),
15883
+ var schematic_layout_error = z63.object({
15884
+ type: z63.literal("schematic_layout_error"),
15867
15885
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
15868
15886
  "schematic_layout_error"
15869
15887
  ),
15870
- error_type: z60.literal("schematic_layout_error").default("schematic_layout_error"),
15871
- message: z60.string(),
15872
- source_group_id: z60.string(),
15873
- schematic_group_id: z60.string(),
15874
- subcircuit_id: z60.string().optional()
15888
+ error_type: z63.literal("schematic_layout_error").default("schematic_layout_error"),
15889
+ message: z63.string(),
15890
+ source_group_id: z63.string(),
15891
+ schematic_group_id: z63.string(),
15892
+ subcircuit_id: z63.string().optional()
15875
15893
  }).describe("Error emitted when schematic layout fails for a group");
15876
15894
  expectTypesMatch(true);
15877
- var schematic_debug_object_base = z61.object({
15878
- type: z61.literal("schematic_debug_object"),
15879
- label: z61.string().optional(),
15880
- subcircuit_id: z61.string().optional()
15895
+ var schematic_debug_object_base = z64.object({
15896
+ type: z64.literal("schematic_debug_object"),
15897
+ label: z64.string().optional(),
15898
+ subcircuit_id: z64.string().optional()
15881
15899
  });
15882
15900
  var schematic_debug_rect = schematic_debug_object_base.extend({
15883
- shape: z61.literal("rect"),
15901
+ shape: z64.literal("rect"),
15884
15902
  center: point,
15885
15903
  size
15886
15904
  });
15887
15905
  var schematic_debug_line = schematic_debug_object_base.extend({
15888
- shape: z61.literal("line"),
15906
+ shape: z64.literal("line"),
15889
15907
  start: point,
15890
15908
  end: point
15891
15909
  });
15892
15910
  var schematic_debug_point = schematic_debug_object_base.extend({
15893
- shape: z61.literal("point"),
15911
+ shape: z64.literal("point"),
15894
15912
  center: point
15895
15913
  });
15896
- var schematic_debug_object = z61.discriminatedUnion("shape", [
15914
+ var schematic_debug_object = z64.discriminatedUnion("shape", [
15897
15915
  schematic_debug_rect,
15898
15916
  schematic_debug_line,
15899
15917
  schematic_debug_point
15900
15918
  ]);
15901
15919
  expectTypesMatch(true);
15902
- var schematic_voltage_probe = z62.object({
15903
- type: z62.literal("schematic_voltage_probe"),
15904
- schematic_voltage_probe_id: z62.string(),
15905
- source_component_id: z62.string().optional(),
15906
- name: z62.string().optional(),
15920
+ var schematic_voltage_probe = z65.object({
15921
+ type: z65.literal("schematic_voltage_probe"),
15922
+ schematic_voltage_probe_id: z65.string(),
15923
+ source_component_id: z65.string().optional(),
15924
+ name: z65.string().optional(),
15907
15925
  position: point,
15908
- schematic_trace_id: z62.string(),
15926
+ schematic_trace_id: z65.string(),
15909
15927
  voltage: voltage.optional(),
15910
- subcircuit_id: z62.string().optional(),
15911
- color: z62.string().optional()
15928
+ subcircuit_id: z65.string().optional(),
15929
+ color: z65.string().optional(),
15930
+ label_alignment: ninePointAnchor.optional()
15912
15931
  }).describe("Defines a voltage probe measurement point on a schematic trace");
15913
15932
  expectTypesMatch(true);
15914
- var schematic_manual_edit_conflict_warning = z63.object({
15915
- type: z63.literal("schematic_manual_edit_conflict_warning"),
15933
+ var schematic_manual_edit_conflict_warning = z66.object({
15934
+ type: z66.literal("schematic_manual_edit_conflict_warning"),
15916
15935
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
15917
15936
  "schematic_manual_edit_conflict_warning"
15918
15937
  ),
15919
- warning_type: z63.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
15920
- message: z63.string(),
15921
- schematic_component_id: z63.string(),
15922
- schematic_group_id: z63.string().optional(),
15923
- subcircuit_id: z63.string().optional(),
15924
- source_component_id: z63.string()
15938
+ warning_type: z66.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
15939
+ message: z66.string(),
15940
+ schematic_component_id: z66.string(),
15941
+ schematic_group_id: z66.string().optional(),
15942
+ subcircuit_id: z66.string().optional(),
15943
+ source_component_id: z66.string()
15925
15944
  }).describe(
15926
15945
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
15927
15946
  );
15928
15947
  expectTypesMatch(true);
15929
- var schematic_group = z64.object({
15930
- type: z64.literal("schematic_group"),
15948
+ var schematic_group = z67.object({
15949
+ type: z67.literal("schematic_group"),
15931
15950
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
15932
- source_group_id: z64.string(),
15933
- is_subcircuit: z64.boolean().optional(),
15934
- subcircuit_id: z64.string().optional(),
15951
+ source_group_id: z67.string(),
15952
+ is_subcircuit: z67.boolean().optional(),
15953
+ subcircuit_id: z67.string().optional(),
15935
15954
  width: length,
15936
15955
  height: length,
15937
15956
  center: point,
15938
- schematic_component_ids: z64.array(z64.string()),
15939
- show_as_schematic_box: z64.boolean().optional(),
15940
- name: z64.string().optional(),
15941
- description: z64.string().optional()
15957
+ schematic_component_ids: z67.array(z67.string()),
15958
+ show_as_schematic_box: z67.boolean().optional(),
15959
+ name: z67.string().optional(),
15960
+ description: z67.string().optional()
15942
15961
  }).describe("Defines a group of components on the schematic");
15943
15962
  expectTypesMatch(true);
15944
- var schematic_table = z65.object({
15945
- type: z65.literal("schematic_table"),
15963
+ var schematic_table = z68.object({
15964
+ type: z68.literal("schematic_table"),
15946
15965
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
15947
15966
  anchor_position: point,
15948
- column_widths: z65.array(distance),
15949
- row_heights: z65.array(distance),
15967
+ column_widths: z68.array(distance),
15968
+ row_heights: z68.array(distance),
15950
15969
  cell_padding: distance.optional(),
15951
15970
  border_width: distance.optional(),
15952
- subcircuit_id: z65.string().optional(),
15953
- schematic_component_id: z65.string().optional(),
15971
+ subcircuit_id: z68.string().optional(),
15972
+ schematic_component_id: z68.string().optional(),
15954
15973
  anchor: ninePointAnchor.optional()
15955
15974
  }).describe("Defines a table on the schematic");
15956
15975
  expectTypesMatch(true);
15957
- var schematic_table_cell = z66.object({
15958
- type: z66.literal("schematic_table_cell"),
15976
+ var schematic_table_cell = z69.object({
15977
+ type: z69.literal("schematic_table_cell"),
15959
15978
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
15960
15979
  "schematic_table_cell"
15961
15980
  ),
15962
- schematic_table_id: z66.string(),
15963
- start_row_index: z66.number(),
15964
- end_row_index: z66.number(),
15965
- start_column_index: z66.number(),
15966
- end_column_index: z66.number(),
15967
- text: z66.string().optional(),
15981
+ schematic_table_id: z69.string(),
15982
+ start_row_index: z69.number(),
15983
+ end_row_index: z69.number(),
15984
+ start_column_index: z69.number(),
15985
+ end_column_index: z69.number(),
15986
+ text: z69.string().optional(),
15968
15987
  center: point,
15969
15988
  width: distance,
15970
15989
  height: distance,
15971
- horizontal_align: z66.enum(["left", "center", "right"]).optional(),
15972
- vertical_align: z66.enum(["top", "middle", "bottom"]).optional(),
15990
+ horizontal_align: z69.enum(["left", "center", "right"]).optional(),
15991
+ vertical_align: z69.enum(["top", "middle", "bottom"]).optional(),
15973
15992
  font_size: distance.optional(),
15974
- subcircuit_id: z66.string().optional()
15993
+ subcircuit_id: z69.string().optional()
15975
15994
  }).describe("Defines a cell within a schematic_table");
15976
15995
  expectTypesMatch(true);
15977
- var schematic_sheet = z67.object({
15978
- type: z67.literal("schematic_sheet"),
15996
+ var schematic_sheet = z70.object({
15997
+ type: z70.literal("schematic_sheet"),
15979
15998
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
15980
- name: z67.string().optional(),
15981
- subcircuit_id: z67.string().optional()
15999
+ name: z70.string().optional(),
16000
+ subcircuit_id: z70.string().optional()
15982
16001
  }).describe(
15983
16002
  "Defines a schematic sheet or page that components can be placed on"
15984
16003
  );
15985
16004
  expectTypesMatch(true);
15986
- var point_with_bulge = z68.object({
16005
+ var point_with_bulge = z71.object({
15987
16006
  x: distance,
15988
16007
  y: distance,
15989
- bulge: z68.number().optional()
16008
+ bulge: z71.number().optional()
15990
16009
  });
15991
16010
  expectTypesMatch(true);
15992
- var ring = z68.object({
15993
- vertices: z68.array(point_with_bulge)
16011
+ var ring = z71.object({
16012
+ vertices: z71.array(point_with_bulge)
15994
16013
  });
15995
16014
  expectTypesMatch(true);
15996
- var brep_shape = z68.object({
16015
+ var brep_shape = z71.object({
15997
16016
  outer_ring: ring,
15998
- inner_rings: z68.array(ring).default([])
16017
+ inner_rings: z71.array(ring).default([])
15999
16018
  });
16000
16019
  expectTypesMatch(true);
16001
- var pcb_route_hint = z69.object({
16020
+ var pcb_route_hint = z72.object({
16002
16021
  x: distance,
16003
16022
  y: distance,
16004
- via: z69.boolean().optional(),
16023
+ via: z72.boolean().optional(),
16005
16024
  via_to_layer: layer_ref.optional()
16006
16025
  });
16007
- var pcb_route_hints = z69.array(pcb_route_hint);
16026
+ var pcb_route_hints = z72.array(pcb_route_hint);
16008
16027
  expectTypesMatch(true);
16009
16028
  expectTypesMatch(true);
16010
- var route_hint_point = z70.object({
16029
+ var route_hint_point = z73.object({
16011
16030
  x: distance,
16012
16031
  y: distance,
16013
- via: z70.boolean().optional(),
16032
+ via: z73.boolean().optional(),
16014
16033
  to_layer: layer_ref.optional(),
16015
16034
  trace_width: distance.optional()
16016
16035
  });
16017
16036
  expectTypesMatch(true);
16018
- var pcb_component = z71.object({
16019
- type: z71.literal("pcb_component"),
16037
+ var pcb_component = z74.object({
16038
+ type: z74.literal("pcb_component"),
16020
16039
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
16021
- source_component_id: z71.string(),
16040
+ source_component_id: z74.string(),
16022
16041
  center: point,
16023
16042
  layer: layer_ref,
16024
16043
  rotation,
16044
+ display_offset_x: z74.string().optional().describe(
16045
+ "How to display the x offset for this part, usually corresponding with how the user specified it"
16046
+ ),
16047
+ display_offset_y: z74.string().optional().describe(
16048
+ "How to display the y offset for this part, usually corresponding with how the user specified it"
16049
+ ),
16025
16050
  width: length,
16026
16051
  height: length,
16027
- do_not_place: z71.boolean().optional(),
16028
- subcircuit_id: z71.string().optional(),
16029
- pcb_group_id: z71.string().optional(),
16030
- position_mode: z71.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
16031
- positioned_relative_to_pcb_group_id: z71.string().optional(),
16032
- obstructs_within_bounds: z71.boolean().default(true).describe(
16052
+ do_not_place: z74.boolean().optional(),
16053
+ subcircuit_id: z74.string().optional(),
16054
+ pcb_group_id: z74.string().optional(),
16055
+ position_mode: z74.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
16056
+ positioned_relative_to_pcb_group_id: z74.string().optional(),
16057
+ positioned_relative_to_pcb_board_id: z74.string().optional(),
16058
+ obstructs_within_bounds: z74.boolean().default(true).describe(
16033
16059
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
16034
16060
  )
16035
16061
  }).describe("Defines a component on the PCB");
16036
16062
  expectTypesMatch(true);
16037
- var pcb_hole_circle = z72.object({
16038
- type: z72.literal("pcb_hole"),
16063
+ var pcb_hole_circle = z75.object({
16064
+ type: z75.literal("pcb_hole"),
16039
16065
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16040
- pcb_group_id: z72.string().optional(),
16041
- subcircuit_id: z72.string().optional(),
16042
- hole_shape: z72.literal("circle"),
16043
- hole_diameter: z72.number(),
16066
+ pcb_group_id: z75.string().optional(),
16067
+ subcircuit_id: z75.string().optional(),
16068
+ hole_shape: z75.literal("circle"),
16069
+ hole_diameter: z75.number(),
16044
16070
  x: distance,
16045
16071
  y: distance,
16046
- is_covered_with_solder_mask: z72.boolean().optional(),
16047
- soldermask_margin: z72.number().optional()
16072
+ is_covered_with_solder_mask: z75.boolean().optional(),
16073
+ soldermask_margin: z75.number().optional()
16048
16074
  });
16049
16075
  var pcb_hole_circle_shape = pcb_hole_circle.describe(
16050
16076
  "Defines a circular hole on the PCB"
16051
16077
  );
16052
16078
  expectTypesMatch(true);
16053
- var pcb_hole_rect = z72.object({
16054
- type: z72.literal("pcb_hole"),
16079
+ var pcb_hole_rect = z75.object({
16080
+ type: z75.literal("pcb_hole"),
16055
16081
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16056
- pcb_group_id: z72.string().optional(),
16057
- subcircuit_id: z72.string().optional(),
16058
- hole_shape: z72.literal("rect"),
16059
- hole_width: z72.number(),
16060
- hole_height: z72.number(),
16082
+ pcb_group_id: z75.string().optional(),
16083
+ subcircuit_id: z75.string().optional(),
16084
+ hole_shape: z75.literal("rect"),
16085
+ hole_width: z75.number(),
16086
+ hole_height: z75.number(),
16061
16087
  x: distance,
16062
16088
  y: distance,
16063
- is_covered_with_solder_mask: z72.boolean().optional(),
16064
- soldermask_margin: z72.number().optional()
16089
+ is_covered_with_solder_mask: z75.boolean().optional(),
16090
+ soldermask_margin: z75.number().optional()
16065
16091
  });
16066
16092
  var pcb_hole_rect_shape = pcb_hole_rect.describe(
16067
16093
  "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
16068
16094
  );
16069
16095
  expectTypesMatch(true);
16070
- var pcb_hole_circle_or_square = z72.object({
16071
- type: z72.literal("pcb_hole"),
16096
+ var pcb_hole_circle_or_square = z75.object({
16097
+ type: z75.literal("pcb_hole"),
16072
16098
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16073
- pcb_group_id: z72.string().optional(),
16074
- subcircuit_id: z72.string().optional(),
16075
- hole_shape: z72.enum(["circle", "square"]),
16076
- hole_diameter: z72.number(),
16099
+ pcb_group_id: z75.string().optional(),
16100
+ subcircuit_id: z75.string().optional(),
16101
+ hole_shape: z75.enum(["circle", "square"]),
16102
+ hole_diameter: z75.number(),
16077
16103
  x: distance,
16078
16104
  y: distance,
16079
- is_covered_with_solder_mask: z72.boolean().optional(),
16080
- soldermask_margin: z72.number().optional()
16105
+ is_covered_with_solder_mask: z75.boolean().optional(),
16106
+ soldermask_margin: z75.number().optional()
16081
16107
  });
16082
16108
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
16083
16109
  "Defines a circular or square hole on the PCB"
16084
16110
  );
16085
16111
  expectTypesMatch(true);
16086
- var pcb_hole_oval = z72.object({
16087
- type: z72.literal("pcb_hole"),
16112
+ var pcb_hole_oval = z75.object({
16113
+ type: z75.literal("pcb_hole"),
16088
16114
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16089
- pcb_group_id: z72.string().optional(),
16090
- subcircuit_id: z72.string().optional(),
16091
- hole_shape: z72.literal("oval"),
16092
- hole_width: z72.number(),
16093
- hole_height: z72.number(),
16115
+ pcb_group_id: z75.string().optional(),
16116
+ subcircuit_id: z75.string().optional(),
16117
+ hole_shape: z75.literal("oval"),
16118
+ hole_width: z75.number(),
16119
+ hole_height: z75.number(),
16094
16120
  x: distance,
16095
16121
  y: distance,
16096
- is_covered_with_solder_mask: z72.boolean().optional(),
16097
- soldermask_margin: z72.number().optional()
16122
+ is_covered_with_solder_mask: z75.boolean().optional(),
16123
+ soldermask_margin: z75.number().optional()
16098
16124
  });
16099
16125
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
16100
16126
  "Defines an oval hole on the PCB"
16101
16127
  );
16102
16128
  expectTypesMatch(true);
16103
- var pcb_hole_pill = z72.object({
16104
- type: z72.literal("pcb_hole"),
16129
+ var pcb_hole_pill = z75.object({
16130
+ type: z75.literal("pcb_hole"),
16105
16131
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16106
- pcb_group_id: z72.string().optional(),
16107
- subcircuit_id: z72.string().optional(),
16108
- hole_shape: z72.literal("pill"),
16109
- hole_width: z72.number(),
16110
- hole_height: z72.number(),
16132
+ pcb_group_id: z75.string().optional(),
16133
+ subcircuit_id: z75.string().optional(),
16134
+ hole_shape: z75.literal("pill"),
16135
+ hole_width: z75.number(),
16136
+ hole_height: z75.number(),
16111
16137
  x: distance,
16112
16138
  y: distance,
16113
- is_covered_with_solder_mask: z72.boolean().optional(),
16114
- soldermask_margin: z72.number().optional()
16139
+ is_covered_with_solder_mask: z75.boolean().optional(),
16140
+ soldermask_margin: z75.number().optional()
16115
16141
  });
16116
16142
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
16117
16143
  "Defines a pill-shaped hole on the PCB"
16118
16144
  );
16119
16145
  expectTypesMatch(true);
16120
- var pcb_hole_rotated_pill = z72.object({
16121
- type: z72.literal("pcb_hole"),
16146
+ var pcb_hole_rotated_pill = z75.object({
16147
+ type: z75.literal("pcb_hole"),
16122
16148
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
16123
- pcb_group_id: z72.string().optional(),
16124
- subcircuit_id: z72.string().optional(),
16125
- hole_shape: z72.literal("rotated_pill"),
16126
- hole_width: z72.number(),
16127
- hole_height: z72.number(),
16149
+ pcb_group_id: z75.string().optional(),
16150
+ subcircuit_id: z75.string().optional(),
16151
+ hole_shape: z75.literal("rotated_pill"),
16152
+ hole_width: z75.number(),
16153
+ hole_height: z75.number(),
16128
16154
  x: distance,
16129
16155
  y: distance,
16130
16156
  ccw_rotation: rotation,
16131
- is_covered_with_solder_mask: z72.boolean().optional(),
16132
- soldermask_margin: z72.number().optional()
16157
+ is_covered_with_solder_mask: z75.boolean().optional(),
16158
+ soldermask_margin: z75.number().optional()
16133
16159
  });
16134
16160
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
16135
16161
  "Defines a rotated pill-shaped hole on the PCB"
16136
16162
  );
16137
16163
  expectTypesMatch(true);
16138
16164
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
16139
- var pcb_plated_hole_circle = z73.object({
16140
- type: z73.literal("pcb_plated_hole"),
16141
- shape: z73.literal("circle"),
16142
- pcb_group_id: z73.string().optional(),
16143
- subcircuit_id: z73.string().optional(),
16144
- outer_diameter: z73.number(),
16145
- hole_diameter: z73.number(),
16165
+ var pcb_plated_hole_circle = z76.object({
16166
+ type: z76.literal("pcb_plated_hole"),
16167
+ shape: z76.literal("circle"),
16168
+ pcb_group_id: z76.string().optional(),
16169
+ subcircuit_id: z76.string().optional(),
16170
+ outer_diameter: z76.number(),
16171
+ hole_diameter: z76.number(),
16172
+ is_covered_with_solder_mask: z76.boolean().optional(),
16146
16173
  x: distance,
16147
16174
  y: distance,
16148
- layers: z73.array(layer_ref),
16149
- port_hints: z73.array(z73.string()).optional(),
16150
- pcb_component_id: z73.string().optional(),
16151
- pcb_port_id: z73.string().optional(),
16175
+ layers: z76.array(layer_ref),
16176
+ port_hints: z76.array(z76.string()).optional(),
16177
+ pcb_component_id: z76.string().optional(),
16178
+ pcb_port_id: z76.string().optional(),
16152
16179
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16153
- soldermask_margin: z73.number().optional()
16154
- });
16155
- var pcb_plated_hole_oval = z73.object({
16156
- type: z73.literal("pcb_plated_hole"),
16157
- shape: z73.enum(["oval", "pill"]),
16158
- pcb_group_id: z73.string().optional(),
16159
- subcircuit_id: z73.string().optional(),
16160
- outer_width: z73.number(),
16161
- outer_height: z73.number(),
16162
- hole_width: z73.number(),
16163
- hole_height: z73.number(),
16164
- is_covered_with_solder_mask: z73.boolean().optional(),
16180
+ soldermask_margin: z76.number().optional()
16181
+ });
16182
+ var pcb_plated_hole_oval = z76.object({
16183
+ type: z76.literal("pcb_plated_hole"),
16184
+ shape: z76.enum(["oval", "pill"]),
16185
+ pcb_group_id: z76.string().optional(),
16186
+ subcircuit_id: z76.string().optional(),
16187
+ outer_width: z76.number(),
16188
+ outer_height: z76.number(),
16189
+ hole_width: z76.number(),
16190
+ hole_height: z76.number(),
16191
+ is_covered_with_solder_mask: z76.boolean().optional(),
16165
16192
  x: distance,
16166
16193
  y: distance,
16167
16194
  ccw_rotation: rotation,
16168
- layers: z73.array(layer_ref),
16169
- port_hints: z73.array(z73.string()).optional(),
16170
- pcb_component_id: z73.string().optional(),
16171
- pcb_port_id: z73.string().optional(),
16195
+ layers: z76.array(layer_ref),
16196
+ port_hints: z76.array(z76.string()).optional(),
16197
+ pcb_component_id: z76.string().optional(),
16198
+ pcb_port_id: z76.string().optional(),
16172
16199
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16173
- soldermask_margin: z73.number().optional()
16174
- });
16175
- var pcb_circular_hole_with_rect_pad = z73.object({
16176
- type: z73.literal("pcb_plated_hole"),
16177
- shape: z73.literal("circular_hole_with_rect_pad"),
16178
- pcb_group_id: z73.string().optional(),
16179
- subcircuit_id: z73.string().optional(),
16180
- hole_shape: z73.literal("circle"),
16181
- pad_shape: z73.literal("rect"),
16182
- hole_diameter: z73.number(),
16183
- rect_pad_width: z73.number(),
16184
- rect_pad_height: z73.number(),
16185
- rect_border_radius: z73.number().optional(),
16200
+ soldermask_margin: z76.number().optional()
16201
+ });
16202
+ var pcb_circular_hole_with_rect_pad = z76.object({
16203
+ type: z76.literal("pcb_plated_hole"),
16204
+ shape: z76.literal("circular_hole_with_rect_pad"),
16205
+ pcb_group_id: z76.string().optional(),
16206
+ subcircuit_id: z76.string().optional(),
16207
+ hole_shape: z76.literal("circle"),
16208
+ pad_shape: z76.literal("rect"),
16209
+ hole_diameter: z76.number(),
16210
+ rect_pad_width: z76.number(),
16211
+ rect_pad_height: z76.number(),
16212
+ rect_border_radius: z76.number().optional(),
16186
16213
  hole_offset_x: distance.default(0),
16187
16214
  hole_offset_y: distance.default(0),
16188
- is_covered_with_solder_mask: z73.boolean().optional(),
16215
+ is_covered_with_solder_mask: z76.boolean().optional(),
16189
16216
  x: distance,
16190
16217
  y: distance,
16191
- layers: z73.array(layer_ref),
16192
- port_hints: z73.array(z73.string()).optional(),
16193
- pcb_component_id: z73.string().optional(),
16194
- pcb_port_id: z73.string().optional(),
16218
+ layers: z76.array(layer_ref),
16219
+ port_hints: z76.array(z76.string()).optional(),
16220
+ pcb_component_id: z76.string().optional(),
16221
+ pcb_port_id: z76.string().optional(),
16195
16222
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16196
- soldermask_margin: z73.number().optional()
16197
- });
16198
- var pcb_pill_hole_with_rect_pad = z73.object({
16199
- type: z73.literal("pcb_plated_hole"),
16200
- shape: z73.literal("pill_hole_with_rect_pad"),
16201
- pcb_group_id: z73.string().optional(),
16202
- subcircuit_id: z73.string().optional(),
16203
- hole_shape: z73.literal("pill"),
16204
- pad_shape: z73.literal("rect"),
16205
- hole_width: z73.number(),
16206
- hole_height: z73.number(),
16207
- rect_pad_width: z73.number(),
16208
- rect_pad_height: z73.number(),
16209
- rect_border_radius: z73.number().optional(),
16223
+ soldermask_margin: z76.number().optional()
16224
+ });
16225
+ var pcb_pill_hole_with_rect_pad = z76.object({
16226
+ type: z76.literal("pcb_plated_hole"),
16227
+ shape: z76.literal("pill_hole_with_rect_pad"),
16228
+ pcb_group_id: z76.string().optional(),
16229
+ subcircuit_id: z76.string().optional(),
16230
+ hole_shape: z76.literal("pill"),
16231
+ pad_shape: z76.literal("rect"),
16232
+ hole_width: z76.number(),
16233
+ hole_height: z76.number(),
16234
+ rect_pad_width: z76.number(),
16235
+ rect_pad_height: z76.number(),
16236
+ rect_border_radius: z76.number().optional(),
16210
16237
  hole_offset_x: distance.default(0),
16211
16238
  hole_offset_y: distance.default(0),
16212
- is_covered_with_solder_mask: z73.boolean().optional(),
16239
+ is_covered_with_solder_mask: z76.boolean().optional(),
16213
16240
  x: distance,
16214
16241
  y: distance,
16215
- layers: z73.array(layer_ref),
16216
- port_hints: z73.array(z73.string()).optional(),
16217
- pcb_component_id: z73.string().optional(),
16218
- pcb_port_id: z73.string().optional(),
16242
+ layers: z76.array(layer_ref),
16243
+ port_hints: z76.array(z76.string()).optional(),
16244
+ pcb_component_id: z76.string().optional(),
16245
+ pcb_port_id: z76.string().optional(),
16219
16246
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16220
- soldermask_margin: z73.number().optional()
16221
- });
16222
- var pcb_rotated_pill_hole_with_rect_pad = z73.object({
16223
- type: z73.literal("pcb_plated_hole"),
16224
- shape: z73.literal("rotated_pill_hole_with_rect_pad"),
16225
- pcb_group_id: z73.string().optional(),
16226
- subcircuit_id: z73.string().optional(),
16227
- hole_shape: z73.literal("rotated_pill"),
16228
- pad_shape: z73.literal("rect"),
16229
- hole_width: z73.number(),
16230
- hole_height: z73.number(),
16247
+ soldermask_margin: z76.number().optional()
16248
+ });
16249
+ var pcb_rotated_pill_hole_with_rect_pad = z76.object({
16250
+ type: z76.literal("pcb_plated_hole"),
16251
+ shape: z76.literal("rotated_pill_hole_with_rect_pad"),
16252
+ pcb_group_id: z76.string().optional(),
16253
+ subcircuit_id: z76.string().optional(),
16254
+ hole_shape: z76.literal("rotated_pill"),
16255
+ pad_shape: z76.literal("rect"),
16256
+ hole_width: z76.number(),
16257
+ hole_height: z76.number(),
16231
16258
  hole_ccw_rotation: rotation,
16232
- rect_pad_width: z73.number(),
16233
- rect_pad_height: z73.number(),
16234
- rect_border_radius: z73.number().optional(),
16259
+ rect_pad_width: z76.number(),
16260
+ rect_pad_height: z76.number(),
16261
+ rect_border_radius: z76.number().optional(),
16235
16262
  rect_ccw_rotation: rotation,
16236
16263
  hole_offset_x: distance.default(0),
16237
16264
  hole_offset_y: distance.default(0),
16238
- is_covered_with_solder_mask: z73.boolean().optional(),
16265
+ is_covered_with_solder_mask: z76.boolean().optional(),
16239
16266
  x: distance,
16240
16267
  y: distance,
16241
- layers: z73.array(layer_ref),
16242
- port_hints: z73.array(z73.string()).optional(),
16243
- pcb_component_id: z73.string().optional(),
16244
- pcb_port_id: z73.string().optional(),
16268
+ layers: z76.array(layer_ref),
16269
+ port_hints: z76.array(z76.string()).optional(),
16270
+ pcb_component_id: z76.string().optional(),
16271
+ pcb_port_id: z76.string().optional(),
16245
16272
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16246
- soldermask_margin: z73.number().optional()
16247
- });
16248
- var pcb_hole_with_polygon_pad = z73.object({
16249
- type: z73.literal("pcb_plated_hole"),
16250
- shape: z73.literal("hole_with_polygon_pad"),
16251
- pcb_group_id: z73.string().optional(),
16252
- subcircuit_id: z73.string().optional(),
16253
- hole_shape: z73.enum(["circle", "oval", "pill", "rotated_pill"]),
16254
- hole_diameter: z73.number().optional(),
16255
- hole_width: z73.number().optional(),
16256
- hole_height: z73.number().optional(),
16257
- pad_outline: z73.array(
16258
- z73.object({
16273
+ soldermask_margin: z76.number().optional()
16274
+ });
16275
+ var pcb_hole_with_polygon_pad = z76.object({
16276
+ type: z76.literal("pcb_plated_hole"),
16277
+ shape: z76.literal("hole_with_polygon_pad"),
16278
+ pcb_group_id: z76.string().optional(),
16279
+ subcircuit_id: z76.string().optional(),
16280
+ hole_shape: z76.enum(["circle", "oval", "pill", "rotated_pill"]),
16281
+ hole_diameter: z76.number().optional(),
16282
+ hole_width: z76.number().optional(),
16283
+ hole_height: z76.number().optional(),
16284
+ pad_outline: z76.array(
16285
+ z76.object({
16259
16286
  x: distance,
16260
16287
  y: distance
16261
16288
  })
16262
16289
  ).min(3),
16263
16290
  hole_offset_x: distance.default(0),
16264
16291
  hole_offset_y: distance.default(0),
16265
- is_covered_with_solder_mask: z73.boolean().optional(),
16292
+ is_covered_with_solder_mask: z76.boolean().optional(),
16266
16293
  x: distance,
16267
16294
  y: distance,
16268
- layers: z73.array(layer_ref),
16269
- port_hints: z73.array(z73.string()).optional(),
16270
- pcb_component_id: z73.string().optional(),
16271
- pcb_port_id: z73.string().optional(),
16295
+ layers: z76.array(layer_ref),
16296
+ port_hints: z76.array(z76.string()).optional(),
16297
+ pcb_component_id: z76.string().optional(),
16298
+ pcb_port_id: z76.string().optional(),
16272
16299
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
16273
- soldermask_margin: z73.number().optional()
16300
+ soldermask_margin: z76.number().optional()
16274
16301
  });
16275
- var pcb_plated_hole = z73.union([
16302
+ var pcb_plated_hole = z76.union([
16276
16303
  pcb_plated_hole_circle,
16277
16304
  pcb_plated_hole_oval,
16278
16305
  pcb_circular_hole_with_rect_pad,
@@ -16288,126 +16315,126 @@ expectTypesMatch(true);
16288
16315
  expectTypesMatch(true);
16289
16316
  expectTypesMatch(true);
16290
16317
  expectTypesMatch(true);
16291
- var pcb_port = z74.object({
16292
- type: z74.literal("pcb_port"),
16318
+ var pcb_port = z77.object({
16319
+ type: z77.literal("pcb_port"),
16293
16320
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
16294
- pcb_group_id: z74.string().optional(),
16295
- subcircuit_id: z74.string().optional(),
16296
- source_port_id: z74.string(),
16297
- pcb_component_id: z74.string().optional(),
16321
+ pcb_group_id: z77.string().optional(),
16322
+ subcircuit_id: z77.string().optional(),
16323
+ source_port_id: z77.string(),
16324
+ pcb_component_id: z77.string().optional(),
16298
16325
  x: distance,
16299
16326
  y: distance,
16300
- layers: z74.array(layer_ref),
16301
- is_board_pinout: z74.boolean().optional()
16327
+ layers: z77.array(layer_ref),
16328
+ is_board_pinout: z77.boolean().optional()
16302
16329
  }).describe("Defines a port on the PCB");
16303
16330
  expectTypesMatch(true);
16304
- var pcb_smtpad_circle = z75.object({
16305
- type: z75.literal("pcb_smtpad"),
16306
- shape: z75.literal("circle"),
16331
+ var pcb_smtpad_circle = z78.object({
16332
+ type: z78.literal("pcb_smtpad"),
16333
+ shape: z78.literal("circle"),
16307
16334
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16308
- pcb_group_id: z75.string().optional(),
16309
- subcircuit_id: z75.string().optional(),
16335
+ pcb_group_id: z78.string().optional(),
16336
+ subcircuit_id: z78.string().optional(),
16310
16337
  x: distance,
16311
16338
  y: distance,
16312
- radius: z75.number(),
16339
+ radius: z78.number(),
16313
16340
  layer: layer_ref,
16314
- port_hints: z75.array(z75.string()).optional(),
16315
- pcb_component_id: z75.string().optional(),
16316
- pcb_port_id: z75.string().optional(),
16317
- is_covered_with_solder_mask: z75.boolean().optional(),
16318
- soldermask_margin: z75.number().optional()
16341
+ port_hints: z78.array(z78.string()).optional(),
16342
+ pcb_component_id: z78.string().optional(),
16343
+ pcb_port_id: z78.string().optional(),
16344
+ is_covered_with_solder_mask: z78.boolean().optional(),
16345
+ soldermask_margin: z78.number().optional()
16319
16346
  });
16320
- var pcb_smtpad_rect = z75.object({
16321
- type: z75.literal("pcb_smtpad"),
16322
- shape: z75.literal("rect"),
16347
+ var pcb_smtpad_rect = z78.object({
16348
+ type: z78.literal("pcb_smtpad"),
16349
+ shape: z78.literal("rect"),
16323
16350
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16324
- pcb_group_id: z75.string().optional(),
16325
- subcircuit_id: z75.string().optional(),
16351
+ pcb_group_id: z78.string().optional(),
16352
+ subcircuit_id: z78.string().optional(),
16326
16353
  x: distance,
16327
16354
  y: distance,
16328
- width: z75.number(),
16329
- height: z75.number(),
16330
- rect_border_radius: z75.number().optional(),
16331
- corner_radius: z75.number().optional(),
16355
+ width: z78.number(),
16356
+ height: z78.number(),
16357
+ rect_border_radius: z78.number().optional(),
16358
+ corner_radius: z78.number().optional(),
16332
16359
  layer: layer_ref,
16333
- port_hints: z75.array(z75.string()).optional(),
16334
- pcb_component_id: z75.string().optional(),
16335
- pcb_port_id: z75.string().optional(),
16336
- is_covered_with_solder_mask: z75.boolean().optional(),
16337
- soldermask_margin: z75.number().optional()
16360
+ port_hints: z78.array(z78.string()).optional(),
16361
+ pcb_component_id: z78.string().optional(),
16362
+ pcb_port_id: z78.string().optional(),
16363
+ is_covered_with_solder_mask: z78.boolean().optional(),
16364
+ soldermask_margin: z78.number().optional()
16338
16365
  });
16339
- var pcb_smtpad_rotated_rect = z75.object({
16340
- type: z75.literal("pcb_smtpad"),
16341
- shape: z75.literal("rotated_rect"),
16366
+ var pcb_smtpad_rotated_rect = z78.object({
16367
+ type: z78.literal("pcb_smtpad"),
16368
+ shape: z78.literal("rotated_rect"),
16342
16369
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16343
- pcb_group_id: z75.string().optional(),
16344
- subcircuit_id: z75.string().optional(),
16370
+ pcb_group_id: z78.string().optional(),
16371
+ subcircuit_id: z78.string().optional(),
16345
16372
  x: distance,
16346
16373
  y: distance,
16347
- width: z75.number(),
16348
- height: z75.number(),
16349
- rect_border_radius: z75.number().optional(),
16350
- corner_radius: z75.number().optional(),
16374
+ width: z78.number(),
16375
+ height: z78.number(),
16376
+ rect_border_radius: z78.number().optional(),
16377
+ corner_radius: z78.number().optional(),
16351
16378
  ccw_rotation: rotation,
16352
16379
  layer: layer_ref,
16353
- port_hints: z75.array(z75.string()).optional(),
16354
- pcb_component_id: z75.string().optional(),
16355
- pcb_port_id: z75.string().optional(),
16356
- is_covered_with_solder_mask: z75.boolean().optional(),
16357
- soldermask_margin: z75.number().optional()
16380
+ port_hints: z78.array(z78.string()).optional(),
16381
+ pcb_component_id: z78.string().optional(),
16382
+ pcb_port_id: z78.string().optional(),
16383
+ is_covered_with_solder_mask: z78.boolean().optional(),
16384
+ soldermask_margin: z78.number().optional()
16358
16385
  });
16359
- var pcb_smtpad_pill = z75.object({
16360
- type: z75.literal("pcb_smtpad"),
16361
- shape: z75.literal("pill"),
16386
+ var pcb_smtpad_pill = z78.object({
16387
+ type: z78.literal("pcb_smtpad"),
16388
+ shape: z78.literal("pill"),
16362
16389
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16363
- pcb_group_id: z75.string().optional(),
16364
- subcircuit_id: z75.string().optional(),
16390
+ pcb_group_id: z78.string().optional(),
16391
+ subcircuit_id: z78.string().optional(),
16365
16392
  x: distance,
16366
16393
  y: distance,
16367
- width: z75.number(),
16368
- height: z75.number(),
16369
- radius: z75.number(),
16394
+ width: z78.number(),
16395
+ height: z78.number(),
16396
+ radius: z78.number(),
16370
16397
  layer: layer_ref,
16371
- port_hints: z75.array(z75.string()).optional(),
16372
- pcb_component_id: z75.string().optional(),
16373
- pcb_port_id: z75.string().optional(),
16374
- is_covered_with_solder_mask: z75.boolean().optional(),
16375
- soldermask_margin: z75.number().optional()
16398
+ port_hints: z78.array(z78.string()).optional(),
16399
+ pcb_component_id: z78.string().optional(),
16400
+ pcb_port_id: z78.string().optional(),
16401
+ is_covered_with_solder_mask: z78.boolean().optional(),
16402
+ soldermask_margin: z78.number().optional()
16376
16403
  });
16377
- var pcb_smtpad_rotated_pill = z75.object({
16378
- type: z75.literal("pcb_smtpad"),
16379
- shape: z75.literal("rotated_pill"),
16404
+ var pcb_smtpad_rotated_pill = z78.object({
16405
+ type: z78.literal("pcb_smtpad"),
16406
+ shape: z78.literal("rotated_pill"),
16380
16407
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16381
- pcb_group_id: z75.string().optional(),
16382
- subcircuit_id: z75.string().optional(),
16408
+ pcb_group_id: z78.string().optional(),
16409
+ subcircuit_id: z78.string().optional(),
16383
16410
  x: distance,
16384
16411
  y: distance,
16385
- width: z75.number(),
16386
- height: z75.number(),
16387
- radius: z75.number(),
16412
+ width: z78.number(),
16413
+ height: z78.number(),
16414
+ radius: z78.number(),
16388
16415
  ccw_rotation: rotation,
16389
16416
  layer: layer_ref,
16390
- port_hints: z75.array(z75.string()).optional(),
16391
- pcb_component_id: z75.string().optional(),
16392
- pcb_port_id: z75.string().optional(),
16393
- is_covered_with_solder_mask: z75.boolean().optional(),
16394
- soldermask_margin: z75.number().optional()
16417
+ port_hints: z78.array(z78.string()).optional(),
16418
+ pcb_component_id: z78.string().optional(),
16419
+ pcb_port_id: z78.string().optional(),
16420
+ is_covered_with_solder_mask: z78.boolean().optional(),
16421
+ soldermask_margin: z78.number().optional()
16395
16422
  });
16396
- var pcb_smtpad_polygon = z75.object({
16397
- type: z75.literal("pcb_smtpad"),
16398
- shape: z75.literal("polygon"),
16423
+ var pcb_smtpad_polygon = z78.object({
16424
+ type: z78.literal("pcb_smtpad"),
16425
+ shape: z78.literal("polygon"),
16399
16426
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
16400
- pcb_group_id: z75.string().optional(),
16401
- subcircuit_id: z75.string().optional(),
16402
- points: z75.array(point),
16427
+ pcb_group_id: z78.string().optional(),
16428
+ subcircuit_id: z78.string().optional(),
16429
+ points: z78.array(point),
16403
16430
  layer: layer_ref,
16404
- port_hints: z75.array(z75.string()).optional(),
16405
- pcb_component_id: z75.string().optional(),
16406
- pcb_port_id: z75.string().optional(),
16407
- is_covered_with_solder_mask: z75.boolean().optional(),
16408
- soldermask_margin: z75.number().optional()
16431
+ port_hints: z78.array(z78.string()).optional(),
16432
+ pcb_component_id: z78.string().optional(),
16433
+ pcb_port_id: z78.string().optional(),
16434
+ is_covered_with_solder_mask: z78.boolean().optional(),
16435
+ soldermask_margin: z78.number().optional()
16409
16436
  });
16410
- var pcb_smtpad = z75.discriminatedUnion("shape", [
16437
+ var pcb_smtpad = z78.discriminatedUnion("shape", [
16411
16438
  pcb_smtpad_circle,
16412
16439
  pcb_smtpad_rect,
16413
16440
  pcb_smtpad_rotated_rect,
@@ -16421,78 +16448,78 @@ expectTypesMatch(true);
16421
16448
  expectTypesMatch(true);
16422
16449
  expectTypesMatch(true);
16423
16450
  expectTypesMatch(true);
16424
- var pcb_solder_paste_circle = z76.object({
16425
- type: z76.literal("pcb_solder_paste"),
16426
- shape: z76.literal("circle"),
16451
+ var pcb_solder_paste_circle = z79.object({
16452
+ type: z79.literal("pcb_solder_paste"),
16453
+ shape: z79.literal("circle"),
16427
16454
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
16428
- pcb_group_id: z76.string().optional(),
16429
- subcircuit_id: z76.string().optional(),
16455
+ pcb_group_id: z79.string().optional(),
16456
+ subcircuit_id: z79.string().optional(),
16430
16457
  x: distance,
16431
16458
  y: distance,
16432
- radius: z76.number(),
16459
+ radius: z79.number(),
16433
16460
  layer: layer_ref,
16434
- pcb_component_id: z76.string().optional(),
16435
- pcb_smtpad_id: z76.string().optional()
16461
+ pcb_component_id: z79.string().optional(),
16462
+ pcb_smtpad_id: z79.string().optional()
16436
16463
  });
16437
- var pcb_solder_paste_rect = z76.object({
16438
- type: z76.literal("pcb_solder_paste"),
16439
- shape: z76.literal("rect"),
16464
+ var pcb_solder_paste_rect = z79.object({
16465
+ type: z79.literal("pcb_solder_paste"),
16466
+ shape: z79.literal("rect"),
16440
16467
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
16441
- pcb_group_id: z76.string().optional(),
16442
- subcircuit_id: z76.string().optional(),
16468
+ pcb_group_id: z79.string().optional(),
16469
+ subcircuit_id: z79.string().optional(),
16443
16470
  x: distance,
16444
16471
  y: distance,
16445
- width: z76.number(),
16446
- height: z76.number(),
16472
+ width: z79.number(),
16473
+ height: z79.number(),
16447
16474
  layer: layer_ref,
16448
- pcb_component_id: z76.string().optional(),
16449
- pcb_smtpad_id: z76.string().optional()
16475
+ pcb_component_id: z79.string().optional(),
16476
+ pcb_smtpad_id: z79.string().optional()
16450
16477
  });
16451
- var pcb_solder_paste_pill = z76.object({
16452
- type: z76.literal("pcb_solder_paste"),
16453
- shape: z76.literal("pill"),
16478
+ var pcb_solder_paste_pill = z79.object({
16479
+ type: z79.literal("pcb_solder_paste"),
16480
+ shape: z79.literal("pill"),
16454
16481
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
16455
- pcb_group_id: z76.string().optional(),
16456
- subcircuit_id: z76.string().optional(),
16482
+ pcb_group_id: z79.string().optional(),
16483
+ subcircuit_id: z79.string().optional(),
16457
16484
  x: distance,
16458
16485
  y: distance,
16459
- width: z76.number(),
16460
- height: z76.number(),
16461
- radius: z76.number(),
16486
+ width: z79.number(),
16487
+ height: z79.number(),
16488
+ radius: z79.number(),
16462
16489
  layer: layer_ref,
16463
- pcb_component_id: z76.string().optional(),
16464
- pcb_smtpad_id: z76.string().optional()
16490
+ pcb_component_id: z79.string().optional(),
16491
+ pcb_smtpad_id: z79.string().optional()
16465
16492
  });
16466
- var pcb_solder_paste_rotated_rect = z76.object({
16467
- type: z76.literal("pcb_solder_paste"),
16468
- shape: z76.literal("rotated_rect"),
16493
+ var pcb_solder_paste_rotated_rect = z79.object({
16494
+ type: z79.literal("pcb_solder_paste"),
16495
+ shape: z79.literal("rotated_rect"),
16469
16496
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
16470
- pcb_group_id: z76.string().optional(),
16471
- subcircuit_id: z76.string().optional(),
16497
+ pcb_group_id: z79.string().optional(),
16498
+ subcircuit_id: z79.string().optional(),
16472
16499
  x: distance,
16473
16500
  y: distance,
16474
- width: z76.number(),
16475
- height: z76.number(),
16501
+ width: z79.number(),
16502
+ height: z79.number(),
16476
16503
  ccw_rotation: distance,
16477
16504
  layer: layer_ref,
16478
- pcb_component_id: z76.string().optional(),
16479
- pcb_smtpad_id: z76.string().optional()
16505
+ pcb_component_id: z79.string().optional(),
16506
+ pcb_smtpad_id: z79.string().optional()
16480
16507
  });
16481
- var pcb_solder_paste_oval = z76.object({
16482
- type: z76.literal("pcb_solder_paste"),
16483
- shape: z76.literal("oval"),
16508
+ var pcb_solder_paste_oval = z79.object({
16509
+ type: z79.literal("pcb_solder_paste"),
16510
+ shape: z79.literal("oval"),
16484
16511
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
16485
- pcb_group_id: z76.string().optional(),
16486
- subcircuit_id: z76.string().optional(),
16512
+ pcb_group_id: z79.string().optional(),
16513
+ subcircuit_id: z79.string().optional(),
16487
16514
  x: distance,
16488
16515
  y: distance,
16489
- width: z76.number(),
16490
- height: z76.number(),
16516
+ width: z79.number(),
16517
+ height: z79.number(),
16491
16518
  layer: layer_ref,
16492
- pcb_component_id: z76.string().optional(),
16493
- pcb_smtpad_id: z76.string().optional()
16519
+ pcb_component_id: z79.string().optional(),
16520
+ pcb_smtpad_id: z79.string().optional()
16494
16521
  });
16495
- var pcb_solder_paste = z76.union([
16522
+ var pcb_solder_paste = z79.union([
16496
16523
  pcb_solder_paste_circle,
16497
16524
  pcb_solder_paste_rect,
16498
16525
  pcb_solder_paste_pill,
@@ -16506,124 +16533,124 @@ expectTypesMatch(
16506
16533
  true
16507
16534
  );
16508
16535
  expectTypesMatch(true);
16509
- var pcb_text = z77.object({
16510
- type: z77.literal("pcb_text"),
16536
+ var pcb_text = z80.object({
16537
+ type: z80.literal("pcb_text"),
16511
16538
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
16512
- pcb_group_id: z77.string().optional(),
16513
- subcircuit_id: z77.string().optional(),
16514
- text: z77.string(),
16539
+ pcb_group_id: z80.string().optional(),
16540
+ subcircuit_id: z80.string().optional(),
16541
+ text: z80.string(),
16515
16542
  center: point,
16516
16543
  layer: layer_ref,
16517
16544
  width: length,
16518
16545
  height: length,
16519
- lines: z77.number(),
16546
+ lines: z80.number(),
16520
16547
  // @ts-ignore
16521
- align: z77.enum(["bottom-left"])
16548
+ align: z80.enum(["bottom-left"])
16522
16549
  }).describe("Defines text on the PCB");
16523
16550
  expectTypesMatch(true);
16524
- var pcb_trace_route_point_wire = z78.object({
16525
- route_type: z78.literal("wire"),
16551
+ var pcb_trace_route_point_wire = z81.object({
16552
+ route_type: z81.literal("wire"),
16526
16553
  x: distance,
16527
16554
  y: distance,
16528
16555
  width: distance,
16529
- start_pcb_port_id: z78.string().optional(),
16530
- end_pcb_port_id: z78.string().optional(),
16556
+ start_pcb_port_id: z81.string().optional(),
16557
+ end_pcb_port_id: z81.string().optional(),
16531
16558
  layer: layer_ref
16532
16559
  });
16533
- var pcb_trace_route_point_via = z78.object({
16534
- route_type: z78.literal("via"),
16560
+ var pcb_trace_route_point_via = z81.object({
16561
+ route_type: z81.literal("via"),
16535
16562
  x: distance,
16536
16563
  y: distance,
16537
16564
  hole_diameter: distance.optional(),
16538
16565
  outer_diameter: distance.optional(),
16539
- from_layer: z78.string(),
16540
- to_layer: z78.string()
16566
+ from_layer: z81.string(),
16567
+ to_layer: z81.string()
16541
16568
  });
16542
- var pcb_trace_route_point = z78.union([
16569
+ var pcb_trace_route_point = z81.union([
16543
16570
  pcb_trace_route_point_wire,
16544
16571
  pcb_trace_route_point_via
16545
16572
  ]);
16546
- var pcb_trace = z78.object({
16547
- type: z78.literal("pcb_trace"),
16548
- source_trace_id: z78.string().optional(),
16549
- pcb_component_id: z78.string().optional(),
16573
+ var pcb_trace = z81.object({
16574
+ type: z81.literal("pcb_trace"),
16575
+ source_trace_id: z81.string().optional(),
16576
+ pcb_component_id: z81.string().optional(),
16550
16577
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
16551
- pcb_group_id: z78.string().optional(),
16552
- subcircuit_id: z78.string().optional(),
16553
- route_thickness_mode: z78.enum(["constant", "interpolated"]).default("constant").optional(),
16554
- route_order_index: z78.number().optional(),
16555
- should_round_corners: z78.boolean().optional(),
16556
- trace_length: z78.number().optional(),
16557
- highlight_color: z78.string().optional(),
16558
- route: z78.array(pcb_trace_route_point)
16578
+ pcb_group_id: z81.string().optional(),
16579
+ subcircuit_id: z81.string().optional(),
16580
+ route_thickness_mode: z81.enum(["constant", "interpolated"]).default("constant").optional(),
16581
+ route_order_index: z81.number().optional(),
16582
+ should_round_corners: z81.boolean().optional(),
16583
+ trace_length: z81.number().optional(),
16584
+ highlight_color: z81.string().optional(),
16585
+ route: z81.array(pcb_trace_route_point)
16559
16586
  }).describe("Defines a trace on the PCB");
16560
16587
  expectTypesMatch(true);
16561
16588
  expectTypesMatch(true);
16562
- var pcb_trace_error = z79.object({
16563
- type: z79.literal("pcb_trace_error"),
16589
+ var pcb_trace_error = z82.object({
16590
+ type: z82.literal("pcb_trace_error"),
16564
16591
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
16565
- error_type: z79.literal("pcb_trace_error").default("pcb_trace_error"),
16566
- message: z79.string(),
16592
+ error_type: z82.literal("pcb_trace_error").default("pcb_trace_error"),
16593
+ message: z82.string(),
16567
16594
  center: point.optional(),
16568
- pcb_trace_id: z79.string(),
16569
- source_trace_id: z79.string(),
16570
- pcb_component_ids: z79.array(z79.string()),
16571
- pcb_port_ids: z79.array(z79.string()),
16572
- subcircuit_id: z79.string().optional()
16595
+ pcb_trace_id: z82.string(),
16596
+ source_trace_id: z82.string(),
16597
+ pcb_component_ids: z82.array(z82.string()),
16598
+ pcb_port_ids: z82.array(z82.string()),
16599
+ subcircuit_id: z82.string().optional()
16573
16600
  }).describe("Defines a trace error on the PCB");
16574
16601
  expectTypesMatch(true);
16575
- var pcb_trace_missing_error = z80.object({
16576
- type: z80.literal("pcb_trace_missing_error"),
16602
+ var pcb_trace_missing_error = z83.object({
16603
+ type: z83.literal("pcb_trace_missing_error"),
16577
16604
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
16578
16605
  "pcb_trace_missing_error"
16579
16606
  ),
16580
- error_type: z80.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
16581
- message: z80.string(),
16607
+ error_type: z83.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
16608
+ message: z83.string(),
16582
16609
  center: point.optional(),
16583
- source_trace_id: z80.string(),
16584
- pcb_component_ids: z80.array(z80.string()),
16585
- pcb_port_ids: z80.array(z80.string()),
16586
- subcircuit_id: z80.string().optional()
16610
+ source_trace_id: z83.string(),
16611
+ pcb_component_ids: z83.array(z83.string()),
16612
+ pcb_port_ids: z83.array(z83.string()),
16613
+ subcircuit_id: z83.string().optional()
16587
16614
  }).describe(
16588
16615
  "Defines an error when a source trace has no corresponding PCB trace"
16589
16616
  );
16590
16617
  expectTypesMatch(true);
16591
- var pcb_port_not_matched_error = z81.object({
16592
- type: z81.literal("pcb_port_not_matched_error"),
16618
+ var pcb_port_not_matched_error = z84.object({
16619
+ type: z84.literal("pcb_port_not_matched_error"),
16593
16620
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
16594
- error_type: z81.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
16595
- message: z81.string(),
16596
- pcb_component_ids: z81.array(z81.string()),
16597
- subcircuit_id: z81.string().optional()
16621
+ error_type: z84.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
16622
+ message: z84.string(),
16623
+ pcb_component_ids: z84.array(z84.string()),
16624
+ subcircuit_id: z84.string().optional()
16598
16625
  }).describe("Defines a trace error on the PCB where a port is not matched");
16599
16626
  expectTypesMatch(true);
16600
- var pcb_port_not_connected_error = z82.object({
16601
- type: z82.literal("pcb_port_not_connected_error"),
16627
+ var pcb_port_not_connected_error = z85.object({
16628
+ type: z85.literal("pcb_port_not_connected_error"),
16602
16629
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
16603
16630
  "pcb_port_not_connected_error"
16604
16631
  ),
16605
- error_type: z82.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
16606
- message: z82.string(),
16607
- pcb_port_ids: z82.array(z82.string()),
16608
- pcb_component_ids: z82.array(z82.string()),
16609
- subcircuit_id: z82.string().optional()
16632
+ error_type: z85.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
16633
+ message: z85.string(),
16634
+ pcb_port_ids: z85.array(z85.string()),
16635
+ pcb_component_ids: z85.array(z85.string()),
16636
+ subcircuit_id: z85.string().optional()
16610
16637
  }).describe("Defines an error when a pcb port is not connected to any trace");
16611
16638
  expectTypesMatch(
16612
16639
  true
16613
16640
  );
16614
- var pcb_net = z83.object({
16615
- type: z83.literal("pcb_net"),
16641
+ var pcb_net = z86.object({
16642
+ type: z86.literal("pcb_net"),
16616
16643
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
16617
- source_net_id: z83.string().optional(),
16618
- highlight_color: z83.string().optional()
16644
+ source_net_id: z86.string().optional(),
16645
+ highlight_color: z86.string().optional()
16619
16646
  }).describe("Defines a net on the PCB");
16620
16647
  expectTypesMatch(true);
16621
- var pcb_via = z84.object({
16622
- type: z84.literal("pcb_via"),
16648
+ var pcb_via = z87.object({
16649
+ type: z87.literal("pcb_via"),
16623
16650
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
16624
- pcb_group_id: z84.string().optional(),
16625
- subcircuit_id: z84.string().optional(),
16626
- subcircuit_connectivity_map_key: z84.string().optional(),
16651
+ pcb_group_id: z87.string().optional(),
16652
+ subcircuit_id: z87.string().optional(),
16653
+ subcircuit_connectivity_map_key: z87.string().optional(),
16627
16654
  x: distance,
16628
16655
  y: distance,
16629
16656
  outer_diameter: distance.default("0.6mm"),
@@ -16632,61 +16659,61 @@ var pcb_via = z84.object({
16632
16659
  from_layer: layer_ref.optional(),
16633
16660
  /** @deprecated */
16634
16661
  to_layer: layer_ref.optional(),
16635
- layers: z84.array(layer_ref),
16636
- pcb_trace_id: z84.string().optional(),
16637
- net_is_assignable: z84.boolean().optional(),
16638
- net_assigned: z84.boolean().optional(),
16639
- is_tented: z84.boolean().optional()
16662
+ layers: z87.array(layer_ref),
16663
+ pcb_trace_id: z87.string().optional(),
16664
+ net_is_assignable: z87.boolean().optional(),
16665
+ net_assigned: z87.boolean().optional(),
16666
+ is_tented: z87.boolean().optional()
16640
16667
  }).describe("Defines a via on the PCB");
16641
16668
  expectTypesMatch(true);
16642
- var pcb_board = z85.object({
16643
- type: z85.literal("pcb_board"),
16669
+ var pcb_board = z88.object({
16670
+ type: z88.literal("pcb_board"),
16644
16671
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
16645
- pcb_panel_id: z85.string().optional(),
16646
- is_subcircuit: z85.boolean().optional(),
16647
- subcircuit_id: z85.string().optional(),
16672
+ pcb_panel_id: z88.string().optional(),
16673
+ is_subcircuit: z88.boolean().optional(),
16674
+ subcircuit_id: z88.string().optional(),
16648
16675
  width: length.optional(),
16649
16676
  height: length.optional(),
16650
16677
  center: point,
16651
16678
  thickness: length.optional().default(1.4),
16652
- num_layers: z85.number().optional().default(4),
16653
- outline: z85.array(point).optional(),
16654
- shape: z85.enum(["rect", "polygon"]).optional(),
16655
- material: z85.enum(["fr4", "fr1"]).default("fr4")
16679
+ num_layers: z88.number().optional().default(4),
16680
+ outline: z88.array(point).optional(),
16681
+ shape: z88.enum(["rect", "polygon"]).optional(),
16682
+ material: z88.enum(["fr4", "fr1"]).default("fr4")
16656
16683
  }).describe("Defines the board outline of the PCB");
16657
16684
  expectTypesMatch(true);
16658
- var pcb_panel = z86.object({
16659
- type: z86.literal("pcb_panel"),
16685
+ var pcb_panel = z89.object({
16686
+ type: z89.literal("pcb_panel"),
16660
16687
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
16661
16688
  width: length,
16662
16689
  height: length,
16663
16690
  center: point,
16664
- covered_with_solder_mask: z86.boolean().optional().default(true)
16691
+ covered_with_solder_mask: z89.boolean().optional().default(true)
16665
16692
  }).describe("Defines a PCB panel that can contain multiple boards");
16666
16693
  expectTypesMatch(true);
16667
- var pcb_placement_error = z87.object({
16668
- type: z87.literal("pcb_placement_error"),
16694
+ var pcb_placement_error = z90.object({
16695
+ type: z90.literal("pcb_placement_error"),
16669
16696
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
16670
- error_type: z87.literal("pcb_placement_error").default("pcb_placement_error"),
16671
- message: z87.string(),
16672
- subcircuit_id: z87.string().optional()
16697
+ error_type: z90.literal("pcb_placement_error").default("pcb_placement_error"),
16698
+ message: z90.string(),
16699
+ subcircuit_id: z90.string().optional()
16673
16700
  }).describe("Defines a placement error on the PCB");
16674
16701
  expectTypesMatch(true);
16675
- var pcb_trace_hint = z88.object({
16676
- type: z88.literal("pcb_trace_hint"),
16702
+ var pcb_trace_hint = z91.object({
16703
+ type: z91.literal("pcb_trace_hint"),
16677
16704
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
16678
- pcb_port_id: z88.string(),
16679
- pcb_component_id: z88.string(),
16680
- route: z88.array(route_hint_point),
16681
- subcircuit_id: z88.string().optional()
16705
+ pcb_port_id: z91.string(),
16706
+ pcb_component_id: z91.string(),
16707
+ route: z91.array(route_hint_point),
16708
+ subcircuit_id: z91.string().optional()
16682
16709
  }).describe("A hint that can be used during generation of a PCB trace");
16683
16710
  expectTypesMatch(true);
16684
- var pcb_silkscreen_line = z89.object({
16685
- type: z89.literal("pcb_silkscreen_line"),
16711
+ var pcb_silkscreen_line = z92.object({
16712
+ type: z92.literal("pcb_silkscreen_line"),
16686
16713
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
16687
- pcb_component_id: z89.string(),
16688
- pcb_group_id: z89.string().optional(),
16689
- subcircuit_id: z89.string().optional(),
16714
+ pcb_component_id: z92.string(),
16715
+ pcb_group_id: z92.string().optional(),
16716
+ subcircuit_id: z92.string().optional(),
16690
16717
  stroke_width: distance.default("0.1mm"),
16691
16718
  x1: distance,
16692
16719
  y1: distance,
@@ -16695,28 +16722,28 @@ var pcb_silkscreen_line = z89.object({
16695
16722
  layer: visible_layer
16696
16723
  }).describe("Defines a silkscreen line on the PCB");
16697
16724
  expectTypesMatch(true);
16698
- var pcb_silkscreen_path = z90.object({
16699
- type: z90.literal("pcb_silkscreen_path"),
16725
+ var pcb_silkscreen_path = z93.object({
16726
+ type: z93.literal("pcb_silkscreen_path"),
16700
16727
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
16701
- pcb_component_id: z90.string(),
16702
- pcb_group_id: z90.string().optional(),
16703
- subcircuit_id: z90.string().optional(),
16728
+ pcb_component_id: z93.string(),
16729
+ pcb_group_id: z93.string().optional(),
16730
+ subcircuit_id: z93.string().optional(),
16704
16731
  layer: visible_layer,
16705
- route: z90.array(point),
16732
+ route: z93.array(point),
16706
16733
  stroke_width: length
16707
16734
  }).describe("Defines a silkscreen path on the PCB");
16708
16735
  expectTypesMatch(true);
16709
- var pcb_silkscreen_text = z91.object({
16710
- type: z91.literal("pcb_silkscreen_text"),
16736
+ var pcb_silkscreen_text = z94.object({
16737
+ type: z94.literal("pcb_silkscreen_text"),
16711
16738
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
16712
- pcb_group_id: z91.string().optional(),
16713
- subcircuit_id: z91.string().optional(),
16714
- font: z91.literal("tscircuit2024").default("tscircuit2024"),
16739
+ pcb_group_id: z94.string().optional(),
16740
+ subcircuit_id: z94.string().optional(),
16741
+ font: z94.literal("tscircuit2024").default("tscircuit2024"),
16715
16742
  font_size: distance.default("0.2mm"),
16716
- pcb_component_id: z91.string(),
16717
- text: z91.string(),
16718
- is_knockout: z91.boolean().default(false).optional(),
16719
- knockout_padding: z91.object({
16743
+ pcb_component_id: z94.string(),
16744
+ text: z94.string(),
16745
+ is_knockout: z94.boolean().default(false).optional(),
16746
+ knockout_padding: z94.object({
16720
16747
  left: length,
16721
16748
  top: length,
16722
16749
  bottom: length,
@@ -16727,24 +16754,24 @@ var pcb_silkscreen_text = z91.object({
16727
16754
  bottom: "0.2mm",
16728
16755
  right: "0.2mm"
16729
16756
  }).optional(),
16730
- ccw_rotation: z91.number().optional(),
16757
+ ccw_rotation: z94.number().optional(),
16731
16758
  layer: layer_ref,
16732
- is_mirrored: z91.boolean().default(false).optional(),
16759
+ is_mirrored: z94.boolean().default(false).optional(),
16733
16760
  anchor_position: point.default({ x: 0, y: 0 }),
16734
16761
  anchor_alignment: ninePointAnchor.default("center")
16735
16762
  }).describe("Defines silkscreen text on the PCB");
16736
16763
  expectTypesMatch(true);
16737
- var pcb_copper_text = z92.object({
16738
- type: z92.literal("pcb_copper_text"),
16764
+ var pcb_copper_text = z95.object({
16765
+ type: z95.literal("pcb_copper_text"),
16739
16766
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
16740
- pcb_group_id: z92.string().optional(),
16741
- subcircuit_id: z92.string().optional(),
16742
- font: z92.literal("tscircuit2024").default("tscircuit2024"),
16767
+ pcb_group_id: z95.string().optional(),
16768
+ subcircuit_id: z95.string().optional(),
16769
+ font: z95.literal("tscircuit2024").default("tscircuit2024"),
16743
16770
  font_size: distance.default("0.2mm"),
16744
- pcb_component_id: z92.string(),
16745
- text: z92.string(),
16746
- is_knockout: z92.boolean().default(false).optional(),
16747
- knockout_padding: z92.object({
16771
+ pcb_component_id: z95.string(),
16772
+ text: z95.string(),
16773
+ is_knockout: z95.boolean().default(false).optional(),
16774
+ knockout_padding: z95.object({
16748
16775
  left: length,
16749
16776
  top: length,
16750
16777
  bottom: length,
@@ -16755,273 +16782,273 @@ var pcb_copper_text = z92.object({
16755
16782
  bottom: "0.2mm",
16756
16783
  right: "0.2mm"
16757
16784
  }).optional(),
16758
- ccw_rotation: z92.number().optional(),
16785
+ ccw_rotation: z95.number().optional(),
16759
16786
  layer: layer_ref,
16760
- is_mirrored: z92.boolean().default(false).optional(),
16787
+ is_mirrored: z95.boolean().default(false).optional(),
16761
16788
  anchor_position: point.default({ x: 0, y: 0 }),
16762
16789
  anchor_alignment: ninePointAnchor.default("center")
16763
16790
  }).describe("Defines copper text on the PCB");
16764
16791
  expectTypesMatch(true);
16765
- var pcb_silkscreen_rect = z93.object({
16766
- type: z93.literal("pcb_silkscreen_rect"),
16792
+ var pcb_silkscreen_rect = z96.object({
16793
+ type: z96.literal("pcb_silkscreen_rect"),
16767
16794
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
16768
- pcb_component_id: z93.string(),
16769
- pcb_group_id: z93.string().optional(),
16770
- subcircuit_id: z93.string().optional(),
16795
+ pcb_component_id: z96.string(),
16796
+ pcb_group_id: z96.string().optional(),
16797
+ subcircuit_id: z96.string().optional(),
16771
16798
  center: point,
16772
16799
  width: length,
16773
16800
  height: length,
16774
16801
  layer: layer_ref,
16775
16802
  stroke_width: length.default("1mm"),
16776
16803
  corner_radius: length.optional(),
16777
- is_filled: z93.boolean().default(true).optional(),
16778
- has_stroke: z93.boolean().optional(),
16779
- is_stroke_dashed: z93.boolean().optional()
16804
+ is_filled: z96.boolean().default(true).optional(),
16805
+ has_stroke: z96.boolean().optional(),
16806
+ is_stroke_dashed: z96.boolean().optional()
16780
16807
  }).describe("Defines a silkscreen rect on the PCB");
16781
16808
  expectTypesMatch(true);
16782
- var pcb_silkscreen_circle = z94.object({
16783
- type: z94.literal("pcb_silkscreen_circle"),
16809
+ var pcb_silkscreen_circle = z97.object({
16810
+ type: z97.literal("pcb_silkscreen_circle"),
16784
16811
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
16785
16812
  "pcb_silkscreen_circle"
16786
16813
  ),
16787
- pcb_component_id: z94.string(),
16788
- pcb_group_id: z94.string().optional(),
16789
- subcircuit_id: z94.string().optional(),
16814
+ pcb_component_id: z97.string(),
16815
+ pcb_group_id: z97.string().optional(),
16816
+ subcircuit_id: z97.string().optional(),
16790
16817
  center: point,
16791
16818
  radius: length,
16792
16819
  layer: visible_layer,
16793
16820
  stroke_width: length.default("1mm")
16794
16821
  }).describe("Defines a silkscreen circle on the PCB");
16795
16822
  expectTypesMatch(true);
16796
- var pcb_silkscreen_oval = z95.object({
16797
- type: z95.literal("pcb_silkscreen_oval"),
16823
+ var pcb_silkscreen_oval = z98.object({
16824
+ type: z98.literal("pcb_silkscreen_oval"),
16798
16825
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
16799
- pcb_component_id: z95.string(),
16800
- pcb_group_id: z95.string().optional(),
16801
- subcircuit_id: z95.string().optional(),
16826
+ pcb_component_id: z98.string(),
16827
+ pcb_group_id: z98.string().optional(),
16828
+ subcircuit_id: z98.string().optional(),
16802
16829
  center: point,
16803
16830
  radius_x: distance,
16804
16831
  radius_y: distance,
16805
16832
  layer: visible_layer
16806
16833
  }).describe("Defines a silkscreen oval on the PCB");
16807
16834
  expectTypesMatch(true);
16808
- var pcb_fabrication_note_text = z96.object({
16809
- type: z96.literal("pcb_fabrication_note_text"),
16835
+ var pcb_fabrication_note_text = z99.object({
16836
+ type: z99.literal("pcb_fabrication_note_text"),
16810
16837
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
16811
16838
  "pcb_fabrication_note_text"
16812
16839
  ),
16813
- subcircuit_id: z96.string().optional(),
16814
- pcb_group_id: z96.string().optional(),
16815
- font: z96.literal("tscircuit2024").default("tscircuit2024"),
16840
+ subcircuit_id: z99.string().optional(),
16841
+ pcb_group_id: z99.string().optional(),
16842
+ font: z99.literal("tscircuit2024").default("tscircuit2024"),
16816
16843
  font_size: distance.default("1mm"),
16817
- pcb_component_id: z96.string(),
16818
- text: z96.string(),
16844
+ pcb_component_id: z99.string(),
16845
+ text: z99.string(),
16819
16846
  layer: visible_layer,
16820
16847
  anchor_position: point.default({ x: 0, y: 0 }),
16821
- anchor_alignment: z96.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
16822
- color: z96.string().optional()
16848
+ anchor_alignment: z99.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
16849
+ color: z99.string().optional()
16823
16850
  }).describe(
16824
16851
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
16825
16852
  );
16826
16853
  expectTypesMatch(true);
16827
- var pcb_fabrication_note_path = z97.object({
16828
- type: z97.literal("pcb_fabrication_note_path"),
16854
+ var pcb_fabrication_note_path = z100.object({
16855
+ type: z100.literal("pcb_fabrication_note_path"),
16829
16856
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
16830
16857
  "pcb_fabrication_note_path"
16831
16858
  ),
16832
- pcb_component_id: z97.string(),
16833
- subcircuit_id: z97.string().optional(),
16859
+ pcb_component_id: z100.string(),
16860
+ subcircuit_id: z100.string().optional(),
16834
16861
  layer: layer_ref,
16835
- route: z97.array(point),
16862
+ route: z100.array(point),
16836
16863
  stroke_width: length,
16837
- color: z97.string().optional()
16864
+ color: z100.string().optional()
16838
16865
  }).describe(
16839
16866
  "Defines a fabrication path on the PCB for fabricators or assemblers"
16840
16867
  );
16841
16868
  expectTypesMatch(true);
16842
- var pcb_fabrication_note_rect = z98.object({
16843
- type: z98.literal("pcb_fabrication_note_rect"),
16869
+ var pcb_fabrication_note_rect = z101.object({
16870
+ type: z101.literal("pcb_fabrication_note_rect"),
16844
16871
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
16845
16872
  "pcb_fabrication_note_rect"
16846
16873
  ),
16847
- pcb_component_id: z98.string(),
16848
- pcb_group_id: z98.string().optional(),
16849
- subcircuit_id: z98.string().optional(),
16874
+ pcb_component_id: z101.string(),
16875
+ pcb_group_id: z101.string().optional(),
16876
+ subcircuit_id: z101.string().optional(),
16850
16877
  center: point,
16851
16878
  width: length,
16852
16879
  height: length,
16853
16880
  layer: visible_layer,
16854
16881
  stroke_width: length.default("0.1mm"),
16855
16882
  corner_radius: length.optional(),
16856
- is_filled: z98.boolean().optional(),
16857
- has_stroke: z98.boolean().optional(),
16858
- is_stroke_dashed: z98.boolean().optional(),
16859
- color: z98.string().optional()
16883
+ is_filled: z101.boolean().optional(),
16884
+ has_stroke: z101.boolean().optional(),
16885
+ is_stroke_dashed: z101.boolean().optional(),
16886
+ color: z101.string().optional()
16860
16887
  }).describe("Defines a fabrication note rectangle on the PCB");
16861
16888
  expectTypesMatch(true);
16862
- var pcb_fabrication_note_dimension = z99.object({
16863
- type: z99.literal("pcb_fabrication_note_dimension"),
16889
+ var pcb_fabrication_note_dimension = z102.object({
16890
+ type: z102.literal("pcb_fabrication_note_dimension"),
16864
16891
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
16865
16892
  "pcb_fabrication_note_dimension"
16866
16893
  ),
16867
- pcb_component_id: z99.string(),
16868
- pcb_group_id: z99.string().optional(),
16869
- subcircuit_id: z99.string().optional(),
16894
+ pcb_component_id: z102.string(),
16895
+ pcb_group_id: z102.string().optional(),
16896
+ subcircuit_id: z102.string().optional(),
16870
16897
  layer: visible_layer,
16871
16898
  from: point,
16872
16899
  to: point,
16873
- text: z99.string().optional(),
16874
- text_ccw_rotation: z99.number().optional(),
16900
+ text: z102.string().optional(),
16901
+ text_ccw_rotation: z102.number().optional(),
16875
16902
  offset: length.optional(),
16876
16903
  offset_distance: length.optional(),
16877
- offset_direction: z99.object({
16878
- x: z99.number(),
16879
- y: z99.number()
16904
+ offset_direction: z102.object({
16905
+ x: z102.number(),
16906
+ y: z102.number()
16880
16907
  }).optional(),
16881
- font: z99.literal("tscircuit2024").default("tscircuit2024"),
16908
+ font: z102.literal("tscircuit2024").default("tscircuit2024"),
16882
16909
  font_size: length.default("1mm"),
16883
- color: z99.string().optional(),
16910
+ color: z102.string().optional(),
16884
16911
  arrow_size: length.default("1mm")
16885
16912
  }).describe("Defines a measurement annotation within PCB fabrication notes");
16886
16913
  expectTypesMatch(true);
16887
- var pcb_note_text = z100.object({
16888
- type: z100.literal("pcb_note_text"),
16914
+ var pcb_note_text = z103.object({
16915
+ type: z103.literal("pcb_note_text"),
16889
16916
  pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
16890
- pcb_component_id: z100.string().optional(),
16891
- pcb_group_id: z100.string().optional(),
16892
- subcircuit_id: z100.string().optional(),
16893
- name: z100.string().optional(),
16894
- font: z100.literal("tscircuit2024").default("tscircuit2024"),
16917
+ pcb_component_id: z103.string().optional(),
16918
+ pcb_group_id: z103.string().optional(),
16919
+ subcircuit_id: z103.string().optional(),
16920
+ name: z103.string().optional(),
16921
+ font: z103.literal("tscircuit2024").default("tscircuit2024"),
16895
16922
  font_size: distance.default("1mm"),
16896
- text: z100.string().optional(),
16923
+ text: z103.string().optional(),
16897
16924
  anchor_position: point.default({ x: 0, y: 0 }),
16898
- anchor_alignment: z100.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
16899
- color: z100.string().optional()
16925
+ anchor_alignment: z103.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
16926
+ color: z103.string().optional()
16900
16927
  }).describe("Defines a documentation note in text on the PCB");
16901
16928
  expectTypesMatch(true);
16902
- var pcb_note_rect = z101.object({
16903
- type: z101.literal("pcb_note_rect"),
16929
+ var pcb_note_rect = z104.object({
16930
+ type: z104.literal("pcb_note_rect"),
16904
16931
  pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
16905
- pcb_component_id: z101.string().optional(),
16906
- pcb_group_id: z101.string().optional(),
16907
- subcircuit_id: z101.string().optional(),
16908
- name: z101.string().optional(),
16909
- text: z101.string().optional(),
16932
+ pcb_component_id: z104.string().optional(),
16933
+ pcb_group_id: z104.string().optional(),
16934
+ subcircuit_id: z104.string().optional(),
16935
+ name: z104.string().optional(),
16936
+ text: z104.string().optional(),
16910
16937
  center: point,
16911
16938
  width: length,
16912
16939
  height: length,
16913
16940
  stroke_width: length.default("0.1mm"),
16914
16941
  corner_radius: length.optional(),
16915
- is_filled: z101.boolean().optional(),
16916
- has_stroke: z101.boolean().optional(),
16917
- is_stroke_dashed: z101.boolean().optional(),
16918
- color: z101.string().optional()
16942
+ is_filled: z104.boolean().optional(),
16943
+ has_stroke: z104.boolean().optional(),
16944
+ is_stroke_dashed: z104.boolean().optional(),
16945
+ color: z104.string().optional()
16919
16946
  }).describe("Defines a rectangular documentation note on the PCB");
16920
16947
  expectTypesMatch(true);
16921
- var pcb_note_path = z102.object({
16922
- type: z102.literal("pcb_note_path"),
16948
+ var pcb_note_path = z105.object({
16949
+ type: z105.literal("pcb_note_path"),
16923
16950
  pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
16924
- pcb_component_id: z102.string().optional(),
16925
- pcb_group_id: z102.string().optional(),
16926
- subcircuit_id: z102.string().optional(),
16927
- name: z102.string().optional(),
16928
- text: z102.string().optional(),
16929
- route: z102.array(point),
16951
+ pcb_component_id: z105.string().optional(),
16952
+ pcb_group_id: z105.string().optional(),
16953
+ subcircuit_id: z105.string().optional(),
16954
+ name: z105.string().optional(),
16955
+ text: z105.string().optional(),
16956
+ route: z105.array(point),
16930
16957
  stroke_width: length.default("0.1mm"),
16931
- color: z102.string().optional()
16958
+ color: z105.string().optional()
16932
16959
  }).describe("Defines a polyline documentation note on the PCB");
16933
16960
  expectTypesMatch(true);
16934
- var pcb_note_line = z103.object({
16935
- type: z103.literal("pcb_note_line"),
16961
+ var pcb_note_line = z106.object({
16962
+ type: z106.literal("pcb_note_line"),
16936
16963
  pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
16937
- pcb_component_id: z103.string().optional(),
16938
- pcb_group_id: z103.string().optional(),
16939
- subcircuit_id: z103.string().optional(),
16940
- name: z103.string().optional(),
16941
- text: z103.string().optional(),
16964
+ pcb_component_id: z106.string().optional(),
16965
+ pcb_group_id: z106.string().optional(),
16966
+ subcircuit_id: z106.string().optional(),
16967
+ name: z106.string().optional(),
16968
+ text: z106.string().optional(),
16942
16969
  x1: distance,
16943
16970
  y1: distance,
16944
16971
  x2: distance,
16945
16972
  y2: distance,
16946
16973
  stroke_width: distance.default("0.1mm"),
16947
- color: z103.string().optional(),
16948
- is_dashed: z103.boolean().optional()
16974
+ color: z106.string().optional(),
16975
+ is_dashed: z106.boolean().optional()
16949
16976
  }).describe("Defines a straight documentation note line on the PCB");
16950
16977
  expectTypesMatch(true);
16951
- var pcb_note_dimension = z104.object({
16952
- type: z104.literal("pcb_note_dimension"),
16978
+ var pcb_note_dimension = z107.object({
16979
+ type: z107.literal("pcb_note_dimension"),
16953
16980
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
16954
- pcb_component_id: z104.string().optional(),
16955
- pcb_group_id: z104.string().optional(),
16956
- subcircuit_id: z104.string().optional(),
16957
- name: z104.string().optional(),
16981
+ pcb_component_id: z107.string().optional(),
16982
+ pcb_group_id: z107.string().optional(),
16983
+ subcircuit_id: z107.string().optional(),
16984
+ name: z107.string().optional(),
16958
16985
  from: point,
16959
16986
  to: point,
16960
- text: z104.string().optional(),
16961
- text_ccw_rotation: z104.number().optional(),
16987
+ text: z107.string().optional(),
16988
+ text_ccw_rotation: z107.number().optional(),
16962
16989
  offset_distance: length.optional(),
16963
- offset_direction: z104.object({
16964
- x: z104.number(),
16965
- y: z104.number()
16990
+ offset_direction: z107.object({
16991
+ x: z107.number(),
16992
+ y: z107.number()
16966
16993
  }).optional(),
16967
- font: z104.literal("tscircuit2024").default("tscircuit2024"),
16994
+ font: z107.literal("tscircuit2024").default("tscircuit2024"),
16968
16995
  font_size: length.default("1mm"),
16969
- color: z104.string().optional(),
16996
+ color: z107.string().optional(),
16970
16997
  arrow_size: length.default("1mm")
16971
16998
  }).describe("Defines a measurement annotation within PCB documentation notes");
16972
16999
  expectTypesMatch(true);
16973
- var pcb_footprint_overlap_error = z105.object({
16974
- type: z105.literal("pcb_footprint_overlap_error"),
17000
+ var pcb_footprint_overlap_error = z108.object({
17001
+ type: z108.literal("pcb_footprint_overlap_error"),
16975
17002
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
16976
- error_type: z105.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
16977
- message: z105.string(),
16978
- pcb_smtpad_ids: z105.array(z105.string()).optional(),
16979
- pcb_plated_hole_ids: z105.array(z105.string()).optional(),
16980
- pcb_hole_ids: z105.array(z105.string()).optional(),
16981
- pcb_keepout_ids: z105.array(z105.string()).optional()
17003
+ error_type: z108.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
17004
+ message: z108.string(),
17005
+ pcb_smtpad_ids: z108.array(z108.string()).optional(),
17006
+ pcb_plated_hole_ids: z108.array(z108.string()).optional(),
17007
+ pcb_hole_ids: z108.array(z108.string()).optional(),
17008
+ pcb_keepout_ids: z108.array(z108.string()).optional()
16982
17009
  }).describe("Error emitted when a pcb footprint overlaps with another element");
16983
17010
  expectTypesMatch(
16984
17011
  true
16985
17012
  );
16986
- var pcb_keepout = z106.object({
16987
- type: z106.literal("pcb_keepout"),
16988
- shape: z106.literal("rect"),
16989
- pcb_group_id: z106.string().optional(),
16990
- subcircuit_id: z106.string().optional(),
17013
+ var pcb_keepout = z109.object({
17014
+ type: z109.literal("pcb_keepout"),
17015
+ shape: z109.literal("rect"),
17016
+ pcb_group_id: z109.string().optional(),
17017
+ subcircuit_id: z109.string().optional(),
16991
17018
  center: point,
16992
17019
  width: distance,
16993
17020
  height: distance,
16994
- pcb_keepout_id: z106.string(),
16995
- layers: z106.array(z106.string()),
17021
+ pcb_keepout_id: z109.string(),
17022
+ layers: z109.array(z109.string()),
16996
17023
  // Specify layers where the keepout applies
16997
- description: z106.string().optional()
17024
+ description: z109.string().optional()
16998
17025
  // Optional description of the keepout
16999
17026
  }).or(
17000
- z106.object({
17001
- type: z106.literal("pcb_keepout"),
17002
- shape: z106.literal("circle"),
17003
- pcb_group_id: z106.string().optional(),
17004
- subcircuit_id: z106.string().optional(),
17027
+ z109.object({
17028
+ type: z109.literal("pcb_keepout"),
17029
+ shape: z109.literal("circle"),
17030
+ pcb_group_id: z109.string().optional(),
17031
+ subcircuit_id: z109.string().optional(),
17005
17032
  center: point,
17006
17033
  radius: distance,
17007
- pcb_keepout_id: z106.string(),
17008
- layers: z106.array(z106.string()),
17034
+ pcb_keepout_id: z109.string(),
17035
+ layers: z109.array(z109.string()),
17009
17036
  // Specify layers where the keepout applies
17010
- description: z106.string().optional()
17037
+ description: z109.string().optional()
17011
17038
  // Optional description of the keepout
17012
17039
  })
17013
17040
  );
17014
17041
  expectTypesMatch(true);
17015
- var pcb_cutout_base = z107.object({
17016
- type: z107.literal("pcb_cutout"),
17042
+ var pcb_cutout_base = z110.object({
17043
+ type: z110.literal("pcb_cutout"),
17017
17044
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
17018
- pcb_group_id: z107.string().optional(),
17019
- subcircuit_id: z107.string().optional(),
17020
- pcb_board_id: z107.string().optional(),
17021
- pcb_panel_id: z107.string().optional()
17045
+ pcb_group_id: z110.string().optional(),
17046
+ subcircuit_id: z110.string().optional(),
17047
+ pcb_board_id: z110.string().optional(),
17048
+ pcb_panel_id: z110.string().optional()
17022
17049
  });
17023
17050
  var pcb_cutout_rect = pcb_cutout_base.extend({
17024
- shape: z107.literal("rect"),
17051
+ shape: z110.literal("rect"),
17025
17052
  center: point,
17026
17053
  width: length,
17027
17054
  height: length,
@@ -17030,179 +17057,188 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
17030
17057
  });
17031
17058
  expectTypesMatch(true);
17032
17059
  var pcb_cutout_circle = pcb_cutout_base.extend({
17033
- shape: z107.literal("circle"),
17060
+ shape: z110.literal("circle"),
17034
17061
  center: point,
17035
17062
  radius: length
17036
17063
  });
17037
17064
  expectTypesMatch(true);
17038
17065
  var pcb_cutout_polygon = pcb_cutout_base.extend({
17039
- shape: z107.literal("polygon"),
17040
- points: z107.array(point)
17066
+ shape: z110.literal("polygon"),
17067
+ points: z110.array(point)
17041
17068
  });
17042
17069
  expectTypesMatch(true);
17043
17070
  var pcb_cutout_path = pcb_cutout_base.extend({
17044
- shape: z107.literal("path"),
17045
- route: z107.array(point),
17071
+ shape: z110.literal("path"),
17072
+ route: z110.array(point),
17046
17073
  slot_width: length,
17047
17074
  slot_length: length.optional(),
17048
17075
  space_between_slots: length.optional(),
17049
17076
  slot_corner_radius: length.optional()
17050
17077
  });
17051
17078
  expectTypesMatch(true);
17052
- var pcb_cutout = z107.discriminatedUnion("shape", [
17079
+ var pcb_cutout = z110.discriminatedUnion("shape", [
17053
17080
  pcb_cutout_rect,
17054
17081
  pcb_cutout_circle,
17055
17082
  pcb_cutout_polygon,
17056
17083
  pcb_cutout_path
17057
17084
  ]).describe("Defines a cutout on the PCB, removing board material.");
17058
17085
  expectTypesMatch(true);
17059
- var pcb_missing_footprint_error = z108.object({
17060
- type: z108.literal("pcb_missing_footprint_error"),
17086
+ var pcb_missing_footprint_error = z111.object({
17087
+ type: z111.literal("pcb_missing_footprint_error"),
17061
17088
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
17062
17089
  "pcb_missing_footprint_error"
17063
17090
  ),
17064
- pcb_group_id: z108.string().optional(),
17065
- subcircuit_id: z108.string().optional(),
17066
- error_type: z108.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
17067
- source_component_id: z108.string(),
17068
- message: z108.string()
17091
+ pcb_group_id: z111.string().optional(),
17092
+ subcircuit_id: z111.string().optional(),
17093
+ error_type: z111.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
17094
+ source_component_id: z111.string(),
17095
+ message: z111.string()
17069
17096
  }).describe("Defines a missing footprint error on the PCB");
17070
17097
  expectTypesMatch(
17071
17098
  true
17072
17099
  );
17073
- var external_footprint_load_error = z109.object({
17074
- type: z109.literal("external_footprint_load_error"),
17100
+ var external_footprint_load_error = z112.object({
17101
+ type: z112.literal("external_footprint_load_error"),
17075
17102
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
17076
17103
  "external_footprint_load_error"
17077
17104
  ),
17078
- pcb_component_id: z109.string(),
17079
- source_component_id: z109.string(),
17080
- pcb_group_id: z109.string().optional(),
17081
- subcircuit_id: z109.string().optional(),
17082
- footprinter_string: z109.string().optional(),
17083
- error_type: z109.literal("external_footprint_load_error").default("external_footprint_load_error"),
17084
- message: z109.string()
17105
+ pcb_component_id: z112.string(),
17106
+ source_component_id: z112.string(),
17107
+ pcb_group_id: z112.string().optional(),
17108
+ subcircuit_id: z112.string().optional(),
17109
+ footprinter_string: z112.string().optional(),
17110
+ error_type: z112.literal("external_footprint_load_error").default("external_footprint_load_error"),
17111
+ message: z112.string()
17085
17112
  }).describe("Defines an error when an external footprint fails to load");
17086
17113
  expectTypesMatch(true);
17087
- var circuit_json_footprint_load_error = z110.object({
17088
- type: z110.literal("circuit_json_footprint_load_error"),
17114
+ var circuit_json_footprint_load_error = z113.object({
17115
+ type: z113.literal("circuit_json_footprint_load_error"),
17089
17116
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
17090
17117
  "circuit_json_footprint_load_error"
17091
17118
  ),
17092
- pcb_component_id: z110.string(),
17093
- source_component_id: z110.string(),
17094
- pcb_group_id: z110.string().optional(),
17095
- subcircuit_id: z110.string().optional(),
17096
- error_type: z110.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
17097
- message: z110.string(),
17098
- circuit_json: z110.array(z110.any()).optional()
17119
+ pcb_component_id: z113.string(),
17120
+ source_component_id: z113.string(),
17121
+ pcb_group_id: z113.string().optional(),
17122
+ subcircuit_id: z113.string().optional(),
17123
+ error_type: z113.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
17124
+ message: z113.string(),
17125
+ circuit_json: z113.array(z113.any()).optional()
17099
17126
  }).describe("Defines an error when a circuit JSON footprint fails to load");
17100
17127
  expectTypesMatch(true);
17101
- var pcb_group = z111.object({
17102
- type: z111.literal("pcb_group"),
17128
+ var pcb_group = z114.object({
17129
+ type: z114.literal("pcb_group"),
17103
17130
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
17104
- source_group_id: z111.string(),
17105
- is_subcircuit: z111.boolean().optional(),
17106
- subcircuit_id: z111.string().optional(),
17131
+ source_group_id: z114.string(),
17132
+ is_subcircuit: z114.boolean().optional(),
17133
+ subcircuit_id: z114.string().optional(),
17107
17134
  width: length.optional(),
17108
17135
  height: length.optional(),
17109
17136
  center: point,
17110
- outline: z111.array(point).optional(),
17137
+ display_offset_x: z114.string().optional().describe(
17138
+ "How to display the x offset for this group, usually corresponding with how the user specified it"
17139
+ ),
17140
+ display_offset_y: z114.string().optional().describe(
17141
+ "How to display the y offset for this group, usually corresponding with how the user specified it"
17142
+ ),
17143
+ outline: z114.array(point).optional(),
17111
17144
  anchor_position: point.optional(),
17112
- anchor_alignment: z111.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
17113
- pcb_component_ids: z111.array(z111.string()),
17114
- child_layout_mode: z111.enum(["packed", "none"]).optional(),
17115
- name: z111.string().optional(),
17116
- description: z111.string().optional(),
17117
- layout_mode: z111.string().optional(),
17118
- autorouter_configuration: z111.object({
17145
+ anchor_alignment: ninePointAnchor.default("center"),
17146
+ position_mode: z114.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
17147
+ positioned_relative_to_pcb_group_id: z114.string().optional(),
17148
+ positioned_relative_to_pcb_board_id: z114.string().optional(),
17149
+ pcb_component_ids: z114.array(z114.string()),
17150
+ child_layout_mode: z114.enum(["packed", "none"]).optional(),
17151
+ name: z114.string().optional(),
17152
+ description: z114.string().optional(),
17153
+ layout_mode: z114.string().optional(),
17154
+ autorouter_configuration: z114.object({
17119
17155
  trace_clearance: length
17120
17156
  }).optional(),
17121
- autorouter_used_string: z111.string().optional()
17157
+ autorouter_used_string: z114.string().optional()
17122
17158
  }).describe("Defines a group of components on the PCB");
17123
17159
  expectTypesMatch(true);
17124
- var pcb_autorouting_error = z112.object({
17125
- type: z112.literal("pcb_autorouting_error"),
17160
+ var pcb_autorouting_error = z115.object({
17161
+ type: z115.literal("pcb_autorouting_error"),
17126
17162
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
17127
- error_type: z112.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
17128
- message: z112.string(),
17129
- subcircuit_id: z112.string().optional()
17163
+ error_type: z115.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
17164
+ message: z115.string(),
17165
+ subcircuit_id: z115.string().optional()
17130
17166
  }).describe("The autorouting has failed to route a portion of the board");
17131
17167
  expectTypesMatch(true);
17132
- var pcb_manual_edit_conflict_warning = z113.object({
17133
- type: z113.literal("pcb_manual_edit_conflict_warning"),
17168
+ var pcb_manual_edit_conflict_warning = z116.object({
17169
+ type: z116.literal("pcb_manual_edit_conflict_warning"),
17134
17170
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
17135
17171
  "pcb_manual_edit_conflict_warning"
17136
17172
  ),
17137
- warning_type: z113.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
17138
- message: z113.string(),
17139
- pcb_component_id: z113.string(),
17140
- pcb_group_id: z113.string().optional(),
17141
- subcircuit_id: z113.string().optional(),
17142
- source_component_id: z113.string()
17173
+ warning_type: z116.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
17174
+ message: z116.string(),
17175
+ pcb_component_id: z116.string(),
17176
+ pcb_group_id: z116.string().optional(),
17177
+ subcircuit_id: z116.string().optional(),
17178
+ source_component_id: z116.string()
17143
17179
  }).describe(
17144
17180
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
17145
17181
  );
17146
17182
  expectTypesMatch(true);
17147
- var pcb_breakout_point = z114.object({
17148
- type: z114.literal("pcb_breakout_point"),
17183
+ var pcb_breakout_point = z117.object({
17184
+ type: z117.literal("pcb_breakout_point"),
17149
17185
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
17150
- pcb_group_id: z114.string(),
17151
- subcircuit_id: z114.string().optional(),
17152
- source_trace_id: z114.string().optional(),
17153
- source_port_id: z114.string().optional(),
17154
- source_net_id: z114.string().optional(),
17186
+ pcb_group_id: z117.string(),
17187
+ subcircuit_id: z117.string().optional(),
17188
+ source_trace_id: z117.string().optional(),
17189
+ source_port_id: z117.string().optional(),
17190
+ source_net_id: z117.string().optional(),
17155
17191
  x: distance,
17156
17192
  y: distance
17157
17193
  }).describe(
17158
17194
  "Defines a routing target within a pcb_group for a source_trace or source_net"
17159
17195
  );
17160
17196
  expectTypesMatch(true);
17161
- var pcb_ground_plane = z115.object({
17162
- type: z115.literal("pcb_ground_plane"),
17197
+ var pcb_ground_plane = z118.object({
17198
+ type: z118.literal("pcb_ground_plane"),
17163
17199
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
17164
- source_pcb_ground_plane_id: z115.string(),
17165
- source_net_id: z115.string(),
17166
- pcb_group_id: z115.string().optional(),
17167
- subcircuit_id: z115.string().optional()
17200
+ source_pcb_ground_plane_id: z118.string(),
17201
+ source_net_id: z118.string(),
17202
+ pcb_group_id: z118.string().optional(),
17203
+ subcircuit_id: z118.string().optional()
17168
17204
  }).describe("Defines a ground plane on the PCB");
17169
17205
  expectTypesMatch(true);
17170
- var pcb_ground_plane_region = z116.object({
17171
- type: z116.literal("pcb_ground_plane_region"),
17206
+ var pcb_ground_plane_region = z119.object({
17207
+ type: z119.literal("pcb_ground_plane_region"),
17172
17208
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
17173
17209
  "pcb_ground_plane_region"
17174
17210
  ),
17175
- pcb_ground_plane_id: z116.string(),
17176
- pcb_group_id: z116.string().optional(),
17177
- subcircuit_id: z116.string().optional(),
17211
+ pcb_ground_plane_id: z119.string(),
17212
+ pcb_group_id: z119.string().optional(),
17213
+ subcircuit_id: z119.string().optional(),
17178
17214
  layer: layer_ref,
17179
- points: z116.array(point)
17215
+ points: z119.array(point)
17180
17216
  }).describe("Defines a polygon region of a ground plane");
17181
17217
  expectTypesMatch(true);
17182
- var pcb_thermal_spoke = z117.object({
17183
- type: z117.literal("pcb_thermal_spoke"),
17218
+ var pcb_thermal_spoke = z120.object({
17219
+ type: z120.literal("pcb_thermal_spoke"),
17184
17220
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
17185
- pcb_ground_plane_id: z117.string(),
17186
- shape: z117.string(),
17187
- spoke_count: z117.number(),
17221
+ pcb_ground_plane_id: z120.string(),
17222
+ shape: z120.string(),
17223
+ spoke_count: z120.number(),
17188
17224
  spoke_thickness: distance,
17189
17225
  spoke_inner_diameter: distance,
17190
17226
  spoke_outer_diameter: distance,
17191
- pcb_plated_hole_id: z117.string().optional(),
17192
- subcircuit_id: z117.string().optional()
17227
+ pcb_plated_hole_id: z120.string().optional(),
17228
+ subcircuit_id: z120.string().optional()
17193
17229
  }).describe("Pattern for connecting a ground plane to a plated hole");
17194
17230
  expectTypesMatch(true);
17195
- var pcb_copper_pour_base = z118.object({
17196
- type: z118.literal("pcb_copper_pour"),
17231
+ var pcb_copper_pour_base = z121.object({
17232
+ type: z121.literal("pcb_copper_pour"),
17197
17233
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
17198
- pcb_group_id: z118.string().optional(),
17199
- subcircuit_id: z118.string().optional(),
17234
+ pcb_group_id: z121.string().optional(),
17235
+ subcircuit_id: z121.string().optional(),
17200
17236
  layer: layer_ref,
17201
- source_net_id: z118.string().optional(),
17202
- covered_with_solder_mask: z118.boolean().optional().default(true)
17237
+ source_net_id: z121.string().optional(),
17238
+ covered_with_solder_mask: z121.boolean().optional().default(true)
17203
17239
  });
17204
17240
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
17205
- shape: z118.literal("rect"),
17241
+ shape: z121.literal("rect"),
17206
17242
  center: point,
17207
17243
  width: length,
17208
17244
  height: length,
@@ -17210,141 +17246,141 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
17210
17246
  });
17211
17247
  expectTypesMatch(true);
17212
17248
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
17213
- shape: z118.literal("brep"),
17249
+ shape: z121.literal("brep"),
17214
17250
  brep_shape
17215
17251
  });
17216
17252
  expectTypesMatch(true);
17217
17253
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
17218
- shape: z118.literal("polygon"),
17219
- points: z118.array(point)
17254
+ shape: z121.literal("polygon"),
17255
+ points: z121.array(point)
17220
17256
  });
17221
17257
  expectTypesMatch(true);
17222
- var pcb_copper_pour = z118.discriminatedUnion("shape", [
17258
+ var pcb_copper_pour = z121.discriminatedUnion("shape", [
17223
17259
  pcb_copper_pour_rect,
17224
17260
  pcb_copper_pour_brep,
17225
17261
  pcb_copper_pour_polygon
17226
17262
  ]).describe("Defines a copper pour on the PCB.");
17227
17263
  expectTypesMatch(true);
17228
- var pcb_component_outside_board_error = z119.object({
17229
- type: z119.literal("pcb_component_outside_board_error"),
17264
+ var pcb_component_outside_board_error = z122.object({
17265
+ type: z122.literal("pcb_component_outside_board_error"),
17230
17266
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
17231
17267
  "pcb_component_outside_board_error"
17232
17268
  ),
17233
- error_type: z119.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
17234
- message: z119.string(),
17235
- pcb_component_id: z119.string(),
17236
- pcb_board_id: z119.string(),
17269
+ error_type: z122.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
17270
+ message: z122.string(),
17271
+ pcb_component_id: z122.string(),
17272
+ pcb_board_id: z122.string(),
17237
17273
  component_center: point,
17238
- component_bounds: z119.object({
17239
- min_x: z119.number(),
17240
- max_x: z119.number(),
17241
- min_y: z119.number(),
17242
- max_y: z119.number()
17274
+ component_bounds: z122.object({
17275
+ min_x: z122.number(),
17276
+ max_x: z122.number(),
17277
+ min_y: z122.number(),
17278
+ max_y: z122.number()
17243
17279
  }),
17244
- subcircuit_id: z119.string().optional(),
17245
- source_component_id: z119.string().optional()
17280
+ subcircuit_id: z122.string().optional(),
17281
+ source_component_id: z122.string().optional()
17246
17282
  }).describe(
17247
17283
  "Error emitted when a PCB component is placed outside the board boundaries"
17248
17284
  );
17249
17285
  expectTypesMatch(true);
17250
- var pcb_component_invalid_layer_error = z120.object({
17251
- type: z120.literal("pcb_component_invalid_layer_error"),
17286
+ var pcb_component_invalid_layer_error = z123.object({
17287
+ type: z123.literal("pcb_component_invalid_layer_error"),
17252
17288
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
17253
17289
  "pcb_component_invalid_layer_error"
17254
17290
  ),
17255
- error_type: z120.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
17256
- message: z120.string(),
17257
- pcb_component_id: z120.string().optional(),
17258
- source_component_id: z120.string(),
17291
+ error_type: z123.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
17292
+ message: z123.string(),
17293
+ pcb_component_id: z123.string().optional(),
17294
+ source_component_id: z123.string(),
17259
17295
  layer: layer_ref,
17260
- subcircuit_id: z120.string().optional()
17296
+ subcircuit_id: z123.string().optional()
17261
17297
  }).describe(
17262
17298
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
17263
17299
  );
17264
17300
  expectTypesMatch(true);
17265
- var pcb_via_clearance_error = z121.object({
17266
- type: z121.literal("pcb_via_clearance_error"),
17301
+ var pcb_via_clearance_error = z124.object({
17302
+ type: z124.literal("pcb_via_clearance_error"),
17267
17303
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
17268
- error_type: z121.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
17269
- message: z121.string(),
17270
- pcb_via_ids: z121.array(z121.string()).min(2),
17304
+ error_type: z124.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
17305
+ message: z124.string(),
17306
+ pcb_via_ids: z124.array(z124.string()).min(2),
17271
17307
  minimum_clearance: distance.optional(),
17272
17308
  actual_clearance: distance.optional(),
17273
- pcb_center: z121.object({
17274
- x: z121.number().optional(),
17275
- y: z121.number().optional()
17309
+ pcb_center: z124.object({
17310
+ x: z124.number().optional(),
17311
+ y: z124.number().optional()
17276
17312
  }).optional(),
17277
- subcircuit_id: z121.string().optional()
17313
+ subcircuit_id: z124.string().optional()
17278
17314
  }).describe("Error emitted when vias are closer than the allowed clearance");
17279
17315
  expectTypesMatch(true);
17280
- var pcb_courtyard_rect = z122.object({
17281
- type: z122.literal("pcb_courtyard_rect"),
17316
+ var pcb_courtyard_rect = z125.object({
17317
+ type: z125.literal("pcb_courtyard_rect"),
17282
17318
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
17283
- pcb_component_id: z122.string(),
17284
- pcb_group_id: z122.string().optional(),
17285
- subcircuit_id: z122.string().optional(),
17319
+ pcb_component_id: z125.string(),
17320
+ pcb_group_id: z125.string().optional(),
17321
+ subcircuit_id: z125.string().optional(),
17286
17322
  center: point,
17287
17323
  width: length,
17288
17324
  height: length,
17289
17325
  layer: visible_layer,
17290
- color: z122.string().optional()
17326
+ color: z125.string().optional()
17291
17327
  }).describe("Defines a courtyard rectangle on the PCB");
17292
17328
  expectTypesMatch(true);
17293
- var pcb_courtyard_outline = z123.object({
17294
- type: z123.literal("pcb_courtyard_outline"),
17329
+ var pcb_courtyard_outline = z126.object({
17330
+ type: z126.literal("pcb_courtyard_outline"),
17295
17331
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
17296
17332
  "pcb_courtyard_outline"
17297
17333
  ),
17298
- pcb_component_id: z123.string(),
17299
- pcb_group_id: z123.string().optional(),
17300
- subcircuit_id: z123.string().optional(),
17334
+ pcb_component_id: z126.string(),
17335
+ pcb_group_id: z126.string().optional(),
17336
+ subcircuit_id: z126.string().optional(),
17301
17337
  layer: visible_layer,
17302
- outline: z123.array(point).min(2),
17338
+ outline: z126.array(point).min(2),
17303
17339
  stroke_width: length.default("0.1mm"),
17304
- is_closed: z123.boolean().optional(),
17305
- is_stroke_dashed: z123.boolean().optional(),
17306
- color: z123.string().optional()
17340
+ is_closed: z126.boolean().optional(),
17341
+ is_stroke_dashed: z126.boolean().optional(),
17342
+ color: z126.string().optional()
17307
17343
  }).describe("Defines a courtyard outline on the PCB");
17308
17344
  expectTypesMatch(true);
17309
- var pcb_courtyard_polygon = z124.object({
17310
- type: z124.literal("pcb_courtyard_polygon"),
17345
+ var pcb_courtyard_polygon = z127.object({
17346
+ type: z127.literal("pcb_courtyard_polygon"),
17311
17347
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
17312
17348
  "pcb_courtyard_polygon"
17313
17349
  ),
17314
- pcb_component_id: z124.string(),
17315
- pcb_group_id: z124.string().optional(),
17316
- subcircuit_id: z124.string().optional(),
17350
+ pcb_component_id: z127.string(),
17351
+ pcb_group_id: z127.string().optional(),
17352
+ subcircuit_id: z127.string().optional(),
17317
17353
  layer: visible_layer,
17318
- points: z124.array(point).min(3),
17319
- color: z124.string().optional()
17354
+ points: z127.array(point).min(3),
17355
+ color: z127.string().optional()
17320
17356
  }).describe("Defines a courtyard polygon on the PCB");
17321
17357
  expectTypesMatch(true);
17322
- var cad_component = z125.object({
17323
- type: z125.literal("cad_component"),
17324
- cad_component_id: z125.string(),
17325
- pcb_component_id: z125.string(),
17326
- source_component_id: z125.string(),
17358
+ var cad_component = z128.object({
17359
+ type: z128.literal("cad_component"),
17360
+ cad_component_id: z128.string(),
17361
+ pcb_component_id: z128.string(),
17362
+ source_component_id: z128.string(),
17327
17363
  position: point3,
17328
17364
  rotation: point3.optional(),
17329
17365
  size: point3.optional(),
17330
17366
  layer: layer_ref.optional(),
17331
- subcircuit_id: z125.string().optional(),
17367
+ subcircuit_id: z128.string().optional(),
17332
17368
  // These are all ways to generate/load the 3d model
17333
- footprinter_string: z125.string().optional(),
17334
- model_obj_url: z125.string().optional(),
17335
- model_stl_url: z125.string().optional(),
17336
- model_3mf_url: z125.string().optional(),
17337
- model_gltf_url: z125.string().optional(),
17338
- model_glb_url: z125.string().optional(),
17339
- model_step_url: z125.string().optional(),
17340
- model_wrl_url: z125.string().optional(),
17341
- model_unit_to_mm_scale_factor: z125.number().optional(),
17342
- model_jscad: z125.any().optional(),
17343
- show_as_translucent_model: z125.boolean().optional()
17369
+ footprinter_string: z128.string().optional(),
17370
+ model_obj_url: z128.string().optional(),
17371
+ model_stl_url: z128.string().optional(),
17372
+ model_3mf_url: z128.string().optional(),
17373
+ model_gltf_url: z128.string().optional(),
17374
+ model_glb_url: z128.string().optional(),
17375
+ model_step_url: z128.string().optional(),
17376
+ model_wrl_url: z128.string().optional(),
17377
+ model_unit_to_mm_scale_factor: z128.number().optional(),
17378
+ model_jscad: z128.any().optional(),
17379
+ show_as_translucent_model: z128.boolean().optional()
17344
17380
  }).describe("Defines a component on the PCB");
17345
17381
  expectTypesMatch(true);
17346
- var wave_shape = z126.enum(["sinewave", "square", "triangle", "sawtooth"]);
17347
- var percentage = z126.union([z126.string(), z126.number()]).transform((val) => {
17382
+ var wave_shape = z129.enum(["sinewave", "square", "triangle", "sawtooth"]);
17383
+ var percentage = z129.union([z129.string(), z129.number()]).transform((val) => {
17348
17384
  if (typeof val === "string") {
17349
17385
  if (val.endsWith("%")) {
17350
17386
  return parseFloat(val.slice(0, -1)) / 100;
@@ -17353,30 +17389,30 @@ var percentage = z126.union([z126.string(), z126.number()]).transform((val) => {
17353
17389
  }
17354
17390
  return val;
17355
17391
  }).pipe(
17356
- z126.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
17392
+ z129.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
17357
17393
  );
17358
- var simulation_dc_voltage_source = z126.object({
17359
- type: z126.literal("simulation_voltage_source"),
17394
+ var simulation_dc_voltage_source = z129.object({
17395
+ type: z129.literal("simulation_voltage_source"),
17360
17396
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
17361
17397
  "simulation_voltage_source"
17362
17398
  ),
17363
- is_dc_source: z126.literal(true).optional().default(true),
17364
- positive_source_port_id: z126.string().optional(),
17365
- negative_source_port_id: z126.string().optional(),
17366
- positive_source_net_id: z126.string().optional(),
17367
- negative_source_net_id: z126.string().optional(),
17399
+ is_dc_source: z129.literal(true).optional().default(true),
17400
+ positive_source_port_id: z129.string().optional(),
17401
+ negative_source_port_id: z129.string().optional(),
17402
+ positive_source_net_id: z129.string().optional(),
17403
+ negative_source_net_id: z129.string().optional(),
17368
17404
  voltage
17369
17405
  }).describe("Defines a DC voltage source for simulation");
17370
- var simulation_ac_voltage_source = z126.object({
17371
- type: z126.literal("simulation_voltage_source"),
17406
+ var simulation_ac_voltage_source = z129.object({
17407
+ type: z129.literal("simulation_voltage_source"),
17372
17408
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
17373
17409
  "simulation_voltage_source"
17374
17410
  ),
17375
- is_dc_source: z126.literal(false),
17376
- terminal1_source_port_id: z126.string().optional(),
17377
- terminal2_source_port_id: z126.string().optional(),
17378
- terminal1_source_net_id: z126.string().optional(),
17379
- terminal2_source_net_id: z126.string().optional(),
17411
+ is_dc_source: z129.literal(false),
17412
+ terminal1_source_port_id: z129.string().optional(),
17413
+ terminal2_source_port_id: z129.string().optional(),
17414
+ terminal1_source_net_id: z129.string().optional(),
17415
+ terminal2_source_net_id: z129.string().optional(),
17380
17416
  voltage: voltage.optional(),
17381
17417
  frequency: frequency.optional(),
17382
17418
  peak_to_peak_voltage: voltage.optional(),
@@ -17384,68 +17420,68 @@ var simulation_ac_voltage_source = z126.object({
17384
17420
  phase: rotation.optional(),
17385
17421
  duty_cycle: percentage.optional()
17386
17422
  }).describe("Defines an AC voltage source for simulation");
17387
- var simulation_voltage_source = z126.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
17423
+ var simulation_voltage_source = z129.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
17388
17424
  expectTypesMatch(true);
17389
17425
  expectTypesMatch(true);
17390
17426
  expectTypesMatch(true);
17391
- var experiment_type = z127.union([
17392
- z127.literal("spice_dc_sweep"),
17393
- z127.literal("spice_dc_operating_point"),
17394
- z127.literal("spice_transient_analysis"),
17395
- z127.literal("spice_ac_analysis")
17427
+ var experiment_type = z130.union([
17428
+ z130.literal("spice_dc_sweep"),
17429
+ z130.literal("spice_dc_operating_point"),
17430
+ z130.literal("spice_transient_analysis"),
17431
+ z130.literal("spice_ac_analysis")
17396
17432
  ]);
17397
- var simulation_experiment = z127.object({
17398
- type: z127.literal("simulation_experiment"),
17433
+ var simulation_experiment = z130.object({
17434
+ type: z130.literal("simulation_experiment"),
17399
17435
  simulation_experiment_id: getZodPrefixedIdWithDefault(
17400
17436
  "simulation_experiment"
17401
17437
  ),
17402
- name: z127.string(),
17438
+ name: z130.string(),
17403
17439
  experiment_type,
17404
17440
  time_per_step: duration_ms.optional(),
17405
17441
  start_time_ms: ms.optional(),
17406
17442
  end_time_ms: ms.optional()
17407
17443
  }).describe("Defines a simulation experiment configuration");
17408
17444
  expectTypesMatch(true);
17409
- var simulation_transient_voltage_graph = z128.object({
17410
- type: z128.literal("simulation_transient_voltage_graph"),
17445
+ var simulation_transient_voltage_graph = z131.object({
17446
+ type: z131.literal("simulation_transient_voltage_graph"),
17411
17447
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
17412
17448
  "simulation_transient_voltage_graph"
17413
17449
  ),
17414
- simulation_experiment_id: z128.string(),
17415
- timestamps_ms: z128.array(z128.number()).optional(),
17416
- voltage_levels: z128.array(z128.number()),
17417
- source_component_id: z128.string().optional(),
17418
- subcircuit_connectivity_map_key: z128.string().optional(),
17450
+ simulation_experiment_id: z131.string(),
17451
+ timestamps_ms: z131.array(z131.number()).optional(),
17452
+ voltage_levels: z131.array(z131.number()),
17453
+ source_component_id: z131.string().optional(),
17454
+ subcircuit_connectivity_map_key: z131.string().optional(),
17419
17455
  time_per_step: duration_ms,
17420
17456
  start_time_ms: ms,
17421
17457
  end_time_ms: ms,
17422
- name: z128.string().optional(),
17423
- color: z128.string().optional()
17458
+ name: z131.string().optional(),
17459
+ color: z131.string().optional()
17424
17460
  }).describe("Stores voltage measurements over time for a simulation");
17425
17461
  expectTypesMatch(true);
17426
- var simulation_switch = z129.object({
17427
- type: z129.literal("simulation_switch"),
17462
+ var simulation_switch = z132.object({
17463
+ type: z132.literal("simulation_switch"),
17428
17464
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
17429
- source_component_id: z129.string().optional(),
17465
+ source_component_id: z132.string().optional(),
17430
17466
  closes_at: ms.optional(),
17431
17467
  opens_at: ms.optional(),
17432
- starts_closed: z129.boolean().optional(),
17468
+ starts_closed: z132.boolean().optional(),
17433
17469
  switching_frequency: frequency.optional()
17434
17470
  }).describe("Defines a switch for simulation timing control");
17435
17471
  expectTypesMatch(true);
17436
- var simulation_voltage_probe = z130.object({
17437
- type: z130.literal("simulation_voltage_probe"),
17472
+ var simulation_voltage_probe = z133.object({
17473
+ type: z133.literal("simulation_voltage_probe"),
17438
17474
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
17439
17475
  "simulation_voltage_probe"
17440
17476
  ),
17441
- source_component_id: z130.string().optional(),
17442
- name: z130.string().optional(),
17443
- signal_input_source_port_id: z130.string().optional(),
17444
- signal_input_source_net_id: z130.string().optional(),
17445
- reference_input_source_port_id: z130.string().optional(),
17446
- reference_input_source_net_id: z130.string().optional(),
17447
- subcircuit_id: z130.string().optional(),
17448
- color: z130.string().optional()
17477
+ source_component_id: z133.string().optional(),
17478
+ name: z133.string().optional(),
17479
+ signal_input_source_port_id: z133.string().optional(),
17480
+ signal_input_source_net_id: z133.string().optional(),
17481
+ reference_input_source_port_id: z133.string().optional(),
17482
+ reference_input_source_net_id: z133.string().optional(),
17483
+ subcircuit_id: z133.string().optional(),
17484
+ color: z133.string().optional()
17449
17485
  }).describe(
17450
17486
  "Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
17451
17487
  ).superRefine((data, ctx) => {
@@ -17455,20 +17491,20 @@ var simulation_voltage_probe = z130.object({
17455
17491
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
17456
17492
  if (has_ports && has_nets) {
17457
17493
  ctx.addIssue({
17458
- code: z130.ZodIssueCode.custom,
17494
+ code: z133.ZodIssueCode.custom,
17459
17495
  message: "Cannot mix port and net connections in a differential probe."
17460
17496
  });
17461
17497
  } else if (has_ports) {
17462
17498
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
17463
17499
  ctx.addIssue({
17464
- code: z130.ZodIssueCode.custom,
17500
+ code: z133.ZodIssueCode.custom,
17465
17501
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
17466
17502
  });
17467
17503
  }
17468
17504
  } else if (has_nets) {
17469
17505
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
17470
17506
  ctx.addIssue({
17471
- code: z130.ZodIssueCode.custom,
17507
+ code: z133.ZodIssueCode.custom,
17472
17508
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
17473
17509
  });
17474
17510
  }
@@ -17476,27 +17512,28 @@ var simulation_voltage_probe = z130.object({
17476
17512
  } else {
17477
17513
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
17478
17514
  ctx.addIssue({
17479
- code: z130.ZodIssueCode.custom,
17515
+ code: z133.ZodIssueCode.custom,
17480
17516
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
17481
17517
  });
17482
17518
  }
17483
17519
  }
17484
17520
  });
17485
17521
  expectTypesMatch(true);
17486
- var simulation_unknown_experiment_error = z131.object({
17487
- type: z131.literal("simulation_unknown_experiment_error"),
17522
+ var simulation_unknown_experiment_error = z134.object({
17523
+ type: z134.literal("simulation_unknown_experiment_error"),
17488
17524
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
17489
17525
  "simulation_unknown_experiment_error"
17490
17526
  ),
17491
- error_type: z131.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
17492
- message: z131.string(),
17493
- simulation_experiment_id: z131.string().optional(),
17494
- subcircuit_id: z131.string().optional()
17527
+ error_type: z134.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
17528
+ message: z134.string(),
17529
+ simulation_experiment_id: z134.string().optional(),
17530
+ subcircuit_id: z134.string().optional()
17495
17531
  }).describe("An unknown error occurred during the simulation experiment.");
17496
17532
  expectTypesMatch(true);
17497
- var any_circuit_element = z132.union([
17533
+ var any_circuit_element = z135.union([
17498
17534
  source_trace,
17499
17535
  source_port,
17536
+ source_component_internal_connection,
17500
17537
  any_source_component,
17501
17538
  source_net,
17502
17539
  source_group,
@@ -17621,7 +17658,7 @@ import { z as z910 } from "zod";
17621
17658
  import "zod";
17622
17659
  import "zod";
17623
17660
  import { z as z1210 } from "zod";
17624
- import { z as z134 } from "zod";
17661
+ import { z as z137 } from "zod";
17625
17662
  import { z as z142 } from "zod";
17626
17663
  import { z as z152 } from "zod";
17627
17664
  import { z as z162 } from "zod";
@@ -17796,12 +17833,12 @@ function convertMilToMm(value) {
17796
17833
  }
17797
17834
  return Number(value);
17798
17835
  }
17799
- var lengthInMm = z133.union([z133.string(), z133.number()]).transform((val) => convertMilToMm(val));
17800
- var extendDipDef = (newDefaults) => z133.object({
17801
- fn: z133.string(),
17802
- num_pins: z133.number().optional().default(6),
17803
- wide: z133.boolean().optional(),
17804
- narrow: z133.boolean().optional(),
17836
+ var lengthInMm = z136.union([z136.string(), z136.number()]).transform((val) => convertMilToMm(val));
17837
+ var extendDipDef = (newDefaults) => z136.object({
17838
+ fn: z136.string(),
17839
+ num_pins: z136.number().optional().default(6),
17840
+ wide: z136.boolean().optional(),
17841
+ narrow: z136.boolean().optional(),
17805
17842
  w: lengthInMm.optional(),
17806
17843
  p: lengthInMm.default(newDefaults.p ?? "2.54mm"),
17807
17844
  id: lengthInMm.optional(),
@@ -19507,13 +19544,13 @@ var ms013 = (raw_params) => {
19507
19544
  parameters
19508
19545
  };
19509
19546
  };
19510
- var sot723_def = z134.object({
19511
- fn: z134.string(),
19512
- num_pins: z134.literal(3).default(3),
19513
- w: z134.string().default("1.2mm"),
19514
- h: z134.string().default("1.2mm"),
19515
- pl: z134.string().default("0.3mm"),
19516
- pw: z134.string().default("0.32mm")
19547
+ var sot723_def = z137.object({
19548
+ fn: z137.string(),
19549
+ num_pins: z137.literal(3).default(3),
19550
+ w: z137.string().default("1.2mm"),
19551
+ h: z137.string().default("1.2mm"),
19552
+ pl: z137.string().default("0.3mm"),
19553
+ pw: z137.string().default("0.32mm")
19517
19554
  });
19518
19555
  var sot723 = (raw_params) => {
19519
19556
  const parameters = sot723_def.parse(raw_params);
@@ -24752,7 +24789,7 @@ import {
24752
24789
  BufferGeometry,
24753
24790
  Matrix4
24754
24791
  } from "three";
24755
- var Fragment2 = Symbol("Fragment");
24792
+ var Fragment2 = /* @__PURE__ */ Symbol("Fragment");
24756
24793
  function h(type, props, ...restChildren) {
24757
24794
  const provided = restChildren.length ? restChildren : props?.children !== void 0 ? [props.children] : [];
24758
24795
  const flatChildren = [];
@@ -24770,20 +24807,20 @@ function h(type, props, ...restChildren) {
24770
24807
  children: flatChildren
24771
24808
  };
24772
24809
  }
24773
- var Cuboid = Symbol("Cuboid");
24774
- var Cube = Symbol("Cube");
24775
- var Cylinder = Symbol("Cylinder");
24776
- var Sphere = Symbol("Sphere");
24777
- var RoundedCuboid = Symbol("RoundedCuboid");
24778
- var Translate = Symbol("Translate");
24779
- var Rotate = Symbol("Rotate");
24780
- var Union = Symbol("Union");
24781
- var Subtract = Symbol("Subtract");
24782
- var Hull = Symbol("Hull");
24783
- var Colorize = Symbol("Colorize");
24784
- var Polygon = Symbol("Polygon");
24785
- var ExtrudeLinear = Symbol("ExtrudeLinear");
24786
- var RoundedCylinder = Symbol("RoundedCylinder");
24810
+ var Cuboid = /* @__PURE__ */ Symbol("Cuboid");
24811
+ var Cube = /* @__PURE__ */ Symbol("Cube");
24812
+ var Cylinder = /* @__PURE__ */ Symbol("Cylinder");
24813
+ var Sphere = /* @__PURE__ */ Symbol("Sphere");
24814
+ var RoundedCuboid = /* @__PURE__ */ Symbol("RoundedCuboid");
24815
+ var Translate = /* @__PURE__ */ Symbol("Translate");
24816
+ var Rotate = /* @__PURE__ */ Symbol("Rotate");
24817
+ var Union = /* @__PURE__ */ Symbol("Union");
24818
+ var Subtract = /* @__PURE__ */ Symbol("Subtract");
24819
+ var Hull = /* @__PURE__ */ Symbol("Hull");
24820
+ var Colorize = /* @__PURE__ */ Symbol("Colorize");
24821
+ var Polygon = /* @__PURE__ */ Symbol("Polygon");
24822
+ var ExtrudeLinear = /* @__PURE__ */ Symbol("ExtrudeLinear");
24823
+ var RoundedCylinder = /* @__PURE__ */ Symbol("RoundedCylinder");
24787
24824
  var Fragment22 = Fragment2;
24788
24825
  var jsx5 = (type, props, _key) => h(type, props);
24789
24826
  var jsxs = (type, props, _key) => h(type, props);
@@ -24939,10 +24976,10 @@ var svgPathPoints = normalizeOnY([
24939
24976
  ]);
24940
24977
  var DIP_PIN_HEIGHT = 5.47;
24941
24978
  var heightAboveSurface = 0.5;
24942
- var DipPinLeg = ({ x, y, z: z135 }) => {
24979
+ var DipPinLeg = ({ x, y, z: z138 }) => {
24943
24980
  const isRotated = x > 0;
24944
24981
  return /* @__PURE__ */ jsxs(Fragment22, { children: [
24945
- /* @__PURE__ */ jsx5(Translate, { offset: { x: x + 0.25 / 2, y, z: z135 }, children: /* @__PURE__ */ jsx5(Rotate, { rotation: ["-90deg", 0, "90deg"], children: /* @__PURE__ */ jsx5(ExtrudeLinear, { height: 0.25, children: /* @__PURE__ */ jsx5(
24982
+ /* @__PURE__ */ jsx5(Translate, { offset: { x: x + 0.25 / 2, y, z: z138 }, children: /* @__PURE__ */ jsx5(Rotate, { rotation: ["-90deg", 0, "90deg"], children: /* @__PURE__ */ jsx5(ExtrudeLinear, { height: 0.25, children: /* @__PURE__ */ jsx5(
24946
24983
  Polygon,
24947
24984
  {
24948
24985
  points: svgPathPoints.slice().reverse().map((p) => [p.x, p.y])
@@ -24954,7 +24991,7 @@ var DipPinLeg = ({ x, y, z: z135 }) => {
24954
24991
  offset: {
24955
24992
  x,
24956
24993
  y: y + (isRotated ? 1 : -1),
24957
- z: z135
24994
+ z: z138
24958
24995
  },
24959
24996
  children: /* @__PURE__ */ jsx5(Rotate, { rotation: ["-90deg", "90deg", isRotated ? "180deg" : "0deg"], children: /* @__PURE__ */ jsx5(ExtrudeLinear, { height: 2, children: /* @__PURE__ */ jsx5(
24960
24997
  Polygon,
@@ -25412,7 +25449,7 @@ var PinRow = ({
25412
25449
  const shortSidePinLength = 3;
25413
25450
  const xoff = -((pinsPerRow - 1) / 2) * pitch;
25414
25451
  const bodyCenterY = rows > 1 ? -((rows - 1) * rowSpacing) / 2 : 0;
25415
- const flipZ = (z135) => invert || faceup ? -z135 + bodyHeight : z135;
25452
+ const flipZ = (z138) => invert || faceup ? -z138 + bodyHeight : z138;
25416
25453
  return /* @__PURE__ */ jsxs(Fragment22, { children: [
25417
25454
  /* @__PURE__ */ jsx5(
25418
25455
  Cuboid,
@@ -27936,19 +27973,19 @@ var TO220 = () => {
27936
27973
  /* @__PURE__ */ jsx5(Rotate, { rotation: [0, 55, 55], children: Array.from({ length: 3 }).map((_, i) => {
27937
27974
  const x = prongCenterX;
27938
27975
  const y = (i - 1) * prongPitch;
27939
- const z135 = -prongHeight - 0.6;
27976
+ const z138 = -prongHeight - 0.6;
27940
27977
  return /* @__PURE__ */ jsxs(Colorize, { color: "gold", children: [
27941
27978
  /* @__PURE__ */ jsxs(Hull, { children: [
27942
- /* @__PURE__ */ jsx5(Translate, { center: [bodyFrontX - bodyHeight / 2 + 0.1, y, z135], children: /* @__PURE__ */ jsx5(Cuboid, { size: [bodyHeight, prongWidth + 1, prongHeight] }) }),
27979
+ /* @__PURE__ */ jsx5(Translate, { center: [bodyFrontX - bodyHeight / 2 + 0.1, y, z138], children: /* @__PURE__ */ jsx5(Cuboid, { size: [bodyHeight, prongWidth + 1, prongHeight] }) }),
27943
27980
  /* @__PURE__ */ jsx5(
27944
27981
  Translate,
27945
27982
  {
27946
- center: [bodyFrontX - bodyHeight / 2 - 1 + 0.1, y, z135],
27983
+ center: [bodyFrontX - bodyHeight / 2 - 1 + 0.1, y, z138],
27947
27984
  children: /* @__PURE__ */ jsx5(Cuboid, { size: [bodyHeight, prongWidth, prongHeight] })
27948
27985
  }
27949
27986
  )
27950
27987
  ] }),
27951
- /* @__PURE__ */ jsx5(Translate, { center: [x, y, z135], children: /* @__PURE__ */ jsx5(Cuboid, { size: [prongLength + 0.1, prongWidth, prongHeight] }) })
27988
+ /* @__PURE__ */ jsx5(Translate, { center: [x, y, z138], children: /* @__PURE__ */ jsx5(Cuboid, { size: [prongLength + 0.1, prongWidth, prongHeight] }) })
27952
27989
  ] }, `prong-${i}`);
27953
27990
  }) })
27954
27991
  ] }) });
@@ -29455,7 +29492,7 @@ import * as THREE15 from "three";
29455
29492
  // package.json
29456
29493
  var package_default = {
29457
29494
  name: "@tscircuit/3d-viewer",
29458
- version: "0.0.473",
29495
+ version: "0.0.475",
29459
29496
  main: "./dist/index.js",
29460
29497
  module: "./dist/index.js",
29461
29498
  type: "module",
@@ -29502,15 +29539,8 @@ var package_default = {
29502
29539
  "@jscad/modeling": "^2.12.5",
29503
29540
  "@storybook/blocks": "9.0.0-alpha.17",
29504
29541
  "@storybook/react-vite": "^9.1.5",
29505
- "@tscircuit/circuit-json-util": "^0.0.72",
29506
- "@tscircuit/core": "^0.0.931",
29507
- "@tscircuit/props": "^0.0.429",
29508
- "@tscircuit/checks": "^0.0.87",
29509
- "@tscircuit/math-utils": "^0.0.29",
29510
29542
  "@tscircuit/copper-pour-solver": "^0.0.14",
29511
29543
  "@tscircuit/solver-utils": "^0.0.4",
29512
- "@tscircuit/capacity-autorouter": "^0.0.185",
29513
- "calculate-packing": "^0.0.48",
29514
29544
  "@types/jsdom": "^21.1.7",
29515
29545
  "@types/react": "19",
29516
29546
  "@types/react-dom": "19",
@@ -29519,8 +29549,6 @@ var package_default = {
29519
29549
  "@vitejs/plugin-react": "^4.3.4",
29520
29550
  "bun-match-svg": "^0.0.9",
29521
29551
  "bun-types": "1.2.1",
29522
- "circuit-json": "0.0.325",
29523
- "circuit-to-svg": "^0.0.179",
29524
29552
  debug: "^4.4.0",
29525
29553
  "jscad-electronics": "^0.0.109",
29526
29554
  "jscad-planner": "^0.0.13",
@@ -29529,7 +29557,7 @@ var package_default = {
29529
29557
  "react-use-gesture": "^9.1.3",
29530
29558
  semver: "^7.7.0",
29531
29559
  "strip-ansi": "^7.1.0",
29532
- tscircuit: "^0.0.834",
29560
+ tscircuit: "^0.0.1056",
29533
29561
  tsup: "^8.3.6",
29534
29562
  typescript: "^5.7.3",
29535
29563
  vite: "^7.1.5",
@@ -29623,11 +29651,11 @@ var CameraControllerProvider = ({ children, defaultTarget, initialCameraPosition
29623
29651
  new THREE9.Euler(0, 0, 0)
29624
29652
  );
29625
29653
  const baseDistance = useMemo8(() => {
29626
- const [x, y, z135] = initialCameraPosition ?? [5, -5, 5];
29654
+ const [x, y, z138] = initialCameraPosition ?? [5, -5, 5];
29627
29655
  const distance2 = Math.hypot(
29628
29656
  x - defaultTarget.x,
29629
29657
  y - defaultTarget.y,
29630
- z135 - defaultTarget.z
29658
+ z138 - defaultTarget.z
29631
29659
  );
29632
29660
  return distance2 > 0 ? distance2 : 5;
29633
29661
  }, [initialCameraPosition, defaultTarget]);
@@ -37371,7 +37399,6 @@ function useUncontrolledState({
37371
37399
  function isFunction(value) {
37372
37400
  return typeof value === "function";
37373
37401
  }
37374
- var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
37375
37402
 
37376
37403
  // node_modules/@radix-ui/react-primitive/dist/index.mjs
37377
37404
  import * as React17 from "react";
@@ -37421,7 +37448,7 @@ function createSlotClone(ownerName) {
37421
37448
  SlotClone.displayName = `${ownerName}.SlotClone`;
37422
37449
  return SlotClone;
37423
37450
  }
37424
- var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
37451
+ var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
37425
37452
  function isSlottable(child) {
37426
37453
  return React16.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
37427
37454
  }
@@ -37490,7 +37517,7 @@ var Primitive = NODES.reduce((primitive, node) => {
37490
37517
  const { asChild, ...primitiveProps } = props;
37491
37518
  const Comp = asChild ? Slot2 : node;
37492
37519
  if (typeof window !== "undefined") {
37493
- window[Symbol.for("radix-ui")] = true;
37520
+ window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
37494
37521
  }
37495
37522
  return /* @__PURE__ */ jsx21(Comp, { ...primitiveProps, ref: forwardedRef });
37496
37523
  });