@tscircuit/core 0.0.1214 → 0.0.1216

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.d.ts CHANGED
@@ -104,6 +104,7 @@ interface SimpleRouteJson {
104
104
  min_via_hole_diameter?: number;
105
105
  min_via_pad_diameter?: number;
106
106
  minTraceToPadEdgeClearance?: number;
107
+ minViaEdgeToPadEdgeClearance?: number;
107
108
  obstacles: Obstacle[];
108
109
  connections: Array<SimpleRouteConnection>;
109
110
  bounds: {
@@ -2946,6 +2947,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
2946
2947
  defaultTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2947
2948
  minTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2948
2949
  minViaHoleEdgeToViaHoleEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2950
+ minViaEdgeToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2949
2951
  minPlatedHoleDrillEdgeToDrillEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2950
2952
  minTraceToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2951
2953
  minPadEdgeToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -2978,7 +2980,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
2978
2980
  outlineOffsetY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2979
2981
  circuitJson: zod.ZodOptional<zod.ZodArray<zod.ZodAny, "many">>;
2980
2982
  }, "connections"> & {
2981
- material: zod.ZodDefault<zod.ZodEnum<["fr4", "fr1"]>>;
2983
+ material: zod.ZodDefault<zod.ZodEnum<["fr4", "fr1", "flex"]>>;
2982
2984
  layers: zod.ZodDefault<zod.ZodUnion<[zod.ZodLiteral<1>, zod.ZodLiteral<2>, zod.ZodLiteral<4>, zod.ZodLiteral<6>, zod.ZodLiteral<8>]>>;
2983
2985
  borderRadius: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2984
2986
  thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -3005,7 +3007,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
3005
3007
  schematicDisabled: zod.ZodOptional<zod.ZodBoolean>;
3006
3008
  }, "strip", zod.ZodTypeAny, {
3007
3009
  layers: 1 | 2 | 4 | 6 | 8;
3008
- material: "fr4" | "fr1";
3010
+ material: "flex" | "fr4" | "fr1";
3009
3011
  doubleSidedAssembly: boolean;
3010
3012
  symbol?: _tscircuit_props.SymbolProp | undefined;
3011
3013
  key?: any;
@@ -3298,6 +3300,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
3298
3300
  schTraceAutoLabelEnabled?: boolean | undefined;
3299
3301
  schMaxTraceDistance?: number | undefined;
3300
3302
  minViaHoleEdgeToViaHoleEdgeClearance?: number | undefined;
3303
+ minViaEdgeToPadEdgeClearance?: number | undefined;
3301
3304
  minPlatedHoleDrillEdgeToDrillEdgeClearance?: number | undefined;
3302
3305
  minTraceToPadEdgeClearance?: number | undefined;
3303
3306
  minPadEdgeToPadEdgeClearance?: number | undefined;
@@ -3632,6 +3635,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
3632
3635
  schTraceAutoLabelEnabled?: boolean | undefined;
3633
3636
  schMaxTraceDistance?: string | number | undefined;
3634
3637
  minViaHoleEdgeToViaHoleEdgeClearance?: string | number | undefined;
3638
+ minViaEdgeToPadEdgeClearance?: string | number | undefined;
3635
3639
  minPlatedHoleDrillEdgeToDrillEdgeClearance?: string | number | undefined;
3636
3640
  minTraceToPadEdgeClearance?: string | number | undefined;
3637
3641
  minPadEdgeToPadEdgeClearance?: string | number | undefined;
@@ -3655,7 +3659,7 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
3655
3659
  outlineOffsetY?: string | number | undefined;
3656
3660
  circuitJson?: any[] | undefined;
3657
3661
  title?: string | undefined;
3658
- material?: "fr4" | "fr1" | undefined;
3662
+ material?: "flex" | "fr4" | "fr1" | undefined;
3659
3663
  borderRadius?: string | number | undefined;
3660
3664
  boardAnchorPosition?: {
3661
3665
  x: string | number;
@@ -4477,6 +4481,7 @@ declare class MountedBoard extends Subcircuit implements BoardI {
4477
4481
  defaultTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4478
4482
  minTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4479
4483
  minViaHoleEdgeToViaHoleEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4484
+ minViaEdgeToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4480
4485
  minPlatedHoleDrillEdgeToDrillEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4481
4486
  minTraceToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4482
4487
  minPadEdgeToPadEdgeClearance: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -4945,6 +4950,7 @@ declare class MountedBoard extends Subcircuit implements BoardI {
4945
4950
  schTraceAutoLabelEnabled?: boolean | undefined;
4946
4951
  schMaxTraceDistance?: number | undefined;
4947
4952
  minViaHoleEdgeToViaHoleEdgeClearance?: number | undefined;
4953
+ minViaEdgeToPadEdgeClearance?: number | undefined;
4948
4954
  minPlatedHoleDrillEdgeToDrillEdgeClearance?: number | undefined;
4949
4955
  minTraceToPadEdgeClearance?: number | undefined;
4950
4956
  minPadEdgeToPadEdgeClearance?: number | undefined;
@@ -5302,6 +5308,7 @@ declare class MountedBoard extends Subcircuit implements BoardI {
5302
5308
  schTraceAutoLabelEnabled?: boolean | undefined;
5303
5309
  schMaxTraceDistance?: string | number | undefined;
5304
5310
  minViaHoleEdgeToViaHoleEdgeClearance?: string | number | undefined;
5311
+ minViaEdgeToPadEdgeClearance?: string | number | undefined;
5305
5312
  minPlatedHoleDrillEdgeToDrillEdgeClearance?: string | number | undefined;
5306
5313
  minTraceToPadEdgeClearance?: string | number | undefined;
5307
5314
  minPadEdgeToPadEdgeClearance?: string | number | undefined;
@@ -73427,10 +73434,20 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
73427
73434
  }, "pcbRotation"> & {
73428
73435
  shape: zod.ZodLiteral<"circle">;
73429
73436
  radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
73437
+ layers: zod.ZodOptional<zod.ZodArray<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
73438
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
73439
+ }, "strip", zod.ZodTypeAny, {
73440
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73441
+ }, {
73442
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73443
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73444
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73445
+ }>, "many">>;
73430
73446
  }, "strip", zod.ZodTypeAny, {
73431
73447
  shape: "circle";
73432
73448
  radius: number;
73433
73449
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
73450
+ layers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[] | undefined;
73434
73451
  pcbX?: string | number | undefined;
73435
73452
  pcbY?: string | number | undefined;
73436
73453
  pcbLeftEdgeX?: string | number | undefined;
@@ -73467,6 +73484,9 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
73467
73484
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73468
73485
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73469
73486
  } | undefined;
73487
+ layers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73488
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73489
+ })[] | undefined;
73470
73490
  pcbX?: string | number | undefined;
73471
73491
  pcbY?: string | number | undefined;
73472
73492
  pcbLeftEdgeX?: string | number | undefined;
@@ -73566,11 +73586,21 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
73566
73586
  shape: zod.ZodLiteral<"rect">;
73567
73587
  width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
73568
73588
  height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
73589
+ layers: zod.ZodOptional<zod.ZodArray<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
73590
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
73591
+ }, "strip", zod.ZodTypeAny, {
73592
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73593
+ }, {
73594
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73595
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73596
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73597
+ }>, "many">>;
73569
73598
  }, "strip", zod.ZodTypeAny, {
73570
73599
  shape: "rect";
73571
73600
  width: number;
73572
73601
  height: number;
73573
73602
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
73603
+ layers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[] | undefined;
73574
73604
  pcbX?: string | number | undefined;
73575
73605
  pcbY?: string | number | undefined;
73576
73606
  pcbLeftEdgeX?: string | number | undefined;
@@ -73609,6 +73639,9 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
73609
73639
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73610
73640
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73611
73641
  } | undefined;
73642
+ layers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73643
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73644
+ })[] | undefined;
73612
73645
  pcbX?: string | number | undefined;
73613
73646
  pcbY?: string | number | undefined;
73614
73647
  pcbLeftEdgeX?: string | number | undefined;
@@ -152221,13 +152254,14 @@ declare const applyEditEvents: ({ circuitJson, editEvents, }: {
152221
152254
  /**
152222
152255
  * This function can only be called in the PcbTraceRender phase or later
152223
152256
  */
152224
- declare const getSimpleRouteJsonFromCircuitJson: ({ db, circuitJson, subcircuit_id, minTraceWidth, minTraceToPadEdgeClearance, nominalTraceWidth, subcircuitComponent, }: {
152257
+ declare const getSimpleRouteJsonFromCircuitJson: ({ db, circuitJson, subcircuit_id, minTraceWidth, minTraceToPadEdgeClearance, minViaEdgeToPadEdgeClearance, nominalTraceWidth, subcircuitComponent, }: {
152225
152258
  db?: CircuitJsonUtilObjects;
152226
152259
  circuitJson?: AnyCircuitElement[];
152227
152260
  subcircuit_id?: string | null;
152228
152261
  minTraceWidth?: number;
152229
152262
  nominalTraceWidth?: number;
152230
152263
  minTraceToPadEdgeClearance?: number;
152264
+ minViaEdgeToPadEdgeClearance?: number;
152231
152265
  subcircuitComponent?: {
152232
152266
  selectAll(selector: string): unknown[];
152233
152267
  };
package/dist/index.js CHANGED
@@ -6457,10 +6457,17 @@ var Keepout = class extends PrimitiveComponent2 {
6457
6457
  this._computePcbGlobalTransformBeforeLayout()
6458
6458
  );
6459
6459
  const isRotated90 = Math.abs(decomposedMat.rotation.angle * (180 / Math.PI) - 90) % 180 < 0.01;
6460
+ let layers = props.layers;
6461
+ if (!layers && props.layer) {
6462
+ layers = [props.layer];
6463
+ }
6464
+ if (!layers) {
6465
+ layers = ["top"];
6466
+ }
6460
6467
  let pcb_keepout = null;
6461
6468
  if (props.shape === "circle") {
6462
6469
  pcb_keepout = db.pcb_keepout.insert({
6463
- layers: ["top"],
6470
+ layers,
6464
6471
  shape: "circle",
6465
6472
  // @ts-ignore: no idea why this is triggering
6466
6473
  radius: props.radius,
@@ -6473,7 +6480,7 @@ var Keepout = class extends PrimitiveComponent2 {
6473
6480
  });
6474
6481
  } else if (props.shape === "rect") {
6475
6482
  pcb_keepout = db.pcb_keepout.insert({
6476
- layers: ["top"],
6483
+ layers,
6477
6484
  shape: "rect",
6478
6485
  ...isRotated90 ? { width: props.height, height: props.width } : { width: props.width, height: props.height },
6479
6486
  // @ts-ignore: no idea why this is triggering
@@ -13913,6 +13920,7 @@ var getSimpleRouteJsonFromCircuitJson = ({
13913
13920
  subcircuit_id,
13914
13921
  minTraceWidth,
13915
13922
  minTraceToPadEdgeClearance,
13923
+ minViaEdgeToPadEdgeClearance,
13916
13924
  nominalTraceWidth,
13917
13925
  subcircuitComponent
13918
13926
  }) => {
@@ -13959,6 +13967,7 @@ var getSimpleRouteJsonFromCircuitJson = ({
13959
13967
  ...db.pcb_plated_hole.list(),
13960
13968
  ...db.pcb_hole.list(),
13961
13969
  ...db.pcb_via.list(),
13970
+ ...db.pcb_keepout.list(),
13962
13971
  ...db.pcb_cutout.list()
13963
13972
  // getObstaclesFromSoup is old and doesn't support diagonal traces
13964
13973
  // ...db.pcb_trace.list(),
@@ -14268,6 +14277,7 @@ var getSimpleRouteJsonFromCircuitJson = ({
14268
14277
  min_via_hole_diameter: board?.min_via_hole_diameter,
14269
14278
  min_via_pad_diameter: board?.min_via_pad_diameter,
14270
14279
  minTraceToPadEdgeClearance: minTraceToPadEdgeClearance ?? board?.min_trace_to_pad_edge_clearance,
14280
+ minViaEdgeToPadEdgeClearance: minViaEdgeToPadEdgeClearance ?? board?.min_pad_edge_to_pad_edge_clearance,
14271
14281
  nominalTraceWidth,
14272
14282
  outline: board?.outline?.map((point6) => ({ ...point6 }))
14273
14283
  },
@@ -20409,7 +20419,7 @@ import { identity as identity5 } from "transformation-matrix";
20409
20419
  var package_default = {
20410
20420
  name: "@tscircuit/core",
20411
20421
  type: "module",
20412
- version: "0.0.1213",
20422
+ version: "0.0.1215",
20413
20423
  types: "dist/index.d.ts",
20414
20424
  main: "dist/index.js",
20415
20425
  module: "dist/index.js",
@@ -20455,7 +20465,7 @@ var package_default = {
20455
20465
  "@tscircuit/math-utils": "^0.0.36",
20456
20466
  "@tscircuit/miniflex": "^0.0.4",
20457
20467
  "@tscircuit/ngspice-spice-engine": "^0.0.8",
20458
- "@tscircuit/props": "^0.0.513",
20468
+ "@tscircuit/props": "^0.0.521",
20459
20469
  "@tscircuit/schematic-match-adapt": "^0.0.16",
20460
20470
  "@tscircuit/schematic-trace-solver": "^0.0.51",
20461
20471
  "@tscircuit/solver-utils": "^0.0.3",
@@ -20469,7 +20479,7 @@ var package_default = {
20469
20479
  "bun-match-svg": "0.0.12",
20470
20480
  "calculate-elbow": "^0.0.12",
20471
20481
  "chokidar-cli": "^3.0.0",
20472
- "circuit-json": "^0.0.421",
20482
+ "circuit-json": "^0.0.423",
20473
20483
  "circuit-json-to-bpc": "^0.0.13",
20474
20484
  "circuit-json-to-connectivity-map": "^0.0.23",
20475
20485
  "circuit-json-to-gltf": "^0.0.96",
@@ -21328,6 +21338,7 @@ var Board = class extends Group6 {
21328
21338
  min_via_hole_diameter: subcircuitProps2.minViaHoleDiameter ?? jlcMinTolerances.min_via_hole_diameter,
21329
21339
  min_via_pad_diameter: subcircuitProps2.minViaPadDiameter ?? jlcMinTolerances.min_via_pad_diameter,
21330
21340
  min_via_hole_edge_to_via_hole_edge_clearance: subcircuitProps2.minViaHoleEdgeToViaHoleEdgeClearance ?? jlcMinTolerances.min_via_hole_edge_to_via_hole_edge_clearance,
21341
+ min_via_edge_to_pad_edge_clearance: subcircuitProps2.minViaEdgeToPadEdgeClearance ?? jlcMinTolerances.min_via_edge_to_pad_edge_clearance,
21331
21342
  min_trace_to_pad_edge_clearance: subcircuitProps2.minTraceToPadEdgeClearance ?? jlcMinTolerances.min_trace_to_pad_edge_clearance,
21332
21343
  min_pad_edge_to_pad_edge_clearance: subcircuitProps2.minPadEdgeToPadEdgeClearance ?? jlcMinTolerances.min_pad_edge_to_pad_edge_clearance,
21333
21344
  min_plated_hole_drill_edge_to_drill_edge_clearance: subcircuitProps2.minPlatedHoleDrillEdgeToDrillEdgeClearance ?? jlcMinTolerances.min_plated_hole_drill_edge_to_drill_edge_clearance,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1214",
4
+ "version": "0.0.1216",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -47,7 +47,7 @@
47
47
  "@tscircuit/math-utils": "^0.0.36",
48
48
  "@tscircuit/miniflex": "^0.0.4",
49
49
  "@tscircuit/ngspice-spice-engine": "^0.0.8",
50
- "@tscircuit/props": "^0.0.513",
50
+ "@tscircuit/props": "^0.0.521",
51
51
  "@tscircuit/schematic-match-adapt": "^0.0.16",
52
52
  "@tscircuit/schematic-trace-solver": "^0.0.51",
53
53
  "@tscircuit/solver-utils": "^0.0.3",
@@ -61,7 +61,7 @@
61
61
  "bun-match-svg": "0.0.12",
62
62
  "calculate-elbow": "^0.0.12",
63
63
  "chokidar-cli": "^3.0.0",
64
- "circuit-json": "^0.0.421",
64
+ "circuit-json": "^0.0.423",
65
65
  "circuit-json-to-bpc": "^0.0.13",
66
66
  "circuit-json-to-connectivity-map": "^0.0.23",
67
67
  "circuit-json-to-gltf": "^0.0.96",