@tscircuit/core 0.0.126 → 0.0.128

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
@@ -6,7 +6,7 @@ import { PcbTraceError, PcbPlacementError, LayerRef, AnyCircuitElement, AnySourc
6
6
  import { SoupUtilObjects } from '@tscircuit/soup-util';
7
7
  import { Matrix } from 'transformation-matrix';
8
8
  import * as _tscircuit_props from '@tscircuit/props';
9
- import { traceProps, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps } from '@tscircuit/props';
9
+ import { traceProps, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps, inductorProps } from '@tscircuit/props';
10
10
 
11
11
  declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender"];
12
12
  type RenderPhase = (typeof orderedRenderPhases)[number];
@@ -5675,6 +5675,413 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5675
5675
  doInitialSourceRender(): void;
5676
5676
  }
5677
5677
 
5678
+ declare class Inductor extends NormalComponent<typeof inductorProps, PassivePorts> {
5679
+ get config(): {
5680
+ componentName: string;
5681
+ schematicSymbolName: BaseSymbolName;
5682
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
5683
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5684
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5685
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5686
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5687
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5688
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5689
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
5690
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
5691
+ }, "strip", zod.ZodTypeAny, {
5692
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5693
+ }, {
5694
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5695
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
5696
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5697
+ }>>;
5698
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
5699
+ }, {
5700
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
5701
+ }>, {
5702
+ key: zod.ZodOptional<zod.ZodAny>;
5703
+ name: zod.ZodString;
5704
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
5705
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5706
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5707
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5708
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5709
+ }, "strip", zod.ZodTypeAny, {
5710
+ x: string | number;
5711
+ y: string | number;
5712
+ z: string | number;
5713
+ }, {
5714
+ x: string | number;
5715
+ y: string | number;
5716
+ z: string | number;
5717
+ }>]>>;
5718
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5719
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5720
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5721
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5722
+ }, "strip", zod.ZodTypeAny, {
5723
+ x: number;
5724
+ y: number;
5725
+ z: number;
5726
+ }, {
5727
+ x: string | number;
5728
+ y: string | number;
5729
+ z: string | number;
5730
+ }>>;
5731
+ size: zod.ZodOptional<zod.ZodObject<{
5732
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5733
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5734
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5735
+ }, "strip", zod.ZodTypeAny, {
5736
+ x: number;
5737
+ y: number;
5738
+ z: number;
5739
+ }, {
5740
+ x: string | number;
5741
+ y: string | number;
5742
+ z: string | number;
5743
+ }>>;
5744
+ }, {
5745
+ stlUrl: zod.ZodString;
5746
+ }>, "strip", zod.ZodTypeAny, {
5747
+ stlUrl: string;
5748
+ rotationOffset?: number | {
5749
+ x: string | number;
5750
+ y: string | number;
5751
+ z: string | number;
5752
+ } | undefined;
5753
+ positionOffset?: {
5754
+ x: number;
5755
+ y: number;
5756
+ z: number;
5757
+ } | undefined;
5758
+ size?: {
5759
+ x: number;
5760
+ y: number;
5761
+ z: number;
5762
+ } | undefined;
5763
+ }, {
5764
+ stlUrl: string;
5765
+ rotationOffset?: number | {
5766
+ x: string | number;
5767
+ y: string | number;
5768
+ z: string | number;
5769
+ } | undefined;
5770
+ positionOffset?: {
5771
+ x: string | number;
5772
+ y: string | number;
5773
+ z: string | number;
5774
+ } | undefined;
5775
+ size?: {
5776
+ x: string | number;
5777
+ y: string | number;
5778
+ z: string | number;
5779
+ } | undefined;
5780
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5781
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5782
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5783
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5784
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5785
+ }, "strip", zod.ZodTypeAny, {
5786
+ x: string | number;
5787
+ y: string | number;
5788
+ z: string | number;
5789
+ }, {
5790
+ x: string | number;
5791
+ y: string | number;
5792
+ z: string | number;
5793
+ }>]>>;
5794
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5795
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5796
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5797
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5798
+ }, "strip", zod.ZodTypeAny, {
5799
+ x: number;
5800
+ y: number;
5801
+ z: number;
5802
+ }, {
5803
+ x: string | number;
5804
+ y: string | number;
5805
+ z: string | number;
5806
+ }>>;
5807
+ size: zod.ZodOptional<zod.ZodObject<{
5808
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5809
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5810
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5811
+ }, "strip", zod.ZodTypeAny, {
5812
+ x: number;
5813
+ y: number;
5814
+ z: number;
5815
+ }, {
5816
+ x: string | number;
5817
+ y: string | number;
5818
+ z: string | number;
5819
+ }>>;
5820
+ }, {
5821
+ objUrl: zod.ZodString;
5822
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
5823
+ }>, "strip", zod.ZodTypeAny, {
5824
+ objUrl: string;
5825
+ rotationOffset?: number | {
5826
+ x: string | number;
5827
+ y: string | number;
5828
+ z: string | number;
5829
+ } | undefined;
5830
+ positionOffset?: {
5831
+ x: number;
5832
+ y: number;
5833
+ z: number;
5834
+ } | undefined;
5835
+ size?: {
5836
+ x: number;
5837
+ y: number;
5838
+ z: number;
5839
+ } | undefined;
5840
+ mtlUrl?: string | undefined;
5841
+ }, {
5842
+ objUrl: string;
5843
+ rotationOffset?: number | {
5844
+ x: string | number;
5845
+ y: string | number;
5846
+ z: string | number;
5847
+ } | undefined;
5848
+ positionOffset?: {
5849
+ x: string | number;
5850
+ y: string | number;
5851
+ z: string | number;
5852
+ } | undefined;
5853
+ size?: {
5854
+ x: string | number;
5855
+ y: string | number;
5856
+ z: string | number;
5857
+ } | undefined;
5858
+ mtlUrl?: string | undefined;
5859
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5860
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5861
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5862
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5863
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5864
+ }, "strip", zod.ZodTypeAny, {
5865
+ x: string | number;
5866
+ y: string | number;
5867
+ z: string | number;
5868
+ }, {
5869
+ x: string | number;
5870
+ y: string | number;
5871
+ z: string | number;
5872
+ }>]>>;
5873
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5874
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5875
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5876
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5877
+ }, "strip", zod.ZodTypeAny, {
5878
+ x: number;
5879
+ y: number;
5880
+ z: number;
5881
+ }, {
5882
+ x: string | number;
5883
+ y: string | number;
5884
+ z: string | number;
5885
+ }>>;
5886
+ size: zod.ZodOptional<zod.ZodObject<{
5887
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5888
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5889
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5890
+ }, "strip", zod.ZodTypeAny, {
5891
+ x: number;
5892
+ y: number;
5893
+ z: number;
5894
+ }, {
5895
+ x: string | number;
5896
+ y: string | number;
5897
+ z: string | number;
5898
+ }>>;
5899
+ }, {
5900
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
5901
+ }>, "strip", zod.ZodTypeAny, {
5902
+ jscad: Record<string, any>;
5903
+ rotationOffset?: number | {
5904
+ x: string | number;
5905
+ y: string | number;
5906
+ z: string | number;
5907
+ } | undefined;
5908
+ positionOffset?: {
5909
+ x: number;
5910
+ y: number;
5911
+ z: number;
5912
+ } | undefined;
5913
+ size?: {
5914
+ x: number;
5915
+ y: number;
5916
+ z: number;
5917
+ } | undefined;
5918
+ }, {
5919
+ jscad: Record<string, any>;
5920
+ rotationOffset?: number | {
5921
+ x: string | number;
5922
+ y: string | number;
5923
+ z: string | number;
5924
+ } | undefined;
5925
+ positionOffset?: {
5926
+ x: string | number;
5927
+ y: string | number;
5928
+ z: string | number;
5929
+ } | undefined;
5930
+ size?: {
5931
+ x: string | number;
5932
+ y: string | number;
5933
+ z: string | number;
5934
+ } | undefined;
5935
+ }>]>>;
5936
+ children: zod.ZodOptional<zod.ZodAny>;
5937
+ symbolName: zod.ZodOptional<zod.ZodString>;
5938
+ }>, {
5939
+ inductance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5940
+ }>, "strip", zod.ZodTypeAny, {
5941
+ name: string;
5942
+ inductance: number;
5943
+ pcbX?: number | undefined;
5944
+ pcbY?: number | undefined;
5945
+ pcbRotation?: number | undefined;
5946
+ schX?: number | undefined;
5947
+ schY?: number | undefined;
5948
+ schRotation?: number | undefined;
5949
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
5950
+ footprint?: _tscircuit_props.Footprint | undefined;
5951
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
5952
+ key?: any;
5953
+ cadModel?: string | {
5954
+ stlUrl: string;
5955
+ rotationOffset?: number | {
5956
+ x: string | number;
5957
+ y: string | number;
5958
+ z: string | number;
5959
+ } | undefined;
5960
+ positionOffset?: {
5961
+ x: number;
5962
+ y: number;
5963
+ z: number;
5964
+ } | undefined;
5965
+ size?: {
5966
+ x: number;
5967
+ y: number;
5968
+ z: number;
5969
+ } | undefined;
5970
+ } | {
5971
+ objUrl: string;
5972
+ rotationOffset?: number | {
5973
+ x: string | number;
5974
+ y: string | number;
5975
+ z: string | number;
5976
+ } | undefined;
5977
+ positionOffset?: {
5978
+ x: number;
5979
+ y: number;
5980
+ z: number;
5981
+ } | undefined;
5982
+ size?: {
5983
+ x: number;
5984
+ y: number;
5985
+ z: number;
5986
+ } | undefined;
5987
+ mtlUrl?: string | undefined;
5988
+ } | {
5989
+ jscad: Record<string, any>;
5990
+ rotationOffset?: number | {
5991
+ x: string | number;
5992
+ y: string | number;
5993
+ z: string | number;
5994
+ } | undefined;
5995
+ positionOffset?: {
5996
+ x: number;
5997
+ y: number;
5998
+ z: number;
5999
+ } | undefined;
6000
+ size?: {
6001
+ x: number;
6002
+ y: number;
6003
+ z: number;
6004
+ } | undefined;
6005
+ } | undefined;
6006
+ children?: any;
6007
+ symbolName?: string | undefined;
6008
+ }, {
6009
+ name: string;
6010
+ inductance: string | number;
6011
+ pcbX?: string | number | undefined;
6012
+ pcbY?: string | number | undefined;
6013
+ pcbRotation?: string | number | undefined;
6014
+ schX?: string | number | undefined;
6015
+ schY?: string | number | undefined;
6016
+ schRotation?: string | number | undefined;
6017
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6018
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6019
+ } | undefined;
6020
+ footprint?: _tscircuit_props.Footprint | undefined;
6021
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6022
+ key?: any;
6023
+ cadModel?: string | {
6024
+ stlUrl: string;
6025
+ rotationOffset?: number | {
6026
+ x: string | number;
6027
+ y: string | number;
6028
+ z: string | number;
6029
+ } | undefined;
6030
+ positionOffset?: {
6031
+ x: string | number;
6032
+ y: string | number;
6033
+ z: string | number;
6034
+ } | undefined;
6035
+ size?: {
6036
+ x: string | number;
6037
+ y: string | number;
6038
+ z: string | number;
6039
+ } | undefined;
6040
+ } | {
6041
+ objUrl: string;
6042
+ rotationOffset?: number | {
6043
+ x: string | number;
6044
+ y: string | number;
6045
+ z: string | number;
6046
+ } | undefined;
6047
+ positionOffset?: {
6048
+ x: string | number;
6049
+ y: string | number;
6050
+ z: string | number;
6051
+ } | undefined;
6052
+ size?: {
6053
+ x: string | number;
6054
+ y: string | number;
6055
+ z: string | number;
6056
+ } | undefined;
6057
+ mtlUrl?: string | undefined;
6058
+ } | {
6059
+ jscad: Record<string, any>;
6060
+ rotationOffset?: number | {
6061
+ x: string | number;
6062
+ y: string | number;
6063
+ z: string | number;
6064
+ } | undefined;
6065
+ positionOffset?: {
6066
+ x: string | number;
6067
+ y: string | number;
6068
+ z: string | number;
6069
+ } | undefined;
6070
+ size?: {
6071
+ x: string | number;
6072
+ y: string | number;
6073
+ z: string | number;
6074
+ } | undefined;
6075
+ } | undefined;
6076
+ children?: any;
6077
+ symbolName?: string | undefined;
6078
+ }>;
6079
+ sourceFtype: "simple_inductor";
6080
+ };
6081
+ initPorts(): void;
6082
+ doInitialSourceRender(): void;
6083
+ }
6084
+
5678
6085
  declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
5679
6086
  isLoading: boolean;
5680
6087
  error?: Error | null;
@@ -5731,4 +6138,4 @@ declare global {
5731
6138
  }
5732
6139
  }
5733
6140
 
5734
- export { Battery, Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useRenderedCircuit };
6141
+ export { Battery, Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useRenderedCircuit };
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __export(components_exports, {
18
18
  Footprint: () => Footprint,
19
19
  Group: () => Group,
20
20
  Hole: () => Hole,
21
+ Inductor: () => Inductor,
21
22
  Jumper: () => Jumper,
22
23
  Keepout: () => Keepout,
23
24
  Led: () => Led,
@@ -2529,7 +2530,6 @@ var FTYPE = stringProxy;
2529
2530
  import { traceProps } from "@tscircuit/props";
2530
2531
  import {
2531
2532
  MultilayerIjump,
2532
- IJumpAutorouter,
2533
2533
  getObstaclesFromSoup
2534
2534
  } from "@tscircuit/infgrid-ijump-astar";
2535
2535
 
@@ -3165,18 +3165,31 @@ searched component ${targetComponent.getString()}, which has ports: ${targetComp
3165
3165
  const bounds = computeObstacleBounds(obstacles);
3166
3166
  const simpleRouteJsonInput = {
3167
3167
  minTraceWidth: 0.1,
3168
- obstacles: [],
3169
- // leave empty to force traces to draw
3168
+ obstacles,
3170
3169
  connections: [connection],
3171
3170
  bounds,
3172
3171
  layerCount: 1
3173
3172
  };
3174
- let Autorouter = IJumpAutorouter;
3173
+ if (this.getSubcircuit().props._schDebugObjectsEnabled) {
3174
+ for (const obstacle of obstacles) {
3175
+ db.schematic_debug_object.insert({
3176
+ shape: "rect",
3177
+ center: obstacle.center,
3178
+ size: {
3179
+ width: obstacle.width,
3180
+ height: obstacle.height
3181
+ },
3182
+ label: "obstacle"
3183
+ });
3184
+ }
3185
+ }
3186
+ let Autorouter = MultilayerIjump;
3175
3187
  if (this.getSubcircuit().props._schDirectLineRoutingEnabled) {
3176
3188
  Autorouter = DirectLineRouter;
3177
3189
  }
3178
3190
  const autorouter = new Autorouter({
3179
- input: simpleRouteJsonInput
3191
+ input: simpleRouteJsonInput,
3192
+ OBSTACLE_MARGIN: 0.1
3180
3193
  });
3181
3194
  const results = autorouter.solveAndMapToTraces();
3182
3195
  if (results.length === 0) return;
@@ -4186,6 +4199,46 @@ var Battery = class extends NormalComponent {
4186
4199
  }
4187
4200
  };
4188
4201
 
4202
+ // lib/components/normal-components/Inductor.ts
4203
+ import { inductorProps } from "@tscircuit/props";
4204
+ var Inductor = class extends NormalComponent {
4205
+ get config() {
4206
+ return {
4207
+ componentName: "Inductor",
4208
+ schematicSymbolName: this.props.symbolName ?? "inductor",
4209
+ zodProps: inductorProps,
4210
+ sourceFtype: FTYPE.simple_inductor
4211
+ };
4212
+ }
4213
+ initPorts() {
4214
+ this.add(
4215
+ new Port({
4216
+ name: "pin1",
4217
+ pinNumber: 1,
4218
+ aliases: ["anode", "pos", "left"]
4219
+ })
4220
+ );
4221
+ this.add(
4222
+ new Port({
4223
+ name: "pin2",
4224
+ pinNumber: 2,
4225
+ aliases: ["cathode", "neg", "right"]
4226
+ })
4227
+ );
4228
+ }
4229
+ doInitialSourceRender() {
4230
+ const { db } = this.root;
4231
+ const { _parsedProps: props } = this;
4232
+ const source_component = db.source_component.insert({
4233
+ name: props.name,
4234
+ ftype: FTYPE.simple_inductor,
4235
+ inductance: props.inductance,
4236
+ supplier_part_numbers: props.supplierPartNumbers
4237
+ });
4238
+ this.source_component_id = source_component.source_component_id;
4239
+ }
4240
+ };
4241
+
4189
4242
  // lib/Circuit.ts
4190
4243
  import { su } from "@tscircuit/soup-util";
4191
4244
  import { isValidElement as isValidElement2 } from "react";
@@ -4368,6 +4421,7 @@ export {
4368
4421
  Footprint,
4369
4422
  Group,
4370
4423
  Hole,
4424
+ Inductor,
4371
4425
  Jumper,
4372
4426
  Keepout,
4373
4427
  Led,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.126",
4
+ "version": "0.0.128",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -41,14 +41,14 @@
41
41
  "@tscircuit/props": "^0.0.75",
42
42
  "@tscircuit/schematic-autolayout": "^0.0.5",
43
43
  "@tscircuit/soup-util": "^0.0.33",
44
- "circuit-json": "^0.0.86",
44
+ "circuit-json": "^0.0.90",
45
45
  "circuit-json-to-connectivity-map": "^0.0.17",
46
- "circuit-to-svg": "0.0.43",
46
+ "circuit-to-svg": "^0.0.48",
47
47
  "nanoid": "^5.0.7",
48
48
  "performance-now": "^2.1.0",
49
49
  "react": "^18.3.1",
50
50
  "react-reconciler": "^0.29.2",
51
- "schematic-symbols": "0.0.79",
51
+ "schematic-symbols": "0.0.90",
52
52
  "transformation-matrix": "^2.16.1",
53
53
  "zod": "^3.23.8"
54
54
  }