@tscircuit/3d-viewer 0.0.370 → 0.0.372
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +587 -563
- package/package.json +3 -3
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,
|
|
148
|
-
fromValues: (x, y,
|
|
147
|
+
create: (x, y, z103) => [x, y, z103],
|
|
148
|
+
fromValues: (x, y, z103) => [x, y, z103]
|
|
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,
|
|
536
|
-
const lengthSquared = x * x + y * y +
|
|
535
|
+
let [x, y, z103] = axis;
|
|
536
|
+
const lengthSquared = x * x + y * y + z103 * z103;
|
|
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
|
-
|
|
543
|
+
z103 *= 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 +
|
|
549
|
-
out[2] =
|
|
548
|
+
out[1] = y * x * t + z103 * s;
|
|
549
|
+
out[2] = z103 * x * t - y * s;
|
|
550
550
|
out[3] = 0;
|
|
551
|
-
out[4] = x * y * t -
|
|
551
|
+
out[4] = x * y * t - z103 * s;
|
|
552
552
|
out[5] = y * y * t + c;
|
|
553
|
-
out[6] =
|
|
553
|
+
out[6] = z103 * y * t + x * s;
|
|
554
554
|
out[7] = 0;
|
|
555
|
-
out[8] = x *
|
|
556
|
-
out[9] = y *
|
|
557
|
-
out[10] =
|
|
555
|
+
out[8] = x * z103 * t + y * s;
|
|
556
|
+
out[9] = y * z103 * t - x * s;
|
|
557
|
+
out[10] = z103 * z103 * 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
|
|
812
|
-
return Math.sqrt(x * x + y * y +
|
|
811
|
+
const z103 = b[2] - a[2];
|
|
812
|
+
return Math.sqrt(x * x + y * y + z103 * z103);
|
|
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,
|
|
860
|
+
var fromValues = (x, y, z103) => {
|
|
861
861
|
const out = create();
|
|
862
862
|
out[0] = x;
|
|
863
863
|
out[1] = y;
|
|
864
|
-
out[2] =
|
|
864
|
+
out[2] = z103;
|
|
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,
|
|
875
|
+
var fromVector2 = (out, vector, z103 = 0) => {
|
|
876
876
|
out[0] = vector[0];
|
|
877
877
|
out[1] = vector[1];
|
|
878
|
-
out[2] =
|
|
878
|
+
out[2] = z103;
|
|
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
|
|
893
|
-
return Math.sqrt(x * x + y * y +
|
|
892
|
+
const z103 = vector[2];
|
|
893
|
+
return Math.sqrt(x * x + y * y + z103 * z103);
|
|
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
|
|
977
|
-
let len = x * x + y * y +
|
|
976
|
+
const z103 = vector[2];
|
|
977
|
+
let len = x * x + y * y + z103 * z103;
|
|
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] =
|
|
983
|
+
out[2] = z103 * 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
|
|
1108
|
-
return x * x + y * y +
|
|
1107
|
+
const z103 = b[2] - a[2];
|
|
1108
|
+
return x * x + y * y + z103 * z103;
|
|
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
|
|
1122
|
-
return x * x + y * y +
|
|
1121
|
+
const z103 = vector[2];
|
|
1122
|
+
return x * x + y * y + z103 * z103;
|
|
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
|
|
1159
|
-
let w = matrix[3] * x + matrix[7] * y + matrix[11] *
|
|
1158
|
+
const z103 = vector[2];
|
|
1159
|
+
let w = matrix[3] * x + matrix[7] * y + matrix[11] * z103 + matrix[15];
|
|
1160
1160
|
w = w || 1;
|
|
1161
|
-
out[0] = (matrix[0] * x + matrix[4] * y + matrix[8] *
|
|
1162
|
-
out[1] = (matrix[1] * x + matrix[5] * y + matrix[9] *
|
|
1163
|
-
out[2] = (matrix[2] * x + matrix[6] * y + matrix[10] *
|
|
1161
|
+
out[0] = (matrix[0] * x + matrix[4] * y + matrix[8] * z103 + matrix[12]) / w;
|
|
1162
|
+
out[1] = (matrix[1] * x + matrix[5] * y + matrix[9] * z103 + matrix[13]) / w;
|
|
1163
|
+
out[2] = (matrix[2] * x + matrix[6] * y + matrix[10] * z103 + 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
|
|
1366
|
-
const d = x * matrix[2] + y * matrix[6] +
|
|
1365
|
+
const z103 = matrix[0] * matrix[5] - matrix[4] * matrix[1];
|
|
1366
|
+
const d = x * matrix[2] + y * matrix[6] + z103 * 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 rotate2 = (out, matrix, radians, axis) => {
|
|
1468
|
-
let [x, y,
|
|
1469
|
-
const lengthSquared = x * x + y * y +
|
|
1468
|
+
let [x, y, z103] = axis;
|
|
1469
|
+
const lengthSquared = x * x + y * y + z103 * z103;
|
|
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
|
-
|
|
1476
|
+
z103 *= 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 +
|
|
1494
|
-
const b02 =
|
|
1495
|
-
const b10 = x * y * t -
|
|
1493
|
+
const b01 = y * x * t + z103 * s;
|
|
1494
|
+
const b02 = z103 * x * t - y * s;
|
|
1495
|
+
const b10 = x * y * t - z103 * s;
|
|
1496
1496
|
const b11 = y * y * t + c;
|
|
1497
|
-
const b12 =
|
|
1498
|
-
const b20 = x *
|
|
1499
|
-
const b21 = y *
|
|
1500
|
-
const b22 =
|
|
1497
|
+
const b12 = z103 * y * t + x * s;
|
|
1498
|
+
const b20 = x * z103 * t + y * s;
|
|
1499
|
+
const b21 = y * z103 * t - x * s;
|
|
1500
|
+
const b22 = z103 * z103 * 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 scale2 = (out, matrix, dimensions) => {
|
|
1650
1650
|
const x = dimensions[0];
|
|
1651
1651
|
const y = dimensions[1];
|
|
1652
|
-
const
|
|
1652
|
+
const z103 = 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] *
|
|
1662
|
-
out[9] = matrix[9] *
|
|
1663
|
-
out[10] = matrix[10] *
|
|
1664
|
-
out[11] = matrix[11] *
|
|
1661
|
+
out[8] = matrix[8] * z103;
|
|
1662
|
+
out[9] = matrix[9] * z103;
|
|
1663
|
+
out[10] = matrix[10] * z103;
|
|
1664
|
+
out[11] = matrix[11] * z103;
|
|
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 translate5 = (out, matrix, offsets) => {
|
|
1716
1716
|
const x = offsets[0];
|
|
1717
1717
|
const y = offsets[1];
|
|
1718
|
-
const
|
|
1718
|
+
const z103 = 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] *
|
|
1733
|
-
out[13] = matrix[1] * x + matrix[5] * y + matrix[9] *
|
|
1734
|
-
out[14] = matrix[2] * x + matrix[6] * y + matrix[10] *
|
|
1735
|
-
out[15] = matrix[3] * x + matrix[7] * y + matrix[11] *
|
|
1732
|
+
out[12] = matrix[0] * x + matrix[4] * y + matrix[8] * z103 + matrix[12];
|
|
1733
|
+
out[13] = matrix[1] * x + matrix[5] * y + matrix[9] * z103 + matrix[13];
|
|
1734
|
+
out[14] = matrix[2] * x + matrix[6] * y + matrix[10] * z103 + matrix[14];
|
|
1735
|
+
out[15] = matrix[3] * x + matrix[7] * y + matrix[11] * z103 + 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 *
|
|
1762
|
-
out[13] = a01 * x + a11 * y + a21 *
|
|
1763
|
-
out[14] = a02 * x + a12 * y + a22 *
|
|
1764
|
-
out[15] = a03 * x + a13 * y + a23 *
|
|
1761
|
+
out[12] = a00 * x + a10 * y + a20 * z103 + matrix[12];
|
|
1762
|
+
out[13] = a01 * x + a11 * y + a21 * z103 + matrix[13];
|
|
1763
|
+
out[14] = a02 * x + a12 * y + a22 * z103 + matrix[14];
|
|
1764
|
+
out[15] = a03 * x + a13 * y + a23 * z103 + 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,
|
|
3834
|
+
var fromValues = (x, y, z103, w) => {
|
|
3835
3835
|
const out = create();
|
|
3836
3836
|
out[0] = x;
|
|
3837
3837
|
out[1] = y;
|
|
3838
|
-
out[2] =
|
|
3838
|
+
out[2] = z103;
|
|
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
|
|
3997
|
-
return vec3.fromValues(x, y,
|
|
3996
|
+
const z103 = point2[2] - a * plane[2];
|
|
3997
|
+
return vec3.fromValues(x, y, z103);
|
|
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,
|
|
4302
|
-
out[0] = matrix[0] * x + matrix[4] * y + matrix[8] *
|
|
4303
|
-
out[1] = matrix[1] * x + matrix[5] * y + matrix[9] *
|
|
4304
|
-
out[2] = matrix[2] * x + matrix[6] * y + matrix[10] *
|
|
4305
|
-
out[3] = matrix[3] * x + matrix[7] * y + matrix[11] *
|
|
4301
|
+
const [x, y, z103, w] = vector;
|
|
4302
|
+
out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z103 + matrix[12] * w;
|
|
4303
|
+
out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z103 + matrix[13] * w;
|
|
4304
|
+
out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z103 + matrix[14] * w;
|
|
4305
|
+
out[3] = matrix[3] * x + matrix[7] * y + matrix[11] * z103 + 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
|
|
4368
|
-
out[3] = Math.sqrt(x * x + y * y +
|
|
4367
|
+
const z103 = out[2] - maxz[2];
|
|
4368
|
+
out[3] = Math.sqrt(x * x + y * y + z103 * z103);
|
|
4369
4369
|
cache.set(polygon2, out);
|
|
4370
4370
|
return out;
|
|
4371
4371
|
};
|
|
@@ -14416,7 +14416,7 @@ var ContainerWithTooltip_default = ContainerWithTooltip;
|
|
|
14416
14416
|
|
|
14417
14417
|
// src/hooks/use-global-obj-loader.ts
|
|
14418
14418
|
import { useState as useState2, useEffect as useEffect3 } from "react";
|
|
14419
|
-
import { MTLLoader, OBJLoader } from "three-stdlib";
|
|
14419
|
+
import { MTLLoader, OBJLoader, VRMLLoader } from "three-stdlib";
|
|
14420
14420
|
if (typeof window !== "undefined" && !window.TSCIRCUIT_OBJ_LOADER_CACHE) {
|
|
14421
14421
|
window.TSCIRCUIT_OBJ_LOADER_CACHE = /* @__PURE__ */ new Map();
|
|
14422
14422
|
}
|
|
@@ -14429,6 +14429,10 @@ function useGlobalObjLoader(url) {
|
|
|
14429
14429
|
let hasUrlChanged = false;
|
|
14430
14430
|
async function loadAndParseObj() {
|
|
14431
14431
|
try {
|
|
14432
|
+
if (cleanUrl.endsWith(".wrl")) {
|
|
14433
|
+
const loader = new VRMLLoader();
|
|
14434
|
+
return await loader.loadAsync(cleanUrl);
|
|
14435
|
+
}
|
|
14432
14436
|
const response = await fetch(cleanUrl);
|
|
14433
14437
|
if (!response.ok) {
|
|
14434
14438
|
throw new Error(
|
|
@@ -14651,7 +14655,7 @@ var import_jscad_planner = __toESM(require_dist(), 1);
|
|
|
14651
14655
|
var import_modeling2 = __toESM(require_src(), 1);
|
|
14652
14656
|
|
|
14653
14657
|
// node_modules/@tscircuit/footprinter/dist/index.js
|
|
14654
|
-
import { z as
|
|
14658
|
+
import { z as z102 } from "zod";
|
|
14655
14659
|
|
|
14656
14660
|
// node_modules/@tscircuit/mm/dist/index.js
|
|
14657
14661
|
var unitToMm = {
|
|
@@ -14780,6 +14784,7 @@ import { z as z97 } from "zod";
|
|
|
14780
14784
|
import { z as z98 } from "zod";
|
|
14781
14785
|
import { z as z99 } from "zod";
|
|
14782
14786
|
import { z as z100 } from "zod";
|
|
14787
|
+
import { z as z101 } from "zod";
|
|
14783
14788
|
var unitMappings = {
|
|
14784
14789
|
Hz: {
|
|
14785
14790
|
baseUnit: "Hz",
|
|
@@ -15391,9 +15396,6 @@ var source_manually_placed_via = z42.object({
|
|
|
15391
15396
|
source_manually_placed_via_id: z42.string(),
|
|
15392
15397
|
source_group_id: z42.string(),
|
|
15393
15398
|
source_net_id: z42.string(),
|
|
15394
|
-
x: distance,
|
|
15395
|
-
y: distance,
|
|
15396
|
-
layers: z42.array(layer_ref),
|
|
15397
15399
|
subcircuit_id: z42.string().optional(),
|
|
15398
15400
|
source_trace_id: z42.string().optional()
|
|
15399
15401
|
}).describe("Defines a via that is manually placed in the source domain");
|
|
@@ -15691,43 +15693,58 @@ var schematic_table_cell = z59.object({
|
|
|
15691
15693
|
subcircuit_id: z59.string().optional()
|
|
15692
15694
|
}).describe("Defines a cell within a schematic_table");
|
|
15693
15695
|
expectTypesMatch(true);
|
|
15694
|
-
var
|
|
15696
|
+
var point_with_bulge = z60.object({
|
|
15695
15697
|
x: distance,
|
|
15696
15698
|
y: distance,
|
|
15697
|
-
|
|
15698
|
-
via_to_layer: layer_ref.optional()
|
|
15699
|
+
bulge: z60.number().optional()
|
|
15699
15700
|
});
|
|
15700
|
-
var pcb_route_hints = z60.array(pcb_route_hint);
|
|
15701
15701
|
expectTypesMatch(true);
|
|
15702
|
+
var ring = z60.object({
|
|
15703
|
+
vertices: z60.array(point_with_bulge)
|
|
15704
|
+
});
|
|
15702
15705
|
expectTypesMatch(true);
|
|
15703
|
-
var
|
|
15706
|
+
var brep_shape = z60.object({
|
|
15707
|
+
outer_ring: ring,
|
|
15708
|
+
inner_rings: z60.array(ring).default([])
|
|
15709
|
+
});
|
|
15710
|
+
expectTypesMatch(true);
|
|
15711
|
+
var pcb_route_hint = z61.object({
|
|
15704
15712
|
x: distance,
|
|
15705
15713
|
y: distance,
|
|
15706
15714
|
via: z61.boolean().optional(),
|
|
15715
|
+
via_to_layer: layer_ref.optional()
|
|
15716
|
+
});
|
|
15717
|
+
var pcb_route_hints = z61.array(pcb_route_hint);
|
|
15718
|
+
expectTypesMatch(true);
|
|
15719
|
+
expectTypesMatch(true);
|
|
15720
|
+
var route_hint_point = z62.object({
|
|
15721
|
+
x: distance,
|
|
15722
|
+
y: distance,
|
|
15723
|
+
via: z62.boolean().optional(),
|
|
15707
15724
|
to_layer: layer_ref.optional(),
|
|
15708
15725
|
trace_width: distance.optional()
|
|
15709
15726
|
});
|
|
15710
15727
|
expectTypesMatch(true);
|
|
15711
|
-
var pcb_component =
|
|
15712
|
-
type:
|
|
15728
|
+
var pcb_component = z63.object({
|
|
15729
|
+
type: z63.literal("pcb_component"),
|
|
15713
15730
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
15714
|
-
source_component_id:
|
|
15731
|
+
source_component_id: z63.string(),
|
|
15715
15732
|
center: point,
|
|
15716
15733
|
layer: layer_ref,
|
|
15717
15734
|
rotation,
|
|
15718
15735
|
width: length,
|
|
15719
15736
|
height: length,
|
|
15720
|
-
subcircuit_id:
|
|
15721
|
-
pcb_group_id:
|
|
15737
|
+
subcircuit_id: z63.string().optional(),
|
|
15738
|
+
pcb_group_id: z63.string().optional()
|
|
15722
15739
|
}).describe("Defines a component on the PCB");
|
|
15723
15740
|
expectTypesMatch(true);
|
|
15724
|
-
var pcb_hole_circle_or_square =
|
|
15725
|
-
type:
|
|
15741
|
+
var pcb_hole_circle_or_square = z64.object({
|
|
15742
|
+
type: z64.literal("pcb_hole"),
|
|
15726
15743
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
15727
|
-
pcb_group_id:
|
|
15728
|
-
subcircuit_id:
|
|
15729
|
-
hole_shape:
|
|
15730
|
-
hole_diameter:
|
|
15744
|
+
pcb_group_id: z64.string().optional(),
|
|
15745
|
+
subcircuit_id: z64.string().optional(),
|
|
15746
|
+
hole_shape: z64.enum(["circle", "square"]),
|
|
15747
|
+
hole_diameter: z64.number(),
|
|
15731
15748
|
x: distance,
|
|
15732
15749
|
y: distance
|
|
15733
15750
|
});
|
|
@@ -15735,14 +15752,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
15735
15752
|
"Defines a circular or square hole on the PCB"
|
|
15736
15753
|
);
|
|
15737
15754
|
expectTypesMatch(true);
|
|
15738
|
-
var pcb_hole_oval =
|
|
15739
|
-
type:
|
|
15755
|
+
var pcb_hole_oval = z64.object({
|
|
15756
|
+
type: z64.literal("pcb_hole"),
|
|
15740
15757
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
15741
|
-
pcb_group_id:
|
|
15742
|
-
subcircuit_id:
|
|
15743
|
-
hole_shape:
|
|
15744
|
-
hole_width:
|
|
15745
|
-
hole_height:
|
|
15758
|
+
pcb_group_id: z64.string().optional(),
|
|
15759
|
+
subcircuit_id: z64.string().optional(),
|
|
15760
|
+
hole_shape: z64.literal("oval"),
|
|
15761
|
+
hole_width: z64.number(),
|
|
15762
|
+
hole_height: z64.number(),
|
|
15746
15763
|
x: distance,
|
|
15747
15764
|
y: distance
|
|
15748
15765
|
});
|
|
@@ -15751,97 +15768,97 @@ var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
|
15751
15768
|
);
|
|
15752
15769
|
expectTypesMatch(true);
|
|
15753
15770
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
15754
|
-
var pcb_plated_hole_circle =
|
|
15755
|
-
type:
|
|
15756
|
-
shape:
|
|
15757
|
-
pcb_group_id:
|
|
15758
|
-
subcircuit_id:
|
|
15759
|
-
outer_diameter:
|
|
15760
|
-
hole_diameter:
|
|
15771
|
+
var pcb_plated_hole_circle = z65.object({
|
|
15772
|
+
type: z65.literal("pcb_plated_hole"),
|
|
15773
|
+
shape: z65.literal("circle"),
|
|
15774
|
+
pcb_group_id: z65.string().optional(),
|
|
15775
|
+
subcircuit_id: z65.string().optional(),
|
|
15776
|
+
outer_diameter: z65.number(),
|
|
15777
|
+
hole_diameter: z65.number(),
|
|
15761
15778
|
x: distance,
|
|
15762
15779
|
y: distance,
|
|
15763
|
-
layers:
|
|
15764
|
-
port_hints:
|
|
15765
|
-
pcb_component_id:
|
|
15766
|
-
pcb_port_id:
|
|
15780
|
+
layers: z65.array(layer_ref),
|
|
15781
|
+
port_hints: z65.array(z65.string()).optional(),
|
|
15782
|
+
pcb_component_id: z65.string().optional(),
|
|
15783
|
+
pcb_port_id: z65.string().optional(),
|
|
15767
15784
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
15768
15785
|
});
|
|
15769
|
-
var pcb_plated_hole_oval =
|
|
15770
|
-
type:
|
|
15771
|
-
shape:
|
|
15772
|
-
pcb_group_id:
|
|
15773
|
-
subcircuit_id:
|
|
15774
|
-
outer_width:
|
|
15775
|
-
outer_height:
|
|
15776
|
-
hole_width:
|
|
15777
|
-
hole_height:
|
|
15786
|
+
var pcb_plated_hole_oval = z65.object({
|
|
15787
|
+
type: z65.literal("pcb_plated_hole"),
|
|
15788
|
+
shape: z65.enum(["oval", "pill"]),
|
|
15789
|
+
pcb_group_id: z65.string().optional(),
|
|
15790
|
+
subcircuit_id: z65.string().optional(),
|
|
15791
|
+
outer_width: z65.number(),
|
|
15792
|
+
outer_height: z65.number(),
|
|
15793
|
+
hole_width: z65.number(),
|
|
15794
|
+
hole_height: z65.number(),
|
|
15778
15795
|
x: distance,
|
|
15779
15796
|
y: distance,
|
|
15780
|
-
layers:
|
|
15781
|
-
port_hints:
|
|
15782
|
-
pcb_component_id:
|
|
15783
|
-
pcb_port_id:
|
|
15797
|
+
layers: z65.array(layer_ref),
|
|
15798
|
+
port_hints: z65.array(z65.string()).optional(),
|
|
15799
|
+
pcb_component_id: z65.string().optional(),
|
|
15800
|
+
pcb_port_id: z65.string().optional(),
|
|
15784
15801
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
15785
15802
|
});
|
|
15786
|
-
var pcb_circular_hole_with_rect_pad =
|
|
15787
|
-
type:
|
|
15788
|
-
shape:
|
|
15789
|
-
pcb_group_id:
|
|
15790
|
-
subcircuit_id:
|
|
15791
|
-
hole_shape:
|
|
15792
|
-
pad_shape:
|
|
15793
|
-
hole_diameter:
|
|
15794
|
-
rect_pad_width:
|
|
15795
|
-
rect_pad_height:
|
|
15803
|
+
var pcb_circular_hole_with_rect_pad = z65.object({
|
|
15804
|
+
type: z65.literal("pcb_plated_hole"),
|
|
15805
|
+
shape: z65.literal("circular_hole_with_rect_pad"),
|
|
15806
|
+
pcb_group_id: z65.string().optional(),
|
|
15807
|
+
subcircuit_id: z65.string().optional(),
|
|
15808
|
+
hole_shape: z65.literal("circle"),
|
|
15809
|
+
pad_shape: z65.literal("rect"),
|
|
15810
|
+
hole_diameter: z65.number(),
|
|
15811
|
+
rect_pad_width: z65.number(),
|
|
15812
|
+
rect_pad_height: z65.number(),
|
|
15796
15813
|
x: distance,
|
|
15797
15814
|
y: distance,
|
|
15798
|
-
layers:
|
|
15799
|
-
port_hints:
|
|
15800
|
-
pcb_component_id:
|
|
15801
|
-
pcb_port_id:
|
|
15815
|
+
layers: z65.array(layer_ref),
|
|
15816
|
+
port_hints: z65.array(z65.string()).optional(),
|
|
15817
|
+
pcb_component_id: z65.string().optional(),
|
|
15818
|
+
pcb_port_id: z65.string().optional(),
|
|
15802
15819
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
15803
15820
|
});
|
|
15804
|
-
var pcb_pill_hole_with_rect_pad =
|
|
15805
|
-
type:
|
|
15806
|
-
shape:
|
|
15807
|
-
pcb_group_id:
|
|
15808
|
-
subcircuit_id:
|
|
15809
|
-
hole_shape:
|
|
15810
|
-
pad_shape:
|
|
15811
|
-
hole_width:
|
|
15812
|
-
hole_height:
|
|
15813
|
-
rect_pad_width:
|
|
15814
|
-
rect_pad_height:
|
|
15821
|
+
var pcb_pill_hole_with_rect_pad = z65.object({
|
|
15822
|
+
type: z65.literal("pcb_plated_hole"),
|
|
15823
|
+
shape: z65.literal("pill_hole_with_rect_pad"),
|
|
15824
|
+
pcb_group_id: z65.string().optional(),
|
|
15825
|
+
subcircuit_id: z65.string().optional(),
|
|
15826
|
+
hole_shape: z65.literal("pill"),
|
|
15827
|
+
pad_shape: z65.literal("rect"),
|
|
15828
|
+
hole_width: z65.number(),
|
|
15829
|
+
hole_height: z65.number(),
|
|
15830
|
+
rect_pad_width: z65.number(),
|
|
15831
|
+
rect_pad_height: z65.number(),
|
|
15815
15832
|
x: distance,
|
|
15816
15833
|
y: distance,
|
|
15817
|
-
layers:
|
|
15818
|
-
port_hints:
|
|
15819
|
-
pcb_component_id:
|
|
15820
|
-
pcb_port_id:
|
|
15834
|
+
layers: z65.array(layer_ref),
|
|
15835
|
+
port_hints: z65.array(z65.string()).optional(),
|
|
15836
|
+
pcb_component_id: z65.string().optional(),
|
|
15837
|
+
pcb_port_id: z65.string().optional(),
|
|
15821
15838
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
15822
15839
|
});
|
|
15823
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
15824
|
-
type:
|
|
15825
|
-
shape:
|
|
15826
|
-
pcb_group_id:
|
|
15827
|
-
subcircuit_id:
|
|
15828
|
-
hole_shape:
|
|
15829
|
-
pad_shape:
|
|
15830
|
-
hole_width:
|
|
15831
|
-
hole_height:
|
|
15840
|
+
var pcb_rotated_pill_hole_with_rect_pad = z65.object({
|
|
15841
|
+
type: z65.literal("pcb_plated_hole"),
|
|
15842
|
+
shape: z65.literal("rotated_pill_hole_with_rect_pad"),
|
|
15843
|
+
pcb_group_id: z65.string().optional(),
|
|
15844
|
+
subcircuit_id: z65.string().optional(),
|
|
15845
|
+
hole_shape: z65.literal("rotated_pill"),
|
|
15846
|
+
pad_shape: z65.literal("rect"),
|
|
15847
|
+
hole_width: z65.number(),
|
|
15848
|
+
hole_height: z65.number(),
|
|
15832
15849
|
hole_ccw_rotation: rotation,
|
|
15833
|
-
rect_pad_width:
|
|
15834
|
-
rect_pad_height:
|
|
15850
|
+
rect_pad_width: z65.number(),
|
|
15851
|
+
rect_pad_height: z65.number(),
|
|
15835
15852
|
rect_ccw_rotation: rotation,
|
|
15836
15853
|
x: distance,
|
|
15837
15854
|
y: distance,
|
|
15838
|
-
layers:
|
|
15839
|
-
port_hints:
|
|
15840
|
-
pcb_component_id:
|
|
15841
|
-
pcb_port_id:
|
|
15855
|
+
layers: z65.array(layer_ref),
|
|
15856
|
+
port_hints: z65.array(z65.string()).optional(),
|
|
15857
|
+
pcb_component_id: z65.string().optional(),
|
|
15858
|
+
pcb_port_id: z65.string().optional(),
|
|
15842
15859
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
15843
15860
|
});
|
|
15844
|
-
var pcb_plated_hole =
|
|
15861
|
+
var pcb_plated_hole = z65.union([
|
|
15845
15862
|
pcb_plated_hole_circle,
|
|
15846
15863
|
pcb_plated_hole_oval,
|
|
15847
15864
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -15855,109 +15872,109 @@ expectTypesMatch(true);
|
|
|
15855
15872
|
expectTypesMatch(true);
|
|
15856
15873
|
expectTypesMatch(true);
|
|
15857
15874
|
expectTypesMatch(true);
|
|
15858
|
-
var pcb_port =
|
|
15859
|
-
type:
|
|
15875
|
+
var pcb_port = z66.object({
|
|
15876
|
+
type: z66.literal("pcb_port"),
|
|
15860
15877
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
15861
|
-
pcb_group_id:
|
|
15862
|
-
subcircuit_id:
|
|
15863
|
-
source_port_id:
|
|
15864
|
-
pcb_component_id:
|
|
15878
|
+
pcb_group_id: z66.string().optional(),
|
|
15879
|
+
subcircuit_id: z66.string().optional(),
|
|
15880
|
+
source_port_id: z66.string(),
|
|
15881
|
+
pcb_component_id: z66.string(),
|
|
15865
15882
|
x: distance,
|
|
15866
15883
|
y: distance,
|
|
15867
|
-
layers:
|
|
15884
|
+
layers: z66.array(layer_ref)
|
|
15868
15885
|
}).describe("Defines a port on the PCB");
|
|
15869
15886
|
expectTypesMatch(true);
|
|
15870
|
-
var pcb_smtpad_circle =
|
|
15871
|
-
type:
|
|
15872
|
-
shape:
|
|
15887
|
+
var pcb_smtpad_circle = z67.object({
|
|
15888
|
+
type: z67.literal("pcb_smtpad"),
|
|
15889
|
+
shape: z67.literal("circle"),
|
|
15873
15890
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15874
|
-
pcb_group_id:
|
|
15875
|
-
subcircuit_id:
|
|
15891
|
+
pcb_group_id: z67.string().optional(),
|
|
15892
|
+
subcircuit_id: z67.string().optional(),
|
|
15876
15893
|
x: distance,
|
|
15877
15894
|
y: distance,
|
|
15878
|
-
radius:
|
|
15895
|
+
radius: z67.number(),
|
|
15879
15896
|
layer: layer_ref,
|
|
15880
|
-
port_hints:
|
|
15881
|
-
pcb_component_id:
|
|
15882
|
-
pcb_port_id:
|
|
15897
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15898
|
+
pcb_component_id: z67.string().optional(),
|
|
15899
|
+
pcb_port_id: z67.string().optional()
|
|
15883
15900
|
});
|
|
15884
|
-
var pcb_smtpad_rect =
|
|
15885
|
-
type:
|
|
15886
|
-
shape:
|
|
15901
|
+
var pcb_smtpad_rect = z67.object({
|
|
15902
|
+
type: z67.literal("pcb_smtpad"),
|
|
15903
|
+
shape: z67.literal("rect"),
|
|
15887
15904
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15888
|
-
pcb_group_id:
|
|
15889
|
-
subcircuit_id:
|
|
15905
|
+
pcb_group_id: z67.string().optional(),
|
|
15906
|
+
subcircuit_id: z67.string().optional(),
|
|
15890
15907
|
x: distance,
|
|
15891
15908
|
y: distance,
|
|
15892
|
-
width:
|
|
15893
|
-
height:
|
|
15909
|
+
width: z67.number(),
|
|
15910
|
+
height: z67.number(),
|
|
15894
15911
|
layer: layer_ref,
|
|
15895
|
-
port_hints:
|
|
15896
|
-
pcb_component_id:
|
|
15897
|
-
pcb_port_id:
|
|
15912
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15913
|
+
pcb_component_id: z67.string().optional(),
|
|
15914
|
+
pcb_port_id: z67.string().optional()
|
|
15898
15915
|
});
|
|
15899
|
-
var pcb_smtpad_rotated_rect =
|
|
15900
|
-
type:
|
|
15901
|
-
shape:
|
|
15916
|
+
var pcb_smtpad_rotated_rect = z67.object({
|
|
15917
|
+
type: z67.literal("pcb_smtpad"),
|
|
15918
|
+
shape: z67.literal("rotated_rect"),
|
|
15902
15919
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15903
|
-
pcb_group_id:
|
|
15904
|
-
subcircuit_id:
|
|
15920
|
+
pcb_group_id: z67.string().optional(),
|
|
15921
|
+
subcircuit_id: z67.string().optional(),
|
|
15905
15922
|
x: distance,
|
|
15906
15923
|
y: distance,
|
|
15907
|
-
width:
|
|
15908
|
-
height:
|
|
15924
|
+
width: z67.number(),
|
|
15925
|
+
height: z67.number(),
|
|
15909
15926
|
ccw_rotation: rotation,
|
|
15910
15927
|
layer: layer_ref,
|
|
15911
|
-
port_hints:
|
|
15912
|
-
pcb_component_id:
|
|
15913
|
-
pcb_port_id:
|
|
15928
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15929
|
+
pcb_component_id: z67.string().optional(),
|
|
15930
|
+
pcb_port_id: z67.string().optional()
|
|
15914
15931
|
});
|
|
15915
|
-
var pcb_smtpad_pill =
|
|
15916
|
-
type:
|
|
15917
|
-
shape:
|
|
15932
|
+
var pcb_smtpad_pill = z67.object({
|
|
15933
|
+
type: z67.literal("pcb_smtpad"),
|
|
15934
|
+
shape: z67.literal("pill"),
|
|
15918
15935
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15919
|
-
pcb_group_id:
|
|
15920
|
-
subcircuit_id:
|
|
15936
|
+
pcb_group_id: z67.string().optional(),
|
|
15937
|
+
subcircuit_id: z67.string().optional(),
|
|
15921
15938
|
x: distance,
|
|
15922
15939
|
y: distance,
|
|
15923
|
-
width:
|
|
15924
|
-
height:
|
|
15925
|
-
radius:
|
|
15940
|
+
width: z67.number(),
|
|
15941
|
+
height: z67.number(),
|
|
15942
|
+
radius: z67.number(),
|
|
15926
15943
|
layer: layer_ref,
|
|
15927
|
-
port_hints:
|
|
15928
|
-
pcb_component_id:
|
|
15929
|
-
pcb_port_id:
|
|
15944
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15945
|
+
pcb_component_id: z67.string().optional(),
|
|
15946
|
+
pcb_port_id: z67.string().optional()
|
|
15930
15947
|
});
|
|
15931
|
-
var pcb_smtpad_rotated_pill =
|
|
15932
|
-
type:
|
|
15933
|
-
shape:
|
|
15948
|
+
var pcb_smtpad_rotated_pill = z67.object({
|
|
15949
|
+
type: z67.literal("pcb_smtpad"),
|
|
15950
|
+
shape: z67.literal("rotated_pill"),
|
|
15934
15951
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15935
|
-
pcb_group_id:
|
|
15936
|
-
subcircuit_id:
|
|
15952
|
+
pcb_group_id: z67.string().optional(),
|
|
15953
|
+
subcircuit_id: z67.string().optional(),
|
|
15937
15954
|
x: distance,
|
|
15938
15955
|
y: distance,
|
|
15939
|
-
width:
|
|
15940
|
-
height:
|
|
15941
|
-
radius:
|
|
15956
|
+
width: z67.number(),
|
|
15957
|
+
height: z67.number(),
|
|
15958
|
+
radius: z67.number(),
|
|
15942
15959
|
ccw_rotation: rotation,
|
|
15943
15960
|
layer: layer_ref,
|
|
15944
|
-
port_hints:
|
|
15945
|
-
pcb_component_id:
|
|
15946
|
-
pcb_port_id:
|
|
15961
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15962
|
+
pcb_component_id: z67.string().optional(),
|
|
15963
|
+
pcb_port_id: z67.string().optional()
|
|
15947
15964
|
});
|
|
15948
|
-
var pcb_smtpad_polygon =
|
|
15949
|
-
type:
|
|
15950
|
-
shape:
|
|
15965
|
+
var pcb_smtpad_polygon = z67.object({
|
|
15966
|
+
type: z67.literal("pcb_smtpad"),
|
|
15967
|
+
shape: z67.literal("polygon"),
|
|
15951
15968
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
15952
|
-
pcb_group_id:
|
|
15953
|
-
subcircuit_id:
|
|
15954
|
-
points:
|
|
15969
|
+
pcb_group_id: z67.string().optional(),
|
|
15970
|
+
subcircuit_id: z67.string().optional(),
|
|
15971
|
+
points: z67.array(point),
|
|
15955
15972
|
layer: layer_ref,
|
|
15956
|
-
port_hints:
|
|
15957
|
-
pcb_component_id:
|
|
15958
|
-
pcb_port_id:
|
|
15973
|
+
port_hints: z67.array(z67.string()).optional(),
|
|
15974
|
+
pcb_component_id: z67.string().optional(),
|
|
15975
|
+
pcb_port_id: z67.string().optional()
|
|
15959
15976
|
});
|
|
15960
|
-
var pcb_smtpad =
|
|
15977
|
+
var pcb_smtpad = z67.discriminatedUnion("shape", [
|
|
15961
15978
|
pcb_smtpad_circle,
|
|
15962
15979
|
pcb_smtpad_rect,
|
|
15963
15980
|
pcb_smtpad_rotated_rect,
|
|
@@ -15971,78 +15988,78 @@ expectTypesMatch(true);
|
|
|
15971
15988
|
expectTypesMatch(true);
|
|
15972
15989
|
expectTypesMatch(true);
|
|
15973
15990
|
expectTypesMatch(true);
|
|
15974
|
-
var pcb_solder_paste_circle =
|
|
15975
|
-
type:
|
|
15976
|
-
shape:
|
|
15991
|
+
var pcb_solder_paste_circle = z68.object({
|
|
15992
|
+
type: z68.literal("pcb_solder_paste"),
|
|
15993
|
+
shape: z68.literal("circle"),
|
|
15977
15994
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
15978
|
-
pcb_group_id:
|
|
15979
|
-
subcircuit_id:
|
|
15995
|
+
pcb_group_id: z68.string().optional(),
|
|
15996
|
+
subcircuit_id: z68.string().optional(),
|
|
15980
15997
|
x: distance,
|
|
15981
15998
|
y: distance,
|
|
15982
|
-
radius:
|
|
15999
|
+
radius: z68.number(),
|
|
15983
16000
|
layer: layer_ref,
|
|
15984
|
-
pcb_component_id:
|
|
15985
|
-
pcb_smtpad_id:
|
|
16001
|
+
pcb_component_id: z68.string().optional(),
|
|
16002
|
+
pcb_smtpad_id: z68.string().optional()
|
|
15986
16003
|
});
|
|
15987
|
-
var pcb_solder_paste_rect =
|
|
15988
|
-
type:
|
|
15989
|
-
shape:
|
|
16004
|
+
var pcb_solder_paste_rect = z68.object({
|
|
16005
|
+
type: z68.literal("pcb_solder_paste"),
|
|
16006
|
+
shape: z68.literal("rect"),
|
|
15990
16007
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
15991
|
-
pcb_group_id:
|
|
15992
|
-
subcircuit_id:
|
|
16008
|
+
pcb_group_id: z68.string().optional(),
|
|
16009
|
+
subcircuit_id: z68.string().optional(),
|
|
15993
16010
|
x: distance,
|
|
15994
16011
|
y: distance,
|
|
15995
|
-
width:
|
|
15996
|
-
height:
|
|
16012
|
+
width: z68.number(),
|
|
16013
|
+
height: z68.number(),
|
|
15997
16014
|
layer: layer_ref,
|
|
15998
|
-
pcb_component_id:
|
|
15999
|
-
pcb_smtpad_id:
|
|
16015
|
+
pcb_component_id: z68.string().optional(),
|
|
16016
|
+
pcb_smtpad_id: z68.string().optional()
|
|
16000
16017
|
});
|
|
16001
|
-
var pcb_solder_paste_pill =
|
|
16002
|
-
type:
|
|
16003
|
-
shape:
|
|
16018
|
+
var pcb_solder_paste_pill = z68.object({
|
|
16019
|
+
type: z68.literal("pcb_solder_paste"),
|
|
16020
|
+
shape: z68.literal("pill"),
|
|
16004
16021
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
16005
|
-
pcb_group_id:
|
|
16006
|
-
subcircuit_id:
|
|
16022
|
+
pcb_group_id: z68.string().optional(),
|
|
16023
|
+
subcircuit_id: z68.string().optional(),
|
|
16007
16024
|
x: distance,
|
|
16008
16025
|
y: distance,
|
|
16009
|
-
width:
|
|
16010
|
-
height:
|
|
16011
|
-
radius:
|
|
16026
|
+
width: z68.number(),
|
|
16027
|
+
height: z68.number(),
|
|
16028
|
+
radius: z68.number(),
|
|
16012
16029
|
layer: layer_ref,
|
|
16013
|
-
pcb_component_id:
|
|
16014
|
-
pcb_smtpad_id:
|
|
16030
|
+
pcb_component_id: z68.string().optional(),
|
|
16031
|
+
pcb_smtpad_id: z68.string().optional()
|
|
16015
16032
|
});
|
|
16016
|
-
var pcb_solder_paste_rotated_rect =
|
|
16017
|
-
type:
|
|
16018
|
-
shape:
|
|
16033
|
+
var pcb_solder_paste_rotated_rect = z68.object({
|
|
16034
|
+
type: z68.literal("pcb_solder_paste"),
|
|
16035
|
+
shape: z68.literal("rotated_rect"),
|
|
16019
16036
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
16020
|
-
pcb_group_id:
|
|
16021
|
-
subcircuit_id:
|
|
16037
|
+
pcb_group_id: z68.string().optional(),
|
|
16038
|
+
subcircuit_id: z68.string().optional(),
|
|
16022
16039
|
x: distance,
|
|
16023
16040
|
y: distance,
|
|
16024
|
-
width:
|
|
16025
|
-
height:
|
|
16041
|
+
width: z68.number(),
|
|
16042
|
+
height: z68.number(),
|
|
16026
16043
|
ccw_rotation: distance,
|
|
16027
16044
|
layer: layer_ref,
|
|
16028
|
-
pcb_component_id:
|
|
16029
|
-
pcb_smtpad_id:
|
|
16045
|
+
pcb_component_id: z68.string().optional(),
|
|
16046
|
+
pcb_smtpad_id: z68.string().optional()
|
|
16030
16047
|
});
|
|
16031
|
-
var pcb_solder_paste_oval =
|
|
16032
|
-
type:
|
|
16033
|
-
shape:
|
|
16048
|
+
var pcb_solder_paste_oval = z68.object({
|
|
16049
|
+
type: z68.literal("pcb_solder_paste"),
|
|
16050
|
+
shape: z68.literal("oval"),
|
|
16034
16051
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
16035
|
-
pcb_group_id:
|
|
16036
|
-
subcircuit_id:
|
|
16052
|
+
pcb_group_id: z68.string().optional(),
|
|
16053
|
+
subcircuit_id: z68.string().optional(),
|
|
16037
16054
|
x: distance,
|
|
16038
16055
|
y: distance,
|
|
16039
|
-
width:
|
|
16040
|
-
height:
|
|
16056
|
+
width: z68.number(),
|
|
16057
|
+
height: z68.number(),
|
|
16041
16058
|
layer: layer_ref,
|
|
16042
|
-
pcb_component_id:
|
|
16043
|
-
pcb_smtpad_id:
|
|
16059
|
+
pcb_component_id: z68.string().optional(),
|
|
16060
|
+
pcb_smtpad_id: z68.string().optional()
|
|
16044
16061
|
});
|
|
16045
|
-
var pcb_solder_paste =
|
|
16062
|
+
var pcb_solder_paste = z68.union([
|
|
16046
16063
|
pcb_solder_paste_circle,
|
|
16047
16064
|
pcb_solder_paste_rect,
|
|
16048
16065
|
pcb_solder_paste_pill,
|
|
@@ -16056,115 +16073,115 @@ expectTypesMatch(
|
|
|
16056
16073
|
true
|
|
16057
16074
|
);
|
|
16058
16075
|
expectTypesMatch(true);
|
|
16059
|
-
var pcb_text =
|
|
16060
|
-
type:
|
|
16076
|
+
var pcb_text = z69.object({
|
|
16077
|
+
type: z69.literal("pcb_text"),
|
|
16061
16078
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
16062
|
-
pcb_group_id:
|
|
16063
|
-
subcircuit_id:
|
|
16064
|
-
text:
|
|
16079
|
+
pcb_group_id: z69.string().optional(),
|
|
16080
|
+
subcircuit_id: z69.string().optional(),
|
|
16081
|
+
text: z69.string(),
|
|
16065
16082
|
center: point,
|
|
16066
16083
|
layer: layer_ref,
|
|
16067
16084
|
width: length,
|
|
16068
16085
|
height: length,
|
|
16069
|
-
lines:
|
|
16086
|
+
lines: z69.number(),
|
|
16070
16087
|
// @ts-ignore
|
|
16071
|
-
align:
|
|
16088
|
+
align: z69.enum(["bottom-left"])
|
|
16072
16089
|
}).describe("Defines text on the PCB");
|
|
16073
16090
|
expectTypesMatch(true);
|
|
16074
|
-
var pcb_trace_route_point_wire =
|
|
16075
|
-
route_type:
|
|
16091
|
+
var pcb_trace_route_point_wire = z70.object({
|
|
16092
|
+
route_type: z70.literal("wire"),
|
|
16076
16093
|
x: distance,
|
|
16077
16094
|
y: distance,
|
|
16078
16095
|
width: distance,
|
|
16079
|
-
start_pcb_port_id:
|
|
16080
|
-
end_pcb_port_id:
|
|
16096
|
+
start_pcb_port_id: z70.string().optional(),
|
|
16097
|
+
end_pcb_port_id: z70.string().optional(),
|
|
16081
16098
|
layer: layer_ref
|
|
16082
16099
|
});
|
|
16083
|
-
var pcb_trace_route_point_via =
|
|
16084
|
-
route_type:
|
|
16100
|
+
var pcb_trace_route_point_via = z70.object({
|
|
16101
|
+
route_type: z70.literal("via"),
|
|
16085
16102
|
x: distance,
|
|
16086
16103
|
y: distance,
|
|
16087
16104
|
hole_diameter: distance.optional(),
|
|
16088
16105
|
outer_diameter: distance.optional(),
|
|
16089
|
-
from_layer:
|
|
16090
|
-
to_layer:
|
|
16106
|
+
from_layer: z70.string(),
|
|
16107
|
+
to_layer: z70.string()
|
|
16091
16108
|
});
|
|
16092
|
-
var pcb_trace_route_point =
|
|
16109
|
+
var pcb_trace_route_point = z70.union([
|
|
16093
16110
|
pcb_trace_route_point_wire,
|
|
16094
16111
|
pcb_trace_route_point_via
|
|
16095
16112
|
]);
|
|
16096
|
-
var pcb_trace =
|
|
16097
|
-
type:
|
|
16098
|
-
source_trace_id:
|
|
16099
|
-
pcb_component_id:
|
|
16113
|
+
var pcb_trace = z70.object({
|
|
16114
|
+
type: z70.literal("pcb_trace"),
|
|
16115
|
+
source_trace_id: z70.string().optional(),
|
|
16116
|
+
pcb_component_id: z70.string().optional(),
|
|
16100
16117
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
16101
|
-
pcb_group_id:
|
|
16102
|
-
subcircuit_id:
|
|
16103
|
-
route_thickness_mode:
|
|
16104
|
-
route_order_index:
|
|
16105
|
-
should_round_corners:
|
|
16106
|
-
trace_length:
|
|
16107
|
-
route:
|
|
16118
|
+
pcb_group_id: z70.string().optional(),
|
|
16119
|
+
subcircuit_id: z70.string().optional(),
|
|
16120
|
+
route_thickness_mode: z70.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
16121
|
+
route_order_index: z70.number().optional(),
|
|
16122
|
+
should_round_corners: z70.boolean().optional(),
|
|
16123
|
+
trace_length: z70.number().optional(),
|
|
16124
|
+
route: z70.array(pcb_trace_route_point)
|
|
16108
16125
|
}).describe("Defines a trace on the PCB");
|
|
16109
16126
|
expectTypesMatch(true);
|
|
16110
16127
|
expectTypesMatch(true);
|
|
16111
|
-
var pcb_trace_error =
|
|
16112
|
-
type:
|
|
16128
|
+
var pcb_trace_error = z71.object({
|
|
16129
|
+
type: z71.literal("pcb_trace_error"),
|
|
16113
16130
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
16114
|
-
error_type:
|
|
16115
|
-
message:
|
|
16131
|
+
error_type: z71.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
16132
|
+
message: z71.string(),
|
|
16116
16133
|
center: point.optional(),
|
|
16117
|
-
pcb_trace_id:
|
|
16118
|
-
source_trace_id:
|
|
16119
|
-
pcb_component_ids:
|
|
16120
|
-
pcb_port_ids:
|
|
16121
|
-
subcircuit_id:
|
|
16134
|
+
pcb_trace_id: z71.string(),
|
|
16135
|
+
source_trace_id: z71.string(),
|
|
16136
|
+
pcb_component_ids: z71.array(z71.string()),
|
|
16137
|
+
pcb_port_ids: z71.array(z71.string()),
|
|
16138
|
+
subcircuit_id: z71.string().optional()
|
|
16122
16139
|
}).describe("Defines a trace error on the PCB");
|
|
16123
16140
|
expectTypesMatch(true);
|
|
16124
|
-
var pcb_trace_missing_error =
|
|
16125
|
-
type:
|
|
16141
|
+
var pcb_trace_missing_error = z72.object({
|
|
16142
|
+
type: z72.literal("pcb_trace_missing_error"),
|
|
16126
16143
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
16127
16144
|
"pcb_trace_missing_error"
|
|
16128
16145
|
),
|
|
16129
|
-
error_type:
|
|
16130
|
-
message:
|
|
16146
|
+
error_type: z72.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
16147
|
+
message: z72.string(),
|
|
16131
16148
|
center: point.optional(),
|
|
16132
|
-
source_trace_id:
|
|
16133
|
-
pcb_component_ids:
|
|
16134
|
-
pcb_port_ids:
|
|
16135
|
-
subcircuit_id:
|
|
16149
|
+
source_trace_id: z72.string(),
|
|
16150
|
+
pcb_component_ids: z72.array(z72.string()),
|
|
16151
|
+
pcb_port_ids: z72.array(z72.string()),
|
|
16152
|
+
subcircuit_id: z72.string().optional()
|
|
16136
16153
|
}).describe(
|
|
16137
16154
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
16138
16155
|
);
|
|
16139
16156
|
expectTypesMatch(true);
|
|
16140
|
-
var pcb_port_not_matched_error =
|
|
16141
|
-
type:
|
|
16157
|
+
var pcb_port_not_matched_error = z73.object({
|
|
16158
|
+
type: z73.literal("pcb_port_not_matched_error"),
|
|
16142
16159
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
16143
|
-
error_type:
|
|
16144
|
-
message:
|
|
16145
|
-
pcb_component_ids:
|
|
16146
|
-
subcircuit_id:
|
|
16160
|
+
error_type: z73.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
16161
|
+
message: z73.string(),
|
|
16162
|
+
pcb_component_ids: z73.array(z73.string()),
|
|
16163
|
+
subcircuit_id: z73.string().optional()
|
|
16147
16164
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
16148
16165
|
expectTypesMatch(true);
|
|
16149
|
-
var pcb_port_not_connected_error =
|
|
16150
|
-
type:
|
|
16166
|
+
var pcb_port_not_connected_error = z74.object({
|
|
16167
|
+
type: z74.literal("pcb_port_not_connected_error"),
|
|
16151
16168
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
16152
16169
|
"pcb_port_not_connected_error"
|
|
16153
16170
|
),
|
|
16154
|
-
error_type:
|
|
16155
|
-
message:
|
|
16156
|
-
pcb_port_ids:
|
|
16157
|
-
pcb_component_ids:
|
|
16158
|
-
subcircuit_id:
|
|
16171
|
+
error_type: z74.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
16172
|
+
message: z74.string(),
|
|
16173
|
+
pcb_port_ids: z74.array(z74.string()),
|
|
16174
|
+
pcb_component_ids: z74.array(z74.string()),
|
|
16175
|
+
subcircuit_id: z74.string().optional()
|
|
16159
16176
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
16160
16177
|
expectTypesMatch(
|
|
16161
16178
|
true
|
|
16162
16179
|
);
|
|
16163
|
-
var pcb_via =
|
|
16164
|
-
type:
|
|
16180
|
+
var pcb_via = z75.object({
|
|
16181
|
+
type: z75.literal("pcb_via"),
|
|
16165
16182
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
16166
|
-
pcb_group_id:
|
|
16167
|
-
subcircuit_id:
|
|
16183
|
+
pcb_group_id: z75.string().optional(),
|
|
16184
|
+
subcircuit_id: z75.string().optional(),
|
|
16168
16185
|
x: distance,
|
|
16169
16186
|
y: distance,
|
|
16170
16187
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -16173,47 +16190,47 @@ var pcb_via = z74.object({
|
|
|
16173
16190
|
from_layer: layer_ref.optional(),
|
|
16174
16191
|
/** @deprecated */
|
|
16175
16192
|
to_layer: layer_ref.optional(),
|
|
16176
|
-
layers:
|
|
16177
|
-
pcb_trace_id:
|
|
16193
|
+
layers: z75.array(layer_ref),
|
|
16194
|
+
pcb_trace_id: z75.string().optional()
|
|
16178
16195
|
}).describe("Defines a via on the PCB");
|
|
16179
16196
|
expectTypesMatch(true);
|
|
16180
|
-
var pcb_board =
|
|
16181
|
-
type:
|
|
16197
|
+
var pcb_board = z76.object({
|
|
16198
|
+
type: z76.literal("pcb_board"),
|
|
16182
16199
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
16183
|
-
is_subcircuit:
|
|
16184
|
-
subcircuit_id:
|
|
16200
|
+
is_subcircuit: z76.boolean().optional(),
|
|
16201
|
+
subcircuit_id: z76.string().optional(),
|
|
16185
16202
|
width: length,
|
|
16186
16203
|
height: length,
|
|
16187
16204
|
center: point,
|
|
16188
16205
|
thickness: length.optional().default(1.4),
|
|
16189
|
-
num_layers:
|
|
16190
|
-
outline:
|
|
16191
|
-
material:
|
|
16206
|
+
num_layers: z76.number().optional().default(4),
|
|
16207
|
+
outline: z76.array(point).optional(),
|
|
16208
|
+
material: z76.enum(["fr4", "fr1"]).default("fr4")
|
|
16192
16209
|
}).describe("Defines the board outline of the PCB");
|
|
16193
16210
|
expectTypesMatch(true);
|
|
16194
|
-
var pcb_placement_error =
|
|
16195
|
-
type:
|
|
16211
|
+
var pcb_placement_error = z77.object({
|
|
16212
|
+
type: z77.literal("pcb_placement_error"),
|
|
16196
16213
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
16197
|
-
error_type:
|
|
16198
|
-
message:
|
|
16199
|
-
subcircuit_id:
|
|
16214
|
+
error_type: z77.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
16215
|
+
message: z77.string(),
|
|
16216
|
+
subcircuit_id: z77.string().optional()
|
|
16200
16217
|
}).describe("Defines a placement error on the PCB");
|
|
16201
16218
|
expectTypesMatch(true);
|
|
16202
|
-
var pcb_trace_hint =
|
|
16203
|
-
type:
|
|
16219
|
+
var pcb_trace_hint = z78.object({
|
|
16220
|
+
type: z78.literal("pcb_trace_hint"),
|
|
16204
16221
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
16205
|
-
pcb_port_id:
|
|
16206
|
-
pcb_component_id:
|
|
16207
|
-
route:
|
|
16208
|
-
subcircuit_id:
|
|
16222
|
+
pcb_port_id: z78.string(),
|
|
16223
|
+
pcb_component_id: z78.string(),
|
|
16224
|
+
route: z78.array(route_hint_point),
|
|
16225
|
+
subcircuit_id: z78.string().optional()
|
|
16209
16226
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
16210
16227
|
expectTypesMatch(true);
|
|
16211
|
-
var pcb_silkscreen_line =
|
|
16212
|
-
type:
|
|
16228
|
+
var pcb_silkscreen_line = z79.object({
|
|
16229
|
+
type: z79.literal("pcb_silkscreen_line"),
|
|
16213
16230
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
16214
|
-
pcb_component_id:
|
|
16215
|
-
pcb_group_id:
|
|
16216
|
-
subcircuit_id:
|
|
16231
|
+
pcb_component_id: z79.string(),
|
|
16232
|
+
pcb_group_id: z79.string().optional(),
|
|
16233
|
+
subcircuit_id: z79.string().optional(),
|
|
16217
16234
|
stroke_width: distance.default("0.1mm"),
|
|
16218
16235
|
x1: distance,
|
|
16219
16236
|
y1: distance,
|
|
@@ -16222,159 +16239,159 @@ var pcb_silkscreen_line = z78.object({
|
|
|
16222
16239
|
layer: visible_layer
|
|
16223
16240
|
}).describe("Defines a silkscreen line on the PCB");
|
|
16224
16241
|
expectTypesMatch(true);
|
|
16225
|
-
var pcb_silkscreen_path =
|
|
16226
|
-
type:
|
|
16242
|
+
var pcb_silkscreen_path = z80.object({
|
|
16243
|
+
type: z80.literal("pcb_silkscreen_path"),
|
|
16227
16244
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
16228
|
-
pcb_component_id:
|
|
16229
|
-
pcb_group_id:
|
|
16230
|
-
subcircuit_id:
|
|
16245
|
+
pcb_component_id: z80.string(),
|
|
16246
|
+
pcb_group_id: z80.string().optional(),
|
|
16247
|
+
subcircuit_id: z80.string().optional(),
|
|
16231
16248
|
layer: visible_layer,
|
|
16232
|
-
route:
|
|
16249
|
+
route: z80.array(point),
|
|
16233
16250
|
stroke_width: length
|
|
16234
16251
|
}).describe("Defines a silkscreen path on the PCB");
|
|
16235
16252
|
expectTypesMatch(true);
|
|
16236
|
-
var pcb_silkscreen_text =
|
|
16237
|
-
type:
|
|
16253
|
+
var pcb_silkscreen_text = z81.object({
|
|
16254
|
+
type: z81.literal("pcb_silkscreen_text"),
|
|
16238
16255
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
16239
|
-
pcb_group_id:
|
|
16240
|
-
subcircuit_id:
|
|
16241
|
-
font:
|
|
16256
|
+
pcb_group_id: z81.string().optional(),
|
|
16257
|
+
subcircuit_id: z81.string().optional(),
|
|
16258
|
+
font: z81.literal("tscircuit2024").default("tscircuit2024"),
|
|
16242
16259
|
font_size: distance.default("0.2mm"),
|
|
16243
|
-
pcb_component_id:
|
|
16244
|
-
text:
|
|
16245
|
-
ccw_rotation:
|
|
16260
|
+
pcb_component_id: z81.string(),
|
|
16261
|
+
text: z81.string(),
|
|
16262
|
+
ccw_rotation: z81.number().optional(),
|
|
16246
16263
|
layer: layer_ref,
|
|
16247
|
-
is_mirrored:
|
|
16264
|
+
is_mirrored: z81.boolean().default(false).optional(),
|
|
16248
16265
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
16249
16266
|
anchor_alignment: ninePointAnchor.default("center")
|
|
16250
16267
|
}).describe("Defines silkscreen text on the PCB");
|
|
16251
16268
|
expectTypesMatch(true);
|
|
16252
|
-
var pcb_silkscreen_rect =
|
|
16253
|
-
type:
|
|
16269
|
+
var pcb_silkscreen_rect = z82.object({
|
|
16270
|
+
type: z82.literal("pcb_silkscreen_rect"),
|
|
16254
16271
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
16255
|
-
pcb_component_id:
|
|
16256
|
-
pcb_group_id:
|
|
16257
|
-
subcircuit_id:
|
|
16272
|
+
pcb_component_id: z82.string(),
|
|
16273
|
+
pcb_group_id: z82.string().optional(),
|
|
16274
|
+
subcircuit_id: z82.string().optional(),
|
|
16258
16275
|
center: point,
|
|
16259
16276
|
width: length,
|
|
16260
16277
|
height: length,
|
|
16261
16278
|
layer: layer_ref,
|
|
16262
16279
|
stroke_width: length.default("1mm"),
|
|
16263
|
-
is_filled:
|
|
16264
|
-
has_stroke:
|
|
16265
|
-
is_stroke_dashed:
|
|
16280
|
+
is_filled: z82.boolean().default(true).optional(),
|
|
16281
|
+
has_stroke: z82.boolean().optional(),
|
|
16282
|
+
is_stroke_dashed: z82.boolean().optional()
|
|
16266
16283
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
16267
16284
|
expectTypesMatch(true);
|
|
16268
|
-
var pcb_silkscreen_circle =
|
|
16269
|
-
type:
|
|
16285
|
+
var pcb_silkscreen_circle = z83.object({
|
|
16286
|
+
type: z83.literal("pcb_silkscreen_circle"),
|
|
16270
16287
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
16271
16288
|
"pcb_silkscreen_circle"
|
|
16272
16289
|
),
|
|
16273
|
-
pcb_component_id:
|
|
16274
|
-
pcb_group_id:
|
|
16275
|
-
subcircuit_id:
|
|
16290
|
+
pcb_component_id: z83.string(),
|
|
16291
|
+
pcb_group_id: z83.string().optional(),
|
|
16292
|
+
subcircuit_id: z83.string().optional(),
|
|
16276
16293
|
center: point,
|
|
16277
16294
|
radius: length,
|
|
16278
16295
|
layer: visible_layer,
|
|
16279
16296
|
stroke_width: length.default("1mm")
|
|
16280
16297
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
16281
16298
|
expectTypesMatch(true);
|
|
16282
|
-
var pcb_silkscreen_oval =
|
|
16283
|
-
type:
|
|
16299
|
+
var pcb_silkscreen_oval = z84.object({
|
|
16300
|
+
type: z84.literal("pcb_silkscreen_oval"),
|
|
16284
16301
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
16285
|
-
pcb_component_id:
|
|
16286
|
-
pcb_group_id:
|
|
16287
|
-
subcircuit_id:
|
|
16302
|
+
pcb_component_id: z84.string(),
|
|
16303
|
+
pcb_group_id: z84.string().optional(),
|
|
16304
|
+
subcircuit_id: z84.string().optional(),
|
|
16288
16305
|
center: point,
|
|
16289
16306
|
radius_x: distance,
|
|
16290
16307
|
radius_y: distance,
|
|
16291
16308
|
layer: visible_layer
|
|
16292
16309
|
}).describe("Defines a silkscreen oval on the PCB");
|
|
16293
16310
|
expectTypesMatch(true);
|
|
16294
|
-
var pcb_fabrication_note_text =
|
|
16295
|
-
type:
|
|
16311
|
+
var pcb_fabrication_note_text = z85.object({
|
|
16312
|
+
type: z85.literal("pcb_fabrication_note_text"),
|
|
16296
16313
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
16297
16314
|
"pcb_fabrication_note_text"
|
|
16298
16315
|
),
|
|
16299
|
-
subcircuit_id:
|
|
16300
|
-
pcb_group_id:
|
|
16301
|
-
font:
|
|
16316
|
+
subcircuit_id: z85.string().optional(),
|
|
16317
|
+
pcb_group_id: z85.string().optional(),
|
|
16318
|
+
font: z85.literal("tscircuit2024").default("tscircuit2024"),
|
|
16302
16319
|
font_size: distance.default("1mm"),
|
|
16303
|
-
pcb_component_id:
|
|
16304
|
-
text:
|
|
16320
|
+
pcb_component_id: z85.string(),
|
|
16321
|
+
text: z85.string(),
|
|
16305
16322
|
layer: visible_layer,
|
|
16306
16323
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
16307
|
-
anchor_alignment:
|
|
16308
|
-
color:
|
|
16324
|
+
anchor_alignment: z85.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
16325
|
+
color: z85.string().optional()
|
|
16309
16326
|
}).describe(
|
|
16310
16327
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
16311
16328
|
);
|
|
16312
16329
|
expectTypesMatch(true);
|
|
16313
|
-
var pcb_fabrication_note_path =
|
|
16314
|
-
type:
|
|
16330
|
+
var pcb_fabrication_note_path = z86.object({
|
|
16331
|
+
type: z86.literal("pcb_fabrication_note_path"),
|
|
16315
16332
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
16316
16333
|
"pcb_fabrication_note_path"
|
|
16317
16334
|
),
|
|
16318
|
-
pcb_component_id:
|
|
16319
|
-
subcircuit_id:
|
|
16335
|
+
pcb_component_id: z86.string(),
|
|
16336
|
+
subcircuit_id: z86.string().optional(),
|
|
16320
16337
|
layer: layer_ref,
|
|
16321
|
-
route:
|
|
16338
|
+
route: z86.array(point),
|
|
16322
16339
|
stroke_width: length,
|
|
16323
|
-
color:
|
|
16340
|
+
color: z86.string().optional()
|
|
16324
16341
|
}).describe(
|
|
16325
16342
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
16326
16343
|
);
|
|
16327
16344
|
expectTypesMatch(true);
|
|
16328
|
-
var pcb_footprint_overlap_error =
|
|
16329
|
-
type:
|
|
16345
|
+
var pcb_footprint_overlap_error = z87.object({
|
|
16346
|
+
type: z87.literal("pcb_footprint_overlap_error"),
|
|
16330
16347
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
16331
|
-
error_type:
|
|
16332
|
-
message:
|
|
16333
|
-
pcb_smtpad_ids:
|
|
16334
|
-
pcb_plated_hole_ids:
|
|
16335
|
-
pcb_hole_ids:
|
|
16336
|
-
pcb_keepout_ids:
|
|
16348
|
+
error_type: z87.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
16349
|
+
message: z87.string(),
|
|
16350
|
+
pcb_smtpad_ids: z87.array(z87.string()).optional(),
|
|
16351
|
+
pcb_plated_hole_ids: z87.array(z87.string()).optional(),
|
|
16352
|
+
pcb_hole_ids: z87.array(z87.string()).optional(),
|
|
16353
|
+
pcb_keepout_ids: z87.array(z87.string()).optional()
|
|
16337
16354
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
16338
16355
|
expectTypesMatch(
|
|
16339
16356
|
true
|
|
16340
16357
|
);
|
|
16341
|
-
var pcb_keepout =
|
|
16342
|
-
type:
|
|
16343
|
-
shape:
|
|
16344
|
-
pcb_group_id:
|
|
16345
|
-
subcircuit_id:
|
|
16358
|
+
var pcb_keepout = z88.object({
|
|
16359
|
+
type: z88.literal("pcb_keepout"),
|
|
16360
|
+
shape: z88.literal("rect"),
|
|
16361
|
+
pcb_group_id: z88.string().optional(),
|
|
16362
|
+
subcircuit_id: z88.string().optional(),
|
|
16346
16363
|
center: point,
|
|
16347
16364
|
width: distance,
|
|
16348
16365
|
height: distance,
|
|
16349
|
-
pcb_keepout_id:
|
|
16350
|
-
layers:
|
|
16366
|
+
pcb_keepout_id: z88.string(),
|
|
16367
|
+
layers: z88.array(z88.string()),
|
|
16351
16368
|
// Specify layers where the keepout applies
|
|
16352
|
-
description:
|
|
16369
|
+
description: z88.string().optional()
|
|
16353
16370
|
// Optional description of the keepout
|
|
16354
16371
|
}).or(
|
|
16355
|
-
|
|
16356
|
-
type:
|
|
16357
|
-
shape:
|
|
16358
|
-
pcb_group_id:
|
|
16359
|
-
subcircuit_id:
|
|
16372
|
+
z88.object({
|
|
16373
|
+
type: z88.literal("pcb_keepout"),
|
|
16374
|
+
shape: z88.literal("circle"),
|
|
16375
|
+
pcb_group_id: z88.string().optional(),
|
|
16376
|
+
subcircuit_id: z88.string().optional(),
|
|
16360
16377
|
center: point,
|
|
16361
16378
|
radius: distance,
|
|
16362
|
-
pcb_keepout_id:
|
|
16363
|
-
layers:
|
|
16379
|
+
pcb_keepout_id: z88.string(),
|
|
16380
|
+
layers: z88.array(z88.string()),
|
|
16364
16381
|
// Specify layers where the keepout applies
|
|
16365
|
-
description:
|
|
16382
|
+
description: z88.string().optional()
|
|
16366
16383
|
// Optional description of the keepout
|
|
16367
16384
|
})
|
|
16368
16385
|
);
|
|
16369
16386
|
expectTypesMatch(true);
|
|
16370
|
-
var pcb_cutout_base =
|
|
16371
|
-
type:
|
|
16387
|
+
var pcb_cutout_base = z89.object({
|
|
16388
|
+
type: z89.literal("pcb_cutout"),
|
|
16372
16389
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
16373
|
-
pcb_group_id:
|
|
16374
|
-
subcircuit_id:
|
|
16390
|
+
pcb_group_id: z89.string().optional(),
|
|
16391
|
+
subcircuit_id: z89.string().optional()
|
|
16375
16392
|
});
|
|
16376
16393
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
16377
|
-
shape:
|
|
16394
|
+
shape: z89.literal("rect"),
|
|
16378
16395
|
center: point,
|
|
16379
16396
|
width: length,
|
|
16380
16397
|
height: length,
|
|
@@ -16382,180 +16399,182 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
16382
16399
|
});
|
|
16383
16400
|
expectTypesMatch(true);
|
|
16384
16401
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
16385
|
-
shape:
|
|
16402
|
+
shape: z89.literal("circle"),
|
|
16386
16403
|
center: point,
|
|
16387
16404
|
radius: length
|
|
16388
16405
|
});
|
|
16389
16406
|
expectTypesMatch(true);
|
|
16390
16407
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
16391
|
-
shape:
|
|
16392
|
-
points:
|
|
16408
|
+
shape: z89.literal("polygon"),
|
|
16409
|
+
points: z89.array(point)
|
|
16393
16410
|
});
|
|
16394
16411
|
expectTypesMatch(true);
|
|
16395
|
-
var pcb_cutout =
|
|
16412
|
+
var pcb_cutout = z89.discriminatedUnion("shape", [
|
|
16396
16413
|
pcb_cutout_rect,
|
|
16397
16414
|
pcb_cutout_circle,
|
|
16398
16415
|
pcb_cutout_polygon
|
|
16399
16416
|
]).describe("Defines a cutout on the PCB, removing board material.");
|
|
16400
16417
|
expectTypesMatch(true);
|
|
16401
|
-
var pcb_missing_footprint_error =
|
|
16402
|
-
type:
|
|
16418
|
+
var pcb_missing_footprint_error = z90.object({
|
|
16419
|
+
type: z90.literal("pcb_missing_footprint_error"),
|
|
16403
16420
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
16404
16421
|
"pcb_missing_footprint_error"
|
|
16405
16422
|
),
|
|
16406
|
-
pcb_group_id:
|
|
16407
|
-
subcircuit_id:
|
|
16408
|
-
error_type:
|
|
16409
|
-
source_component_id:
|
|
16410
|
-
message:
|
|
16423
|
+
pcb_group_id: z90.string().optional(),
|
|
16424
|
+
subcircuit_id: z90.string().optional(),
|
|
16425
|
+
error_type: z90.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
16426
|
+
source_component_id: z90.string(),
|
|
16427
|
+
message: z90.string()
|
|
16411
16428
|
}).describe("Defines a missing footprint error on the PCB");
|
|
16412
16429
|
expectTypesMatch(
|
|
16413
16430
|
true
|
|
16414
16431
|
);
|
|
16415
|
-
var pcb_group =
|
|
16416
|
-
type:
|
|
16432
|
+
var pcb_group = z91.object({
|
|
16433
|
+
type: z91.literal("pcb_group"),
|
|
16417
16434
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
16418
|
-
source_group_id:
|
|
16419
|
-
is_subcircuit:
|
|
16420
|
-
subcircuit_id:
|
|
16435
|
+
source_group_id: z91.string(),
|
|
16436
|
+
is_subcircuit: z91.boolean().optional(),
|
|
16437
|
+
subcircuit_id: z91.string().optional(),
|
|
16421
16438
|
width: length,
|
|
16422
16439
|
height: length,
|
|
16423
16440
|
center: point,
|
|
16424
|
-
pcb_component_ids:
|
|
16425
|
-
name:
|
|
16426
|
-
description:
|
|
16427
|
-
layout_mode:
|
|
16428
|
-
autorouter_configuration:
|
|
16441
|
+
pcb_component_ids: z91.array(z91.string()),
|
|
16442
|
+
name: z91.string().optional(),
|
|
16443
|
+
description: z91.string().optional(),
|
|
16444
|
+
layout_mode: z91.string().optional(),
|
|
16445
|
+
autorouter_configuration: z91.object({
|
|
16429
16446
|
trace_clearance: length
|
|
16430
16447
|
}).optional(),
|
|
16431
|
-
autorouter_used_string:
|
|
16448
|
+
autorouter_used_string: z91.string().optional()
|
|
16432
16449
|
}).describe("Defines a group of components on the PCB");
|
|
16433
16450
|
expectTypesMatch(true);
|
|
16434
|
-
var pcb_autorouting_error =
|
|
16435
|
-
type:
|
|
16451
|
+
var pcb_autorouting_error = z92.object({
|
|
16452
|
+
type: z92.literal("pcb_autorouting_error"),
|
|
16436
16453
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
16437
|
-
error_type:
|
|
16438
|
-
message:
|
|
16439
|
-
subcircuit_id:
|
|
16454
|
+
error_type: z92.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
16455
|
+
message: z92.string(),
|
|
16456
|
+
subcircuit_id: z92.string().optional()
|
|
16440
16457
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
16441
16458
|
expectTypesMatch(true);
|
|
16442
|
-
var pcb_manual_edit_conflict_warning =
|
|
16443
|
-
type:
|
|
16459
|
+
var pcb_manual_edit_conflict_warning = z93.object({
|
|
16460
|
+
type: z93.literal("pcb_manual_edit_conflict_warning"),
|
|
16444
16461
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
16445
16462
|
"pcb_manual_edit_conflict_warning"
|
|
16446
16463
|
),
|
|
16447
|
-
warning_type:
|
|
16448
|
-
message:
|
|
16449
|
-
pcb_component_id:
|
|
16450
|
-
pcb_group_id:
|
|
16451
|
-
subcircuit_id:
|
|
16452
|
-
source_component_id:
|
|
16464
|
+
warning_type: z93.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
16465
|
+
message: z93.string(),
|
|
16466
|
+
pcb_component_id: z93.string(),
|
|
16467
|
+
pcb_group_id: z93.string().optional(),
|
|
16468
|
+
subcircuit_id: z93.string().optional(),
|
|
16469
|
+
source_component_id: z93.string()
|
|
16453
16470
|
}).describe(
|
|
16454
16471
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
16455
16472
|
);
|
|
16456
16473
|
expectTypesMatch(true);
|
|
16457
|
-
var pcb_breakout_point =
|
|
16458
|
-
type:
|
|
16474
|
+
var pcb_breakout_point = z94.object({
|
|
16475
|
+
type: z94.literal("pcb_breakout_point"),
|
|
16459
16476
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
16460
|
-
pcb_group_id:
|
|
16461
|
-
subcircuit_id:
|
|
16462
|
-
source_trace_id:
|
|
16463
|
-
source_port_id:
|
|
16464
|
-
source_net_id:
|
|
16477
|
+
pcb_group_id: z94.string(),
|
|
16478
|
+
subcircuit_id: z94.string().optional(),
|
|
16479
|
+
source_trace_id: z94.string().optional(),
|
|
16480
|
+
source_port_id: z94.string().optional(),
|
|
16481
|
+
source_net_id: z94.string().optional(),
|
|
16465
16482
|
x: distance,
|
|
16466
16483
|
y: distance
|
|
16467
16484
|
}).describe(
|
|
16468
16485
|
"Defines a routing target within a pcb_group for a source_trace or source_net"
|
|
16469
16486
|
);
|
|
16470
16487
|
expectTypesMatch(true);
|
|
16471
|
-
var pcb_ground_plane =
|
|
16472
|
-
type:
|
|
16488
|
+
var pcb_ground_plane = z95.object({
|
|
16489
|
+
type: z95.literal("pcb_ground_plane"),
|
|
16473
16490
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
16474
|
-
source_pcb_ground_plane_id:
|
|
16475
|
-
source_net_id:
|
|
16476
|
-
pcb_group_id:
|
|
16477
|
-
subcircuit_id:
|
|
16491
|
+
source_pcb_ground_plane_id: z95.string(),
|
|
16492
|
+
source_net_id: z95.string(),
|
|
16493
|
+
pcb_group_id: z95.string().optional(),
|
|
16494
|
+
subcircuit_id: z95.string().optional()
|
|
16478
16495
|
}).describe("Defines a ground plane on the PCB");
|
|
16479
16496
|
expectTypesMatch(true);
|
|
16480
|
-
var pcb_ground_plane_region =
|
|
16481
|
-
type:
|
|
16497
|
+
var pcb_ground_plane_region = z96.object({
|
|
16498
|
+
type: z96.literal("pcb_ground_plane_region"),
|
|
16482
16499
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
16483
16500
|
"pcb_ground_plane_region"
|
|
16484
16501
|
),
|
|
16485
|
-
pcb_ground_plane_id:
|
|
16486
|
-
pcb_group_id:
|
|
16487
|
-
subcircuit_id:
|
|
16502
|
+
pcb_ground_plane_id: z96.string(),
|
|
16503
|
+
pcb_group_id: z96.string().optional(),
|
|
16504
|
+
subcircuit_id: z96.string().optional(),
|
|
16488
16505
|
layer: layer_ref,
|
|
16489
|
-
points:
|
|
16506
|
+
points: z96.array(point)
|
|
16490
16507
|
}).describe("Defines a polygon region of a ground plane");
|
|
16491
16508
|
expectTypesMatch(true);
|
|
16492
|
-
var pcb_thermal_spoke =
|
|
16493
|
-
type:
|
|
16509
|
+
var pcb_thermal_spoke = z97.object({
|
|
16510
|
+
type: z97.literal("pcb_thermal_spoke"),
|
|
16494
16511
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
16495
|
-
pcb_ground_plane_id:
|
|
16496
|
-
shape:
|
|
16497
|
-
spoke_count:
|
|
16512
|
+
pcb_ground_plane_id: z97.string(),
|
|
16513
|
+
shape: z97.string(),
|
|
16514
|
+
spoke_count: z97.number(),
|
|
16498
16515
|
spoke_thickness: distance,
|
|
16499
16516
|
spoke_inner_diameter: distance,
|
|
16500
16517
|
spoke_outer_diameter: distance,
|
|
16501
|
-
pcb_plated_hole_id:
|
|
16502
|
-
subcircuit_id:
|
|
16518
|
+
pcb_plated_hole_id: z97.string().optional(),
|
|
16519
|
+
subcircuit_id: z97.string().optional()
|
|
16503
16520
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
16504
16521
|
expectTypesMatch(true);
|
|
16505
|
-
var pcb_copper_pour_base =
|
|
16506
|
-
type:
|
|
16522
|
+
var pcb_copper_pour_base = z98.object({
|
|
16523
|
+
type: z98.literal("pcb_copper_pour"),
|
|
16507
16524
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
16508
|
-
pcb_group_id:
|
|
16509
|
-
subcircuit_id:
|
|
16525
|
+
pcb_group_id: z98.string().optional(),
|
|
16526
|
+
subcircuit_id: z98.string().optional(),
|
|
16510
16527
|
layer: layer_ref,
|
|
16511
|
-
source_net_id:
|
|
16528
|
+
source_net_id: z98.string().optional()
|
|
16512
16529
|
});
|
|
16513
16530
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
16514
|
-
shape:
|
|
16531
|
+
shape: z98.literal("rect"),
|
|
16515
16532
|
center: point,
|
|
16516
16533
|
width: length,
|
|
16517
16534
|
height: length,
|
|
16518
16535
|
rotation: rotation.optional()
|
|
16519
16536
|
});
|
|
16520
16537
|
expectTypesMatch(true);
|
|
16521
|
-
var
|
|
16522
|
-
shape:
|
|
16523
|
-
|
|
16524
|
-
radius: length
|
|
16538
|
+
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
16539
|
+
shape: z98.literal("brep"),
|
|
16540
|
+
brep_shape
|
|
16525
16541
|
});
|
|
16526
16542
|
expectTypesMatch(true);
|
|
16527
16543
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
16528
|
-
shape:
|
|
16529
|
-
points:
|
|
16544
|
+
shape: z98.literal("polygon"),
|
|
16545
|
+
points: z98.array(point)
|
|
16530
16546
|
});
|
|
16531
16547
|
expectTypesMatch(true);
|
|
16532
|
-
var pcb_copper_pour =
|
|
16548
|
+
var pcb_copper_pour = z98.discriminatedUnion("shape", [
|
|
16533
16549
|
pcb_copper_pour_rect,
|
|
16534
|
-
|
|
16550
|
+
pcb_copper_pour_brep,
|
|
16535
16551
|
pcb_copper_pour_polygon
|
|
16536
16552
|
]).describe("Defines a copper pour on the PCB.");
|
|
16537
16553
|
expectTypesMatch(true);
|
|
16538
|
-
var cad_component =
|
|
16539
|
-
type:
|
|
16540
|
-
cad_component_id:
|
|
16541
|
-
pcb_component_id:
|
|
16542
|
-
source_component_id:
|
|
16554
|
+
var cad_component = z99.object({
|
|
16555
|
+
type: z99.literal("cad_component"),
|
|
16556
|
+
cad_component_id: z99.string(),
|
|
16557
|
+
pcb_component_id: z99.string(),
|
|
16558
|
+
source_component_id: z99.string(),
|
|
16543
16559
|
position: point3,
|
|
16544
16560
|
rotation: point3.optional(),
|
|
16545
16561
|
size: point3.optional(),
|
|
16546
16562
|
layer: layer_ref.optional(),
|
|
16547
|
-
subcircuit_id:
|
|
16563
|
+
subcircuit_id: z99.string().optional(),
|
|
16548
16564
|
// These are all ways to generate/load the 3d model
|
|
16549
|
-
footprinter_string:
|
|
16550
|
-
model_obj_url:
|
|
16551
|
-
model_stl_url:
|
|
16552
|
-
model_3mf_url:
|
|
16553
|
-
model_gltf_url:
|
|
16554
|
-
|
|
16565
|
+
footprinter_string: z99.string().optional(),
|
|
16566
|
+
model_obj_url: z99.string().optional(),
|
|
16567
|
+
model_stl_url: z99.string().optional(),
|
|
16568
|
+
model_3mf_url: z99.string().optional(),
|
|
16569
|
+
model_gltf_url: z99.string().optional(),
|
|
16570
|
+
model_glb_url: z99.string().optional(),
|
|
16571
|
+
model_step_url: z99.string().optional(),
|
|
16572
|
+
model_wrl_url: z99.string().optional(),
|
|
16573
|
+
model_jscad: z99.any().optional()
|
|
16555
16574
|
}).describe("Defines a component on the PCB");
|
|
16556
16575
|
expectTypesMatch(true);
|
|
16557
|
-
var wave_shape =
|
|
16558
|
-
var percentage =
|
|
16576
|
+
var wave_shape = z100.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
16577
|
+
var percentage = z100.union([z100.string(), z100.number()]).transform((val) => {
|
|
16559
16578
|
if (typeof val === "string") {
|
|
16560
16579
|
if (val.endsWith("%")) {
|
|
16561
16580
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -16564,30 +16583,30 @@ var percentage = z99.union([z99.string(), z99.number()]).transform((val) => {
|
|
|
16564
16583
|
}
|
|
16565
16584
|
return val;
|
|
16566
16585
|
}).pipe(
|
|
16567
|
-
|
|
16586
|
+
z100.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
16568
16587
|
);
|
|
16569
|
-
var simulation_dc_voltage_source =
|
|
16570
|
-
type:
|
|
16588
|
+
var simulation_dc_voltage_source = z100.object({
|
|
16589
|
+
type: z100.literal("simulation_voltage_source"),
|
|
16571
16590
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
16572
16591
|
"simulation_voltage_source"
|
|
16573
16592
|
),
|
|
16574
|
-
is_dc_source:
|
|
16575
|
-
positive_source_port_id:
|
|
16576
|
-
negative_source_port_id:
|
|
16577
|
-
positive_source_net_id:
|
|
16578
|
-
negative_source_net_id:
|
|
16593
|
+
is_dc_source: z100.literal(true).optional().default(true),
|
|
16594
|
+
positive_source_port_id: z100.string().optional(),
|
|
16595
|
+
negative_source_port_id: z100.string().optional(),
|
|
16596
|
+
positive_source_net_id: z100.string().optional(),
|
|
16597
|
+
negative_source_net_id: z100.string().optional(),
|
|
16579
16598
|
voltage
|
|
16580
16599
|
}).describe("Defines a DC voltage source for simulation");
|
|
16581
|
-
var simulation_ac_voltage_source =
|
|
16582
|
-
type:
|
|
16600
|
+
var simulation_ac_voltage_source = z100.object({
|
|
16601
|
+
type: z100.literal("simulation_voltage_source"),
|
|
16583
16602
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
16584
16603
|
"simulation_voltage_source"
|
|
16585
16604
|
),
|
|
16586
|
-
is_dc_source:
|
|
16587
|
-
terminal1_source_port_id:
|
|
16588
|
-
terminal2_source_port_id:
|
|
16589
|
-
terminal1_source_net_id:
|
|
16590
|
-
terminal2_source_net_id:
|
|
16605
|
+
is_dc_source: z100.literal(false),
|
|
16606
|
+
terminal1_source_port_id: z100.string().optional(),
|
|
16607
|
+
terminal2_source_port_id: z100.string().optional(),
|
|
16608
|
+
terminal1_source_net_id: z100.string().optional(),
|
|
16609
|
+
terminal2_source_net_id: z100.string().optional(),
|
|
16591
16610
|
voltage: voltage.optional(),
|
|
16592
16611
|
frequency: frequency.optional(),
|
|
16593
16612
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -16595,11 +16614,11 @@ var simulation_ac_voltage_source = z99.object({
|
|
|
16595
16614
|
phase: rotation.optional(),
|
|
16596
16615
|
duty_cycle: percentage.optional()
|
|
16597
16616
|
}).describe("Defines an AC voltage source for simulation");
|
|
16598
|
-
var simulation_voltage_source =
|
|
16617
|
+
var simulation_voltage_source = z100.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
16599
16618
|
expectTypesMatch(true);
|
|
16600
16619
|
expectTypesMatch(true);
|
|
16601
16620
|
expectTypesMatch(true);
|
|
16602
|
-
var any_circuit_element =
|
|
16621
|
+
var any_circuit_element = z101.union([
|
|
16603
16622
|
source_trace,
|
|
16604
16623
|
source_port,
|
|
16605
16624
|
any_source_component,
|
|
@@ -16871,12 +16890,12 @@ function convertMilToMm(value) {
|
|
|
16871
16890
|
}
|
|
16872
16891
|
return Number(value);
|
|
16873
16892
|
}
|
|
16874
|
-
var lengthInMm =
|
|
16875
|
-
var extendDipDef = (newDefaults) =>
|
|
16876
|
-
fn:
|
|
16877
|
-
num_pins:
|
|
16878
|
-
wide:
|
|
16879
|
-
narrow:
|
|
16893
|
+
var lengthInMm = z102.union([z102.string(), z102.number()]).transform((val) => convertMilToMm(val));
|
|
16894
|
+
var extendDipDef = (newDefaults) => z102.object({
|
|
16895
|
+
fn: z102.string(),
|
|
16896
|
+
num_pins: z102.number().optional().default(6),
|
|
16897
|
+
wide: z102.boolean().optional(),
|
|
16898
|
+
narrow: z102.boolean().optional(),
|
|
16880
16899
|
w: lengthInMm.optional(),
|
|
16881
16900
|
p: lengthInMm.default(newDefaults.p ?? "2.54mm"),
|
|
16882
16901
|
id: lengthInMm.optional(),
|
|
@@ -23844,17 +23863,17 @@ var svgPathPoints = normalizeOnY([
|
|
|
23844
23863
|
]);
|
|
23845
23864
|
var DIP_PIN_HEIGHT = 5.47;
|
|
23846
23865
|
var heightAboveSurface = 0.5;
|
|
23847
|
-
var DipPinLeg = ({ x, y, z:
|
|
23866
|
+
var DipPinLeg = ({ x, y, z: z103 }) => {
|
|
23848
23867
|
const isRotated = x > 0;
|
|
23849
23868
|
return /* @__PURE__ */ jsxs(Fragment22, { children: [
|
|
23850
|
-
/* @__PURE__ */ jsx5(Translate, { offset: { x: x + 0.25 / 2, y, z:
|
|
23869
|
+
/* @__PURE__ */ jsx5(Translate, { offset: { x: x + 0.25 / 2, y, z: z103 }, children: /* @__PURE__ */ jsx5(Rotate, { rotation: ["-90deg", 0, "90deg"], children: /* @__PURE__ */ jsx5(ExtrudeLinear, { height: 0.25, children: /* @__PURE__ */ jsx5(Polygon, { points: svgPathPoints.map((p) => [p.x, p.y]) }) }) }) }),
|
|
23851
23870
|
/* @__PURE__ */ jsx5(
|
|
23852
23871
|
Translate,
|
|
23853
23872
|
{
|
|
23854
23873
|
offset: {
|
|
23855
23874
|
x,
|
|
23856
23875
|
y: y + (isRotated ? 1 : -1),
|
|
23857
|
-
z:
|
|
23876
|
+
z: z103
|
|
23858
23877
|
},
|
|
23859
23878
|
children: /* @__PURE__ */ jsx5(Rotate, { rotation: ["-90deg", "90deg", isRotated ? "180deg" : "0deg"], children: /* @__PURE__ */ jsx5(ExtrudeLinear, { height: 2, children: /* @__PURE__ */ jsx5(
|
|
23860
23879
|
Polygon,
|
|
@@ -25683,7 +25702,7 @@ var AnyCadComponent = ({
|
|
|
25683
25702
|
source_component_id: cad_component2.source_component_id
|
|
25684
25703
|
})?.name;
|
|
25685
25704
|
}, [circuitJson, cad_component2.source_component_id]);
|
|
25686
|
-
const url = cad_component2.model_obj_url ?? cad_component2.model_stl_url;
|
|
25705
|
+
const url = cad_component2.model_obj_url ?? cad_component2.model_wrl_url ?? cad_component2.model_stl_url;
|
|
25687
25706
|
const gltfUrl = cad_component2.model_gltf_url;
|
|
25688
25707
|
const rotationOffset = cad_component2.rotation ? tuple(
|
|
25689
25708
|
cad_component2.rotation.x * Math.PI / 180,
|
|
@@ -25789,7 +25808,7 @@ import * as THREE11 from "three";
|
|
|
25789
25808
|
// package.json
|
|
25790
25809
|
var package_default = {
|
|
25791
25810
|
name: "@tscircuit/3d-viewer",
|
|
25792
|
-
version: "0.0.
|
|
25811
|
+
version: "0.0.371",
|
|
25793
25812
|
main: "./dist/index.js",
|
|
25794
25813
|
module: "./dist/index.js",
|
|
25795
25814
|
type: "module",
|
|
@@ -25837,7 +25856,7 @@ var package_default = {
|
|
|
25837
25856
|
"@storybook/react-vite": "^9.1.2",
|
|
25838
25857
|
"@tscircuit/circuit-json-util": "^0.0.67",
|
|
25839
25858
|
"@tscircuit/core": "^0.0.691",
|
|
25840
|
-
"@tscircuit/props": "^0.0.
|
|
25859
|
+
"@tscircuit/props": "^0.0.312",
|
|
25841
25860
|
"@types/jsdom": "^21.1.7",
|
|
25842
25861
|
"@types/react": "19",
|
|
25843
25862
|
"@types/react-dom": "19",
|
|
@@ -25845,7 +25864,7 @@ var package_default = {
|
|
|
25845
25864
|
"@vitejs/plugin-react": "^4.3.4",
|
|
25846
25865
|
"bun-match-svg": "^0.0.9",
|
|
25847
25866
|
"bun-types": "1.2.1",
|
|
25848
|
-
"circuit-json": "
|
|
25867
|
+
"circuit-json": "0.0.246",
|
|
25849
25868
|
"circuit-to-svg": "^0.0.179",
|
|
25850
25869
|
debug: "^4.4.0",
|
|
25851
25870
|
"jscad-electronics": "^0.0.38",
|
|
@@ -29876,6 +29895,7 @@ import * as THREE25 from "three";
|
|
|
29876
29895
|
import { GLTFLoader as GLTFLoader2 } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
29877
29896
|
import { OBJLoader as OBJLoader2 } from "three/examples/jsm/loaders/OBJLoader.js";
|
|
29878
29897
|
import { STLLoader as STLLoader2 } from "three/examples/jsm/loaders/STLLoader.js";
|
|
29898
|
+
import { VRMLLoader as VRMLLoader2 } from "three/examples/jsm/loaders/VRMLLoader.js";
|
|
29879
29899
|
async function load3DModel(url) {
|
|
29880
29900
|
if (url.endsWith(".stl")) {
|
|
29881
29901
|
const loader = new STLLoader2();
|
|
@@ -29891,6 +29911,10 @@ async function load3DModel(url) {
|
|
|
29891
29911
|
const loader = new OBJLoader2();
|
|
29892
29912
|
return await loader.loadAsync(url);
|
|
29893
29913
|
}
|
|
29914
|
+
if (url.endsWith(".wrl")) {
|
|
29915
|
+
const loader = new VRMLLoader2();
|
|
29916
|
+
return await loader.loadAsync(url);
|
|
29917
|
+
}
|
|
29894
29918
|
if (url.endsWith(".gltf") || url.endsWith(".glb")) {
|
|
29895
29919
|
const loader = new GLTFLoader2();
|
|
29896
29920
|
const gltf = await loader.loadAsync(url);
|
|
@@ -29902,7 +29926,7 @@ async function load3DModel(url) {
|
|
|
29902
29926
|
|
|
29903
29927
|
// src/utils/render-component.tsx
|
|
29904
29928
|
async function renderComponent(component, scene) {
|
|
29905
|
-
const url = component.model_obj_url ?? component.model_stl_url ?? component.model_gltf_url;
|
|
29929
|
+
const url = component.model_obj_url ?? component.model_wrl_url ?? component.model_stl_url ?? component.model_gltf_url;
|
|
29906
29930
|
if (url) {
|
|
29907
29931
|
const model = await load3DModel(url);
|
|
29908
29932
|
if (model) {
|