@tscircuit/core 0.0.532 → 0.0.534

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +72 -3
  2. package/dist/index.js +192 -211
  3. package/package.json +11 -4
package/dist/index.d.ts CHANGED
@@ -2206,6 +2206,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, Polarized
2206
2206
  children: zod.ZodOptional<zod.ZodAny>;
2207
2207
  symbolName: zod.ZodOptional<zod.ZodString>;
2208
2208
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
2209
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
2209
2210
  } & {
2210
2211
  capacitance: zod.ZodEffects<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, number, string | number>;
2211
2212
  maxVoltageRating: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -2233,6 +2234,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, Polarized
2233
2234
  footprint?: _tscircuit_props.FootprintProp | undefined;
2234
2235
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
2235
2236
  key?: any;
2237
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
2236
2238
  cadModel?: string | {
2237
2239
  stlUrl: string;
2238
2240
  rotationOffset?: number | {
@@ -2312,6 +2314,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, Polarized
2312
2314
  footprint?: _tscircuit_props.FootprintProp | undefined;
2313
2315
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
2314
2316
  key?: any;
2317
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
2315
2318
  cadModel?: string | {
2316
2319
  stlUrl: string;
2317
2320
  rotationOffset?: number | {
@@ -2648,6 +2651,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2648
2651
  children: zod.ZodOptional<zod.ZodAny>;
2649
2652
  symbolName: zod.ZodOptional<zod.ZodString>;
2650
2653
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
2654
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
2651
2655
  } & {
2652
2656
  manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
2653
2657
  pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>;
@@ -2909,6 +2913,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2909
2913
  footprint?: _tscircuit_props.FootprintProp | undefined;
2910
2914
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
2911
2915
  key?: any;
2916
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
2912
2917
  cadModel?: string | {
2913
2918
  stlUrl: string;
2914
2919
  rotationOffset?: number | {
@@ -3055,6 +3060,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3055
3060
  footprint?: _tscircuit_props.FootprintProp | undefined;
3056
3061
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3057
3062
  key?: any;
3063
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3058
3064
  cadModel?: string | {
3059
3065
  stlUrl: string;
3060
3066
  rotationOffset?: number | {
@@ -3457,6 +3463,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3457
3463
  children: zod.ZodOptional<zod.ZodAny>;
3458
3464
  symbolName: zod.ZodOptional<zod.ZodString>;
3459
3465
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
3466
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
3460
3467
  } & {
3461
3468
  connections: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["anode", "cathode", "pin1", "pin2", "pos", "neg"]>, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>;
3462
3469
  variant: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["standard", "schottky", "zener", "photo", "tvs"]>>>;
@@ -3479,6 +3486,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3479
3486
  footprint?: _tscircuit_props.FootprintProp | undefined;
3480
3487
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3481
3488
  key?: any;
3489
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3482
3490
  cadModel?: string | {
3483
3491
  stlUrl: string;
3484
3492
  rotationOffset?: number | {
@@ -3556,6 +3564,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3556
3564
  footprint?: _tscircuit_props.FootprintProp | undefined;
3557
3565
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3558
3566
  key?: any;
3567
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3559
3568
  cadModel?: string | {
3560
3569
  stlUrl: string;
3561
3570
  rotationOffset?: number | {
@@ -3633,6 +3642,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3633
3642
  footprint?: _tscircuit_props.FootprintProp | undefined;
3634
3643
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3635
3644
  key?: any;
3645
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3636
3646
  cadModel?: string | {
3637
3647
  stlUrl: string;
3638
3648
  rotationOffset?: number | {
@@ -3710,6 +3720,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3710
3720
  footprint?: _tscircuit_props.FootprintProp | undefined;
3711
3721
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3712
3722
  key?: any;
3723
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3713
3724
  cadModel?: string | {
3714
3725
  stlUrl: string;
3715
3726
  rotationOffset?: number | {
@@ -3792,6 +3803,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3792
3803
  footprint?: _tscircuit_props.FootprintProp | undefined;
3793
3804
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3794
3805
  key?: any;
3806
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3795
3807
  cadModel?: string | {
3796
3808
  stlUrl: string;
3797
3809
  rotationOffset?: number | {
@@ -3864,6 +3876,7 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
3864
3876
  footprint?: _tscircuit_props.FootprintProp | undefined;
3865
3877
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3866
3878
  key?: any;
3879
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
3867
3880
  cadModel?: string | {
3868
3881
  stlUrl: string;
3869
3882
  rotationOffset?: number | {
@@ -4200,6 +4213,7 @@ declare class Fuse extends NormalComponent<typeof fuseProps, PassivePorts> {
4200
4213
  children: zod.ZodOptional<zod.ZodAny>;
4201
4214
  symbolName: zod.ZodOptional<zod.ZodString>;
4202
4215
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
4216
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
4203
4217
  } & {
4204
4218
  currentRating: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
4205
4219
  voltageRating: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
@@ -4219,6 +4233,7 @@ declare class Fuse extends NormalComponent<typeof fuseProps, PassivePorts> {
4219
4233
  footprint?: _tscircuit_props.FootprintProp | undefined;
4220
4234
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
4221
4235
  key?: any;
4236
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
4222
4237
  cadModel?: string | {
4223
4238
  stlUrl: string;
4224
4239
  rotationOffset?: number | {
@@ -4294,6 +4309,7 @@ declare class Fuse extends NormalComponent<typeof fuseProps, PassivePorts> {
4294
4309
  footprint?: _tscircuit_props.FootprintProp | undefined;
4295
4310
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
4296
4311
  key?: any;
4312
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
4297
4313
  cadModel?: string | {
4298
4314
  stlUrl: string;
4299
4315
  rotationOffset?: number | {
@@ -4623,6 +4639,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
4623
4639
  children: zod.ZodOptional<zod.ZodAny>;
4624
4640
  symbolName: zod.ZodOptional<zod.ZodString>;
4625
4641
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
4642
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
4626
4643
  } & {
4627
4644
  manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
4628
4645
  pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>>;
@@ -4773,6 +4790,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
4773
4790
  footprint?: _tscircuit_props.FootprintProp | undefined;
4774
4791
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
4775
4792
  key?: any;
4793
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
4776
4794
  cadModel?: string | {
4777
4795
  stlUrl: string;
4778
4796
  rotationOffset?: number | {
@@ -4888,6 +4906,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
4888
4906
  footprint?: _tscircuit_props.FootprintProp | undefined;
4889
4907
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
4890
4908
  key?: any;
4909
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
4891
4910
  cadModel?: string | {
4892
4911
  stlUrl: string;
4893
4912
  rotationOffset?: number | {
@@ -5262,6 +5281,7 @@ declare class SolderJumper<PinLabels extends string = never> extends NormalCompo
5262
5281
  children: zod.ZodOptional<zod.ZodAny>;
5263
5282
  symbolName: zod.ZodOptional<zod.ZodString>;
5264
5283
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
5284
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
5265
5285
  } & {
5266
5286
  manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
5267
5287
  pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>>;
@@ -5415,6 +5435,7 @@ declare class SolderJumper<PinLabels extends string = never> extends NormalCompo
5415
5435
  footprint?: _tscircuit_props.FootprintProp | undefined;
5416
5436
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
5417
5437
  key?: any;
5438
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
5418
5439
  cadModel?: string | {
5419
5440
  stlUrl: string;
5420
5441
  rotationOffset?: number | {
@@ -5532,6 +5553,7 @@ declare class SolderJumper<PinLabels extends string = never> extends NormalCompo
5532
5553
  footprint?: _tscircuit_props.FootprintProp | undefined;
5533
5554
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
5534
5555
  key?: any;
5556
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
5535
5557
  cadModel?: string | {
5536
5558
  stlUrl: string;
5537
5559
  rotationOffset?: number | {
@@ -5905,6 +5927,7 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
5905
5927
  children: zod.ZodOptional<zod.ZodAny>;
5906
5928
  symbolName: zod.ZodOptional<zod.ZodString>;
5907
5929
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
5930
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
5908
5931
  } & {
5909
5932
  color: zod.ZodOptional<zod.ZodString>;
5910
5933
  wavelength: zod.ZodOptional<zod.ZodString>;
@@ -5923,6 +5946,7 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
5923
5946
  footprint?: _tscircuit_props.FootprintProp | undefined;
5924
5947
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
5925
5948
  key?: any;
5949
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
5926
5950
  cadModel?: string | {
5927
5951
  stlUrl: string;
5928
5952
  rotationOffset?: number | {
@@ -5998,6 +6022,7 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
5998
6022
  footprint?: _tscircuit_props.FootprintProp | undefined;
5999
6023
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6000
6024
  key?: any;
6025
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
6001
6026
  cadModel?: string | {
6002
6027
  stlUrl: string;
6003
6028
  rotationOffset?: number | {
@@ -6332,6 +6357,7 @@ declare class PowerSource extends NormalComponent<typeof powerSourceProps, Polar
6332
6357
  children: zod.ZodOptional<zod.ZodAny>;
6333
6358
  symbolName: zod.ZodOptional<zod.ZodString>;
6334
6359
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
6360
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
6335
6361
  } & {
6336
6362
  voltage: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
6337
6363
  }, "strip", zod.ZodTypeAny, {
@@ -6347,6 +6373,7 @@ declare class PowerSource extends NormalComponent<typeof powerSourceProps, Polar
6347
6373
  footprint?: _tscircuit_props.FootprintProp | undefined;
6348
6374
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6349
6375
  key?: any;
6376
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
6350
6377
  cadModel?: string | {
6351
6378
  stlUrl: string;
6352
6379
  rotationOffset?: number | {
@@ -6418,6 +6445,7 @@ declare class PowerSource extends NormalComponent<typeof powerSourceProps, Polar
6418
6445
  footprint?: _tscircuit_props.FootprintProp | undefined;
6419
6446
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6420
6447
  key?: any;
6448
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
6421
6449
  cadModel?: string | {
6422
6450
  stlUrl: string;
6423
6451
  rotationOffset?: number | {
@@ -6746,6 +6774,7 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
6746
6774
  children: zod.ZodOptional<zod.ZodAny>;
6747
6775
  symbolName: zod.ZodOptional<zod.ZodString>;
6748
6776
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
6777
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
6749
6778
  } & {
6750
6779
  resistance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
6751
6780
  pullupFor: zod.ZodOptional<zod.ZodString>;
@@ -6767,6 +6796,7 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
6767
6796
  footprint?: _tscircuit_props.FootprintProp | undefined;
6768
6797
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6769
6798
  key?: any;
6799
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
6770
6800
  cadModel?: string | {
6771
6801
  stlUrl: string;
6772
6802
  rotationOffset?: number | {
@@ -6844,6 +6874,7 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
6844
6874
  footprint?: _tscircuit_props.FootprintProp | undefined;
6845
6875
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6846
6876
  key?: any;
6877
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
6847
6878
  cadModel?: string | {
6848
6879
  stlUrl: string;
6849
6880
  rotationOffset?: number | {
@@ -9254,6 +9285,7 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
9254
9285
  children: zod.ZodOptional<zod.ZodAny>;
9255
9286
  symbolName: zod.ZodOptional<zod.ZodString>;
9256
9287
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
9288
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
9257
9289
  } & {
9258
9290
  capacity: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, number, string | number>>;
9259
9291
  schOrientation: zod.ZodOptional<zod.ZodEnum<["vertical", "horizontal", "pos_top", "pos_bottom", "pos_left", "pos_right", "neg_top", "neg_bottom", "neg_left", "neg_right"]>>;
@@ -9269,6 +9301,7 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
9269
9301
  footprint?: _tscircuit_props.FootprintProp | undefined;
9270
9302
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
9271
9303
  key?: any;
9304
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
9272
9305
  cadModel?: string | {
9273
9306
  stlUrl: string;
9274
9307
  rotationOffset?: number | {
@@ -9341,6 +9374,7 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
9341
9374
  footprint?: _tscircuit_props.FootprintProp | undefined;
9342
9375
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
9343
9376
  key?: any;
9377
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
9344
9378
  cadModel?: string | {
9345
9379
  stlUrl: string;
9346
9380
  rotationOffset?: number | {
@@ -9666,6 +9700,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
9666
9700
  children: zod.ZodOptional<zod.ZodAny>;
9667
9701
  symbolName: zod.ZodOptional<zod.ZodString>;
9668
9702
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
9703
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
9669
9704
  } & {
9670
9705
  pinCount: zod.ZodNumber;
9671
9706
  pitch: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -9823,6 +9858,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
9823
9858
  footprint?: _tscircuit_props.FootprintProp | undefined;
9824
9859
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
9825
9860
  key?: any;
9861
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
9826
9862
  cadModel?: string | {
9827
9863
  stlUrl: string;
9828
9864
  rotationOffset?: number | {
@@ -9942,6 +9978,7 @@ declare class PinHeader extends NormalComponent<typeof pinHeaderProps> {
9942
9978
  footprint?: _tscircuit_props.FootprintProp | undefined;
9943
9979
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
9944
9980
  key?: any;
9981
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
9945
9982
  cadModel?: string | {
9946
9983
  stlUrl: string;
9947
9984
  rotationOffset?: number | {
@@ -10317,6 +10354,7 @@ declare class Resonator extends NormalComponent<typeof resonatorProps> {
10317
10354
  children: zod.ZodOptional<zod.ZodAny>;
10318
10355
  symbolName: zod.ZodOptional<zod.ZodString>;
10319
10356
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
10357
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
10320
10358
  } & {
10321
10359
  frequency: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10322
10360
  loadCapacitance: zod.ZodEffects<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, number, string | number>;
@@ -10335,6 +10373,7 @@ declare class Resonator extends NormalComponent<typeof resonatorProps> {
10335
10373
  footprint?: _tscircuit_props.FootprintProp | undefined;
10336
10374
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10337
10375
  key?: any;
10376
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
10338
10377
  cadModel?: string | {
10339
10378
  stlUrl: string;
10340
10379
  rotationOffset?: number | {
@@ -10408,6 +10447,7 @@ declare class Resonator extends NormalComponent<typeof resonatorProps> {
10408
10447
  footprint?: _tscircuit_props.FootprintProp | undefined;
10409
10448
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10410
10449
  key?: any;
10450
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
10411
10451
  cadModel?: string | {
10412
10452
  stlUrl: string;
10413
10453
  rotationOffset?: number | {
@@ -10732,6 +10772,7 @@ declare class Inductor extends NormalComponent<typeof inductorProps, PassivePort
10732
10772
  children: zod.ZodOptional<zod.ZodAny>;
10733
10773
  symbolName: zod.ZodOptional<zod.ZodString>;
10734
10774
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
10775
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
10735
10776
  } & {
10736
10777
  inductance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10737
10778
  maxCurrentRating: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>>;
@@ -10749,6 +10790,7 @@ declare class Inductor extends NormalComponent<typeof inductorProps, PassivePort
10749
10790
  footprint?: _tscircuit_props.FootprintProp | undefined;
10750
10791
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10751
10792
  key?: any;
10793
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
10752
10794
  cadModel?: string | {
10753
10795
  stlUrl: string;
10754
10796
  rotationOffset?: number | {
@@ -10822,6 +10864,7 @@ declare class Inductor extends NormalComponent<typeof inductorProps, PassivePort
10822
10864
  footprint?: _tscircuit_props.FootprintProp | undefined;
10823
10865
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10824
10866
  key?: any;
10867
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
10825
10868
  cadModel?: string | {
10826
10869
  stlUrl: string;
10827
10870
  rotationOffset?: number | {
@@ -11149,6 +11192,7 @@ declare class Potentiometer extends NormalComponent<typeof potentiometerProps> {
11149
11192
  children: zod.ZodOptional<zod.ZodAny>;
11150
11193
  symbolName: zod.ZodOptional<zod.ZodString>;
11151
11194
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
11195
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
11152
11196
  } & {
11153
11197
  maxResistance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
11154
11198
  pinVariant: zod.ZodOptional<zod.ZodEnum<["two_pin", "three_pin"]>>;
@@ -11165,6 +11209,7 @@ declare class Potentiometer extends NormalComponent<typeof potentiometerProps> {
11165
11209
  footprint?: _tscircuit_props.FootprintProp | undefined;
11166
11210
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
11167
11211
  key?: any;
11212
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
11168
11213
  cadModel?: string | {
11169
11214
  stlUrl: string;
11170
11215
  rotationOffset?: number | {
@@ -11237,6 +11282,7 @@ declare class Potentiometer extends NormalComponent<typeof potentiometerProps> {
11237
11282
  footprint?: _tscircuit_props.FootprintProp | undefined;
11238
11283
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
11239
11284
  key?: any;
11285
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
11240
11286
  cadModel?: string | {
11241
11287
  stlUrl: string;
11242
11288
  rotationOffset?: number | {
@@ -11562,6 +11608,7 @@ declare class PushButton extends NormalComponent<typeof pushButtonProps, Passive
11562
11608
  children: zod.ZodOptional<zod.ZodAny>;
11563
11609
  symbolName: zod.ZodOptional<zod.ZodString>;
11564
11610
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
11611
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
11565
11612
  } & {
11566
11613
  manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
11567
11614
  pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>;
@@ -11823,6 +11870,7 @@ declare class PushButton extends NormalComponent<typeof pushButtonProps, Passive
11823
11870
  footprint?: _tscircuit_props.FootprintProp | undefined;
11824
11871
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
11825
11872
  key?: any;
11873
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
11826
11874
  cadModel?: string | {
11827
11875
  stlUrl: string;
11828
11876
  rotationOffset?: number | {
@@ -11969,6 +12017,7 @@ declare class PushButton extends NormalComponent<typeof pushButtonProps, Passive
11969
12017
  footprint?: _tscircuit_props.FootprintProp | undefined;
11970
12018
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
11971
12019
  key?: any;
12020
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
11972
12021
  cadModel?: string | {
11973
12022
  stlUrl: string;
11974
12023
  rotationOffset?: number | {
@@ -12370,6 +12419,7 @@ declare class Crystal extends NormalComponent<typeof crystalProps, PolarizedPass
12370
12419
  children: zod.ZodOptional<zod.ZodAny>;
12371
12420
  symbolName: zod.ZodOptional<zod.ZodString>;
12372
12421
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
12422
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
12373
12423
  } & {
12374
12424
  frequency: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
12375
12425
  loadCapacitance: zod.ZodEffects<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, number, string | number>;
@@ -12389,6 +12439,7 @@ declare class Crystal extends NormalComponent<typeof crystalProps, PolarizedPass
12389
12439
  footprint?: _tscircuit_props.FootprintProp | undefined;
12390
12440
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
12391
12441
  key?: any;
12442
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
12392
12443
  cadModel?: string | {
12393
12444
  stlUrl: string;
12394
12445
  rotationOffset?: number | {
@@ -12463,6 +12514,7 @@ declare class Crystal extends NormalComponent<typeof crystalProps, PolarizedPass
12463
12514
  footprint?: _tscircuit_props.FootprintProp | undefined;
12464
12515
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
12465
12516
  key?: any;
12517
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
12466
12518
  cadModel?: string | {
12467
12519
  stlUrl: string;
12468
12520
  rotationOffset?: number | {
@@ -12790,6 +12842,7 @@ declare class Transistor extends NormalComponent<typeof transistorProps, Transis
12790
12842
  children: zod.ZodOptional<zod.ZodAny>;
12791
12843
  symbolName: zod.ZodOptional<zod.ZodString>;
12792
12844
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
12845
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
12793
12846
  } & {
12794
12847
  type: zod.ZodEnum<["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]>;
12795
12848
  }, "strip", zod.ZodTypeAny, {
@@ -12805,6 +12858,7 @@ declare class Transistor extends NormalComponent<typeof transistorProps, Transis
12805
12858
  footprint?: _tscircuit_props.FootprintProp | undefined;
12806
12859
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
12807
12860
  key?: any;
12861
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
12808
12862
  cadModel?: string | {
12809
12863
  stlUrl: string;
12810
12864
  rotationOffset?: number | {
@@ -12876,6 +12930,7 @@ declare class Transistor extends NormalComponent<typeof transistorProps, Transis
12876
12930
  footprint?: _tscircuit_props.FootprintProp | undefined;
12877
12931
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
12878
12932
  key?: any;
12933
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
12879
12934
  cadModel?: string | {
12880
12935
  stlUrl: string;
12881
12936
  rotationOffset?: number | {
@@ -13204,6 +13259,7 @@ declare class Mosfet extends NormalComponent<typeof mosfetProps> {
13204
13259
  children: zod.ZodOptional<zod.ZodAny>;
13205
13260
  symbolName: zod.ZodOptional<zod.ZodString>;
13206
13261
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
13262
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
13207
13263
  } & {
13208
13264
  channelType: zod.ZodEnum<["n", "p"]>;
13209
13265
  mosfetMode: zod.ZodEnum<["enhancement", "depletion"]>;
@@ -13221,6 +13277,7 @@ declare class Mosfet extends NormalComponent<typeof mosfetProps> {
13221
13277
  footprint?: _tscircuit_props.FootprintProp | undefined;
13222
13278
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13223
13279
  key?: any;
13280
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
13224
13281
  cadModel?: string | {
13225
13282
  stlUrl: string;
13226
13283
  rotationOffset?: number | {
@@ -13293,6 +13350,7 @@ declare class Mosfet extends NormalComponent<typeof mosfetProps> {
13293
13350
  footprint?: _tscircuit_props.FootprintProp | undefined;
13294
13351
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13295
13352
  key?: any;
13353
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
13296
13354
  cadModel?: string | {
13297
13355
  stlUrl: string;
13298
13356
  rotationOffset?: number | {
@@ -13617,6 +13675,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
13617
13675
  children: zod.ZodOptional<zod.ZodAny>;
13618
13676
  symbolName: zod.ZodOptional<zod.ZodString>;
13619
13677
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
13678
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
13620
13679
  } & {
13621
13680
  type: zod.ZodOptional<zod.ZodEnum<["spst", "spdt", "dpst", "dpdt"]>>;
13622
13681
  isNormallyClosed: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
@@ -13638,6 +13697,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
13638
13697
  footprint?: _tscircuit_props.FootprintProp | undefined;
13639
13698
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13640
13699
  key?: any;
13700
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
13641
13701
  cadModel?: string | {
13642
13702
  stlUrl: string;
13643
13703
  rotationOffset?: number | {
@@ -13713,6 +13773,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
13713
13773
  footprint?: _tscircuit_props.FootprintProp | undefined;
13714
13774
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13715
13775
  key?: any;
13776
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
13716
13777
  cadModel?: string | {
13717
13778
  stlUrl: string;
13718
13779
  rotationOffset?: number | {
@@ -13789,6 +13850,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
13789
13850
  footprint?: _tscircuit_props.FootprintProp | undefined;
13790
13851
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
13791
13852
  key?: any;
13853
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
13792
13854
  cadModel?: string | {
13793
13855
  stlUrl: string;
13794
13856
  rotationOffset?: number | {
@@ -14117,6 +14179,7 @@ declare class TestPoint extends NormalComponent<typeof testpointProps> {
14117
14179
  children: zod.ZodOptional<zod.ZodAny>;
14118
14180
  symbolName: zod.ZodOptional<zod.ZodString>;
14119
14181
  doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
14182
+ pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodAny>>>;
14120
14183
  } & {
14121
14184
  footprintVariant: zod.ZodOptional<zod.ZodEnum<["pad", "through_hole"]>>;
14122
14185
  padShape: zod.ZodDefault<zod.ZodOptional<zod.ZodEnum<["rect", "circle"]>>>;
@@ -14137,6 +14200,7 @@ declare class TestPoint extends NormalComponent<typeof testpointProps> {
14137
14200
  footprint?: _tscircuit_props.FootprintProp | undefined;
14138
14201
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14139
14202
  key?: any;
14203
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14140
14204
  cadModel?: string | {
14141
14205
  stlUrl: string;
14142
14206
  rotationOffset?: number | {
@@ -14212,6 +14276,7 @@ declare class TestPoint extends NormalComponent<typeof testpointProps> {
14212
14276
  footprint?: _tscircuit_props.FootprintProp | undefined;
14213
14277
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14214
14278
  key?: any;
14279
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14215
14280
  cadModel?: string | {
14216
14281
  stlUrl: string;
14217
14282
  rotationOffset?: number | {
@@ -14287,6 +14352,7 @@ declare class TestPoint extends NormalComponent<typeof testpointProps> {
14287
14352
  footprint?: _tscircuit_props.FootprintProp | undefined;
14288
14353
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14289
14354
  key?: any;
14355
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14290
14356
  cadModel?: string | {
14291
14357
  stlUrl: string;
14292
14358
  rotationOffset?: number | {
@@ -14362,6 +14428,7 @@ declare class TestPoint extends NormalComponent<typeof testpointProps> {
14362
14428
  footprint?: _tscircuit_props.FootprintProp | undefined;
14363
14429
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14364
14430
  key?: any;
14431
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14365
14432
  cadModel?: string | {
14366
14433
  stlUrl: string;
14367
14434
  rotationOffset?: number | {
@@ -14611,11 +14678,11 @@ type CreateUseComponentConstPinLabels = <Props, PinLabel extends string | never
14611
14678
  type CreateUseComponentPinLabelMap = <Props, PinLabel extends string | never = never, PinNumberKey extends string = never>(Component: React.ComponentType<Props>, pins: Record<PinNumberKey, readonly PinLabel[] | PinLabel[]>) => <PropsFromHook extends Omit<Props, "name"> | undefined = undefined>(name: string, props?: PropsFromHook) => ComponentWithPins<Props, PinLabel | PinNumberKey, PropsFromHook>;
14612
14679
  declare const createUseComponent: CreateUseComponentConstPinLabels & CreateUseComponentPinLabelMap;
14613
14680
 
14614
- declare const useCapacitor: <PropsFromHook extends Omit<CapacitorProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<CapacitorProps, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
14681
+ declare const useCapacitor: <PropsFromHook extends Omit<CapacitorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<CapacitorProps<string>, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
14615
14682
 
14616
14683
  declare const useChip: <PinLabel extends string>(pinLabels: Record<string, PinLabel[]>) => <PropsFromHook extends Omit<ChipProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ChipProps, string | PinLabel, PropsFromHook>;
14617
14684
 
14618
- declare const useDiode: <PropsFromHook extends Omit<DiodeProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<DiodeProps, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
14685
+ declare const useDiode: <PropsFromHook extends Omit<DiodeProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<DiodeProps<string>, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
14619
14686
 
14620
14687
  declare const useLed: <PropsFromHook extends Omit<{
14621
14688
  name: string;
@@ -14631,6 +14698,7 @@ declare const useLed: <PropsFromHook extends Omit<{
14631
14698
  footprint?: _tscircuit_props.FootprintProp | undefined;
14632
14699
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14633
14700
  key?: any;
14701
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14634
14702
  cadModel?: string | {
14635
14703
  stlUrl: string;
14636
14704
  rotationOffset?: number | {
@@ -14706,6 +14774,7 @@ declare const useLed: <PropsFromHook extends Omit<{
14706
14774
  footprint?: _tscircuit_props.FootprintProp | undefined;
14707
14775
  supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
14708
14776
  key?: any;
14777
+ pinAttributes?: Record<string, Record<string, any>> | undefined;
14709
14778
  cadModel?: string | {
14710
14779
  stlUrl: string;
14711
14780
  rotationOffset?: number | {
@@ -14769,7 +14838,7 @@ declare const useLed: <PropsFromHook extends Omit<{
14769
14838
  schDisplayValue?: string | undefined;
14770
14839
  }, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
14771
14840
 
14772
- declare const useResistor: <PropsFromHook extends Omit<ResistorProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ResistorProps, "left" | "right" | "pin1" | "pin2", PropsFromHook>;
14841
+ declare const useResistor: <PropsFromHook extends Omit<ResistorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ResistorProps<string>, "left" | "right" | "pin1" | "pin2", PropsFromHook>;
14773
14842
 
14774
14843
  declare const applyEditEventsToManualEditsFile: ({ circuitJson, editEvents, manualEditsFile, }: {
14775
14844
  circuitJson: CircuitJson;
package/dist/index.js CHANGED
@@ -737,7 +737,19 @@ var PrimitiveComponent2 = class extends Renderable {
737
737
  _getSchematicSymbolName() {
738
738
  const { _parsedProps: props } = this;
739
739
  const base_symbol_name = this.config.schematicSymbolName;
740
- let normalizedRotation = props.schRotation;
740
+ const orientationRotationMap = {
741
+ horizontal: 0,
742
+ pos_left: 0,
743
+ neg_right: 0,
744
+ pos_right: 180,
745
+ neg_left: 180,
746
+ pos_top: 270,
747
+ neg_bottom: 90,
748
+ vertical: 270,
749
+ pos_bottom: 90,
750
+ neg_top: 90
751
+ };
752
+ let normalizedRotation = props.schOrientation !== void 0 ? orientationRotationMap[props.schOrientation] : props.schRotation;
741
753
  if (normalizedRotation === void 0) {
742
754
  normalizedRotation = 0;
743
755
  }
@@ -5372,7 +5384,6 @@ var Trace2 = class extends PrimitiveComponent2 {
5372
5384
  }
5373
5385
  doInitialSchematicTraceRender() {
5374
5386
  if (this.root?.schematicDisabled) return;
5375
- if (this.getGroup()?._getSchematicLayoutMode() === "match-adapt") return;
5376
5387
  const { db } = this.root;
5377
5388
  const { _parsedProps: props, parent } = this;
5378
5389
  if (!parent) throw new Error("Trace has no parent");
@@ -5402,7 +5413,7 @@ var Trace2 = class extends PrimitiveComponent2 {
5402
5413
  if (isPortAndNetConnection) {
5403
5414
  const net = netsWithSelectors[0].net;
5404
5415
  const { port, position: anchorPos } = portsWithPosition[0];
5405
- const connectedNetLabel = this.getSubcircuit().selectAll("netlabel").find((nl) => {
5416
+ let connectedNetLabel = this.getSubcircuit().selectAll("netlabel").find((nl) => {
5406
5417
  const conn = nl._parsedProps.connection ?? nl._parsedProps.connectsTo;
5407
5418
  if (!conn) return false;
5408
5419
  if (Array.isArray(conn)) {
@@ -5418,8 +5429,16 @@ var Trace2 = class extends PrimitiveComponent2 {
5418
5429
  });
5419
5430
  return targetPort === port;
5420
5431
  });
5432
+ if (!connectedNetLabel) {
5433
+ const dbNetLabel = db.schematic_net_label.getWhere({
5434
+ source_trace_id: this.source_trace_id
5435
+ });
5436
+ if (dbNetLabel) {
5437
+ connectedNetLabel = dbNetLabel;
5438
+ }
5439
+ }
5421
5440
  if (connectedNetLabel) {
5422
- const labelPos = connectedNetLabel._getGlobalSchematicPositionBeforeLayout();
5441
+ const labelPos = "_getGlobalSchematicPositionBeforeLayout" in connectedNetLabel ? connectedNetLabel._getGlobalSchematicPositionBeforeLayout() : connectedNetLabel.anchor_position;
5423
5442
  const edges2 = [];
5424
5443
  if (anchorPos.x === labelPos.x || anchorPos.y === labelPos.y) {
5425
5444
  edges2.push({ from: anchorPos, to: labelPos });
@@ -7209,227 +7228,182 @@ var normalizePinLabels = (inputPinLabels) => {
7209
7228
  };
7210
7229
 
7211
7230
  // lib/components/primitive-components/Group/Group_doInitialSchematicLayoutMatchAdapt.ts
7212
- import {
7213
- SchematicLayoutPipelineSolver,
7214
- reorderChipPinsToCcw,
7215
- convertCircuitJsonToInputNetlist,
7216
- getRefKey as getRefKey2
7217
- } from "@tscircuit/schematic-match-adapt";
7218
- import { circuitBuilderFromLayoutJson } from "@tscircuit/schematic-match-adapt";
7231
+ import "@tscircuit/schematic-match-adapt";
7232
+ import "@tscircuit/schematic-match-adapt";
7219
7233
 
7220
7234
  // lib/utils/schematic/deriveSourceTraceIdFromMatchAdaptPath.ts
7221
7235
  import {
7222
7236
  getRefKey,
7223
7237
  parseRefKey
7224
7238
  } from "@tscircuit/schematic-match-adapt";
7225
- function getConnectivityNetIdFromPortRef(pref, db) {
7226
- if ("boxId" in pref) {
7227
- const { boxId: sourceComponentName, pinNumber } = pref;
7228
- const sourceComp = db.source_component.getWhere({
7229
- name: sourceComponentName
7230
- });
7231
- if (!sourceComp) {
7232
- throw new Error(
7233
- `Source component "${sourceComponentName}" not found, but returned from match-adapt ${JSON.stringify(pref)}`
7234
- );
7235
- }
7236
- const sourcePort = db.source_port.getWhere({
7237
- source_component_id: sourceComp.source_component_id,
7238
- pin_number: pinNumber
7239
- });
7240
- return {
7241
- subcircuit_connectivity_map_key: sourcePort?.subcircuit_connectivity_map_key ?? null,
7242
- source_port_id: sourcePort.source_port_id
7243
- };
7244
- }
7245
- if ("netId" in pref) {
7246
- const { netId: sourceNetName } = pref;
7247
- const sourceNet = db.source_net.getWhere({ name: sourceNetName });
7248
- return null;
7249
- }
7250
- if ("junctionId" in pref) {
7251
- const { junctionId } = pref;
7252
- return null;
7253
- }
7254
- return null;
7255
- }
7256
- function deriveSourceTraceIdFromMatchAdaptPath({
7257
- path,
7258
- db,
7259
- layoutConnMap
7260
- }) {
7261
- let bestRef = getConnectivityNetIdFromPortRef(path.to, db) ?? getConnectivityNetIdFromPortRef(path.from, db);
7262
- if (!bestRef) {
7263
- const layoutConnNetId = layoutConnMap.getNetConnectedToId(
7264
- getRefKey(path.to)
7265
- );
7266
- const layoutConnectedRefs = layoutConnMap.getIdsConnectedToNet(layoutConnNetId).map((prefStr) => parseRefKey(prefStr));
7267
- bestRef = layoutConnectedRefs.map((ref) => getConnectivityNetIdFromPortRef(ref, db)).find(Boolean);
7268
- }
7269
- if (!bestRef?.subcircuit_connectivity_map_key) {
7270
- throw new Error(
7271
- `No connectivity net id found for match-adapt path ${JSON.stringify(path)}`
7272
- );
7273
- }
7274
- const sourceTraces = db.source_trace.list({
7275
- subcircuit_connectivity_map_key: bestRef.subcircuit_connectivity_map_key
7276
- });
7277
- for (const sourceTrace of sourceTraces) {
7278
- if (sourceTrace.connected_source_port_ids.includes(bestRef.source_port_id)) {
7279
- return sourceTrace.source_trace_id;
7280
- }
7281
- }
7282
- if (sourceTraces.length > 0) {
7283
- return sourceTraces[0].source_trace_id;
7284
- }
7285
- throw new Error(
7286
- `No source trace found for match-adapt path "${JSON.stringify(path)}"`
7287
- );
7288
- }
7289
7239
 
7290
7240
  // lib/components/primitive-components/Group/Group_doInitialSchematicLayoutMatchAdapt.ts
7291
- import { cju } from "@tscircuit/circuit-json-util";
7292
- import { ConnectivityMap as ConnectivityMap2 } from "circuit-json-to-connectivity-map";
7241
+ import "@tscircuit/circuit-json-util";
7242
+ import "circuit-json-to-connectivity-map";
7243
+ import corpus from "@tscircuit/schematic-corpus/dist/bundled-bpc-graphs.json";
7244
+ import { convertCircuitJsonToBpc } from "circuit-json-to-bpc";
7245
+ import {
7246
+ assignFloatingBoxPositions,
7247
+ netAdaptBpcGraph,
7248
+ getBpcGraphWlDistance
7249
+ } from "bpc-graph";
7250
+ import "@tscircuit/circuit-json-util";
7293
7251
  function Group_doInitialSchematicLayoutMatchAdapt(group) {
7294
7252
  const { db } = group.root;
7295
- let subtreeCircuitJson = structuredClone(db.toArray());
7296
- subtreeCircuitJson = reorderChipPinsToCcw(subtreeCircuitJson);
7297
- const inputNetlist = convertCircuitJsonToInputNetlist(subtreeCircuitJson);
7298
- const templateFns = group._parsedProps.matchAdaptTemplate ? [
7299
- () => circuitBuilderFromLayoutJson(
7300
- group._parsedProps.matchAdaptTemplate
7301
- )
7302
- ] : void 0;
7303
- const solver = new SchematicLayoutPipelineSolver({
7304
- inputNetlist,
7305
- templateFns
7306
- });
7307
- let solvedLayout = null;
7308
- try {
7309
- solver.solve();
7310
- solvedLayout = solver.getLayout();
7311
- } catch (e) {
7312
- db.schematic_layout_error.insert({
7313
- message: `Match-adapt layout failed: ${e.toString()}`,
7314
- error_type: "schematic_layout_error",
7315
- source_group_id: group.source_group_id,
7316
- schematic_group_id: group.schematic_group_id
7317
- });
7318
- return;
7319
- }
7320
- const { boxes, junctions, netLabels, paths } = solvedLayout;
7321
- const layoutConnMap = new ConnectivityMap2({});
7322
- for (const path of paths) {
7323
- layoutConnMap.addConnections([[getRefKey2(path.from), getRefKey2(path.to)]]);
7324
- }
7325
- for (const junction of junctions) {
7326
- for (const path of paths) {
7327
- for (const pathPoint of path.points) {
7328
- if (Math.abs(pathPoint.x - junction.x) < 1e-3 && Math.abs(pathPoint.y - junction.y) < 1e-3) {
7329
- layoutConnMap.addConnections([
7330
- [getRefKey2(path.from), getRefKey2(junction)],
7331
- [getRefKey2(path.to), getRefKey2(junction)]
7332
- ]);
7333
- }
7334
- }
7253
+ const subtreeCircuitJson = structuredClone(db.toArray());
7254
+ const existingLabels = new Set(
7255
+ subtreeCircuitJson.filter((e) => e.type === "schematic_net_label").map((e) => `${e.anchor_position?.x},${e.anchor_position?.y}`)
7256
+ );
7257
+ const oppositeSideFromFacing = {
7258
+ left: "right",
7259
+ right: "left",
7260
+ top: "bottom",
7261
+ bottom: "top"
7262
+ };
7263
+ const generatedNetLabels = /* @__PURE__ */ new Map();
7264
+ for (const sp of subtreeCircuitJson.filter(
7265
+ (e) => e.type === "schematic_port"
7266
+ )) {
7267
+ const key = `${sp.center.x},${sp.center.y}`;
7268
+ if (existingLabels.has(key)) continue;
7269
+ const srcPort = db.source_port.get(sp.source_port_id);
7270
+ const srcNet = db.source_net.getWhere({
7271
+ subcircuit_connectivity_map_key: srcPort?.subcircuit_connectivity_map_key
7272
+ });
7273
+ if (!srcNet) {
7274
+ console.error(`No source net found for port: ${sp.source_port_id}`);
7275
+ continue;
7335
7276
  }
7336
- }
7337
- for (const box of boxes) {
7338
- const srcComp = db.source_component.list().find((c) => c.name === box.boxId);
7339
- if (!srcComp) continue;
7340
- const schComp = db.schematic_component.getWhere({
7341
- source_component_id: srcComp.source_component_id
7342
- });
7343
- if (!schComp) continue;
7344
- const schCompMoveDelta = {
7345
- x: box.centerX - schComp.center.x + 0.1,
7346
- // TODO figure out why +0.1
7347
- y: box.centerY - schComp.center.y - 0.1
7277
+ const srcTrace = db.source_trace.getWhere({
7278
+ subcircuit_connectivity_map_key: srcPort?.subcircuit_connectivity_map_key
7279
+ });
7280
+ const schematic_net_label_id = `netlabel_for_${sp.schematic_port_id}`;
7281
+ const source_net = db.source_net.get(srcNet.source_net_id);
7282
+ const schematic_net_label = {
7283
+ type: "schematic_net_label",
7284
+ schematic_net_label_id,
7285
+ text: source_net.name,
7286
+ source_net_id: srcNet.source_net_id,
7287
+ source_trace_id: srcTrace?.source_trace_id,
7288
+ anchor_position: { ...sp.center },
7289
+ center: { ...sp.center },
7290
+ anchor_side: oppositeSideFromFacing[sp.facing_direction] ?? "right"
7348
7291
  };
7349
- db.schematic_component.update(schComp.schematic_component_id, {
7350
- center: {
7351
- x: schComp.center.x + schCompMoveDelta.x,
7352
- y: schComp.center.y + schCompMoveDelta.y
7353
- }
7354
- });
7355
- const schematicPorts = db.schematic_port.list({
7356
- schematic_component_id: schComp.schematic_component_id
7357
- });
7358
- for (const schematicPort of schematicPorts) {
7359
- db.schematic_port.update(schematicPort.schematic_port_id, {
7360
- center: {
7361
- x: schematicPort.center.x + schCompMoveDelta.x,
7362
- y: schematicPort.center.y + schCompMoveDelta.y
7363
- }
7364
- });
7365
- }
7366
- const schematicTexts = db.schematic_text.list({
7367
- schematic_component_id: schComp.schematic_component_id
7292
+ generatedNetLabels.set(schematic_net_label_id, {
7293
+ schematic_net_label,
7294
+ schematic_port: sp
7368
7295
  });
7369
- for (const schematicText of schematicTexts) {
7370
- db.schematic_text.update(schematicText.schematic_text_id, {
7371
- position: {
7372
- x: schematicText.position.x + schCompMoveDelta.x,
7373
- y: schematicText.position.y + schCompMoveDelta.y
7374
- }
7375
- });
7376
- }
7296
+ subtreeCircuitJson.push(schematic_net_label);
7377
7297
  }
7378
- for (const nl of netLabels) {
7379
- const srcNet = db.source_net.list().find((n) => n.name === nl.netId);
7380
- db.schematic_net_label.insert({
7381
- text: nl.netId,
7382
- source_net_id: srcNet?.source_net_id,
7383
- anchor_position: { x: nl.x, y: nl.y },
7384
- center: computeSchematicNetLabelCenter({
7385
- anchor_position: { x: nl.x, y: nl.y },
7386
- anchor_side: nl.anchorPosition,
7387
- text: nl.netId
7388
- }),
7389
- anchor_side: nl.anchorPosition
7390
- });
7298
+ const targetBpcGraph = convertCircuitJsonToBpc(subtreeCircuitJson);
7299
+ for (const box of targetBpcGraph.boxes) {
7300
+ if (box.kind === "fixed" || box.center) {
7301
+ box.kind = "floating";
7302
+ box.center = void 0;
7303
+ }
7391
7304
  }
7392
- for (const path of paths) {
7393
- if (!path.points || path.points.length < 2) continue;
7394
- const sourceTraceId = deriveSourceTraceIdFromMatchAdaptPath({
7395
- path,
7396
- db: cju(subtreeCircuitJson),
7397
- layoutConnMap
7398
- });
7399
- let edges = [];
7400
- for (let i = 0; i < path.points.length - 1; i++) {
7401
- edges.push({
7402
- from: {
7403
- x: path.points[i].x,
7404
- y: path.points[i].y
7405
- },
7406
- to: {
7407
- x: path.points[i + 1].x,
7408
- y: path.points[i + 1].y
7409
- }
7305
+ let bestMatch = {
7306
+ boxes: [],
7307
+ pins: []
7308
+ };
7309
+ let bestWlDistance = Infinity;
7310
+ let winningBpcGraphName = "empty";
7311
+ for (const [candidateBpcGraphName, candidateBpcGraph] of Object.entries(
7312
+ corpus
7313
+ ).sort((a, b) => a[0].localeCompare(b[0]))) {
7314
+ const wlDistance = getBpcGraphWlDistance(
7315
+ candidateBpcGraph,
7316
+ targetBpcGraph
7317
+ );
7318
+ console.log(candidateBpcGraphName, wlDistance);
7319
+ if (wlDistance < bestWlDistance) {
7320
+ bestMatch = candidateBpcGraph;
7321
+ winningBpcGraphName = candidateBpcGraphName;
7322
+ bestWlDistance = wlDistance;
7323
+ if (wlDistance === 0) break;
7324
+ }
7325
+ }
7326
+ console.log(`Winning BPC graph: ${winningBpcGraphName}`);
7327
+ const { adaptedBpcGraph } = netAdaptBpcGraph(
7328
+ bestMatch,
7329
+ targetBpcGraph
7330
+ );
7331
+ const adaptedBpcGraphWithPositions = assignFloatingBoxPositions(adaptedBpcGraph);
7332
+ for (const box of adaptedBpcGraphWithPositions.boxes) {
7333
+ const schematic_component2 = db.schematic_component.get(box.boxId);
7334
+ if (schematic_component2) {
7335
+ const ports = db.schematic_port.list({
7336
+ schematic_component_id: schematic_component2.schematic_component_id
7410
7337
  });
7411
- }
7412
- const otherCrossingEdges = getOtherSchematicTraces({
7413
- db,
7414
- source_trace_id: sourceTraceId,
7415
- differentNetOnly: true
7416
- }).flatMap((t) => t.edges);
7417
- if (otherCrossingEdges.length > 0) {
7418
- edges = createSchematicTraceCrossingSegments({
7419
- edges,
7420
- otherEdges: otherCrossingEdges
7338
+ const texts = db.schematic_text.list({
7339
+ schematic_component_id: schematic_component2.schematic_component_id
7421
7340
  });
7341
+ const positionDelta = {
7342
+ x: schematic_component2.center.x - box.center.x,
7343
+ y: schematic_component2.center.y - box.center.y
7344
+ };
7345
+ for (const port of ports) {
7346
+ port.center.x += positionDelta.x;
7347
+ port.center.y += positionDelta.y;
7348
+ }
7349
+ for (const text of texts) {
7350
+ text.position.x += positionDelta.x;
7351
+ text.position.y += positionDelta.y;
7352
+ }
7353
+ schematic_component2.center.x += positionDelta.x;
7354
+ schematic_component2.center.y += positionDelta.y;
7355
+ continue;
7422
7356
  }
7423
- const junctions2 = createSchematicTraceJunctions({
7424
- edges,
7425
- db,
7426
- source_trace_id: sourceTraceId
7427
- });
7428
- db.schematic_trace.insert({
7429
- source_trace_id: sourceTraceId,
7430
- edges,
7431
- junctions: junctions2
7432
- });
7357
+ const schematic_net_label = db.schematic_net_label.get(box.boxId);
7358
+ if (schematic_net_label) {
7359
+ const pin = adaptedBpcGraphWithPositions.pins.find(
7360
+ (p) => p.boxId === box.boxId && p.color === "netlabel_center"
7361
+ );
7362
+ if (!pin) {
7363
+ throw new Error(`No pin found for net label: ${box.boxId}`);
7364
+ }
7365
+ schematic_net_label.center = box.center;
7366
+ schematic_net_label.anchor_position = {
7367
+ x: box.center.x + pin.offset.x,
7368
+ y: box.center.y + pin.offset.y
7369
+ };
7370
+ continue;
7371
+ }
7372
+ if (generatedNetLabels.has(box.boxId)) {
7373
+ const { schematic_net_label: generatedNetLabel, schematic_port } = generatedNetLabels.get(box.boxId);
7374
+ const pins = adaptedBpcGraphWithPositions.pins.filter(
7375
+ (p) => p.boxId === box.boxId
7376
+ );
7377
+ const center = pins.find((p) => p.color === "netlabel_center");
7378
+ const anchor = pins.find((p) => p.color !== "netlabel_center");
7379
+ const color = anchor.color;
7380
+ const symbolName = color === "vcc" ? "vcc" : color === "gnd" ? "gnd" : void 0;
7381
+ const anchorSide = color === "vcc" ? "bottom" : color === "gnd" ? "top" : oppositeSideFromFacing[schematic_port.facing_direction] ?? "right";
7382
+ const source_net = db.source_net.get(generatedNetLabel.source_net_id);
7383
+ const schematic_net_label2 = {
7384
+ type: "schematic_net_label",
7385
+ schematic_net_label_id: `netlabel_for_${box.boxId}`,
7386
+ text: source_net.name,
7387
+ // no text; just a placeholder box for Match-Adapt
7388
+ anchor_position: {
7389
+ x: box.center.x + center.offset.x,
7390
+ y: box.center.y + center.offset.y
7391
+ },
7392
+ center: {
7393
+ x: box.center.x + center.offset.x,
7394
+ y: box.center.y + center.offset.y
7395
+ },
7396
+ anchor_side: anchorSide,
7397
+ symbol_name: symbolName,
7398
+ source_net_id: generatedNetLabel.source_net_id,
7399
+ source_trace_id: generatedNetLabel.source_trace_id
7400
+ };
7401
+ db.schematic_net_label.insert(schematic_net_label2);
7402
+ continue;
7403
+ }
7404
+ console.error(
7405
+ `No schematic element found for box: ${box.boxId}. This is a bug in the matchAdapt binding with @tscircuit/core`
7406
+ );
7433
7407
  }
7434
7408
  }
7435
7409
 
@@ -10696,7 +10670,7 @@ import { identity as identity4 } from "transformation-matrix";
10696
10670
  var package_default = {
10697
10671
  name: "@tscircuit/core",
10698
10672
  type: "module",
10699
- version: "0.0.531",
10673
+ version: "0.0.533",
10700
10674
  types: "dist/index.d.ts",
10701
10675
  main: "dist/index.js",
10702
10676
  module: "dist/index.js",
@@ -10721,15 +10695,16 @@ var package_default = {
10721
10695
  "@biomejs/biome": "^1.8.3",
10722
10696
  "@tscircuit/capacity-autorouter": "^0.0.75",
10723
10697
  "@tscircuit/checks": "^0.0.52",
10724
- "@tscircuit/circuit-json-util": "^0.0.49",
10698
+ "@tscircuit/circuit-json-util": "^0.0.50",
10725
10699
  "@tscircuit/footprinter": "^0.0.186",
10726
10700
  "@tscircuit/import-snippet": "^0.0.4",
10727
10701
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
10728
10702
  "@tscircuit/layout": "^0.0.28",
10729
10703
  "@tscircuit/log-soup": "^1.0.2",
10730
10704
  "@tscircuit/math-utils": "^0.0.18",
10731
- "@tscircuit/props": "^0.0.245",
10705
+ "@tscircuit/props": "^0.0.246",
10732
10706
  "@tscircuit/schematic-autolayout": "^0.0.6",
10707
+ "@tscircuit/schematic-corpus": "^0.0.29",
10733
10708
  "@tscircuit/schematic-match-adapt": "^0.0.16",
10734
10709
  "@tscircuit/simple-3d-svg": "^0.0.6",
10735
10710
  "@types/bun": "^1.2.16",
@@ -10737,15 +10712,18 @@ var package_default = {
10737
10712
  "@types/react": "^19.0.1",
10738
10713
  "@types/react-dom": "^19.0.2",
10739
10714
  "@types/react-reconciler": "^0.28.9",
10715
+ "bpc-graph": "^0.0.16",
10740
10716
  "bun-match-svg": "0.0.11",
10717
+ "calculate-elbow": "^0.0.5",
10741
10718
  "chokidar-cli": "^3.0.0",
10742
10719
  "circuit-json": "^0.0.212",
10720
+ "circuit-json-to-bpc": "^0.0.7",
10743
10721
  "circuit-json-to-connectivity-map": "^0.0.22",
10744
10722
  "circuit-json-to-simple-3d": "^0.0.2",
10745
10723
  "circuit-to-svg": "^0.0.162",
10746
10724
  concurrently: "^9.1.2",
10747
10725
  debug: "^4.3.6",
10748
- "graphics-debug": "^0.0.4",
10726
+ "graphics-debug": "^0.0.57",
10749
10727
  howfat: "^0.3.8",
10750
10728
  "live-server": "^1.2.2",
10751
10729
  "looks-same": "^9.0.1",
@@ -10766,6 +10744,9 @@ var package_default = {
10766
10744
  "@tscircuit/props": "*",
10767
10745
  "@tscircuit/schematic-autolayout": "*",
10768
10746
  "@tscircuit/schematic-match-adapt": "*",
10747
+ "@tscircuit/schematic-corpus": "*",
10748
+ "circuit-json-to-bpc": "*",
10749
+ "bpc-graph": "*",
10769
10750
  "circuit-json": "*",
10770
10751
  "circuit-json-to-connectivity-map": "*",
10771
10752
  "schematic-symbols": "*",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.532",
4
+ "version": "0.0.534",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -26,15 +26,16 @@
26
26
  "@biomejs/biome": "^1.8.3",
27
27
  "@tscircuit/capacity-autorouter": "^0.0.75",
28
28
  "@tscircuit/checks": "^0.0.52",
29
- "@tscircuit/circuit-json-util": "^0.0.49",
29
+ "@tscircuit/circuit-json-util": "^0.0.50",
30
30
  "@tscircuit/footprinter": "^0.0.186",
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.245",
36
+ "@tscircuit/props": "^0.0.246",
37
37
  "@tscircuit/schematic-autolayout": "^0.0.6",
38
+ "@tscircuit/schematic-corpus": "^0.0.29",
38
39
  "@tscircuit/schematic-match-adapt": "^0.0.16",
39
40
  "@tscircuit/simple-3d-svg": "^0.0.6",
40
41
  "@types/bun": "^1.2.16",
@@ -42,15 +43,18 @@
42
43
  "@types/react": "^19.0.1",
43
44
  "@types/react-dom": "^19.0.2",
44
45
  "@types/react-reconciler": "^0.28.9",
46
+ "bpc-graph": "^0.0.16",
45
47
  "bun-match-svg": "0.0.11",
48
+ "calculate-elbow": "^0.0.5",
46
49
  "chokidar-cli": "^3.0.0",
47
50
  "circuit-json": "^0.0.212",
51
+ "circuit-json-to-bpc": "^0.0.7",
48
52
  "circuit-json-to-connectivity-map": "^0.0.22",
49
53
  "circuit-json-to-simple-3d": "^0.0.2",
50
54
  "circuit-to-svg": "^0.0.162",
51
55
  "concurrently": "^9.1.2",
52
56
  "debug": "^4.3.6",
53
- "graphics-debug": "^0.0.4",
57
+ "graphics-debug": "^0.0.57",
54
58
  "howfat": "^0.3.8",
55
59
  "live-server": "^1.2.2",
56
60
  "looks-same": "^9.0.1",
@@ -71,6 +75,9 @@
71
75
  "@tscircuit/props": "*",
72
76
  "@tscircuit/schematic-autolayout": "*",
73
77
  "@tscircuit/schematic-match-adapt": "*",
78
+ "@tscircuit/schematic-corpus": "*",
79
+ "circuit-json-to-bpc": "*",
80
+ "bpc-graph": "*",
74
81
  "circuit-json": "*",
75
82
  "circuit-json-to-connectivity-map": "*",
76
83
  "schematic-symbols": "*",