@tscircuit/core 0.0.106 → 0.0.107
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 +106 -2
- package/dist/index.js +63 -1
- package/package.json +3 -3
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 Props from '@tscircuit/props';
|
|
9
|
-
import { traceProps, groupProps, boardProps, footprintProps, smtPadProps, resistorProps, ledProps, diodeProps, capacitorProps, traceHintProps, chipProps, jumperProps, silkscreenPathProps, platedHoleProps, constraintProps, holeProps, silkscreenTextProps, pcbKeepoutProps, fabricationNoteTextProps, fabricationNotePathProps } from '@tscircuit/props';
|
|
9
|
+
import { traceProps, groupProps, boardProps, footprintProps, smtPadProps, resistorProps, ledProps, diodeProps, capacitorProps, traceHintProps, chipProps, jumperProps, silkscreenPathProps, platedHoleProps, constraintProps, holeProps, silkscreenTextProps, pcbKeepoutProps, fabricationNoteTextProps, fabricationNotePathProps, viaProps } from '@tscircuit/props';
|
|
10
10
|
|
|
11
11
|
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicLayout", "SchematicPortRender", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender"];
|
|
12
12
|
type RenderPhase = (typeof orderedRenderPhases)[number];
|
|
@@ -4599,6 +4599,110 @@ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationN
|
|
|
4599
4599
|
doInitialPcbPrimitiveRender(): void;
|
|
4600
4600
|
}
|
|
4601
4601
|
|
|
4602
|
+
declare class Via extends PrimitiveComponent<typeof viaProps> {
|
|
4603
|
+
pcb_via_id: string | null;
|
|
4604
|
+
matchedPort: Port | null;
|
|
4605
|
+
isPcbPrimitive: boolean;
|
|
4606
|
+
get config(): {
|
|
4607
|
+
componentName: string;
|
|
4608
|
+
zodProps: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
4609
|
+
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4610
|
+
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4611
|
+
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4612
|
+
schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4613
|
+
schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4614
|
+
schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4615
|
+
layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
4616
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
4617
|
+
}, "strip", zod.ZodTypeAny, {
|
|
4618
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4619
|
+
}, {
|
|
4620
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4621
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4622
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4623
|
+
}>>;
|
|
4624
|
+
footprint: zod.ZodOptional<zod.ZodType<Props.Footprint, zod.ZodTypeDef, Props.Footprint>>;
|
|
4625
|
+
}, {
|
|
4626
|
+
fromLayer: zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
4627
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
4628
|
+
}, "strip", zod.ZodTypeAny, {
|
|
4629
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4630
|
+
}, {
|
|
4631
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4632
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4633
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4634
|
+
}>;
|
|
4635
|
+
toLayer: zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
4636
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
4637
|
+
}, "strip", zod.ZodTypeAny, {
|
|
4638
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4639
|
+
}, {
|
|
4640
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4641
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4642
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4643
|
+
}>;
|
|
4644
|
+
holeDiameter: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
4645
|
+
outerDiameter: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
4646
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
4647
|
+
fromLayer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4648
|
+
toLayer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4649
|
+
holeDiameter: number;
|
|
4650
|
+
outerDiameter: number;
|
|
4651
|
+
pcbX?: number | undefined;
|
|
4652
|
+
pcbY?: number | undefined;
|
|
4653
|
+
pcbRotation?: number | undefined;
|
|
4654
|
+
schX?: number | undefined;
|
|
4655
|
+
schY?: number | undefined;
|
|
4656
|
+
schRotation?: number | undefined;
|
|
4657
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
4658
|
+
footprint?: Props.Footprint | undefined;
|
|
4659
|
+
}, {
|
|
4660
|
+
fromLayer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4661
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4662
|
+
};
|
|
4663
|
+
toLayer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4664
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4665
|
+
};
|
|
4666
|
+
holeDiameter: string | number;
|
|
4667
|
+
outerDiameter: string | number;
|
|
4668
|
+
pcbX?: string | number | undefined;
|
|
4669
|
+
pcbY?: string | number | undefined;
|
|
4670
|
+
pcbRotation?: string | number | undefined;
|
|
4671
|
+
schX?: string | number | undefined;
|
|
4672
|
+
schY?: string | number | undefined;
|
|
4673
|
+
schRotation?: string | number | undefined;
|
|
4674
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4675
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4676
|
+
} | undefined;
|
|
4677
|
+
footprint?: Props.Footprint | undefined;
|
|
4678
|
+
}>;
|
|
4679
|
+
};
|
|
4680
|
+
getAvailablePcbLayers(): string[];
|
|
4681
|
+
getPcbSize(): {
|
|
4682
|
+
width: number;
|
|
4683
|
+
height: number;
|
|
4684
|
+
};
|
|
4685
|
+
_getPcbCircuitJsonBounds(): {
|
|
4686
|
+
center: {
|
|
4687
|
+
x: number;
|
|
4688
|
+
y: number;
|
|
4689
|
+
};
|
|
4690
|
+
bounds: {
|
|
4691
|
+
left: number;
|
|
4692
|
+
top: number;
|
|
4693
|
+
right: number;
|
|
4694
|
+
bottom: number;
|
|
4695
|
+
};
|
|
4696
|
+
width: number;
|
|
4697
|
+
height: number;
|
|
4698
|
+
};
|
|
4699
|
+
_setPositionFromLayout(newCenter: {
|
|
4700
|
+
x: number;
|
|
4701
|
+
y: number;
|
|
4702
|
+
}): void;
|
|
4703
|
+
doInitialPcbPrimitiveRender(): void;
|
|
4704
|
+
}
|
|
4705
|
+
|
|
4602
4706
|
declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
|
|
4603
4707
|
isLoading: boolean;
|
|
4604
4708
|
error?: Error | null;
|
|
@@ -4652,4 +4756,4 @@ declare global {
|
|
|
4652
4756
|
}
|
|
4653
4757
|
}
|
|
4654
4758
|
|
|
4655
|
-
export { Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NormalComponent, PlatedHole, Port, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenPath, SilkscreenText, SmtPad, Trace, TraceHint, useRenderedCircuit };
|
|
4759
|
+
export { Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NormalComponent, PlatedHole, Port, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenPath, SilkscreenText, SmtPad, Trace, TraceHint, Via, useRenderedCircuit };
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,8 @@ __export(components_exports, {
|
|
|
31
31
|
SilkscreenText: () => SilkscreenText,
|
|
32
32
|
SmtPad: () => SmtPad,
|
|
33
33
|
Trace: () => Trace,
|
|
34
|
-
TraceHint: () => TraceHint
|
|
34
|
+
TraceHint: () => TraceHint,
|
|
35
|
+
Via: () => Via
|
|
35
36
|
});
|
|
36
37
|
|
|
37
38
|
// lib/components/base-components/NormalComponent.ts
|
|
@@ -3796,6 +3797,66 @@ var FabricationNotePath = class extends PrimitiveComponent {
|
|
|
3796
3797
|
}
|
|
3797
3798
|
};
|
|
3798
3799
|
|
|
3800
|
+
// lib/components/primitive-components/Via.ts
|
|
3801
|
+
import { viaProps } from "@tscircuit/props";
|
|
3802
|
+
var Via = class extends PrimitiveComponent {
|
|
3803
|
+
pcb_via_id = null;
|
|
3804
|
+
matchedPort = null;
|
|
3805
|
+
isPcbPrimitive = true;
|
|
3806
|
+
get config() {
|
|
3807
|
+
return {
|
|
3808
|
+
componentName: "Via",
|
|
3809
|
+
zodProps: viaProps
|
|
3810
|
+
};
|
|
3811
|
+
}
|
|
3812
|
+
getAvailablePcbLayers() {
|
|
3813
|
+
return ["top", "inner1", "inner2", "bottom"];
|
|
3814
|
+
}
|
|
3815
|
+
getPcbSize() {
|
|
3816
|
+
const { _parsedProps: props } = this;
|
|
3817
|
+
return { width: props.outerDiameter, height: props.outerDiameter };
|
|
3818
|
+
}
|
|
3819
|
+
_getPcbCircuitJsonBounds() {
|
|
3820
|
+
const { db } = this.root;
|
|
3821
|
+
const via = db.pcb_via.get(this.pcb_via_id);
|
|
3822
|
+
const size = this.getPcbSize();
|
|
3823
|
+
return {
|
|
3824
|
+
center: { x: via.x, y: via.y },
|
|
3825
|
+
bounds: {
|
|
3826
|
+
left: via.x - size.width / 2,
|
|
3827
|
+
top: via.y - size.height / 2,
|
|
3828
|
+
right: via.x + size.width / 2,
|
|
3829
|
+
bottom: via.y + size.height / 2
|
|
3830
|
+
},
|
|
3831
|
+
width: size.width,
|
|
3832
|
+
height: size.height
|
|
3833
|
+
};
|
|
3834
|
+
}
|
|
3835
|
+
_setPositionFromLayout(newCenter) {
|
|
3836
|
+
const { db } = this.root;
|
|
3837
|
+
db.pcb_via.update(this.pcb_via_id, {
|
|
3838
|
+
x: newCenter.x,
|
|
3839
|
+
y: newCenter.y
|
|
3840
|
+
});
|
|
3841
|
+
this.matchedPort?._setPositionFromLayout(newCenter);
|
|
3842
|
+
}
|
|
3843
|
+
doInitialPcbPrimitiveRender() {
|
|
3844
|
+
const { db } = this.root;
|
|
3845
|
+
const { _parsedProps: props } = this;
|
|
3846
|
+
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
3847
|
+
const pcb_via = db.pcb_via.insert({
|
|
3848
|
+
x: position.x,
|
|
3849
|
+
y: position.y,
|
|
3850
|
+
hole_diameter: props.holeDiameter,
|
|
3851
|
+
outer_diameter: props.outerDiameter,
|
|
3852
|
+
layers: ["bottom", "top"],
|
|
3853
|
+
from_layer: props.fromLayer || "bottom",
|
|
3854
|
+
to_layer: props.toLayer || "top"
|
|
3855
|
+
});
|
|
3856
|
+
this.pcb_via_id = pcb_via.pcb_via_id;
|
|
3857
|
+
}
|
|
3858
|
+
};
|
|
3859
|
+
|
|
3799
3860
|
// lib/Circuit.ts
|
|
3800
3861
|
import { su } from "@tscircuit/soup-util";
|
|
3801
3862
|
import { isValidElement as isValidElement2 } from "react";
|
|
@@ -3960,5 +4021,6 @@ export {
|
|
|
3960
4021
|
SmtPad,
|
|
3961
4022
|
Trace,
|
|
3962
4023
|
TraceHint,
|
|
4024
|
+
Via,
|
|
3963
4025
|
useRenderedCircuit
|
|
3964
4026
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.107",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@tscircuit/infgrid-ijump-astar": "^0.0.21",
|
|
40
40
|
"@tscircuit/math-utils": "^0.0.4",
|
|
41
41
|
"@tscircuit/props": "^0.0.68",
|
|
42
|
-
"@tscircuit/soup-util": "^0.0.
|
|
43
|
-
"circuit-json": "^0.0.
|
|
42
|
+
"@tscircuit/soup-util": "^0.0.33",
|
|
43
|
+
"circuit-json": "^0.0.85",
|
|
44
44
|
"circuit-json-to-connectivity-map": "^0.0.17",
|
|
45
45
|
"@tscircuit/footprinter": "^0.0.66",
|
|
46
46
|
"nanoid": "^5.0.7",
|