@tscircuit/core 0.0.1327 → 0.0.1329
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 +1 -1
- package/dist/index.js +248 -140
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -467,7 +467,7 @@ declare class Trace extends PrimitiveComponent<typeof traceProps> implements Tra
|
|
|
467
467
|
source_trace_id: string | null;
|
|
468
468
|
pcb_trace_id: string | null;
|
|
469
469
|
schematic_trace_id: string | null;
|
|
470
|
-
|
|
470
|
+
_inflatedPcbTraces?: PcbTrace$1[];
|
|
471
471
|
_inflatedPcbVias?: PcbVia$1[];
|
|
472
472
|
_portsRoutedOnPcb: Port[];
|
|
473
473
|
subcircuit_connectivity_map_key: string | null;
|
package/dist/index.js
CHANGED
|
@@ -4676,8 +4676,9 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
4676
4676
|
const subcircuit = trace.getSubcircuit();
|
|
4677
4677
|
const hasPcbPath = props.pcbPath !== void 0;
|
|
4678
4678
|
const wantsStraightLine = Boolean(props.pcbStraightLine);
|
|
4679
|
-
const
|
|
4680
|
-
if (!hasPcbPath && !wantsStraightLine &&
|
|
4679
|
+
const inflatedPcbTraces = trace._inflatedPcbTraces ?? [];
|
|
4680
|
+
if (!hasPcbPath && !wantsStraightLine && inflatedPcbTraces.length === 0)
|
|
4681
|
+
return;
|
|
4681
4682
|
let allPortsFound;
|
|
4682
4683
|
let ports;
|
|
4683
4684
|
let portsWithSelectors;
|
|
@@ -4730,86 +4731,94 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
4730
4731
|
return;
|
|
4731
4732
|
}
|
|
4732
4733
|
const width = trace._getExplicitTraceThickness() ?? trace.getSubcircuit()._parsedProps.minTraceWidth ?? jlcMinTolerances.min_trace_width;
|
|
4733
|
-
if (
|
|
4734
|
+
if (inflatedPcbTraces.length > 0) {
|
|
4734
4735
|
const { maybeFlipLayer } = trace._getPcbPrimitiveFlippedHelpers();
|
|
4735
4736
|
const transform2 = trace._computePcbGlobalTransformBeforeLayout();
|
|
4736
|
-
const
|
|
4737
|
-
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4747
|
-
|
|
4748
|
-
|
|
4737
|
+
const insertedRoutes = [];
|
|
4738
|
+
for (const inflatedPcbTrace of inflatedPcbTraces) {
|
|
4739
|
+
const transformedRoute = inflatedPcbTrace.route.map((point6) => {
|
|
4740
|
+
if (point6.route_type === "wire") {
|
|
4741
|
+
const { x, y, ...restOfPoint } = point6;
|
|
4742
|
+
const transformedPoint = applyToPoint2(transform2, { x, y });
|
|
4743
|
+
return {
|
|
4744
|
+
...restOfPoint,
|
|
4745
|
+
...transformedPoint,
|
|
4746
|
+
layer: maybeFlipLayer(point6.layer)
|
|
4747
|
+
};
|
|
4748
|
+
}
|
|
4749
|
+
if (point6.route_type === "via") {
|
|
4750
|
+
const { x, y, ...restOfPoint } = point6;
|
|
4751
|
+
const transformedPoint = applyToPoint2(transform2, { x, y });
|
|
4752
|
+
return {
|
|
4753
|
+
...restOfPoint,
|
|
4754
|
+
...transformedPoint,
|
|
4755
|
+
from_layer: maybeFlipLayer(point6.from_layer),
|
|
4756
|
+
to_layer: maybeFlipLayer(point6.to_layer)
|
|
4757
|
+
};
|
|
4758
|
+
}
|
|
4749
4759
|
return {
|
|
4750
|
-
...
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4760
|
+
...point6,
|
|
4761
|
+
start: applyToPoint2(transform2, point6.start),
|
|
4762
|
+
end: applyToPoint2(transform2, point6.end),
|
|
4763
|
+
start_layer: maybeFlipLayer(point6.start_layer),
|
|
4764
|
+
end_layer: maybeFlipLayer(point6.end_layer)
|
|
4754
4765
|
};
|
|
4766
|
+
});
|
|
4767
|
+
const pcb_trace2 = db.pcb_trace.insert({
|
|
4768
|
+
...inflatedPcbTrace,
|
|
4769
|
+
route: transformedRoute,
|
|
4770
|
+
source_trace_id: trace.source_trace_id,
|
|
4771
|
+
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
4772
|
+
pcb_group_id: trace.getGroup()?.pcb_group_id ?? void 0
|
|
4773
|
+
});
|
|
4774
|
+
const pcbStyle2 = trace.getInheritedMergedProperty("pcbStyle");
|
|
4775
|
+
const { holeDiameter: holeDiameter2, padDiameter: padDiameter2 } = getViaDiameterDefaults(pcbStyle2);
|
|
4776
|
+
for (let index = 0; index < transformedRoute.length; index++) {
|
|
4777
|
+
const point6 = transformedRoute[index];
|
|
4778
|
+
if (point6.route_type === "via") {
|
|
4779
|
+
const originalPoint = inflatedPcbTrace.route[index];
|
|
4780
|
+
const inflatedPcbVia = findInflatedPcbViaForPoint(
|
|
4781
|
+
trace._inflatedPcbVias,
|
|
4782
|
+
originalPoint
|
|
4783
|
+
);
|
|
4784
|
+
const routePointViaDiameter = getViaDiameterFromRoutePoint(point6);
|
|
4785
|
+
const fromLayer = maybeFlipLayer(
|
|
4786
|
+
inflatedPcbVia?.from_layer ?? point6.from_layer
|
|
4787
|
+
);
|
|
4788
|
+
const toLayer = maybeFlipLayer(
|
|
4789
|
+
inflatedPcbVia?.to_layer ?? point6.to_layer
|
|
4790
|
+
);
|
|
4791
|
+
const layers = (inflatedPcbVia?.layers ?? [
|
|
4792
|
+
point6.from_layer,
|
|
4793
|
+
point6.to_layer
|
|
4794
|
+
]).map((layer2) => maybeFlipLayer(layer2));
|
|
4795
|
+
db.pcb_via.insert({
|
|
4796
|
+
pcb_trace_id: pcb_trace2.pcb_trace_id,
|
|
4797
|
+
x: point6.x,
|
|
4798
|
+
y: point6.y,
|
|
4799
|
+
hole_diameter: inflatedPcbVia?.hole_diameter ?? routePointViaDiameter.holeDiameter ?? holeDiameter2,
|
|
4800
|
+
outer_diameter: inflatedPcbVia?.outer_diameter ?? routePointViaDiameter.outerDiameter ?? padDiameter2,
|
|
4801
|
+
layers,
|
|
4802
|
+
from_layer: fromLayer,
|
|
4803
|
+
to_layer: toLayer,
|
|
4804
|
+
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
4805
|
+
pcb_group_id: trace.getGroup()?.pcb_group_id ?? void 0,
|
|
4806
|
+
subcircuit_connectivity_map_key: inflatedPcbVia?.subcircuit_connectivity_map_key,
|
|
4807
|
+
net_is_assignable: inflatedPcbVia?.net_is_assignable,
|
|
4808
|
+
net_assigned: inflatedPcbVia?.net_assigned,
|
|
4809
|
+
is_tented: inflatedPcbVia?.is_tented
|
|
4810
|
+
});
|
|
4811
|
+
}
|
|
4755
4812
|
}
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
start: applyToPoint2(transform2, point6.start),
|
|
4759
|
-
end: applyToPoint2(transform2, point6.end),
|
|
4760
|
-
start_layer: maybeFlipLayer(point6.start_layer),
|
|
4761
|
-
end_layer: maybeFlipLayer(point6.end_layer)
|
|
4762
|
-
};
|
|
4763
|
-
});
|
|
4764
|
-
const pcb_trace2 = db.pcb_trace.insert({
|
|
4765
|
-
...inflatedPcbTrace,
|
|
4766
|
-
route: transformedRoute,
|
|
4767
|
-
source_trace_id: trace.source_trace_id,
|
|
4768
|
-
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
4769
|
-
pcb_group_id: trace.getGroup()?.pcb_group_id ?? void 0
|
|
4770
|
-
});
|
|
4771
|
-
const pcbStyle2 = trace.getInheritedMergedProperty("pcbStyle");
|
|
4772
|
-
const { holeDiameter: holeDiameter2, padDiameter: padDiameter2 } = getViaDiameterDefaults(pcbStyle2);
|
|
4773
|
-
for (let index = 0; index < transformedRoute.length; index++) {
|
|
4774
|
-
const point6 = transformedRoute[index];
|
|
4775
|
-
if (point6.route_type === "via") {
|
|
4776
|
-
const originalPoint = inflatedPcbTrace.route[index];
|
|
4777
|
-
const inflatedPcbVia = findInflatedPcbViaForPoint(
|
|
4778
|
-
trace._inflatedPcbVias,
|
|
4779
|
-
originalPoint
|
|
4780
|
-
);
|
|
4781
|
-
const routePointViaDiameter = getViaDiameterFromRoutePoint(point6);
|
|
4782
|
-
const fromLayer = maybeFlipLayer(
|
|
4783
|
-
inflatedPcbVia?.from_layer ?? point6.from_layer
|
|
4784
|
-
);
|
|
4785
|
-
const toLayer = maybeFlipLayer(
|
|
4786
|
-
inflatedPcbVia?.to_layer ?? point6.to_layer
|
|
4787
|
-
);
|
|
4788
|
-
const layers = (inflatedPcbVia?.layers ?? [
|
|
4789
|
-
point6.from_layer,
|
|
4790
|
-
point6.to_layer
|
|
4791
|
-
]).map((layer2) => maybeFlipLayer(layer2));
|
|
4792
|
-
db.pcb_via.insert({
|
|
4793
|
-
pcb_trace_id: pcb_trace2.pcb_trace_id,
|
|
4794
|
-
x: point6.x,
|
|
4795
|
-
y: point6.y,
|
|
4796
|
-
hole_diameter: inflatedPcbVia?.hole_diameter ?? routePointViaDiameter.holeDiameter ?? holeDiameter2,
|
|
4797
|
-
outer_diameter: inflatedPcbVia?.outer_diameter ?? routePointViaDiameter.outerDiameter ?? padDiameter2,
|
|
4798
|
-
layers,
|
|
4799
|
-
from_layer: fromLayer,
|
|
4800
|
-
to_layer: toLayer,
|
|
4801
|
-
subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
|
|
4802
|
-
pcb_group_id: trace.getGroup()?.pcb_group_id ?? void 0,
|
|
4803
|
-
subcircuit_connectivity_map_key: inflatedPcbVia?.subcircuit_connectivity_map_key,
|
|
4804
|
-
net_is_assignable: inflatedPcbVia?.net_is_assignable,
|
|
4805
|
-
net_assigned: inflatedPcbVia?.net_assigned,
|
|
4806
|
-
is_tented: inflatedPcbVia?.is_tented
|
|
4807
|
-
});
|
|
4813
|
+
if (!trace.pcb_trace_id) {
|
|
4814
|
+
trace.pcb_trace_id = pcb_trace2.pcb_trace_id;
|
|
4808
4815
|
}
|
|
4816
|
+
insertedRoutes.push(pcb_trace2.route);
|
|
4817
|
+
}
|
|
4818
|
+
for (const route2 of insertedRoutes) {
|
|
4819
|
+
trace._insertErrorIfTraceIsOutsideBoard(route2, ports);
|
|
4809
4820
|
}
|
|
4810
4821
|
trace._portsRoutedOnPcb = ports;
|
|
4811
|
-
trace.pcb_trace_id = pcb_trace2.pcb_trace_id;
|
|
4812
|
-
trace._insertErrorIfTraceIsOutsideBoard(pcb_trace2.route, ports);
|
|
4813
4822
|
return;
|
|
4814
4823
|
}
|
|
4815
4824
|
if (wantsStraightLine && !hasPcbPath) {
|
|
@@ -5178,7 +5187,7 @@ var Trace3 = class extends PrimitiveComponent2 {
|
|
|
5178
5187
|
source_trace_id = null;
|
|
5179
5188
|
pcb_trace_id = null;
|
|
5180
5189
|
schematic_trace_id = null;
|
|
5181
|
-
|
|
5190
|
+
_inflatedPcbTraces;
|
|
5182
5191
|
_inflatedPcbVias;
|
|
5183
5192
|
_portsRoutedOnPcb;
|
|
5184
5193
|
subcircuit_connectivity_map_key = null;
|
|
@@ -14752,6 +14761,55 @@ function inflateSourceDiode(sourceElm, inflatorContext) {
|
|
|
14752
14761
|
}
|
|
14753
14762
|
}
|
|
14754
14763
|
|
|
14764
|
+
// lib/components/primitive-components/Group/Subcircuit/inflators/inflateSourceFiducial.ts
|
|
14765
|
+
import { fiducialProps } from "@tscircuit/props";
|
|
14766
|
+
var InflatedFiducial = class extends NormalComponent3 {
|
|
14767
|
+
get config() {
|
|
14768
|
+
return {
|
|
14769
|
+
componentName: "Fiducial",
|
|
14770
|
+
zodProps: fiducialProps,
|
|
14771
|
+
sourceFtype: "simple_fiducial"
|
|
14772
|
+
};
|
|
14773
|
+
}
|
|
14774
|
+
doInitialSchematicComponentRender() {
|
|
14775
|
+
}
|
|
14776
|
+
};
|
|
14777
|
+
function inflateSourceFiducial(sourceElm, inflatorContext) {
|
|
14778
|
+
const { injectionDb, subcircuit, groupsMap } = inflatorContext;
|
|
14779
|
+
const pcbElm = injectionDb.pcb_component.getWhere({
|
|
14780
|
+
source_component_id: sourceElm.source_component_id
|
|
14781
|
+
});
|
|
14782
|
+
const { pcbX, pcbY } = getInflatedPcbPlacement({
|
|
14783
|
+
pcbComponent: pcbElm,
|
|
14784
|
+
sourceGroupId: sourceElm.source_group_id,
|
|
14785
|
+
inflatorContext
|
|
14786
|
+
});
|
|
14787
|
+
const fiducial = new InflatedFiducial({
|
|
14788
|
+
name: sourceElm.name,
|
|
14789
|
+
layer: pcbElm?.layer,
|
|
14790
|
+
pcbX,
|
|
14791
|
+
pcbY,
|
|
14792
|
+
pcbRotation: pcbElm?.rotation,
|
|
14793
|
+
doNotPlace: pcbElm?.do_not_place,
|
|
14794
|
+
obstructsWithinBounds: pcbElm?.obstructs_within_bounds
|
|
14795
|
+
});
|
|
14796
|
+
if (pcbElm) {
|
|
14797
|
+
const footprint = inflateFootprintComponent(pcbElm, {
|
|
14798
|
+
...inflatorContext,
|
|
14799
|
+
normalComponent: fiducial
|
|
14800
|
+
});
|
|
14801
|
+
if (footprint) {
|
|
14802
|
+
fiducial.add(footprint);
|
|
14803
|
+
}
|
|
14804
|
+
}
|
|
14805
|
+
if (sourceElm.source_group_id && groupsMap?.has(sourceElm.source_group_id)) {
|
|
14806
|
+
const group = groupsMap.get(sourceElm.source_group_id);
|
|
14807
|
+
group.add(fiducial);
|
|
14808
|
+
} else {
|
|
14809
|
+
subcircuit.add(fiducial);
|
|
14810
|
+
}
|
|
14811
|
+
}
|
|
14812
|
+
|
|
14755
14813
|
// lib/components/primitive-components/Group/Group.ts
|
|
14756
14814
|
import {
|
|
14757
14815
|
convertSrjToGraphicsObject,
|
|
@@ -22732,6 +22790,103 @@ function inflateSourceInductor(sourceElm, inflatorContext) {
|
|
|
22732
22790
|
}
|
|
22733
22791
|
}
|
|
22734
22792
|
|
|
22793
|
+
// lib/components/normal-components/Led.ts
|
|
22794
|
+
import { ledProps } from "@tscircuit/props";
|
|
22795
|
+
var Led = class extends NormalComponent3 {
|
|
22796
|
+
get config() {
|
|
22797
|
+
const symbolMap = {
|
|
22798
|
+
laser: "laser_diode"
|
|
22799
|
+
};
|
|
22800
|
+
const variantSymbol = this.props.laser ? "laser" : null;
|
|
22801
|
+
return {
|
|
22802
|
+
schematicSymbolName: variantSymbol ? symbolMap[variantSymbol] : this.props.symbolName ?? "led",
|
|
22803
|
+
componentName: "Led",
|
|
22804
|
+
zodProps: ledProps,
|
|
22805
|
+
sourceFtype: "simple_led"
|
|
22806
|
+
};
|
|
22807
|
+
}
|
|
22808
|
+
initPorts() {
|
|
22809
|
+
super.initPorts({
|
|
22810
|
+
additionalAliases: {
|
|
22811
|
+
pin1: ["anode", "pos", "left"],
|
|
22812
|
+
pin2: ["cathode", "neg", "right"]
|
|
22813
|
+
}
|
|
22814
|
+
});
|
|
22815
|
+
}
|
|
22816
|
+
_getSchematicSymbolDisplayValue() {
|
|
22817
|
+
return this._parsedProps.schDisplayValue || this._parsedProps.color || void 0;
|
|
22818
|
+
}
|
|
22819
|
+
getFootprinterString() {
|
|
22820
|
+
const baseFootprint = super.getFootprinterString();
|
|
22821
|
+
if (baseFootprint && this.props.color) {
|
|
22822
|
+
return `${baseFootprint}_color(${this.props.color})`;
|
|
22823
|
+
}
|
|
22824
|
+
return baseFootprint;
|
|
22825
|
+
}
|
|
22826
|
+
doInitialSourceRender() {
|
|
22827
|
+
const { db } = this.root;
|
|
22828
|
+
const { _parsedProps: props } = this;
|
|
22829
|
+
const source_component = db.source_component.insert({
|
|
22830
|
+
ftype: "simple_led",
|
|
22831
|
+
name: this.name,
|
|
22832
|
+
wave_length: props.wavelength,
|
|
22833
|
+
color: props.color,
|
|
22834
|
+
symbol_display_value: this._getSchematicSymbolDisplayValue(),
|
|
22835
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
22836
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
22837
|
+
are_pins_interchangeable: false,
|
|
22838
|
+
display_name: props.displayName
|
|
22839
|
+
});
|
|
22840
|
+
this.source_component_id = source_component.source_component_id;
|
|
22841
|
+
}
|
|
22842
|
+
pos = this.portMap.pin1;
|
|
22843
|
+
anode = this.portMap.pin1;
|
|
22844
|
+
neg = this.portMap.pin2;
|
|
22845
|
+
cathode = this.portMap.pin2;
|
|
22846
|
+
};
|
|
22847
|
+
|
|
22848
|
+
// lib/components/primitive-components/Group/Subcircuit/inflators/inflateSourceLed.ts
|
|
22849
|
+
function inflateSourceLed(sourceElm, inflatorContext) {
|
|
22850
|
+
const { injectionDb, subcircuit, groupsMap } = inflatorContext;
|
|
22851
|
+
const pcbElm = injectionDb.pcb_component.getWhere({
|
|
22852
|
+
source_component_id: sourceElm.source_component_id
|
|
22853
|
+
});
|
|
22854
|
+
const cadElm = injectionDb.cad_component.getWhere({
|
|
22855
|
+
source_component_id: sourceElm.source_component_id
|
|
22856
|
+
});
|
|
22857
|
+
const { pcbX, pcbY } = getInflatedPcbPlacement({
|
|
22858
|
+
pcbComponent: pcbElm,
|
|
22859
|
+
sourceGroupId: sourceElm.source_group_id,
|
|
22860
|
+
inflatorContext
|
|
22861
|
+
});
|
|
22862
|
+
const led = new Led({
|
|
22863
|
+
name: sourceElm.name,
|
|
22864
|
+
color: sourceElm.color,
|
|
22865
|
+
wavelength: sourceElm.wavelength ?? sourceElm.wave_length,
|
|
22866
|
+
layer: pcbElm?.layer,
|
|
22867
|
+
pcbX,
|
|
22868
|
+
pcbY,
|
|
22869
|
+
pcbRotation: pcbElm?.rotation,
|
|
22870
|
+
doNotPlace: pcbElm?.do_not_place,
|
|
22871
|
+
obstructsWithinBounds: pcbElm?.obstructs_within_bounds
|
|
22872
|
+
});
|
|
22873
|
+
if (pcbElm) {
|
|
22874
|
+
const footprint = inflateFootprintComponent(pcbElm, {
|
|
22875
|
+
...inflatorContext,
|
|
22876
|
+
normalComponent: led
|
|
22877
|
+
});
|
|
22878
|
+
if (footprint) {
|
|
22879
|
+
led.add(footprint);
|
|
22880
|
+
}
|
|
22881
|
+
}
|
|
22882
|
+
if (sourceElm.source_group_id && groupsMap?.has(sourceElm.source_group_id)) {
|
|
22883
|
+
const group = groupsMap.get(sourceElm.source_group_id);
|
|
22884
|
+
group.add(led);
|
|
22885
|
+
} else {
|
|
22886
|
+
subcircuit.add(led);
|
|
22887
|
+
}
|
|
22888
|
+
}
|
|
22889
|
+
|
|
22735
22890
|
// lib/components/primitive-components/Group/Subcircuit/inflators/inflateSourcePort.ts
|
|
22736
22891
|
function inflateSourcePort(sourcePort, inflatorContext) {
|
|
22737
22892
|
const { injectionDb, subcircuit } = inflatorContext;
|
|
@@ -23076,9 +23231,8 @@ function inflateSourceTrace(sourceTrace, inflatorContext) {
|
|
|
23076
23231
|
if (connectedSelectors.length < 2) {
|
|
23077
23232
|
return;
|
|
23078
23233
|
}
|
|
23079
|
-
const
|
|
23080
|
-
|
|
23081
|
-
});
|
|
23234
|
+
const pcbTraces = injectionDb.pcb_trace.list().filter((trace2) => trace2.source_trace_id === sourceTrace.source_trace_id);
|
|
23235
|
+
const pcbTrace = pcbTraces[0];
|
|
23082
23236
|
let pcbPath;
|
|
23083
23237
|
if (pcbTrace) {
|
|
23084
23238
|
pcbPath = pcbTraceRouteToPcbPath(pcbTrace.route);
|
|
@@ -23102,8 +23256,10 @@ function inflateSourceTrace(sourceTrace, inflatorContext) {
|
|
|
23102
23256
|
traceProps2.pcbStraightLine = true;
|
|
23103
23257
|
}
|
|
23104
23258
|
const trace = new Trace3(traceProps2);
|
|
23105
|
-
trace.
|
|
23106
|
-
trace._inflatedPcbVias = pcbTrace ? injectionDb.pcb_via.list().filter(
|
|
23259
|
+
trace._inflatedPcbTraces = pcbTraces.length > 0 ? pcbTraces : void 0;
|
|
23260
|
+
trace._inflatedPcbVias = pcbTrace ? injectionDb.pcb_via.list().filter(
|
|
23261
|
+
(via) => pcbTraces.some((trace2) => via.pcb_trace_id === trace2.pcb_trace_id)
|
|
23262
|
+
) : void 0;
|
|
23107
23263
|
subcircuit.add(trace);
|
|
23108
23264
|
}
|
|
23109
23265
|
|
|
@@ -23288,6 +23444,12 @@ var inflateCircuitJson = (target, circuitJson, children) => {
|
|
|
23288
23444
|
case "simple_diode":
|
|
23289
23445
|
inflateSourceDiode(sourceComponent, inflationCtx);
|
|
23290
23446
|
break;
|
|
23447
|
+
case "simple_fiducial":
|
|
23448
|
+
inflateSourceFiducial(sourceComponent, inflationCtx);
|
|
23449
|
+
break;
|
|
23450
|
+
case "simple_led":
|
|
23451
|
+
inflateSourceLed(sourceComponent, inflationCtx);
|
|
23452
|
+
break;
|
|
23291
23453
|
case "simple_chip":
|
|
23292
23454
|
inflateSourceChip(sourceComponent, inflationCtx);
|
|
23293
23455
|
break;
|
|
@@ -23566,7 +23728,7 @@ import { identity as identity5 } from "transformation-matrix";
|
|
|
23566
23728
|
var package_default = {
|
|
23567
23729
|
name: "@tscircuit/core",
|
|
23568
23730
|
type: "module",
|
|
23569
|
-
version: "0.0.
|
|
23731
|
+
version: "0.0.1328",
|
|
23570
23732
|
types: "dist/index.d.ts",
|
|
23571
23733
|
main: "dist/index.js",
|
|
23572
23734
|
module: "dist/index.js",
|
|
@@ -23638,11 +23800,12 @@ var package_default = {
|
|
|
23638
23800
|
concurrently: "^9.1.2",
|
|
23639
23801
|
"connectivity-map": "^1.0.0",
|
|
23640
23802
|
debug: "^4.3.6",
|
|
23803
|
+
"@tscircuit/eecircuit-engine": "https://jscdn.tscircuit.com/@tscircuit/eecircuit-engine/1.7.4.tgz",
|
|
23641
23804
|
flatbush: "^4.5.0",
|
|
23642
23805
|
"graphics-debug": "^0.0.95",
|
|
23643
23806
|
howfat: "^0.3.8",
|
|
23644
|
-
"kicad-to-circuit-json": "^0.0.
|
|
23645
|
-
kicadts: "^0.0.
|
|
23807
|
+
"kicad-to-circuit-json": "^0.0.97",
|
|
23808
|
+
kicadts: "^0.0.47",
|
|
23646
23809
|
"live-server": "^1.2.2",
|
|
23647
23810
|
"looks-same": "^9.0.1",
|
|
23648
23811
|
minicssgrid: "^0.0.9",
|
|
@@ -26005,61 +26168,6 @@ var SolderJumper = class extends NormalComponent3 {
|
|
|
26005
26168
|
}
|
|
26006
26169
|
};
|
|
26007
26170
|
|
|
26008
|
-
// lib/components/normal-components/Led.ts
|
|
26009
|
-
import { ledProps } from "@tscircuit/props";
|
|
26010
|
-
var Led = class extends NormalComponent3 {
|
|
26011
|
-
get config() {
|
|
26012
|
-
const symbolMap = {
|
|
26013
|
-
laser: "laser_diode"
|
|
26014
|
-
};
|
|
26015
|
-
const variantSymbol = this.props.laser ? "laser" : null;
|
|
26016
|
-
return {
|
|
26017
|
-
schematicSymbolName: variantSymbol ? symbolMap[variantSymbol] : this.props.symbolName ?? "led",
|
|
26018
|
-
componentName: "Led",
|
|
26019
|
-
zodProps: ledProps,
|
|
26020
|
-
sourceFtype: "simple_led"
|
|
26021
|
-
};
|
|
26022
|
-
}
|
|
26023
|
-
initPorts() {
|
|
26024
|
-
super.initPorts({
|
|
26025
|
-
additionalAliases: {
|
|
26026
|
-
pin1: ["anode", "pos", "left"],
|
|
26027
|
-
pin2: ["cathode", "neg", "right"]
|
|
26028
|
-
}
|
|
26029
|
-
});
|
|
26030
|
-
}
|
|
26031
|
-
_getSchematicSymbolDisplayValue() {
|
|
26032
|
-
return this._parsedProps.schDisplayValue || this._parsedProps.color || void 0;
|
|
26033
|
-
}
|
|
26034
|
-
getFootprinterString() {
|
|
26035
|
-
const baseFootprint = super.getFootprinterString();
|
|
26036
|
-
if (baseFootprint && this.props.color) {
|
|
26037
|
-
return `${baseFootprint}_color(${this.props.color})`;
|
|
26038
|
-
}
|
|
26039
|
-
return baseFootprint;
|
|
26040
|
-
}
|
|
26041
|
-
doInitialSourceRender() {
|
|
26042
|
-
const { db } = this.root;
|
|
26043
|
-
const { _parsedProps: props } = this;
|
|
26044
|
-
const source_component = db.source_component.insert({
|
|
26045
|
-
ftype: "simple_led",
|
|
26046
|
-
name: this.name,
|
|
26047
|
-
wave_length: props.wavelength,
|
|
26048
|
-
color: props.color,
|
|
26049
|
-
symbol_display_value: this._getSchematicSymbolDisplayValue(),
|
|
26050
|
-
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
26051
|
-
supplier_part_numbers: props.supplierPartNumbers,
|
|
26052
|
-
are_pins_interchangeable: false,
|
|
26053
|
-
display_name: props.displayName
|
|
26054
|
-
});
|
|
26055
|
-
this.source_component_id = source_component.source_component_id;
|
|
26056
|
-
}
|
|
26057
|
-
pos = this.portMap.pin1;
|
|
26058
|
-
anode = this.portMap.pin1;
|
|
26059
|
-
neg = this.portMap.pin2;
|
|
26060
|
-
cathode = this.portMap.pin2;
|
|
26061
|
-
};
|
|
26062
|
-
|
|
26063
26171
|
// lib/components/normal-components/PowerSource.ts
|
|
26064
26172
|
import { powerSourceProps } from "@tscircuit/props";
|
|
26065
26173
|
var PowerSource = class extends NormalComponent3 {
|
|
@@ -27900,14 +28008,14 @@ var NetLabel = class extends PrimitiveComponent2 {
|
|
|
27900
28008
|
// lib/components/primitive-components/Fiducial.ts
|
|
27901
28009
|
import "zod";
|
|
27902
28010
|
import { distance as distance18 } from "circuit-json";
|
|
27903
|
-
import { fiducialProps } from "@tscircuit/props";
|
|
28011
|
+
import { fiducialProps as fiducialProps2 } from "@tscircuit/props";
|
|
27904
28012
|
var Fiducial = class extends PrimitiveComponent2 {
|
|
27905
28013
|
pcb_smtpad_id = null;
|
|
27906
28014
|
isPcbPrimitive = true;
|
|
27907
28015
|
get config() {
|
|
27908
28016
|
return {
|
|
27909
28017
|
componentName: "Fiducial",
|
|
27910
|
-
zodProps:
|
|
28018
|
+
zodProps: fiducialProps2,
|
|
27911
28019
|
sourceFtype: "simple_fiducial"
|
|
27912
28020
|
};
|
|
27913
28021
|
}
|
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.1329",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -73,11 +73,12 @@
|
|
|
73
73
|
"concurrently": "^9.1.2",
|
|
74
74
|
"connectivity-map": "^1.0.0",
|
|
75
75
|
"debug": "^4.3.6",
|
|
76
|
+
"@tscircuit/eecircuit-engine": "https://jscdn.tscircuit.com/@tscircuit/eecircuit-engine/1.7.4.tgz",
|
|
76
77
|
"flatbush": "^4.5.0",
|
|
77
78
|
"graphics-debug": "^0.0.95",
|
|
78
79
|
"howfat": "^0.3.8",
|
|
79
|
-
"kicad-to-circuit-json": "^0.0.
|
|
80
|
-
"kicadts": "^0.0.
|
|
80
|
+
"kicad-to-circuit-json": "^0.0.97",
|
|
81
|
+
"kicadts": "^0.0.47",
|
|
81
82
|
"live-server": "^1.2.2",
|
|
82
83
|
"looks-same": "^9.0.1",
|
|
83
84
|
"minicssgrid": "^0.0.9",
|