@tscircuit/props 0.0.652 → 0.0.654

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -360,6 +360,13 @@ export interface AutoroutingPhaseProps extends RoutingTolerances, FanoutProps {
360
360
  name?: string;
361
361
  autorouter?: AutorouterProp;
362
362
  phaseIndex?: number;
363
+ /**
364
+ * Saved PCB wire/via routes using the same format as fanout pcbTracePaths.
365
+ * Numeric distances are mm; unit strings are normalized to mm. Omitted by
366
+ * default; an empty array is accepted. No aliases or prop conflicts are
367
+ * introduced, and existing phases require no migration.
368
+ */
369
+ pcbTracePaths?: FanoutTracePath[];
363
370
  region?: {
364
371
  shape?: "rect";
365
372
  minX: number;
@@ -401,6 +408,12 @@ export interface BoardProps extends Omit<
401
408
  "subcircuit" | "connections" | "outline"
402
409
  > {
403
410
  title?: string;
411
+ /** Fabricator preset, preserved as supplied. Omitted leaves the preset unset. */
412
+ fabricatorPreset?:
413
+ | "jlcpcb_economy"
414
+ | "jlcpcb_standard"
415
+ | "jlcpcb_economy_20260912"
416
+ | "jlcpcb_standard_20260912";
404
417
  material?: "fr4" | "fr1" | "flex";
405
418
  /** Number of layers for the PCB */
406
419
  layers?: 1 | 2 | 4 | 6 | 8 | 10;
package/dist/index.d.ts CHANGED
@@ -27888,6 +27888,8 @@ declare const boardOutlinePoint: z.ZodEffects<z.ZodObject<{
27888
27888
  }>;
27889
27889
  interface BoardProps extends Omit<SubcircuitGroupProps, "subcircuit" | "connections" | "outline"> {
27890
27890
  title?: string;
27891
+ /** Fabricator preset, preserved as supplied. Omitted leaves the preset unset. */
27892
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912";
27891
27893
  material?: "fr4" | "fr1" | "flex";
27892
27894
  /** Number of layers for the PCB */
27893
27895
  layers?: 1 | 2 | 4 | 6 | 8 | 10;
@@ -28696,6 +28698,7 @@ declare const boardProps: z.ZodObject<{
28696
28698
  schPack: z.ZodOptional<z.ZodBoolean>;
28697
28699
  schMatchAdapt: z.ZodOptional<z.ZodBoolean>;
28698
28700
  } & {
28701
+ fabricatorPreset: z.ZodOptional<z.ZodEnum<["jlcpcb_economy", "jlcpcb_standard", "jlcpcb_economy_20260912", "jlcpcb_standard_20260912"]>>;
28699
28702
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1", "flex"]>>;
28700
28703
  layers: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<4>, z.ZodLiteral<6>, z.ZodLiteral<8>, z.ZodLiteral<10>]>>;
28701
28704
  allowBlindAndBuriedVias: z.ZodDefault<z.ZodBoolean>;
@@ -29092,6 +29095,7 @@ declare const boardProps: z.ZodObject<{
29092
29095
  schPack?: boolean | undefined;
29093
29096
  schMatchAdapt?: boolean | undefined;
29094
29097
  title?: string | undefined;
29098
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
29095
29099
  borderRadius?: number | undefined;
29096
29100
  boardAnchorPosition?: {
29097
29101
  x: number;
@@ -29437,6 +29441,7 @@ declare const boardProps: z.ZodObject<{
29437
29441
  schPack?: boolean | undefined;
29438
29442
  schMatchAdapt?: boolean | undefined;
29439
29443
  title?: string | undefined;
29444
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
29440
29445
  material?: "flex" | "fr4" | "fr1" | undefined;
29441
29446
  allowBlindAndBuriedVias?: boolean | undefined;
29442
29447
  borderRadius?: string | number | undefined;
@@ -102706,6 +102711,7 @@ declare const stampboardProps: z.ZodObject<{
102706
102711
  schPack: z.ZodOptional<z.ZodBoolean>;
102707
102712
  schMatchAdapt: z.ZodOptional<z.ZodBoolean>;
102708
102713
  } & {
102714
+ fabricatorPreset: z.ZodOptional<z.ZodEnum<["jlcpcb_economy", "jlcpcb_standard", "jlcpcb_economy_20260912", "jlcpcb_standard_20260912"]>>;
102709
102715
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1", "flex"]>>;
102710
102716
  layers: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<4>, z.ZodLiteral<6>, z.ZodLiteral<8>, z.ZodLiteral<10>]>>;
102711
102717
  allowBlindAndBuriedVias: z.ZodDefault<z.ZodBoolean>;
@@ -103117,6 +103123,7 @@ declare const stampboardProps: z.ZodObject<{
103117
103123
  schPack?: boolean | undefined;
103118
103124
  schMatchAdapt?: boolean | undefined;
103119
103125
  title?: string | undefined;
103126
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
103120
103127
  borderRadius?: number | undefined;
103121
103128
  boardAnchorPosition?: {
103122
103129
  x: number;
@@ -103472,6 +103479,7 @@ declare const stampboardProps: z.ZodObject<{
103472
103479
  schPack?: boolean | undefined;
103473
103480
  schMatchAdapt?: boolean | undefined;
103474
103481
  title?: string | undefined;
103482
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
103475
103483
  material?: "flex" | "fr4" | "fr1" | undefined;
103476
103484
  allowBlindAndBuriedVias?: boolean | undefined;
103477
103485
  borderRadius?: string | number | undefined;
@@ -148450,6 +148458,13 @@ interface AutoroutingPhaseProps extends RoutingTolerances, FanoutProps {
148450
148458
  name?: string;
148451
148459
  autorouter?: AutorouterProp;
148452
148460
  phaseIndex?: number;
148461
+ /**
148462
+ * Saved PCB wire/via routes using the same format as fanout pcbTracePaths.
148463
+ * Numeric distances are mm; unit strings are normalized to mm. Omitted by
148464
+ * default; an empty array is accepted. No aliases or prop conflicts are
148465
+ * introduced, and existing phases require no migration.
148466
+ */
148467
+ pcbTracePaths?: FanoutTracePath[];
148453
148468
  region?: {
148454
148469
  shape?: "rect";
148455
148470
  minX: number;
@@ -148538,6 +148553,156 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148538
148553
  name: z.ZodOptional<z.ZodString>;
148539
148554
  autorouter: z.ZodOptional<z.ZodType<AutorouterProp, z.ZodTypeDef, AutorouterProp>>;
148540
148555
  phaseIndex: z.ZodOptional<z.ZodNumber>;
148556
+ pcbTracePaths: z.ZodOptional<z.ZodArray<z.ZodObject<{
148557
+ connection: z.ZodString;
148558
+ route: z.ZodEffects<z.ZodArray<z.ZodDiscriminatedUnion<"route_type", [z.ZodObject<{
148559
+ route_type: z.ZodLiteral<"wire">;
148560
+ x: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148561
+ y: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148562
+ width: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148563
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148564
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148565
+ }, "strip", z.ZodTypeAny, {
148566
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148567
+ }, {
148568
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148569
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148570
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148571
+ }>;
148572
+ }, "strip", z.ZodTypeAny, {
148573
+ width: number;
148574
+ x: number;
148575
+ y: number;
148576
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148577
+ route_type: "wire";
148578
+ }, {
148579
+ width: string | number;
148580
+ x: string | number;
148581
+ y: string | number;
148582
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148583
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148584
+ };
148585
+ route_type: "wire";
148586
+ }>, z.ZodObject<{
148587
+ route_type: z.ZodLiteral<"via">;
148588
+ x: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148589
+ y: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148590
+ from_layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148591
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148592
+ }, "strip", z.ZodTypeAny, {
148593
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148594
+ }, {
148595
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148596
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148597
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148598
+ }>;
148599
+ to_layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148600
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148601
+ }, "strip", z.ZodTypeAny, {
148602
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148603
+ }, {
148604
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148605
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148606
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148607
+ }>;
148608
+ via_diameter: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>>;
148609
+ via_hole_diameter: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>>;
148610
+ }, "strip", z.ZodTypeAny, {
148611
+ x: number;
148612
+ y: number;
148613
+ route_type: "via";
148614
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148615
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148616
+ via_diameter?: number | undefined;
148617
+ via_hole_diameter?: number | undefined;
148618
+ }, {
148619
+ x: string | number;
148620
+ y: string | number;
148621
+ route_type: "via";
148622
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148623
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148624
+ };
148625
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148626
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148627
+ };
148628
+ via_diameter?: string | number | undefined;
148629
+ via_hole_diameter?: string | number | undefined;
148630
+ }>]>, "many">, ({
148631
+ width: number;
148632
+ x: number;
148633
+ y: number;
148634
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148635
+ route_type: "wire";
148636
+ } | {
148637
+ x: number;
148638
+ y: number;
148639
+ route_type: "via";
148640
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148641
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148642
+ via_diameter?: number | undefined;
148643
+ via_hole_diameter?: number | undefined;
148644
+ })[], ({
148645
+ width: string | number;
148646
+ x: string | number;
148647
+ y: string | number;
148648
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148649
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148650
+ };
148651
+ route_type: "wire";
148652
+ } | {
148653
+ x: string | number;
148654
+ y: string | number;
148655
+ route_type: "via";
148656
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148657
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148658
+ };
148659
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148660
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148661
+ };
148662
+ via_diameter?: string | number | undefined;
148663
+ via_hole_diameter?: string | number | undefined;
148664
+ })[]>;
148665
+ }, "strip", z.ZodTypeAny, {
148666
+ route: ({
148667
+ width: number;
148668
+ x: number;
148669
+ y: number;
148670
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148671
+ route_type: "wire";
148672
+ } | {
148673
+ x: number;
148674
+ y: number;
148675
+ route_type: "via";
148676
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148677
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148678
+ via_diameter?: number | undefined;
148679
+ via_hole_diameter?: number | undefined;
148680
+ })[];
148681
+ connection: string;
148682
+ }, {
148683
+ route: ({
148684
+ width: string | number;
148685
+ x: string | number;
148686
+ y: string | number;
148687
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148688
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148689
+ };
148690
+ route_type: "wire";
148691
+ } | {
148692
+ x: string | number;
148693
+ y: string | number;
148694
+ route_type: "via";
148695
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148696
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148697
+ };
148698
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148699
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148700
+ };
148701
+ via_diameter?: string | number | undefined;
148702
+ via_hole_diameter?: string | number | undefined;
148703
+ })[];
148704
+ connection: string;
148705
+ }>, "many">>;
148541
148706
  }, "strip", z.ZodTypeAny, {
148542
148707
  name?: string | undefined;
148543
148708
  key?: any;
@@ -148564,6 +148729,24 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148564
148729
  } | undefined;
148565
148730
  fanoutRoutingLayers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8")[] | undefined;
148566
148731
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", string | string[]>> | undefined;
148732
+ pcbTracePaths?: {
148733
+ route: ({
148734
+ width: number;
148735
+ x: number;
148736
+ y: number;
148737
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148738
+ route_type: "wire";
148739
+ } | {
148740
+ x: number;
148741
+ y: number;
148742
+ route_type: "via";
148743
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148744
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148745
+ via_diameter?: number | undefined;
148746
+ via_hole_diameter?: number | undefined;
148747
+ })[];
148748
+ connection: string;
148749
+ }[] | undefined;
148567
148750
  phaseIndex?: number | undefined;
148568
148751
  region?: {
148569
148752
  minX: number;
@@ -148603,6 +148786,30 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148603
148786
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148604
148787
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148605
148788
  }, string | string[]>> | undefined;
148789
+ pcbTracePaths?: {
148790
+ route: ({
148791
+ width: string | number;
148792
+ x: string | number;
148793
+ y: string | number;
148794
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148795
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148796
+ };
148797
+ route_type: "wire";
148798
+ } | {
148799
+ x: string | number;
148800
+ y: string | number;
148801
+ route_type: "via";
148802
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148803
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148804
+ };
148805
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148806
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148807
+ };
148808
+ via_diameter?: string | number | undefined;
148809
+ via_hole_diameter?: string | number | undefined;
148810
+ })[];
148811
+ connection: string;
148812
+ }[] | undefined;
148606
148813
  phaseIndex?: number | undefined;
148607
148814
  region?: {
148608
148815
  minX: number;
@@ -148638,6 +148845,24 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148638
148845
  } | undefined;
148639
148846
  fanoutRoutingLayers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8")[] | undefined;
148640
148847
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", string | string[]>> | undefined;
148848
+ pcbTracePaths?: {
148849
+ route: ({
148850
+ width: number;
148851
+ x: number;
148852
+ y: number;
148853
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148854
+ route_type: "wire";
148855
+ } | {
148856
+ x: number;
148857
+ y: number;
148858
+ route_type: "via";
148859
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148860
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148861
+ via_diameter?: number | undefined;
148862
+ via_hole_diameter?: number | undefined;
148863
+ })[];
148864
+ connection: string;
148865
+ }[] | undefined;
148641
148866
  phaseIndex?: number | undefined;
148642
148867
  region?: {
148643
148868
  minX: number;
@@ -148677,6 +148902,30 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148677
148902
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148678
148903
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148679
148904
  }, string | string[]>> | undefined;
148905
+ pcbTracePaths?: {
148906
+ route: ({
148907
+ width: string | number;
148908
+ x: string | number;
148909
+ y: string | number;
148910
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148911
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148912
+ };
148913
+ route_type: "wire";
148914
+ } | {
148915
+ x: string | number;
148916
+ y: string | number;
148917
+ route_type: "via";
148918
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148919
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148920
+ };
148921
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148922
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148923
+ };
148924
+ via_diameter?: string | number | undefined;
148925
+ via_hole_diameter?: string | number | undefined;
148926
+ })[];
148927
+ connection: string;
148928
+ }[] | undefined;
148680
148929
  phaseIndex?: number | undefined;
148681
148930
  region?: {
148682
148931
  minX: number;
package/dist/index.js CHANGED
@@ -16689,6 +16689,14 @@ var boardOutlinePoint = z44.object({
16689
16689
  }
16690
16690
  });
16691
16691
  var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
16692
+ fabricatorPreset: z44.enum([
16693
+ "jlcpcb_economy",
16694
+ "jlcpcb_standard",
16695
+ "jlcpcb_economy_20260912",
16696
+ "jlcpcb_standard_20260912"
16697
+ ]).optional().describe(
16698
+ "Fabricator preset, preserved as supplied. Omitted leaves the preset unset."
16699
+ ),
16692
16700
  material: z44.enum(["fr4", "fr1", "flex"]).default("fr4"),
16693
16701
  layers: z44.union([
16694
16702
  z44.literal(1),
@@ -18099,6 +18107,7 @@ var autoroutingPhaseProps = z92.object({
18099
18107
  name: z92.string().optional(),
18100
18108
  autorouter: autorouterProp.optional(),
18101
18109
  phaseIndex: z92.number().optional(),
18110
+ pcbTracePaths: z92.array(fanoutTracePath).optional(),
18102
18111
  ...routingTolerances.shape,
18103
18112
  region: z92.object({
18104
18113
  shape: z92.literal("rect").optional(),