@tscircuit/core 0.0.464 → 0.0.466

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
@@ -1,5 +1,5 @@
1
1
  import * as _tscircuit_props from '@tscircuit/props';
2
- import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, schematicTextProps, schematicBoxProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
2
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, testpointProps, schematicTextProps, schematicBoxProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
3
3
  import React, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
4
4
  export { createElement } from 'react';
5
5
  import * as zod from 'zod';
@@ -7887,7 +7887,7 @@ declare class SmtPad extends PrimitiveComponent<typeof smtPadProps> {
7887
7887
  isPcbPrimitive: boolean;
7888
7888
  get config(): {
7889
7889
  componentName: string;
7890
- zodProps: zod.ZodUnion<[zod.ZodObject<Omit<{
7890
+ zodProps: zod.ZodDiscriminatedUnion<"shape", [zod.ZodObject<Omit<{
7891
7891
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7892
7892
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7893
7893
  pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -13550,6 +13550,581 @@ declare class Switch extends NormalComponent<typeof switchProps> {
13550
13550
  doInitialSourceRender(): void;
13551
13551
  }
13552
13552
 
13553
+ declare class TestPoint extends NormalComponent<typeof testpointProps> {
13554
+ get config(): {
13555
+ componentName: string;
13556
+ schematicSymbolName: string;
13557
+ zodProps: zod.ZodEffects<zod.ZodObject<{
13558
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13559
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13560
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13561
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13562
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13563
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13564
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
13565
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
13566
+ }, "strip", zod.ZodTypeAny, {
13567
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
13568
+ }, {
13569
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
13570
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
13571
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
13572
+ }>>;
13573
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
13574
+ } & {
13575
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
13576
+ } & {
13577
+ key: zod.ZodOptional<zod.ZodAny>;
13578
+ name: zod.ZodString;
13579
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
13580
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
13581
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13582
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13583
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13584
+ }, "strip", zod.ZodTypeAny, {
13585
+ x: string | number;
13586
+ y: string | number;
13587
+ z: string | number;
13588
+ }, {
13589
+ x: string | number;
13590
+ y: string | number;
13591
+ z: string | number;
13592
+ }>]>>;
13593
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
13594
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13595
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13596
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13597
+ }, "strip", zod.ZodTypeAny, {
13598
+ x: number;
13599
+ y: number;
13600
+ z: number;
13601
+ }, {
13602
+ x: string | number;
13603
+ y: string | number;
13604
+ z: string | number;
13605
+ }>>;
13606
+ size: zod.ZodOptional<zod.ZodObject<{
13607
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13608
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13609
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13610
+ }, "strip", zod.ZodTypeAny, {
13611
+ x: number;
13612
+ y: number;
13613
+ z: number;
13614
+ }, {
13615
+ x: string | number;
13616
+ y: string | number;
13617
+ z: string | number;
13618
+ }>>;
13619
+ }, {
13620
+ stlUrl: zod.ZodString;
13621
+ }>, "strip", zod.ZodTypeAny, {
13622
+ stlUrl: string;
13623
+ rotationOffset?: number | {
13624
+ x: string | number;
13625
+ y: string | number;
13626
+ z: string | number;
13627
+ } | undefined;
13628
+ positionOffset?: {
13629
+ x: number;
13630
+ y: number;
13631
+ z: number;
13632
+ } | undefined;
13633
+ size?: {
13634
+ x: number;
13635
+ y: number;
13636
+ z: number;
13637
+ } | undefined;
13638
+ }, {
13639
+ stlUrl: string;
13640
+ rotationOffset?: number | {
13641
+ x: string | number;
13642
+ y: string | number;
13643
+ z: string | number;
13644
+ } | undefined;
13645
+ positionOffset?: {
13646
+ x: string | number;
13647
+ y: string | number;
13648
+ z: string | number;
13649
+ } | undefined;
13650
+ size?: {
13651
+ x: string | number;
13652
+ y: string | number;
13653
+ z: string | number;
13654
+ } | undefined;
13655
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
13656
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
13657
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13658
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13659
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13660
+ }, "strip", zod.ZodTypeAny, {
13661
+ x: string | number;
13662
+ y: string | number;
13663
+ z: string | number;
13664
+ }, {
13665
+ x: string | number;
13666
+ y: string | number;
13667
+ z: string | number;
13668
+ }>]>>;
13669
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
13670
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13671
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13672
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13673
+ }, "strip", zod.ZodTypeAny, {
13674
+ x: number;
13675
+ y: number;
13676
+ z: number;
13677
+ }, {
13678
+ x: string | number;
13679
+ y: string | number;
13680
+ z: string | number;
13681
+ }>>;
13682
+ size: zod.ZodOptional<zod.ZodObject<{
13683
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13684
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13685
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13686
+ }, "strip", zod.ZodTypeAny, {
13687
+ x: number;
13688
+ y: number;
13689
+ z: number;
13690
+ }, {
13691
+ x: string | number;
13692
+ y: string | number;
13693
+ z: string | number;
13694
+ }>>;
13695
+ }, {
13696
+ objUrl: zod.ZodString;
13697
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
13698
+ }>, "strip", zod.ZodTypeAny, {
13699
+ objUrl: string;
13700
+ rotationOffset?: number | {
13701
+ x: string | number;
13702
+ y: string | number;
13703
+ z: string | number;
13704
+ } | undefined;
13705
+ positionOffset?: {
13706
+ x: number;
13707
+ y: number;
13708
+ z: number;
13709
+ } | undefined;
13710
+ size?: {
13711
+ x: number;
13712
+ y: number;
13713
+ z: number;
13714
+ } | undefined;
13715
+ mtlUrl?: string | undefined;
13716
+ }, {
13717
+ objUrl: string;
13718
+ rotationOffset?: number | {
13719
+ x: string | number;
13720
+ y: string | number;
13721
+ z: string | number;
13722
+ } | undefined;
13723
+ positionOffset?: {
13724
+ x: string | number;
13725
+ y: string | number;
13726
+ z: string | number;
13727
+ } | undefined;
13728
+ size?: {
13729
+ x: string | number;
13730
+ y: string | number;
13731
+ z: string | number;
13732
+ } | undefined;
13733
+ mtlUrl?: string | undefined;
13734
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
13735
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
13736
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13737
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13738
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
13739
+ }, "strip", zod.ZodTypeAny, {
13740
+ x: string | number;
13741
+ y: string | number;
13742
+ z: string | number;
13743
+ }, {
13744
+ x: string | number;
13745
+ y: string | number;
13746
+ z: string | number;
13747
+ }>]>>;
13748
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
13749
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13750
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13751
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13752
+ }, "strip", zod.ZodTypeAny, {
13753
+ x: number;
13754
+ y: number;
13755
+ z: number;
13756
+ }, {
13757
+ x: string | number;
13758
+ y: string | number;
13759
+ z: string | number;
13760
+ }>>;
13761
+ size: zod.ZodOptional<zod.ZodObject<{
13762
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13763
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13764
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
13765
+ }, "strip", zod.ZodTypeAny, {
13766
+ x: number;
13767
+ y: number;
13768
+ z: number;
13769
+ }, {
13770
+ x: string | number;
13771
+ y: string | number;
13772
+ z: string | number;
13773
+ }>>;
13774
+ }, {
13775
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
13776
+ }>, "strip", zod.ZodTypeAny, {
13777
+ jscad: Record<string, any>;
13778
+ rotationOffset?: number | {
13779
+ x: string | number;
13780
+ y: string | number;
13781
+ z: string | number;
13782
+ } | undefined;
13783
+ positionOffset?: {
13784
+ x: number;
13785
+ y: number;
13786
+ z: number;
13787
+ } | undefined;
13788
+ size?: {
13789
+ x: number;
13790
+ y: number;
13791
+ z: number;
13792
+ } | undefined;
13793
+ }, {
13794
+ jscad: Record<string, any>;
13795
+ rotationOffset?: number | {
13796
+ x: string | number;
13797
+ y: string | number;
13798
+ z: string | number;
13799
+ } | undefined;
13800
+ positionOffset?: {
13801
+ x: string | number;
13802
+ y: string | number;
13803
+ z: string | number;
13804
+ } | undefined;
13805
+ size?: {
13806
+ x: string | number;
13807
+ y: string | number;
13808
+ z: string | number;
13809
+ } | undefined;
13810
+ }>]>>;
13811
+ children: zod.ZodOptional<zod.ZodAny>;
13812
+ symbolName: zod.ZodOptional<zod.ZodString>;
13813
+ doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
13814
+ } & {
13815
+ footprintVariant: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["pad", "through_hole"]>>>;
13816
+ padShape: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["rect", "circle"]>>>;
13817
+ padDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13818
+ holeDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13819
+ width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13820
+ height: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
13821
+ }, "strip", zod.ZodTypeAny, {
13822
+ name: string;
13823
+ padShape: "circle" | "rect";
13824
+ footprintVariant: "pad" | "through_hole";
13825
+ pcbX?: number | undefined;
13826
+ pcbY?: number | undefined;
13827
+ pcbRotation?: number | undefined;
13828
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
13829
+ schX?: number | undefined;
13830
+ schY?: number | undefined;
13831
+ schRotation?: number | undefined;
13832
+ footprint?: _tscircuit_props.Footprint | undefined;
13833
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13834
+ key?: any;
13835
+ cadModel?: string | {
13836
+ stlUrl: string;
13837
+ rotationOffset?: number | {
13838
+ x: string | number;
13839
+ y: string | number;
13840
+ z: string | number;
13841
+ } | undefined;
13842
+ positionOffset?: {
13843
+ x: number;
13844
+ y: number;
13845
+ z: number;
13846
+ } | undefined;
13847
+ size?: {
13848
+ x: number;
13849
+ y: number;
13850
+ z: number;
13851
+ } | undefined;
13852
+ } | {
13853
+ objUrl: string;
13854
+ rotationOffset?: number | {
13855
+ x: string | number;
13856
+ y: string | number;
13857
+ z: string | number;
13858
+ } | undefined;
13859
+ positionOffset?: {
13860
+ x: number;
13861
+ y: number;
13862
+ z: number;
13863
+ } | undefined;
13864
+ size?: {
13865
+ x: number;
13866
+ y: number;
13867
+ z: number;
13868
+ } | undefined;
13869
+ mtlUrl?: string | undefined;
13870
+ } | {
13871
+ jscad: Record<string, any>;
13872
+ rotationOffset?: number | {
13873
+ x: string | number;
13874
+ y: string | number;
13875
+ z: string | number;
13876
+ } | undefined;
13877
+ positionOffset?: {
13878
+ x: number;
13879
+ y: number;
13880
+ z: number;
13881
+ } | undefined;
13882
+ size?: {
13883
+ x: number;
13884
+ y: number;
13885
+ z: number;
13886
+ } | undefined;
13887
+ } | null | undefined;
13888
+ children?: any;
13889
+ symbolName?: string | undefined;
13890
+ doNotPlace?: boolean | undefined;
13891
+ width?: number | undefined;
13892
+ height?: number | undefined;
13893
+ holeDiameter?: number | undefined;
13894
+ padDiameter?: number | undefined;
13895
+ }, {
13896
+ name: string;
13897
+ pcbX?: string | number | undefined;
13898
+ pcbY?: string | number | undefined;
13899
+ pcbRotation?: string | number | undefined;
13900
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
13901
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
13902
+ } | undefined;
13903
+ schX?: string | number | undefined;
13904
+ schY?: string | number | undefined;
13905
+ schRotation?: string | number | undefined;
13906
+ footprint?: _tscircuit_props.Footprint | undefined;
13907
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13908
+ key?: any;
13909
+ cadModel?: string | {
13910
+ stlUrl: string;
13911
+ rotationOffset?: number | {
13912
+ x: string | number;
13913
+ y: string | number;
13914
+ z: string | number;
13915
+ } | undefined;
13916
+ positionOffset?: {
13917
+ x: string | number;
13918
+ y: string | number;
13919
+ z: string | number;
13920
+ } | undefined;
13921
+ size?: {
13922
+ x: string | number;
13923
+ y: string | number;
13924
+ z: string | number;
13925
+ } | undefined;
13926
+ } | {
13927
+ objUrl: string;
13928
+ rotationOffset?: number | {
13929
+ x: string | number;
13930
+ y: string | number;
13931
+ z: string | number;
13932
+ } | undefined;
13933
+ positionOffset?: {
13934
+ x: string | number;
13935
+ y: string | number;
13936
+ z: string | number;
13937
+ } | undefined;
13938
+ size?: {
13939
+ x: string | number;
13940
+ y: string | number;
13941
+ z: string | number;
13942
+ } | undefined;
13943
+ mtlUrl?: string | undefined;
13944
+ } | {
13945
+ jscad: Record<string, any>;
13946
+ rotationOffset?: number | {
13947
+ x: string | number;
13948
+ y: string | number;
13949
+ z: string | number;
13950
+ } | undefined;
13951
+ positionOffset?: {
13952
+ x: string | number;
13953
+ y: string | number;
13954
+ z: string | number;
13955
+ } | undefined;
13956
+ size?: {
13957
+ x: string | number;
13958
+ y: string | number;
13959
+ z: string | number;
13960
+ } | undefined;
13961
+ } | null | undefined;
13962
+ children?: any;
13963
+ symbolName?: string | undefined;
13964
+ doNotPlace?: boolean | undefined;
13965
+ width?: string | number | undefined;
13966
+ height?: string | number | undefined;
13967
+ holeDiameter?: string | number | undefined;
13968
+ padShape?: "circle" | "rect" | undefined;
13969
+ footprintVariant?: "pad" | "through_hole" | undefined;
13970
+ padDiameter?: string | number | undefined;
13971
+ }>, {
13972
+ name: string;
13973
+ padShape: "circle" | "rect";
13974
+ footprintVariant: "pad" | "through_hole";
13975
+ pcbX?: number | undefined;
13976
+ pcbY?: number | undefined;
13977
+ pcbRotation?: number | undefined;
13978
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
13979
+ schX?: number | undefined;
13980
+ schY?: number | undefined;
13981
+ schRotation?: number | undefined;
13982
+ footprint?: _tscircuit_props.Footprint | undefined;
13983
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13984
+ key?: any;
13985
+ cadModel?: string | {
13986
+ stlUrl: string;
13987
+ rotationOffset?: number | {
13988
+ x: string | number;
13989
+ y: string | number;
13990
+ z: string | number;
13991
+ } | undefined;
13992
+ positionOffset?: {
13993
+ x: number;
13994
+ y: number;
13995
+ z: number;
13996
+ } | undefined;
13997
+ size?: {
13998
+ x: number;
13999
+ y: number;
14000
+ z: number;
14001
+ } | undefined;
14002
+ } | {
14003
+ objUrl: string;
14004
+ rotationOffset?: number | {
14005
+ x: string | number;
14006
+ y: string | number;
14007
+ z: string | number;
14008
+ } | undefined;
14009
+ positionOffset?: {
14010
+ x: number;
14011
+ y: number;
14012
+ z: number;
14013
+ } | undefined;
14014
+ size?: {
14015
+ x: number;
14016
+ y: number;
14017
+ z: number;
14018
+ } | undefined;
14019
+ mtlUrl?: string | undefined;
14020
+ } | {
14021
+ jscad: Record<string, any>;
14022
+ rotationOffset?: number | {
14023
+ x: string | number;
14024
+ y: string | number;
14025
+ z: string | number;
14026
+ } | undefined;
14027
+ positionOffset?: {
14028
+ x: number;
14029
+ y: number;
14030
+ z: number;
14031
+ } | undefined;
14032
+ size?: {
14033
+ x: number;
14034
+ y: number;
14035
+ z: number;
14036
+ } | undefined;
14037
+ } | null | undefined;
14038
+ children?: any;
14039
+ symbolName?: string | undefined;
14040
+ doNotPlace?: boolean | undefined;
14041
+ width?: number | undefined;
14042
+ height?: number | undefined;
14043
+ holeDiameter?: number | undefined;
14044
+ padDiameter?: number | undefined;
14045
+ }, {
14046
+ name: string;
14047
+ pcbX?: string | number | undefined;
14048
+ pcbY?: string | number | undefined;
14049
+ pcbRotation?: string | number | undefined;
14050
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
14051
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
14052
+ } | undefined;
14053
+ schX?: string | number | undefined;
14054
+ schY?: string | number | undefined;
14055
+ schRotation?: string | number | undefined;
14056
+ footprint?: _tscircuit_props.Footprint | undefined;
14057
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14058
+ key?: any;
14059
+ cadModel?: string | {
14060
+ stlUrl: string;
14061
+ rotationOffset?: number | {
14062
+ x: string | number;
14063
+ y: string | number;
14064
+ z: string | number;
14065
+ } | undefined;
14066
+ positionOffset?: {
14067
+ x: string | number;
14068
+ y: string | number;
14069
+ z: string | number;
14070
+ } | undefined;
14071
+ size?: {
14072
+ x: string | number;
14073
+ y: string | number;
14074
+ z: string | number;
14075
+ } | undefined;
14076
+ } | {
14077
+ objUrl: string;
14078
+ rotationOffset?: number | {
14079
+ x: string | number;
14080
+ y: string | number;
14081
+ z: string | number;
14082
+ } | undefined;
14083
+ positionOffset?: {
14084
+ x: string | number;
14085
+ y: string | number;
14086
+ z: string | number;
14087
+ } | undefined;
14088
+ size?: {
14089
+ x: string | number;
14090
+ y: string | number;
14091
+ z: string | number;
14092
+ } | undefined;
14093
+ mtlUrl?: string | undefined;
14094
+ } | {
14095
+ jscad: Record<string, any>;
14096
+ rotationOffset?: number | {
14097
+ x: string | number;
14098
+ y: string | number;
14099
+ z: string | number;
14100
+ } | undefined;
14101
+ positionOffset?: {
14102
+ x: string | number;
14103
+ y: string | number;
14104
+ z: string | number;
14105
+ } | undefined;
14106
+ size?: {
14107
+ x: string | number;
14108
+ y: string | number;
14109
+ z: string | number;
14110
+ } | undefined;
14111
+ } | null | undefined;
14112
+ children?: any;
14113
+ symbolName?: string | undefined;
14114
+ doNotPlace?: boolean | undefined;
14115
+ width?: string | number | undefined;
14116
+ height?: string | number | undefined;
14117
+ holeDiameter?: string | number | undefined;
14118
+ padShape?: "circle" | "rect" | undefined;
14119
+ footprintVariant?: "pad" | "through_hole" | undefined;
14120
+ padDiameter?: string | number | undefined;
14121
+ }>;
14122
+ sourceFtype: "simple_test_point";
14123
+ };
14124
+ _getImpliedFootprintString(): string | null;
14125
+ doInitialSourceRender(): void;
14126
+ }
14127
+
13553
14128
  declare class SchematicText extends PrimitiveComponent<typeof schematicTextProps> {
13554
14129
  isSchematicPrimitive: boolean;
13555
14130
  get config(): {
@@ -14100,6 +14675,7 @@ interface TscircuitElements {
14100
14675
  transistor: _tscircuit_props.TransistorProps;
14101
14676
  switch: _tscircuit_props.SwitchProps;
14102
14677
  mosfet: _tscircuit_props.MosfetProps;
14678
+ testpoint: _tscircuit_props.TestpointProps;
14103
14679
  jscad: any;
14104
14680
  }
14105
14681
  declare module "react" {
@@ -14116,4 +14692,4 @@ declare module "react/jsx-runtime" {
14116
14692
  }
14117
14693
  }
14118
14694
 
14119
- export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Cutout, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetAlias, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicBox, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, Trace, TraceHint, Transistor, Via, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
14695
+ export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Cutout, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetAlias, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicBox, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, TestPoint, Trace, TraceHint, Transistor, Via, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -53,6 +53,7 @@ __export(components_exports, {
53
53
  SolderJumper: () => SolderJumper,
54
54
  Subcircuit: () => Subcircuit,
55
55
  Switch: () => Switch,
56
+ TestPoint: () => TestPoint,
56
57
  Trace: () => Trace2,
57
58
  TraceHint: () => TraceHint,
58
59
  Transistor: () => Transistor,
@@ -4846,10 +4847,6 @@ searched component ${targetComponent.getString()}, which has ports: ${targetComp
4846
4847
  return;
4847
4848
  }
4848
4849
  }
4849
- if (this.props.schDisplayLabel && ("from" in this.props && "to" in this.props || "path" in this.props)) {
4850
- this._doInitialSchematicTraceRenderWithDisplayLabel();
4851
- return;
4852
- }
4853
4850
  const connection = {
4854
4851
  name: this.source_trace_id,
4855
4852
  pointsToConnect: []
@@ -4862,6 +4859,23 @@ searched component ${targetComponent.getString()}, which has ports: ${targetComp
4862
4859
  facingDirection: port.facingDirection
4863
4860
  }));
4864
4861
  const isPortAndNetConnection = portsWithPosition.length === 1 && netsWithSelectors.length === 1;
4862
+ if (this.props.schDisplayLabel) {
4863
+ if (isPortAndNetConnection) {
4864
+ const net = netsWithSelectors[0].net;
4865
+ const { port, position: anchorPos } = portsWithPosition[0];
4866
+ db.schematic_net_label.insert({
4867
+ text: this.props.schDisplayLabel,
4868
+ source_net_id: net.source_net_id,
4869
+ anchor_position: anchorPos,
4870
+ center: anchorPos,
4871
+ anchor_side: getEnteringEdgeFromDirection(port.facingDirection) ?? "bottom"
4872
+ });
4873
+ return;
4874
+ } else if ("from" in this.props && "to" in this.props || "path" in this.props) {
4875
+ this._doInitialSchematicTraceRenderWithDisplayLabel();
4876
+ return;
4877
+ }
4878
+ }
4865
4879
  if (isPortAndNetConnection) {
4866
4880
  const net = netsWithSelectors[0].net;
4867
4881
  const { port, position: anchorPos } = portsWithPosition[0];
@@ -5407,7 +5421,8 @@ var NormalComponent = class extends PrimitiveComponent2 {
5407
5421
  source_component_id: this.source_component_id,
5408
5422
  subcircuit_id: subcircuit.subcircuit_id ?? void 0
5409
5423
  });
5410
- if (!props.footprint && !this.isGroup) {
5424
+ const footprint = props.footprint ?? this._getImpliedFootprintString();
5425
+ if (!footprint && !this.isGroup) {
5411
5426
  const footprint_error = db.pcb_missing_footprint_error.insert({
5412
5427
  message: `No footprint found for component: ${this.getString()}`,
5413
5428
  source_component_id: `${this.source_component_id}`,
@@ -9497,6 +9512,57 @@ var Switch = class extends NormalComponent {
9497
9512
  }
9498
9513
  };
9499
9514
 
9515
+ // lib/components/normal-components/TestPoint.ts
9516
+ import { testpointProps } from "@tscircuit/props";
9517
+ var TestPoint = class extends NormalComponent {
9518
+ get config() {
9519
+ return {
9520
+ componentName: "TestPoint",
9521
+ schematicSymbolName: this.props.symbolName ?? "testpoint",
9522
+ zodProps: testpointProps,
9523
+ sourceFtype: FTYPE.simple_test_point
9524
+ };
9525
+ }
9526
+ _getImpliedFootprintString() {
9527
+ let {
9528
+ padShape,
9529
+ holeDiameter,
9530
+ footprintVariant,
9531
+ // TODO SMTPAD
9532
+ padDiameter,
9533
+ width,
9534
+ height
9535
+ } = this._parsedProps;
9536
+ if (!footprintVariant && holeDiameter) {
9537
+ footprintVariant = "through_hole";
9538
+ }
9539
+ footprintVariant ??= "through_hole";
9540
+ padShape ??= "circle";
9541
+ if (footprintVariant === "through_hole") {
9542
+ holeDiameter ??= 0.5;
9543
+ return `platedhole_d${holeDiameter}`;
9544
+ }
9545
+ throw new Error(`Footprint variant "${footprintVariant}" not implemented`);
9546
+ }
9547
+ doInitialSourceRender() {
9548
+ const { db } = this.root;
9549
+ const { _parsedProps: props } = this;
9550
+ const source_component = db.source_component.insert({
9551
+ ftype: FTYPE.simple_test_point,
9552
+ name: props.name,
9553
+ supplier_part_numbers: props.supplierPartNumbers,
9554
+ footprint_variant: props.footprintVariant,
9555
+ pad_shape: props.padShape,
9556
+ pad_diameter: props.padDiameter,
9557
+ hole_diameter: props.holeDiameter,
9558
+ width: props.width,
9559
+ height: props.height,
9560
+ are_pins_interchangeable: true
9561
+ });
9562
+ this.source_component_id = source_component.source_component_id;
9563
+ }
9564
+ };
9565
+
9500
9566
  // lib/components/primitive-components/SchematicText.ts
9501
9567
  import { schematicTextProps } from "@tscircuit/props";
9502
9568
  var SchematicText = class extends PrimitiveComponent2 {
@@ -9730,7 +9796,7 @@ import { identity as identity4 } from "transformation-matrix";
9730
9796
  var package_default = {
9731
9797
  name: "@tscircuit/core",
9732
9798
  type: "module",
9733
- version: "0.0.463",
9799
+ version: "0.0.465",
9734
9800
  types: "dist/index.d.ts",
9735
9801
  main: "dist/index.js",
9736
9802
  module: "dist/index.js",
@@ -9756,13 +9822,13 @@ var package_default = {
9756
9822
  "@tscircuit/capacity-autorouter": "^0.0.67",
9757
9823
  "@tscircuit/checks": "^0.0.52",
9758
9824
  "@tscircuit/circuit-json-util": "^0.0.47",
9759
- "@tscircuit/footprinter": "^0.0.175",
9825
+ "@tscircuit/footprinter": "^0.0.177",
9760
9826
  "@tscircuit/import-snippet": "^0.0.4",
9761
9827
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
9762
9828
  "@tscircuit/layout": "^0.0.28",
9763
9829
  "@tscircuit/log-soup": "^1.0.2",
9764
9830
  "@tscircuit/math-utils": "^0.0.18",
9765
- "@tscircuit/props": "^0.0.219",
9831
+ "@tscircuit/props": "^0.0.220",
9766
9832
  "@tscircuit/schematic-autolayout": "^0.0.6",
9767
9833
  "@tscircuit/schematic-match-adapt": "^0.0.16",
9768
9834
  "@tscircuit/simple-3d-svg": "^0.0.6",
@@ -9786,7 +9852,7 @@ var package_default = {
9786
9852
  "pkg-pr-new": "^0.0.37",
9787
9853
  react: "^19.0.0",
9788
9854
  "react-dom": "^19.0.0",
9789
- "schematic-symbols": "^0.0.159",
9855
+ "schematic-symbols": "^0.0.160",
9790
9856
  "ts-expect": "^1.3.0",
9791
9857
  tsup: "^8.2.4"
9792
9858
  },
@@ -10245,6 +10311,7 @@ export {
10245
10311
  SolderJumper,
10246
10312
  Subcircuit,
10247
10313
  Switch,
10314
+ TestPoint,
10248
10315
  Trace2 as Trace,
10249
10316
  TraceHint,
10250
10317
  Transistor,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.464",
4
+ "version": "0.0.466",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -27,13 +27,13 @@
27
27
  "@tscircuit/capacity-autorouter": "^0.0.67",
28
28
  "@tscircuit/checks": "^0.0.52",
29
29
  "@tscircuit/circuit-json-util": "^0.0.47",
30
- "@tscircuit/footprinter": "^0.0.175",
30
+ "@tscircuit/footprinter": "^0.0.177",
31
31
  "@tscircuit/import-snippet": "^0.0.4",
32
32
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
33
33
  "@tscircuit/layout": "^0.0.28",
34
34
  "@tscircuit/log-soup": "^1.0.2",
35
35
  "@tscircuit/math-utils": "^0.0.18",
36
- "@tscircuit/props": "^0.0.219",
36
+ "@tscircuit/props": "^0.0.220",
37
37
  "@tscircuit/schematic-autolayout": "^0.0.6",
38
38
  "@tscircuit/schematic-match-adapt": "^0.0.16",
39
39
  "@tscircuit/simple-3d-svg": "^0.0.6",
@@ -57,7 +57,7 @@
57
57
  "pkg-pr-new": "^0.0.37",
58
58
  "react": "^19.0.0",
59
59
  "react-dom": "^19.0.0",
60
- "schematic-symbols": "^0.0.159",
60
+ "schematic-symbols": "^0.0.160",
61
61
  "ts-expect": "^1.3.0",
62
62
  "tsup": "^8.2.4"
63
63
  },