@tscircuit/core 0.0.1509 → 0.0.1510
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.js +32 -60
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21074,6 +21074,10 @@ var oppositeSide = (input) => {
|
|
|
21074
21074
|
}
|
|
21075
21075
|
};
|
|
21076
21076
|
|
|
21077
|
+
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/port-id-types.ts
|
|
21078
|
+
var asSchematicPortId = (id) => id;
|
|
21079
|
+
var asSourcePortId = (id) => id;
|
|
21080
|
+
|
|
21077
21081
|
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/applyNetLabelPlacements.ts
|
|
21078
21082
|
var debug8 = Debug10("Group_doInitialSchematicTraceRender");
|
|
21079
21083
|
var isSameNet = (label, sourceNet) => label.source_net_id != null && label.source_net_id === sourceNet.source_net_id;
|
|
@@ -21098,7 +21102,6 @@ function applyNetLabelPlacements(args) {
|
|
|
21098
21102
|
solver,
|
|
21099
21103
|
connKeyToSourceNet,
|
|
21100
21104
|
userNetIdToConnKey,
|
|
21101
|
-
pinIdToSchematicPortId,
|
|
21102
21105
|
connKeysWithExplicitPortNetTraces,
|
|
21103
21106
|
schematicPortIdsWithPreExistingNetLabels,
|
|
21104
21107
|
schematicPortIdsWithRoutedTraces
|
|
@@ -21157,9 +21160,7 @@ function applyNetLabelPlacements(args) {
|
|
|
21157
21160
|
if (placementConnKey) {
|
|
21158
21161
|
sourceNet = connKeyToSourceNet.get(placementConnKey);
|
|
21159
21162
|
}
|
|
21160
|
-
const schPortIds = placement.pinIds.map(
|
|
21161
|
-
(pinId) => pinIdToSchematicPortId.get(pinId)
|
|
21162
|
-
);
|
|
21163
|
+
const schPortIds = placement.pinIds.map(asSchematicPortId);
|
|
21163
21164
|
let schematicSheetId = group._resolveSchematicSheetId();
|
|
21164
21165
|
const schematicPort = db.schematic_port.get(schPortIds[0]);
|
|
21165
21166
|
if (schematicPort?.schematic_sheet_id) {
|
|
@@ -21618,10 +21619,6 @@ var getPortForSchematicSymbolPort = (port) => {
|
|
|
21618
21619
|
) ?? port;
|
|
21619
21620
|
};
|
|
21620
21621
|
|
|
21621
|
-
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/port-id-types.ts
|
|
21622
|
-
var asSchematicPortId = (id) => id;
|
|
21623
|
-
var asSourcePortId = (id) => id;
|
|
21624
|
-
|
|
21625
21622
|
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/remove-overlapping-same-net-crossing-segments.ts
|
|
21626
21623
|
var TOL3 = 1e-6;
|
|
21627
21624
|
function isCollinear(a, b, tol = TOL3) {
|
|
@@ -21775,7 +21772,6 @@ function applyTracesFromSolverOutput(args) {
|
|
|
21775
21772
|
const {
|
|
21776
21773
|
group,
|
|
21777
21774
|
solver,
|
|
21778
|
-
pinIdToSchematicPortId,
|
|
21779
21775
|
userNetIdToConnKey,
|
|
21780
21776
|
schematicPortIdsWithPreExistingNetLabels
|
|
21781
21777
|
} = args;
|
|
@@ -21810,7 +21806,7 @@ function applyTracesFromSolverOutput(args) {
|
|
|
21810
21806
|
debug9(`Traces inside SchematicTraceSolver output: ${(traces ?? []).length}`);
|
|
21811
21807
|
for (const solvedTracePath of traces ?? []) {
|
|
21812
21808
|
const uniquePinIds = Array.from(new Set(solvedTracePath.pinIds ?? []));
|
|
21813
|
-
const solvedTraceSchematicPortIds = uniquePinIds.map(
|
|
21809
|
+
const solvedTraceSchematicPortIds = uniquePinIds.map(asSchematicPortId);
|
|
21814
21810
|
const isNetLabelCoveredTrace = solvedTraceSchematicPortIds.length > 0 && solvedTraceSchematicPortIds.every(
|
|
21815
21811
|
(id) => schematicPortIdsWithPreExistingNetLabels.has(id)
|
|
21816
21812
|
);
|
|
@@ -21845,8 +21841,10 @@ function applyTracesFromSolverOutput(args) {
|
|
|
21845
21841
|
const source_trace_id = String(solvedTracePath?.mspPairId);
|
|
21846
21842
|
let subcircuit_connectivity_map_key;
|
|
21847
21843
|
if (Array.isArray(solvedTracePath?.pins) && solvedTracePath.pins.length === 2) {
|
|
21848
|
-
const
|
|
21849
|
-
const
|
|
21844
|
+
const firstPinId = solvedTracePath.pins[0]?.pinId;
|
|
21845
|
+
const secondPinId = solvedTracePath.pins[1]?.pinId;
|
|
21846
|
+
const pA = firstPinId ? asSchematicPortId(firstPinId) : void 0;
|
|
21847
|
+
const pB = secondPinId ? asSchematicPortId(secondPinId) : void 0;
|
|
21850
21848
|
if (pA && pB) {
|
|
21851
21849
|
const routedSchematicPortIds = /* @__PURE__ */ new Set([pA, pB]);
|
|
21852
21850
|
for (const routedSchematicPortId of routedSchematicPortIds) {
|
|
@@ -21970,16 +21968,6 @@ import {
|
|
|
21970
21968
|
} from "@tscircuit/math-utils";
|
|
21971
21969
|
import "@tscircuit/schematic-trace-solver";
|
|
21972
21970
|
|
|
21973
|
-
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/getSchematicPortSelector.ts
|
|
21974
|
-
var getSchematicPortSelector = ({
|
|
21975
|
-
componentName,
|
|
21976
|
-
schematicPort,
|
|
21977
|
-
sourcePort
|
|
21978
|
-
}) => {
|
|
21979
|
-
const pinIdentifier = schematicPort.pin_number ?? sourcePort?.name ?? sourcePort?.port_hints?.[0];
|
|
21980
|
-
return `${componentName}.${pinIdentifier ?? schematicPort.schematic_port_id}`;
|
|
21981
|
-
};
|
|
21982
|
-
|
|
21983
21971
|
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/schematicTextToTextBounds.ts
|
|
21984
21972
|
import {
|
|
21985
21973
|
getBoundFromCenteredRect as getBoundFromCenteredRect3,
|
|
@@ -22128,34 +22116,16 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22128
22116
|
}
|
|
22129
22117
|
}
|
|
22130
22118
|
const chips = [];
|
|
22131
|
-
const pinIdToSchematicPortId = /* @__PURE__ */ new Map();
|
|
22132
|
-
const schematicPortIdToPinId = /* @__PURE__ */ new Map();
|
|
22133
22119
|
for (const schematicComponent of schematicComponents) {
|
|
22134
22120
|
const chipId = schematicComponent.schematic_component_id;
|
|
22135
22121
|
const pins = [];
|
|
22136
|
-
const sourceComponent = db.source_component.getWhere({
|
|
22137
|
-
source_component_id: schematicComponent.source_component_id
|
|
22138
|
-
});
|
|
22139
22122
|
const schematicPorts = db.schematic_port.list({
|
|
22140
22123
|
schematic_component_id: schematicComponent.schematic_component_id
|
|
22141
22124
|
});
|
|
22142
22125
|
for (const schematicPort of schematicPorts) {
|
|
22143
|
-
const sourcePort = db.source_port.get(schematicPort.source_port_id);
|
|
22144
|
-
const selector = getSchematicPortSelector({
|
|
22145
|
-
componentName: sourceComponent?.name ?? schematicComponent.schematic_component_id,
|
|
22146
|
-
schematicPort,
|
|
22147
|
-
sourcePort
|
|
22148
|
-
});
|
|
22149
22126
|
const schematicPortId = asSchematicPortId(schematicPort.schematic_port_id);
|
|
22150
|
-
pinIdToSchematicPortId.set(selector, schematicPortId);
|
|
22151
|
-
schematicPortIdToPinId.set(schematicPortId, selector);
|
|
22152
|
-
}
|
|
22153
|
-
for (const schematicPort of schematicPorts) {
|
|
22154
|
-
const pinId = schematicPortIdToPinId.get(
|
|
22155
|
-
asSchematicPortId(schematicPort.schematic_port_id)
|
|
22156
|
-
);
|
|
22157
22127
|
pins.push({
|
|
22158
|
-
pinId,
|
|
22128
|
+
pinId: schematicPortId,
|
|
22159
22129
|
x: schematicPort.center.x,
|
|
22160
22130
|
y: schematicPort.center.y,
|
|
22161
22131
|
// Pass the port's true facing direction (known from the schematic
|
|
@@ -22190,8 +22160,8 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22190
22160
|
const schPortIdToSourcePortId = /* @__PURE__ */ new Map();
|
|
22191
22161
|
const sourcePortIdToSchPortId = /* @__PURE__ */ new Map();
|
|
22192
22162
|
const userNetIdToConnKey = /* @__PURE__ */ new Map();
|
|
22193
|
-
const
|
|
22194
|
-
group.selectAll("port").filter((port) => port.
|
|
22163
|
+
const componentPortBySchematicPortId = new Map(
|
|
22164
|
+
group.selectAll("port").filter((port) => port.schematic_port_id).map((port) => [asSchematicPortId(port.schematic_port_id), port])
|
|
22195
22165
|
);
|
|
22196
22166
|
for (const sc of schematicComponents) {
|
|
22197
22167
|
const ports = db.schematic_port.list({
|
|
@@ -22278,7 +22248,7 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22278
22248
|
);
|
|
22279
22249
|
}
|
|
22280
22250
|
directConnections.push({
|
|
22281
|
-
pinIds: [a, b]
|
|
22251
|
+
pinIds: [a, b],
|
|
22282
22252
|
netId: userNetId,
|
|
22283
22253
|
netLabelWidth
|
|
22284
22254
|
});
|
|
@@ -22307,8 +22277,7 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22307
22277
|
const seenRoutedSchematicPortIds = /* @__PURE__ */ new Set();
|
|
22308
22278
|
const uniqueSchematicPortIds = schematicPortIds.filter(
|
|
22309
22279
|
(schematicPortId) => {
|
|
22310
|
-
const
|
|
22311
|
-
const componentPort = sourcePortId ? componentPortBySourcePortId.get(sourcePortId) : void 0;
|
|
22280
|
+
const componentPort = componentPortBySchematicPortId.get(schematicPortId);
|
|
22312
22281
|
const routedSchematicPortIdValue = componentPort ? getPortForSchematicSymbolPort(componentPort).schematic_port_id : null;
|
|
22313
22282
|
const routedSchematicPortId = routedSchematicPortIdValue ? asSchematicPortId(routedSchematicPortIdValue) : schematicPortId;
|
|
22314
22283
|
if (seenRoutedSchematicPortIds.has(routedSchematicPortId)) {
|
|
@@ -22333,9 +22302,7 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22333
22302
|
}
|
|
22334
22303
|
netConnections.push({
|
|
22335
22304
|
netId: userNetId,
|
|
22336
|
-
pinIds: uniqueSchematicPortIds
|
|
22337
|
-
(portId) => schematicPortIdToPinId.get(portId)
|
|
22338
|
-
),
|
|
22305
|
+
pinIds: uniqueSchematicPortIds,
|
|
22339
22306
|
netLabelWidth,
|
|
22340
22307
|
netLabelHeight
|
|
22341
22308
|
});
|
|
@@ -22369,7 +22336,6 @@ function createSchematicTraceSolverInputProblem(group, opts = {}) {
|
|
|
22369
22336
|
};
|
|
22370
22337
|
return {
|
|
22371
22338
|
inputProblem,
|
|
22372
|
-
pinIdToSchematicPortId,
|
|
22373
22339
|
connKeyToSourceNet,
|
|
22374
22340
|
userNetIdToConnKey,
|
|
22375
22341
|
connKeysWithExplicitPortNetTraces,
|
|
@@ -22396,8 +22362,7 @@ var getSchematicPortIdsWithAssignedNetLabels = (group) => {
|
|
|
22396
22362
|
|
|
22397
22363
|
// lib/components/primitive-components/Group/Group_doInitialSchematicTraceRender/getSchematicPortIdsWithRoutedTraces.ts
|
|
22398
22364
|
var getSchematicPortIdsWithRoutedTraces = ({
|
|
22399
|
-
solver
|
|
22400
|
-
pinIdToSchematicPortId
|
|
22365
|
+
solver
|
|
22401
22366
|
}) => {
|
|
22402
22367
|
const solvedTraces = solver.traceCleanupSolver?.getOutput().traces ?? solver.traceLabelOverlapAvoidanceSolver?.getOutput().traces ?? solver.schematicTraceLinesSolver?.solvedTracePaths ?? [];
|
|
22403
22368
|
const schematicPortIdsWithRoutedTraces = /* @__PURE__ */ new Set();
|
|
@@ -22406,7 +22371,7 @@ var getSchematicPortIdsWithRoutedTraces = ({
|
|
|
22406
22371
|
if (!Array.isArray(points) || points.length < 2) continue;
|
|
22407
22372
|
const pinIds = Array.isArray(solvedTrace.pins) ? solvedTrace.pins.map((pin) => pin.pinId) : solvedTrace.pinIds;
|
|
22408
22373
|
for (const pinId of pinIds) {
|
|
22409
|
-
const schPortId =
|
|
22374
|
+
const schPortId = asSchematicPortId(pinId);
|
|
22410
22375
|
if (schPortId) {
|
|
22411
22376
|
schematicPortIdsWithRoutedTraces.add(schPortId);
|
|
22412
22377
|
}
|
|
@@ -22637,7 +22602,6 @@ var renderSchematicTracesForSheet = ({
|
|
|
22637
22602
|
}) => {
|
|
22638
22603
|
const {
|
|
22639
22604
|
inputProblem,
|
|
22640
|
-
pinIdToSchematicPortId,
|
|
22641
22605
|
connKeyToSourceNet,
|
|
22642
22606
|
schematicPortIdsInScope,
|
|
22643
22607
|
schPortIdToSourcePortId,
|
|
@@ -22674,13 +22638,11 @@ var renderSchematicTracesForSheet = ({
|
|
|
22674
22638
|
});
|
|
22675
22639
|
solver.solve();
|
|
22676
22640
|
const schematicPortIdsWithRoutedTraces = getSchematicPortIdsWithRoutedTraces({
|
|
22677
|
-
solver
|
|
22678
|
-
pinIdToSchematicPortId
|
|
22641
|
+
solver
|
|
22679
22642
|
});
|
|
22680
22643
|
applyTracesFromSolverOutput({
|
|
22681
22644
|
group,
|
|
22682
22645
|
solver,
|
|
22683
|
-
pinIdToSchematicPortId,
|
|
22684
22646
|
userNetIdToConnKey,
|
|
22685
22647
|
schematicPortIdsWithPreExistingNetLabels
|
|
22686
22648
|
});
|
|
@@ -22688,7 +22650,6 @@ var renderSchematicTracesForSheet = ({
|
|
|
22688
22650
|
group,
|
|
22689
22651
|
solver,
|
|
22690
22652
|
connKeyToSourceNet,
|
|
22691
|
-
pinIdToSchematicPortId,
|
|
22692
22653
|
userNetIdToConnKey,
|
|
22693
22654
|
connKeysWithExplicitPortNetTraces,
|
|
22694
22655
|
schematicPortIdsWithPreExistingNetLabels,
|
|
@@ -23714,7 +23675,7 @@ function Group_getRoutingPhasePlans(group) {
|
|
|
23714
23675
|
var package_default = {
|
|
23715
23676
|
name: "@tscircuit/core",
|
|
23716
23677
|
type: "module",
|
|
23717
|
-
version: "0.0.
|
|
23678
|
+
version: "0.0.1509",
|
|
23718
23679
|
types: "dist/index.d.ts",
|
|
23719
23680
|
main: "dist/index.js",
|
|
23720
23681
|
module: "dist/index.js",
|
|
@@ -26947,6 +26908,8 @@ var Transistor = class extends NormalComponent3 {
|
|
|
26947
26908
|
const source_component = db.source_component.insert({
|
|
26948
26909
|
ftype: "simple_transistor",
|
|
26949
26910
|
name: this.name,
|
|
26911
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
26912
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
26950
26913
|
transistor_type: props.type,
|
|
26951
26914
|
display_name: props.displayName
|
|
26952
26915
|
});
|
|
@@ -29369,6 +29332,8 @@ var Fuse = class extends NormalComponent3 {
|
|
|
29369
29332
|
const source_component = db.source_component.insert({
|
|
29370
29333
|
name: this.name,
|
|
29371
29334
|
ftype: FTYPE.simple_fuse,
|
|
29335
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
29336
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
29372
29337
|
current_rating_amps: currentRating,
|
|
29373
29338
|
voltage_rating_volts: voltageRating,
|
|
29374
29339
|
display_current_rating: `${formatSiUnit4(currentRating)}A`,
|
|
@@ -29525,11 +29490,14 @@ var Interconnect = class extends NormalComponent3 {
|
|
|
29525
29490
|
}
|
|
29526
29491
|
doInitialSourceRender() {
|
|
29527
29492
|
const { db } = this.root;
|
|
29493
|
+
const { _parsedProps: props } = this;
|
|
29528
29494
|
const source_component = db.source_component.insert({
|
|
29529
29495
|
ftype: "interconnect",
|
|
29530
29496
|
name: this.name,
|
|
29497
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
29498
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
29531
29499
|
are_pins_interchangeable: true,
|
|
29532
|
-
display_name:
|
|
29500
|
+
display_name: props.displayName
|
|
29533
29501
|
});
|
|
29534
29502
|
this.source_component_id = source_component.source_component_id;
|
|
29535
29503
|
}
|
|
@@ -33459,6 +33427,8 @@ var Potentiometer = class extends NormalComponent3 {
|
|
|
33459
33427
|
const source_component = db.source_component.insert({
|
|
33460
33428
|
ftype: "simple_potentiometer",
|
|
33461
33429
|
name: this.name,
|
|
33430
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
33431
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
33462
33432
|
max_resistance: props.maxResistance,
|
|
33463
33433
|
pin_variant: pinVariant,
|
|
33464
33434
|
are_pins_interchangeable: pinVariant === "two_pin",
|
|
@@ -33512,6 +33482,8 @@ var Crystal = class extends NormalComponent3 {
|
|
|
33512
33482
|
const source_component = db.source_component.insert({
|
|
33513
33483
|
name: this.name,
|
|
33514
33484
|
ftype: "simple_crystal",
|
|
33485
|
+
manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
|
|
33486
|
+
supplier_part_numbers: props.supplierPartNumbers,
|
|
33515
33487
|
frequency: props.frequency,
|
|
33516
33488
|
load_capacitance: props.loadCapacitance,
|
|
33517
33489
|
pin_variant: props.pinVariant || "two_pin",
|