@tscircuit/core 0.0.1300 → 0.0.1301

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
@@ -73862,6 +73862,158 @@ declare class Hole extends PrimitiveComponent<typeof holeProps> {
73862
73862
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
73863
73863
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
73864
73864
  relative: zod.ZodOptional<zod.ZodBoolean>;
73865
+ } & {
73866
+ name: zod.ZodOptional<zod.ZodString>;
73867
+ shape: zod.ZodLiteral<"oval">;
73868
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
73869
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
73870
+ solderMaskMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73871
+ coveredWithSolderMask: zod.ZodOptional<zod.ZodBoolean>;
73872
+ }, "strip", zod.ZodTypeAny, {
73873
+ shape: "oval";
73874
+ width: number;
73875
+ height: number;
73876
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
73877
+ name?: string | undefined;
73878
+ pcbX?: string | number | undefined;
73879
+ pcbY?: string | number | undefined;
73880
+ pcbLeftEdgeX?: string | number | undefined;
73881
+ pcbRightEdgeX?: string | number | undefined;
73882
+ pcbTopEdgeY?: string | number | undefined;
73883
+ pcbBottomEdgeY?: string | number | undefined;
73884
+ pcbOffsetX?: number | undefined;
73885
+ pcbOffsetY?: number | undefined;
73886
+ pcbRotation?: number | undefined;
73887
+ pcbPositionAnchor?: string | undefined;
73888
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
73889
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
73890
+ pcbMarginTop?: number | undefined;
73891
+ pcbMarginRight?: number | undefined;
73892
+ pcbMarginBottom?: number | undefined;
73893
+ pcbMarginLeft?: number | undefined;
73894
+ pcbMarginX?: number | undefined;
73895
+ pcbMarginY?: number | undefined;
73896
+ pcbStyle?: {
73897
+ silkscreenFontSize?: number | undefined;
73898
+ viaPadDiameter?: number | undefined;
73899
+ viaHoleDiameter?: number | undefined;
73900
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
73901
+ offsetX: number;
73902
+ offsetY: number;
73903
+ } | undefined;
73904
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
73905
+ } | undefined;
73906
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
73907
+ pcbRelative?: boolean | undefined;
73908
+ relative?: boolean | undefined;
73909
+ solderMaskMargin?: number | undefined;
73910
+ coveredWithSolderMask?: boolean | undefined;
73911
+ }, {
73912
+ shape: "oval";
73913
+ width: string | number;
73914
+ height: string | number;
73915
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73916
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73917
+ } | undefined;
73918
+ name?: string | undefined;
73919
+ pcbX?: string | number | undefined;
73920
+ pcbY?: string | number | undefined;
73921
+ pcbLeftEdgeX?: string | number | undefined;
73922
+ pcbRightEdgeX?: string | number | undefined;
73923
+ pcbTopEdgeY?: string | number | undefined;
73924
+ pcbBottomEdgeY?: string | number | undefined;
73925
+ pcbOffsetX?: string | number | undefined;
73926
+ pcbOffsetY?: string | number | undefined;
73927
+ pcbRotation?: string | number | undefined;
73928
+ pcbPositionAnchor?: string | undefined;
73929
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
73930
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
73931
+ pcbMarginTop?: string | number | undefined;
73932
+ pcbMarginRight?: string | number | undefined;
73933
+ pcbMarginBottom?: string | number | undefined;
73934
+ pcbMarginLeft?: string | number | undefined;
73935
+ pcbMarginX?: string | number | undefined;
73936
+ pcbMarginY?: string | number | undefined;
73937
+ pcbStyle?: {
73938
+ silkscreenFontSize?: string | number | undefined;
73939
+ viaPadDiameter?: string | number | undefined;
73940
+ viaHoleDiameter?: string | number | undefined;
73941
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
73942
+ offsetX: number;
73943
+ offsetY: number;
73944
+ } | undefined;
73945
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
73946
+ } | undefined;
73947
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
73948
+ pcbRelative?: boolean | undefined;
73949
+ relative?: boolean | undefined;
73950
+ solderMaskMargin?: string | number | undefined;
73951
+ coveredWithSolderMask?: boolean | undefined;
73952
+ }>, zod.ZodObject<{
73953
+ pcbX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73954
+ pcbY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73955
+ pcbLeftEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73956
+ pcbRightEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73957
+ pcbTopEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73958
+ pcbBottomEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
73959
+ pcbOffsetX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73960
+ pcbOffsetY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73961
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73962
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
73963
+ pcbPositionMode: zod.ZodOptional<zod.ZodEnum<["relative_to_group_anchor", "auto", "relative_to_board_anchor", "relative_to_component_anchor"]>>;
73964
+ shouldBeOnEdgeOfBoard: zod.ZodOptional<zod.ZodBoolean>;
73965
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
73966
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
73967
+ }, "strip", zod.ZodTypeAny, {
73968
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73969
+ }, {
73970
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73971
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
73972
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
73973
+ }>>;
73974
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73975
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73976
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73977
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73978
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73979
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73980
+ pcbStyle: zod.ZodOptional<zod.ZodObject<{
73981
+ silkscreenFontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73982
+ viaPadDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73983
+ viaHoleDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
73984
+ silkscreenTextPosition: zod.ZodOptional<zod.ZodUnion<[zod.ZodEnum<["centered", "outside", "none"]>, zod.ZodObject<{
73985
+ offsetX: zod.ZodNumber;
73986
+ offsetY: zod.ZodNumber;
73987
+ }, "strip", zod.ZodTypeAny, {
73988
+ offsetX: number;
73989
+ offsetY: number;
73990
+ }, {
73991
+ offsetX: number;
73992
+ offsetY: number;
73993
+ }>]>>;
73994
+ silkscreenTextVisibility: zod.ZodOptional<zod.ZodEnum<["hidden", "visible", "inherit"]>>;
73995
+ }, "strip", zod.ZodTypeAny, {
73996
+ silkscreenFontSize?: number | undefined;
73997
+ viaPadDiameter?: number | undefined;
73998
+ viaHoleDiameter?: number | undefined;
73999
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
74000
+ offsetX: number;
74001
+ offsetY: number;
74002
+ } | undefined;
74003
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
74004
+ }, {
74005
+ silkscreenFontSize?: string | number | undefined;
74006
+ viaPadDiameter?: string | number | undefined;
74007
+ viaHoleDiameter?: string | number | undefined;
74008
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
74009
+ offsetX: number;
74010
+ offsetY: number;
74011
+ } | undefined;
74012
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
74013
+ }>>;
74014
+ pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
74015
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
74016
+ relative: zod.ZodOptional<zod.ZodBoolean>;
73865
74017
  } & {
73866
74018
  name: zod.ZodOptional<zod.ZodString>;
73867
74019
  shape: zod.ZodLiteral<"rect">;
@@ -147466,7 +147618,6 @@ declare class SchematicRect extends PrimitiveComponent<typeof schematicRectProps
147466
147618
  isFilled: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
147467
147619
  fillColor: zod.ZodOptional<zod.ZodString>;
147468
147620
  isDashed: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
147469
- cornerRadius: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
147470
147621
  }, "strip", zod.ZodTypeAny, {
147471
147622
  rotation: number;
147472
147623
  width: number;
@@ -147476,7 +147627,6 @@ declare class SchematicRect extends PrimitiveComponent<typeof schematicRectProps
147476
147627
  schX?: number | undefined;
147477
147628
  schY?: number | undefined;
147478
147629
  strokeWidth?: number | undefined;
147479
- cornerRadius?: number | undefined;
147480
147630
  color?: string | undefined;
147481
147631
  fillColor?: string | undefined;
147482
147632
  }, {
@@ -147486,7 +147636,6 @@ declare class SchematicRect extends PrimitiveComponent<typeof schematicRectProps
147486
147636
  schX?: string | number | undefined;
147487
147637
  schY?: string | number | undefined;
147488
147638
  strokeWidth?: string | number | undefined;
147489
- cornerRadius?: string | number | undefined;
147490
147639
  color?: string | undefined;
147491
147640
  isFilled?: boolean | undefined;
147492
147641
  isDashed?: boolean | undefined;
package/dist/index.js CHANGED
@@ -6590,8 +6590,9 @@ var Hole = class extends PrimitiveComponent2 {
6590
6590
  getPcbSize() {
6591
6591
  const { _parsedProps: props } = this;
6592
6592
  const isPill = props.shape === "pill";
6593
+ const isOval = props.shape === "oval";
6593
6594
  const isRect = props.shape === "rect";
6594
- if (isPill) {
6595
+ if (isPill || isOval) {
6595
6596
  return {
6596
6597
  width: props.width,
6597
6598
  height: props.height
@@ -6651,6 +6652,21 @@ var Hole = class extends PrimitiveComponent2 {
6651
6652
  });
6652
6653
  this.pcb_hole_id = inserted_hole.pcb_hole_id;
6653
6654
  }
6655
+ } else if (props.shape === "oval") {
6656
+ const inserted_hole = db.pcb_hole.insert({
6657
+ pcb_component_id,
6658
+ type: "pcb_hole",
6659
+ hole_shape: "oval",
6660
+ hole_width: props.width,
6661
+ hole_height: props.height,
6662
+ x: position.x,
6663
+ y: position.y,
6664
+ soldermask_margin: soldermaskMargin,
6665
+ is_covered_with_solder_mask: isCoveredWithSolderMask,
6666
+ subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
6667
+ pcb_group_id: subcircuit?.getGroup()?.pcb_group_id ?? void 0
6668
+ });
6669
+ this.pcb_hole_id = inserted_hole.pcb_hole_id;
6654
6670
  } else if (props.shape === "rect") {
6655
6671
  const inserted_hole = db.pcb_hole.insert({
6656
6672
  pcb_component_id,
@@ -9540,6 +9556,16 @@ var createComponentsFromCircuitJson = ({
9540
9556
  height: elm.hole_height
9541
9557
  })
9542
9558
  );
9559
+ } else if (elm.type === "pcb_hole" && elm.hole_shape === "oval") {
9560
+ components.push(
9561
+ new Hole({
9562
+ pcbX: elm.x,
9563
+ pcbY: elm.y,
9564
+ shape: "oval",
9565
+ width: elm.hole_width,
9566
+ height: elm.hole_height
9567
+ })
9568
+ );
9543
9569
  } else if (elm.type === "pcb_hole" && elm.hole_shape === "rotated_pill") {
9544
9570
  components.push(
9545
9571
  new Hole({
@@ -23347,7 +23373,7 @@ import { identity as identity5 } from "transformation-matrix";
23347
23373
  var package_default = {
23348
23374
  name: "@tscircuit/core",
23349
23375
  type: "module",
23350
- version: "0.0.1299",
23376
+ version: "0.0.1300",
23351
23377
  types: "dist/index.d.ts",
23352
23378
  main: "dist/index.js",
23353
23379
  module: "dist/index.js",
@@ -23395,7 +23421,7 @@ var package_default = {
23395
23421
  "@tscircuit/math-utils": "^0.0.36",
23396
23422
  "@tscircuit/miniflex": "^0.0.4",
23397
23423
  "@tscircuit/ngspice-spice-engine": "^0.0.8",
23398
- "@tscircuit/props": "^0.0.542",
23424
+ "@tscircuit/props": "^0.0.545",
23399
23425
  "@tscircuit/schematic-match-adapt": "^0.0.18",
23400
23426
  "@tscircuit/schematic-trace-solver": "^0.0.60",
23401
23427
  "@tscircuit/solver-utils": "^0.0.3",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1300",
4
+ "version": "0.0.1301",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -49,7 +49,7 @@
49
49
  "@tscircuit/math-utils": "^0.0.36",
50
50
  "@tscircuit/miniflex": "^0.0.4",
51
51
  "@tscircuit/ngspice-spice-engine": "^0.0.8",
52
- "@tscircuit/props": "^0.0.542",
52
+ "@tscircuit/props": "^0.0.545",
53
53
  "@tscircuit/schematic-match-adapt": "^0.0.18",
54
54
  "@tscircuit/schematic-trace-solver": "^0.0.60",
55
55
  "@tscircuit/solver-utils": "^0.0.3",