@tscircuit/props 0.0.652 → 0.0.653

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;
package/dist/index.d.ts CHANGED
@@ -148450,6 +148450,13 @@ interface AutoroutingPhaseProps extends RoutingTolerances, FanoutProps {
148450
148450
  name?: string;
148451
148451
  autorouter?: AutorouterProp;
148452
148452
  phaseIndex?: number;
148453
+ /**
148454
+ * Saved PCB wire/via routes using the same format as fanout pcbTracePaths.
148455
+ * Numeric distances are mm; unit strings are normalized to mm. Omitted by
148456
+ * default; an empty array is accepted. No aliases or prop conflicts are
148457
+ * introduced, and existing phases require no migration.
148458
+ */
148459
+ pcbTracePaths?: FanoutTracePath[];
148453
148460
  region?: {
148454
148461
  shape?: "rect";
148455
148462
  minX: number;
@@ -148538,6 +148545,156 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148538
148545
  name: z.ZodOptional<z.ZodString>;
148539
148546
  autorouter: z.ZodOptional<z.ZodType<AutorouterProp, z.ZodTypeDef, AutorouterProp>>;
148540
148547
  phaseIndex: z.ZodOptional<z.ZodNumber>;
148548
+ pcbTracePaths: z.ZodOptional<z.ZodArray<z.ZodObject<{
148549
+ connection: z.ZodString;
148550
+ route: z.ZodEffects<z.ZodArray<z.ZodDiscriminatedUnion<"route_type", [z.ZodObject<{
148551
+ route_type: z.ZodLiteral<"wire">;
148552
+ x: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148553
+ y: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148554
+ width: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148555
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148556
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148557
+ }, "strip", z.ZodTypeAny, {
148558
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148559
+ }, {
148560
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148561
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148562
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148563
+ }>;
148564
+ }, "strip", z.ZodTypeAny, {
148565
+ width: number;
148566
+ x: number;
148567
+ y: number;
148568
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148569
+ route_type: "wire";
148570
+ }, {
148571
+ width: string | number;
148572
+ x: string | number;
148573
+ y: string | number;
148574
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148575
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148576
+ };
148577
+ route_type: "wire";
148578
+ }>, z.ZodObject<{
148579
+ route_type: z.ZodLiteral<"via">;
148580
+ x: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148581
+ y: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>;
148582
+ from_layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148583
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148584
+ }, "strip", z.ZodTypeAny, {
148585
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148586
+ }, {
148587
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148588
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148589
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148590
+ }>;
148591
+ to_layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, z.ZodObject<{
148592
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
148593
+ }, "strip", z.ZodTypeAny, {
148594
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148595
+ }, {
148596
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148597
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148598
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148599
+ }>;
148600
+ via_diameter: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>>;
148601
+ via_hole_diameter: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>, number, string | number>>;
148602
+ }, "strip", z.ZodTypeAny, {
148603
+ x: number;
148604
+ y: number;
148605
+ route_type: "via";
148606
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148607
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148608
+ via_diameter?: number | undefined;
148609
+ via_hole_diameter?: number | undefined;
148610
+ }, {
148611
+ x: string | number;
148612
+ y: string | number;
148613
+ route_type: "via";
148614
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148615
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148616
+ };
148617
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148618
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148619
+ };
148620
+ via_diameter?: string | number | undefined;
148621
+ via_hole_diameter?: string | number | undefined;
148622
+ }>]>, "many">, ({
148623
+ width: number;
148624
+ x: number;
148625
+ y: number;
148626
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148627
+ route_type: "wire";
148628
+ } | {
148629
+ x: number;
148630
+ y: number;
148631
+ route_type: "via";
148632
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148633
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148634
+ via_diameter?: number | undefined;
148635
+ via_hole_diameter?: number | undefined;
148636
+ })[], ({
148637
+ width: string | number;
148638
+ x: string | number;
148639
+ y: string | number;
148640
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148641
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148642
+ };
148643
+ route_type: "wire";
148644
+ } | {
148645
+ x: string | number;
148646
+ y: string | number;
148647
+ route_type: "via";
148648
+ from_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
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148652
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148653
+ };
148654
+ via_diameter?: string | number | undefined;
148655
+ via_hole_diameter?: string | number | undefined;
148656
+ })[]>;
148657
+ }, "strip", z.ZodTypeAny, {
148658
+ route: ({
148659
+ width: number;
148660
+ x: number;
148661
+ y: number;
148662
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148663
+ route_type: "wire";
148664
+ } | {
148665
+ x: number;
148666
+ y: number;
148667
+ route_type: "via";
148668
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148669
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148670
+ via_diameter?: number | undefined;
148671
+ via_hole_diameter?: number | undefined;
148672
+ })[];
148673
+ connection: string;
148674
+ }, {
148675
+ route: ({
148676
+ width: string | number;
148677
+ x: string | number;
148678
+ y: string | number;
148679
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148680
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148681
+ };
148682
+ route_type: "wire";
148683
+ } | {
148684
+ x: string | number;
148685
+ y: string | number;
148686
+ route_type: "via";
148687
+ from_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
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148691
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148692
+ };
148693
+ via_diameter?: string | number | undefined;
148694
+ via_hole_diameter?: string | number | undefined;
148695
+ })[];
148696
+ connection: string;
148697
+ }>, "many">>;
148541
148698
  }, "strip", z.ZodTypeAny, {
148542
148699
  name?: string | undefined;
148543
148700
  key?: any;
@@ -148564,6 +148721,24 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148564
148721
  } | undefined;
148565
148722
  fanoutRoutingLayers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8")[] | undefined;
148566
148723
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", string | string[]>> | undefined;
148724
+ pcbTracePaths?: {
148725
+ route: ({
148726
+ width: number;
148727
+ x: number;
148728
+ y: number;
148729
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148730
+ route_type: "wire";
148731
+ } | {
148732
+ x: number;
148733
+ y: number;
148734
+ route_type: "via";
148735
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148736
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148737
+ via_diameter?: number | undefined;
148738
+ via_hole_diameter?: number | undefined;
148739
+ })[];
148740
+ connection: string;
148741
+ }[] | undefined;
148567
148742
  phaseIndex?: number | undefined;
148568
148743
  region?: {
148569
148744
  minX: number;
@@ -148603,6 +148778,30 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148603
148778
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148604
148779
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148605
148780
  }, string | string[]>> | undefined;
148781
+ pcbTracePaths?: {
148782
+ route: ({
148783
+ width: string | number;
148784
+ x: string | number;
148785
+ y: string | number;
148786
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148787
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148788
+ };
148789
+ route_type: "wire";
148790
+ } | {
148791
+ x: string | number;
148792
+ y: string | number;
148793
+ route_type: "via";
148794
+ from_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
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148798
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148799
+ };
148800
+ via_diameter?: string | number | undefined;
148801
+ via_hole_diameter?: string | number | undefined;
148802
+ })[];
148803
+ connection: string;
148804
+ }[] | undefined;
148606
148805
  phaseIndex?: number | undefined;
148607
148806
  region?: {
148608
148807
  minX: number;
@@ -148638,6 +148837,24 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148638
148837
  } | undefined;
148639
148838
  fanoutRoutingLayers?: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8")[] | undefined;
148640
148839
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", string | string[]>> | undefined;
148840
+ pcbTracePaths?: {
148841
+ route: ({
148842
+ width: number;
148843
+ x: number;
148844
+ y: number;
148845
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148846
+ route_type: "wire";
148847
+ } | {
148848
+ x: number;
148849
+ y: number;
148850
+ route_type: "via";
148851
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148852
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148853
+ via_diameter?: number | undefined;
148854
+ via_hole_diameter?: number | undefined;
148855
+ })[];
148856
+ connection: string;
148857
+ }[] | undefined;
148641
148858
  phaseIndex?: number | undefined;
148642
148859
  region?: {
148643
148860
  minX: number;
@@ -148677,6 +148894,30 @@ declare const autoroutingPhaseProps: z.ZodEffects<z.ZodObject<{
148677
148894
  fanoutPourNetMap?: Partial<Record<"top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148678
148895
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148679
148896
  }, string | string[]>> | undefined;
148897
+ pcbTracePaths?: {
148898
+ route: ({
148899
+ width: string | number;
148900
+ x: string | number;
148901
+ y: string | number;
148902
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148903
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148904
+ };
148905
+ route_type: "wire";
148906
+ } | {
148907
+ x: string | number;
148908
+ y: string | number;
148909
+ route_type: "via";
148910
+ from_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
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
148914
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
148915
+ };
148916
+ via_diameter?: string | number | undefined;
148917
+ via_hole_diameter?: string | number | undefined;
148918
+ })[];
148919
+ connection: string;
148920
+ }[] | undefined;
148680
148921
  phaseIndex?: number | undefined;
148681
148922
  region?: {
148682
148923
  minX: number;
package/dist/index.js CHANGED
@@ -18099,6 +18099,7 @@ var autoroutingPhaseProps = z92.object({
18099
18099
  name: z92.string().optional(),
18100
18100
  autorouter: autorouterProp.optional(),
18101
18101
  phaseIndex: z92.number().optional(),
18102
+ pcbTracePaths: z92.array(fanoutTracePath).optional(),
18102
18103
  ...routingTolerances.shape,
18103
18104
  region: z92.object({
18104
18105
  shape: z92.literal("rect").optional(),