@tscircuit/core 0.0.1880 → 0.0.1881
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 -0
- package/dist/index.js +136 -62
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -15511,6 +15511,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, Polarized
|
|
|
15511
15511
|
getFootprinterString(): string | null;
|
|
15512
15512
|
doInitialCreateNetsFromProps(): void;
|
|
15513
15513
|
doInitialCreateTracesFromProps(): void;
|
|
15514
|
+
doInitialPcbComponentSizeCalculation(): void;
|
|
15514
15515
|
doInitialSourceRender(): void;
|
|
15515
15516
|
}
|
|
15516
15517
|
|
package/dist/index.js
CHANGED
|
@@ -16586,7 +16586,7 @@ import {
|
|
|
16586
16586
|
} from "@tscircuit/checks";
|
|
16587
16587
|
import { getBoundsFromPoints as getBoundsFromPoints10 } from "@tscircuit/math-utils";
|
|
16588
16588
|
import { boardProps } from "@tscircuit/props";
|
|
16589
|
-
import { compose as
|
|
16589
|
+
import { compose as compose13, translate as translate13 } from "transformation-matrix";
|
|
16590
16590
|
|
|
16591
16591
|
// lib/utils/autorouting/getAncestorSubcircuitIds.ts
|
|
16592
16592
|
var getDescendantSubcircuitIds = (db, root_subcircuit_id) => {
|
|
@@ -16698,6 +16698,76 @@ import { capacitorProps } from "@tscircuit/props";
|
|
|
16698
16698
|
import { formatSiUnit } from "format-si-unit";
|
|
16699
16699
|
import { symbols as symbols3 } from "schematic-symbols";
|
|
16700
16700
|
|
|
16701
|
+
// lib/components/normal-components/Capacitor_addPolarityFabricationSymbols.ts
|
|
16702
|
+
import { applyToPoint as applyToPoint25, compose as compose6, rotate as rotate3, translate as translate4 } from "transformation-matrix";
|
|
16703
|
+
var generatedPaths = /* @__PURE__ */ new WeakMap();
|
|
16704
|
+
var getPolarity = (port) => {
|
|
16705
|
+
const hints = [port.name, ...port.port_hints ?? []].map(
|
|
16706
|
+
(hint) => hint.toLowerCase().replace(/[^a-z0-9+-]/g, "")
|
|
16707
|
+
);
|
|
16708
|
+
const positive = hints.some(
|
|
16709
|
+
(hint) => ["a", "anode", "pos", "positive", "+"].includes(hint)
|
|
16710
|
+
);
|
|
16711
|
+
const negative = hints.some(
|
|
16712
|
+
(hint) => ["k", "cathode", "neg", "negative", "-"].includes(hint)
|
|
16713
|
+
);
|
|
16714
|
+
if (positive === negative) return null;
|
|
16715
|
+
return positive ? "positive" : "negative";
|
|
16716
|
+
};
|
|
16717
|
+
var Capacitor_addPolarityFabricationSymbols = (capacitor) => {
|
|
16718
|
+
const root = capacitor.root;
|
|
16719
|
+
if (!root) return;
|
|
16720
|
+
const { db } = root;
|
|
16721
|
+
for (const path of generatedPaths.get(capacitor) ?? []) {
|
|
16722
|
+
db.pcb_fabrication_note_path.delete(path.pcb_fabrication_note_path_id);
|
|
16723
|
+
}
|
|
16724
|
+
generatedPaths.delete(capacitor);
|
|
16725
|
+
if (root.pcbDisabled || !capacitor.props.polarized || !capacitor.pcb_component_id)
|
|
16726
|
+
return;
|
|
16727
|
+
const pcb = db.pcb_component.get(capacitor.pcb_component_id);
|
|
16728
|
+
if (!pcb || pcb.layer !== "top" && pcb.layer !== "bottom") return;
|
|
16729
|
+
const ports = db.source_port.list({
|
|
16730
|
+
source_component_id: capacitor.source_component_id
|
|
16731
|
+
});
|
|
16732
|
+
const positives = ports.filter((port) => getPolarity(port) === "positive");
|
|
16733
|
+
const negatives = ports.filter((port) => getPolarity(port) === "negative");
|
|
16734
|
+
if (positives.length !== 1 || negatives.length !== 1) return;
|
|
16735
|
+
const positive = db.pcb_port.getWhere({
|
|
16736
|
+
source_port_id: positives[0].source_port_id
|
|
16737
|
+
});
|
|
16738
|
+
const negative = db.pcb_port.getWhere({
|
|
16739
|
+
source_port_id: negatives[0].source_port_id
|
|
16740
|
+
});
|
|
16741
|
+
if (!positive || !negative) return;
|
|
16742
|
+
const distance22 = Math.hypot(negative.x - positive.x, negative.y - positive.y);
|
|
16743
|
+
if (distance22 < 1e-6) return;
|
|
16744
|
+
const frame = compose6(
|
|
16745
|
+
translate4((positive.x + negative.x) / 2, (positive.y + negative.y) / 2),
|
|
16746
|
+
rotate3(Math.atan2(negative.y - positive.y, negative.x - positive.x))
|
|
16747
|
+
);
|
|
16748
|
+
const point6 = (x, y) => applyToPoint25(frame, { x, y });
|
|
16749
|
+
const offset = distance22 / 4;
|
|
16750
|
+
const halfSize = Math.min(distance22 * 0.12, 0.3);
|
|
16751
|
+
const routes = [
|
|
16752
|
+
[point6(-offset - halfSize, 0), point6(-offset + halfSize, 0)],
|
|
16753
|
+
[point6(-offset, -halfSize), point6(-offset, halfSize)],
|
|
16754
|
+
[point6(offset - halfSize, 0), point6(offset + halfSize, 0)]
|
|
16755
|
+
];
|
|
16756
|
+
const paths = [];
|
|
16757
|
+
generatedPaths.set(capacitor, paths);
|
|
16758
|
+
for (const route of routes) {
|
|
16759
|
+
paths.push(
|
|
16760
|
+
db.pcb_fabrication_note_path.insert({
|
|
16761
|
+
pcb_component_id: pcb.pcb_component_id,
|
|
16762
|
+
subcircuit_id: capacitor.getSubcircuit()?.subcircuit_id ?? void 0,
|
|
16763
|
+
layer: pcb.layer,
|
|
16764
|
+
route,
|
|
16765
|
+
stroke_width: Math.min(0.08, halfSize * 0.4)
|
|
16766
|
+
})
|
|
16767
|
+
);
|
|
16768
|
+
}
|
|
16769
|
+
};
|
|
16770
|
+
|
|
16701
16771
|
// lib/components/normal-components/Capacitor_getAutomaticMaxDecouplingTraceLength.ts
|
|
16702
16772
|
var DEFAULT_MAX_DECOUPLING_TRACE_LENGTH_MM = 1;
|
|
16703
16773
|
function getCapacitorPorts(capacitor) {
|
|
@@ -16800,6 +16870,10 @@ var Capacitor = class extends NormalComponent3 {
|
|
|
16800
16870
|
}
|
|
16801
16871
|
this._createTracesFromConnectionsProp();
|
|
16802
16872
|
}
|
|
16873
|
+
doInitialPcbComponentSizeCalculation() {
|
|
16874
|
+
super.doInitialPcbComponentSizeCalculation();
|
|
16875
|
+
Capacitor_addPolarityFabricationSymbols(this);
|
|
16876
|
+
}
|
|
16803
16877
|
doInitialSourceRender() {
|
|
16804
16878
|
const { db } = this.root;
|
|
16805
16879
|
const { _parsedProps: props } = this;
|
|
@@ -16821,7 +16895,7 @@ var Capacitor = class extends NormalComponent3 {
|
|
|
16821
16895
|
|
|
16822
16896
|
// lib/utils/extractPcbPrimitivesFromCircuitJson.ts
|
|
16823
16897
|
import { transformPCBElements } from "@tscircuit/circuit-json-util";
|
|
16824
|
-
import { compose as
|
|
16898
|
+
import { compose as compose7, inverse, rotate as rotate4, translate as translate5 } from "transformation-matrix";
|
|
16825
16899
|
var extractPcbPrimitivesFromCircuitJson = ({
|
|
16826
16900
|
pcbComponent,
|
|
16827
16901
|
db,
|
|
@@ -16830,9 +16904,9 @@ var extractPcbPrimitivesFromCircuitJson = ({
|
|
|
16830
16904
|
const componentCenter = pcbComponent.center || { x: 0, y: 0 };
|
|
16831
16905
|
const componentRotation = pcbComponent.rotation || 0;
|
|
16832
16906
|
const absoluteToComponentRelativeTransform = inverse(
|
|
16833
|
-
|
|
16834
|
-
|
|
16835
|
-
|
|
16907
|
+
compose7(
|
|
16908
|
+
translate5(componentCenter.x, componentCenter.y),
|
|
16909
|
+
rotate4(componentRotation * Math.PI / 180)
|
|
16836
16910
|
)
|
|
16837
16911
|
);
|
|
16838
16912
|
const relativeElements = db.toArray().filter(
|
|
@@ -39103,7 +39177,7 @@ import {
|
|
|
39103
39177
|
midpoint,
|
|
39104
39178
|
pointToSegmentClosestPoint as pointToSegmentClosestPoint2
|
|
39105
39179
|
} from "@tscircuit/math-utils";
|
|
39106
|
-
import { applyToPoint as
|
|
39180
|
+
import { applyToPoint as applyToPoint27, compose as compose9, scale as scale2, translate as translate7 } from "transformation-matrix";
|
|
39107
39181
|
|
|
39108
39182
|
// node_modules/@tscircuit/implicit-copper-pour-solver/lib/geometry.ts
|
|
39109
39183
|
import {
|
|
@@ -39119,10 +39193,10 @@ import {
|
|
|
39119
39193
|
segmentToSegmentMinDistance
|
|
39120
39194
|
} from "@tscircuit/math-utils";
|
|
39121
39195
|
import {
|
|
39122
|
-
applyToPoint as
|
|
39123
|
-
compose as
|
|
39196
|
+
applyToPoint as applyToPoint26,
|
|
39197
|
+
compose as compose8,
|
|
39124
39198
|
rotateDEG,
|
|
39125
|
-
translate as
|
|
39199
|
+
translate as translate6
|
|
39126
39200
|
} from "transformation-matrix";
|
|
39127
39201
|
var rectTransforms = /* @__PURE__ */ new WeakMap();
|
|
39128
39202
|
var getRectTransforms = (primitive) => {
|
|
@@ -39131,13 +39205,13 @@ var getRectTransforms = (primitive) => {
|
|
|
39131
39205
|
const transforms = {
|
|
39132
39206
|
// compose applies the rightmost operation first: move the world point to
|
|
39133
39207
|
// the rectangle origin, then undo its counter-clockwise rotation.
|
|
39134
|
-
toLocal:
|
|
39208
|
+
toLocal: compose8(
|
|
39135
39209
|
rotateDEG(-primitive.rotation),
|
|
39136
|
-
|
|
39210
|
+
translate6(-primitive.x, -primitive.y)
|
|
39137
39211
|
),
|
|
39138
39212
|
// Rotate a rectangle-local point before translating it into board space.
|
|
39139
|
-
toWorld:
|
|
39140
|
-
|
|
39213
|
+
toWorld: compose8(
|
|
39214
|
+
translate6(primitive.x, primitive.y),
|
|
39141
39215
|
rotateDEG(primitive.rotation)
|
|
39142
39216
|
)
|
|
39143
39217
|
};
|
|
@@ -39173,7 +39247,7 @@ var distanceToPrimitive = (primitive, px, py) => {
|
|
|
39173
39247
|
return distanceToPolygon(point6, primitive.points);
|
|
39174
39248
|
}
|
|
39175
39249
|
const { toLocal } = getRectTransforms(primitive);
|
|
39176
|
-
return pointToBoxDistance(
|
|
39250
|
+
return pointToBoxDistance(applyToPoint26(toLocal, point6), {
|
|
39177
39251
|
center: { x: 0, y: 0 },
|
|
39178
39252
|
width: primitive.halfWidth * 2,
|
|
39179
39253
|
height: primitive.halfHeight * 2
|
|
@@ -39217,8 +39291,8 @@ var getClosestPointOnPrimitive = (primitive, point6) => {
|
|
|
39217
39291
|
return closestPoint;
|
|
39218
39292
|
}
|
|
39219
39293
|
const { toLocal, toWorld } = getRectTransforms(primitive);
|
|
39220
|
-
const localPoint =
|
|
39221
|
-
return
|
|
39294
|
+
const localPoint = applyToPoint26(toLocal, point6);
|
|
39295
|
+
return applyToPoint26(toWorld, {
|
|
39222
39296
|
x: clamp(localPoint.x, -primitive.halfWidth, primitive.halfWidth),
|
|
39223
39297
|
y: clamp(localPoint.y, -primitive.halfHeight, primitive.halfHeight)
|
|
39224
39298
|
});
|
|
@@ -39809,8 +39883,8 @@ var buildPowerPourPolygons = (problem) => {
|
|
|
39809
39883
|
1,
|
|
39810
39884
|
Math.round(problem.minRegionArea / problem.gridPitch ** 2)
|
|
39811
39885
|
);
|
|
39812
|
-
const gridVertexToWorld =
|
|
39813
|
-
|
|
39886
|
+
const gridVertexToWorld = compose9(
|
|
39887
|
+
translate7(problem.bounds.minX, problem.bounds.minY),
|
|
39814
39888
|
scale2(problem.gridPitch)
|
|
39815
39889
|
);
|
|
39816
39890
|
for (const labeledLayer of problem.labeledLayers) {
|
|
@@ -39829,7 +39903,7 @@ var buildPowerPourPolygons = (problem) => {
|
|
|
39829
39903
|
}
|
|
39830
39904
|
const loop = loops[0];
|
|
39831
39905
|
const points = loop.map(([i, j]) => {
|
|
39832
|
-
const point6 =
|
|
39906
|
+
const point6 = applyToPoint27(gridVertexToWorld, { x: i, y: j });
|
|
39833
39907
|
return {
|
|
39834
39908
|
x: clamp2(point6.x, problem.bounds.minX, problem.bounds.maxX),
|
|
39835
39909
|
y: clamp2(point6.y, problem.bounds.minY, problem.bounds.maxY)
|
|
@@ -39865,9 +39939,9 @@ import {
|
|
|
39865
39939
|
} from "circuit-json-to-connectivity-map";
|
|
39866
39940
|
import {
|
|
39867
39941
|
applyToPoints,
|
|
39868
|
-
compose as
|
|
39942
|
+
compose as compose10,
|
|
39869
39943
|
rotateDEG as rotateDEG2,
|
|
39870
|
-
translate as
|
|
39944
|
+
translate as translate8
|
|
39871
39945
|
} from "transformation-matrix";
|
|
39872
39946
|
var DEFAULT_GRID_PITCH = 0.25;
|
|
39873
39947
|
var DEFAULT_TRACE_CLEARANCE = 0.2;
|
|
@@ -39895,8 +39969,8 @@ var addPillPrimitive = (primitives, params) => {
|
|
|
39895
39969
|
const radius = Math.min(width, height) / 2;
|
|
39896
39970
|
const axisLength = Math.max(width, height) - radius * 2;
|
|
39897
39971
|
const halfAxis = axisLength / 2;
|
|
39898
|
-
const axisToWorld =
|
|
39899
|
-
|
|
39972
|
+
const axisToWorld = compose10(
|
|
39973
|
+
translate8(x, y),
|
|
39900
39974
|
rotateDEG2(rotation4 + (height > width ? 90 : 0))
|
|
39901
39975
|
);
|
|
39902
39976
|
const [start, end] = applyToPoints(axisToWorld, [
|
|
@@ -42009,7 +42083,7 @@ var applyEditEventsToManualEditsFile = ({
|
|
|
42009
42083
|
|
|
42010
42084
|
// lib/utils/edit-events/apply-edit-events-to-circuit-json.ts
|
|
42011
42085
|
import { transformPCBElement } from "@tscircuit/circuit-json-util";
|
|
42012
|
-
import { translate as
|
|
42086
|
+
import { translate as translate9 } from "transformation-matrix";
|
|
42013
42087
|
|
|
42014
42088
|
// lib/utils/edit-events/apply-trace-hint-edit-event.ts
|
|
42015
42089
|
import { su as su3 } from "@tscircuit/circuit-json-util";
|
|
@@ -42054,7 +42128,7 @@ var applyEditEvents = ({
|
|
|
42054
42128
|
);
|
|
42055
42129
|
const needsMovement = !component || component.center.x !== editEvent.new_center.x || component.center.y !== editEvent.new_center.y;
|
|
42056
42130
|
if (needsMovement && editEvent.original_center) {
|
|
42057
|
-
const mat =
|
|
42131
|
+
const mat = translate9(
|
|
42058
42132
|
editEvent.new_center.x - editEvent.original_center.x,
|
|
42059
42133
|
editEvent.new_center.y - editEvent.original_center.y
|
|
42060
42134
|
);
|
|
@@ -43465,7 +43539,7 @@ import "zod";
|
|
|
43465
43539
|
|
|
43466
43540
|
// lib/components/primitive-components/TraceHint.ts
|
|
43467
43541
|
import { traceHintProps } from "@tscircuit/props";
|
|
43468
|
-
import { applyToPoint as
|
|
43542
|
+
import { applyToPoint as applyToPoint28 } from "transformation-matrix";
|
|
43469
43543
|
var TraceHint = class extends PrimitiveComponent2 {
|
|
43470
43544
|
matchedPort = null;
|
|
43471
43545
|
get config() {
|
|
@@ -43505,7 +43579,7 @@ var TraceHint = class extends PrimitiveComponent2 {
|
|
|
43505
43579
|
const globalTransform = this._computePcbGlobalTransformBeforeLayout();
|
|
43506
43580
|
return offsets.map(
|
|
43507
43581
|
(offset) => ({
|
|
43508
|
-
...
|
|
43582
|
+
...applyToPoint28(globalTransform, offset),
|
|
43509
43583
|
via: offset.via,
|
|
43510
43584
|
to_layer: offset.to_layer,
|
|
43511
43585
|
trace_width: offset.trace_width
|
|
@@ -45017,7 +45091,7 @@ import {
|
|
|
45017
45091
|
transformPCBElements as transformPCBElements2
|
|
45018
45092
|
} from "@tscircuit/circuit-json-util";
|
|
45019
45093
|
import { normalizeDegrees as normalizeDegrees5 } from "@tscircuit/math-utils";
|
|
45020
|
-
import { compose as
|
|
45094
|
+
import { compose as compose11, rotate as rotate5, translate as translate10 } from "transformation-matrix";
|
|
45021
45095
|
var updateCadRotation = ({
|
|
45022
45096
|
db,
|
|
45023
45097
|
pcbComponentId,
|
|
@@ -45069,11 +45143,11 @@ var applyPackOutput = (group, packOutput, clusterMap, initialPackOutput) => {
|
|
|
45069
45143
|
const member = db.pcb_component.get(memberId);
|
|
45070
45144
|
if (!member) continue;
|
|
45071
45145
|
const originalCenter2 = member.center;
|
|
45072
|
-
const transformMatrix2 =
|
|
45146
|
+
const transformMatrix2 = compose11(
|
|
45073
45147
|
group._computePcbGlobalTransformBeforeLayout(),
|
|
45074
|
-
|
|
45075
|
-
|
|
45076
|
-
|
|
45148
|
+
translate10(center.x + rotatedRel.x, center.y + rotatedRel.y),
|
|
45149
|
+
rotate5(angleRad),
|
|
45150
|
+
translate10(-originalCenter2.x, -originalCenter2.y)
|
|
45077
45151
|
);
|
|
45078
45152
|
const related = db.toArray().filter(
|
|
45079
45153
|
(elm) => "pcb_component_id" in elm && elm.pcb_component_id === memberId
|
|
@@ -45103,11 +45177,11 @@ var applyPackOutput = (group, packOutput, clusterMap, initialPackOutput) => {
|
|
|
45103
45177
|
}
|
|
45104
45178
|
const originalCenter2 = pcbComponent.center;
|
|
45105
45179
|
const rotationDegrees2 = ccwRotationDegrees ?? ccwRotationOffset ?? 0;
|
|
45106
|
-
const transformMatrix2 =
|
|
45180
|
+
const transformMatrix2 = compose11(
|
|
45107
45181
|
group._computePcbGlobalTransformBeforeLayout(),
|
|
45108
|
-
|
|
45109
|
-
|
|
45110
|
-
|
|
45182
|
+
translate10(center.x, center.y),
|
|
45183
|
+
rotate5(rotationDegrees2 * Math.PI / 180),
|
|
45184
|
+
translate10(-originalCenter2.x, -originalCenter2.y)
|
|
45111
45185
|
);
|
|
45112
45186
|
const related = db.toArray().filter(
|
|
45113
45187
|
(elm) => "pcb_component_id" in elm && elm.pcb_component_id === componentId
|
|
@@ -45128,11 +45202,11 @@ var applyPackOutput = (group, packOutput, clusterMap, initialPackOutput) => {
|
|
|
45128
45202
|
);
|
|
45129
45203
|
const originalCenter = initialPackedComponent?.center ?? pcbGroup.center;
|
|
45130
45204
|
const rotationDegrees = ccwRotationDegrees ?? ccwRotationOffset ?? 0;
|
|
45131
|
-
const transformMatrix =
|
|
45205
|
+
const transformMatrix = compose11(
|
|
45132
45206
|
group._computePcbGlobalTransformBeforeLayout(),
|
|
45133
|
-
|
|
45134
|
-
|
|
45135
|
-
|
|
45207
|
+
translate10(center.x, center.y),
|
|
45208
|
+
rotate5(rotationDegrees * Math.PI / 180),
|
|
45209
|
+
translate10(-originalCenter.x, -originalCenter.y)
|
|
45136
45210
|
);
|
|
45137
45211
|
const relatedElements = db.toArray().filter((elm) => {
|
|
45138
45212
|
if ("source_group_id" in elm && elm.source_group_id) {
|
|
@@ -47480,9 +47554,9 @@ import Debug13 from "debug";
|
|
|
47480
47554
|
// lib/components/primitive-components/NetLabel.ts
|
|
47481
47555
|
import { netLabelProps } from "@tscircuit/props";
|
|
47482
47556
|
import {
|
|
47483
|
-
applyToPoint as
|
|
47557
|
+
applyToPoint as applyToPoint29,
|
|
47484
47558
|
identity as identity6,
|
|
47485
|
-
translate as
|
|
47559
|
+
translate as translate11
|
|
47486
47560
|
} from "transformation-matrix";
|
|
47487
47561
|
import { calculateElbow as calculateElbow2 } from "calculate-elbow";
|
|
47488
47562
|
var NetLabel = class extends PrimitiveComponent2 {
|
|
@@ -47545,11 +47619,11 @@ var NetLabel = class extends PrimitiveComponent2 {
|
|
|
47545
47619
|
const connectedPorts = this._getConnectedPorts();
|
|
47546
47620
|
if (connectedPorts.length > 0) {
|
|
47547
47621
|
const portPos = connectedPorts[0]._getGlobalSchematicPositionBeforeLayout();
|
|
47548
|
-
const parentCenter =
|
|
47622
|
+
const parentCenter = applyToPoint29(
|
|
47549
47623
|
this.parent?.computeSchematicGlobalTransform?.() ?? identity6(),
|
|
47550
47624
|
{ x: 0, y: 0 }
|
|
47551
47625
|
);
|
|
47552
|
-
return
|
|
47626
|
+
return translate11(portPos.x - parentCenter.x, portPos.y - parentCenter.y);
|
|
47553
47627
|
}
|
|
47554
47628
|
}
|
|
47555
47629
|
return super.computeSchematicPropsTransform();
|
|
@@ -51542,7 +51616,7 @@ function Group_getRoutingPhasePlans(group) {
|
|
|
51542
51616
|
var package_default = {
|
|
51543
51617
|
name: "@tscircuit/core",
|
|
51544
51618
|
type: "module",
|
|
51545
|
-
version: "0.0.
|
|
51619
|
+
version: "0.0.1880",
|
|
51546
51620
|
types: "dist/index.d.ts",
|
|
51547
51621
|
main: "dist/index.js",
|
|
51548
51622
|
module: "dist/index.js",
|
|
@@ -56854,11 +56928,11 @@ import {
|
|
|
56854
56928
|
Polygon as Polygon2,
|
|
56855
56929
|
Segment
|
|
56856
56930
|
} from "@flatten-js/core";
|
|
56857
|
-
import { compose as
|
|
56931
|
+
import { compose as compose12, rotate as rotate6, translate as translate12 } from "transformation-matrix";
|
|
56858
56932
|
var placePolygon = (polygon, center, degrees = 0) => {
|
|
56859
|
-
const { a, b, c, d, e, f } =
|
|
56860
|
-
|
|
56861
|
-
|
|
56933
|
+
const { a, b, c, d, e, f } = compose12(
|
|
56934
|
+
translate12(center.x, center.y),
|
|
56935
|
+
rotate6(degrees * Math.PI / 180)
|
|
56862
56936
|
);
|
|
56863
56937
|
return polygon.transform(new Matrix(a, b, c, d, e, f));
|
|
56864
56938
|
};
|
|
@@ -57539,9 +57613,9 @@ var Board = class extends Group5 {
|
|
|
57539
57613
|
_computePcbGlobalTransformBeforeLayout() {
|
|
57540
57614
|
if (this._panelPositionOffset) {
|
|
57541
57615
|
const parentTransform = this.parent?._computePcbGlobalTransformBeforeLayout?.() ?? { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 };
|
|
57542
|
-
return
|
|
57616
|
+
return compose13(
|
|
57543
57617
|
parentTransform,
|
|
57544
|
-
|
|
57618
|
+
translate13(this._panelPositionOffset.x, this._panelPositionOffset.y)
|
|
57545
57619
|
);
|
|
57546
57620
|
}
|
|
57547
57621
|
return super._computePcbGlobalTransformBeforeLayout();
|
|
@@ -58162,7 +58236,7 @@ import { distance as distance20 } from "circuit-json";
|
|
|
58162
58236
|
// lib/components/normal-components/Subpanel.ts
|
|
58163
58237
|
import { subpanelProps } from "@tscircuit/props";
|
|
58164
58238
|
import { distance as distance19 } from "circuit-json";
|
|
58165
|
-
import { compose as
|
|
58239
|
+
import { compose as compose14, identity as identity8, translate as translate14 } from "transformation-matrix";
|
|
58166
58240
|
|
|
58167
58241
|
// lib/utils/panels/generate-panel-tabs-and-mouse-bites.ts
|
|
58168
58242
|
import * as Flatten from "@flatten-js/core";
|
|
@@ -58674,9 +58748,9 @@ var Subpanel = class _Subpanel extends Group5 {
|
|
|
58674
58748
|
_computePcbGlobalTransformBeforeLayout() {
|
|
58675
58749
|
if (this._panelPositionOffset) {
|
|
58676
58750
|
const parentTransform = this.parent?._computePcbGlobalTransformBeforeLayout?.() ?? identity8();
|
|
58677
|
-
return
|
|
58751
|
+
return compose14(
|
|
58678
58752
|
parentTransform,
|
|
58679
|
-
|
|
58753
|
+
translate14(this._panelPositionOffset.x, this._panelPositionOffset.y)
|
|
58680
58754
|
);
|
|
58681
58755
|
}
|
|
58682
58756
|
return super._computePcbGlobalTransformBeforeLayout();
|
|
@@ -60343,7 +60417,7 @@ var AutoroutingPhase = class extends PrimitiveComponent2 {
|
|
|
60343
60417
|
|
|
60344
60418
|
// lib/components/primitive-components/FabricationNoteDimension.ts
|
|
60345
60419
|
import { fabricationNoteDimensionProps } from "@tscircuit/props";
|
|
60346
|
-
import { applyToPoint as
|
|
60420
|
+
import { applyToPoint as applyToPoint30 } from "transformation-matrix";
|
|
60347
60421
|
var FabricationNoteDimension = class extends PrimitiveComponent2 {
|
|
60348
60422
|
fabrication_note_dimension_id = null;
|
|
60349
60423
|
isPcbPrimitive = true;
|
|
@@ -60362,13 +60436,13 @@ var FabricationNoteDimension = class extends PrimitiveComponent2 {
|
|
|
60362
60436
|
this.renderError(
|
|
60363
60437
|
`FabricationNoteDimension could not find selector "${input}"`
|
|
60364
60438
|
);
|
|
60365
|
-
return
|
|
60439
|
+
return applyToPoint30(transform, { x: 0, y: 0 });
|
|
60366
60440
|
}
|
|
60367
60441
|
return target._getGlobalPcbPositionBeforeLayout();
|
|
60368
60442
|
}
|
|
60369
60443
|
const numericX = typeof input.x === "string" ? parseFloat(input.x) : input.x;
|
|
60370
60444
|
const numericY = typeof input.y === "string" ? parseFloat(input.y) : input.y;
|
|
60371
|
-
return
|
|
60445
|
+
return applyToPoint30(transform, { x: numericX, y: numericY });
|
|
60372
60446
|
}
|
|
60373
60447
|
doInitialPcbPrimitiveRender() {
|
|
60374
60448
|
if (this.root?.pcbDisabled) return;
|
|
@@ -60463,7 +60537,7 @@ var FabricationNoteDimension = class extends PrimitiveComponent2 {
|
|
|
60463
60537
|
|
|
60464
60538
|
// lib/components/primitive-components/PcbNoteDimension.ts
|
|
60465
60539
|
import { pcbNoteDimensionProps } from "@tscircuit/props";
|
|
60466
|
-
import { applyToPoint as
|
|
60540
|
+
import { applyToPoint as applyToPoint31 } from "transformation-matrix";
|
|
60467
60541
|
var PcbNoteDimension = class extends PrimitiveComponent2 {
|
|
60468
60542
|
pcb_note_dimension_id = null;
|
|
60469
60543
|
isPcbPrimitive = true;
|
|
@@ -60480,7 +60554,7 @@ var PcbNoteDimension = class extends PrimitiveComponent2 {
|
|
|
60480
60554
|
);
|
|
60481
60555
|
if (!target) {
|
|
60482
60556
|
this.renderError(`PcbNoteDimension could not find selector "${input}"`);
|
|
60483
|
-
return
|
|
60557
|
+
return applyToPoint31(transform, { x: 0, y: 0 });
|
|
60484
60558
|
}
|
|
60485
60559
|
const targetPcbComponentId = target.pcb_component_id;
|
|
60486
60560
|
const root = this.root;
|
|
@@ -60497,7 +60571,7 @@ var PcbNoteDimension = class extends PrimitiveComponent2 {
|
|
|
60497
60571
|
}
|
|
60498
60572
|
const numericX = typeof input.x === "string" ? parseFloat(input.x) : input.x;
|
|
60499
60573
|
const numericY = typeof input.y === "string" ? parseFloat(input.y) : input.y;
|
|
60500
|
-
return
|
|
60574
|
+
return applyToPoint31(transform, { x: numericX, y: numericY });
|
|
60501
60575
|
}
|
|
60502
60576
|
doInitialPcbPrimitiveRender() {
|
|
60503
60577
|
if (this.root?.pcbDisabled) return;
|
|
@@ -63225,7 +63299,7 @@ import {
|
|
|
63225
63299
|
getTransformedSvgPathRoutes,
|
|
63226
63300
|
loadImageSource
|
|
63227
63301
|
} from "@tscircuit/image-utils";
|
|
63228
|
-
import { applyToPoint as
|
|
63302
|
+
import { applyToPoint as applyToPoint32 } from "transformation-matrix";
|
|
63229
63303
|
var SilkscreenGraphic = class extends PrimitiveComponent2 {
|
|
63230
63304
|
pcb_silkscreen_graphic_id = null;
|
|
63231
63305
|
pcb_silkscreen_graphic_ids = [];
|
|
@@ -63327,7 +63401,7 @@ var SilkscreenGraphic = class extends PrimitiveComponent2 {
|
|
|
63327
63401
|
{ x: halfWidth, y: -halfHeight },
|
|
63328
63402
|
{ x: -halfWidth, y: -halfHeight }
|
|
63329
63403
|
]).map(
|
|
63330
|
-
(point6) =>
|
|
63404
|
+
(point6) => applyToPoint32(transform, point6)
|
|
63331
63405
|
)
|
|
63332
63406
|
},
|
|
63333
63407
|
inner_rings: []
|