@tscircuit/core 0.0.2173 → 0.0.2175
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 +6 -5
- package/dist/index.js +92 -67
- package/package.json +2 -3
package/dist/index.d.ts
CHANGED
|
@@ -3957,9 +3957,9 @@ interface ISymbol {
|
|
|
3957
3957
|
*/
|
|
3958
3958
|
schematic_symbol_id?: string;
|
|
3959
3959
|
/**
|
|
3960
|
-
*
|
|
3961
|
-
*
|
|
3962
|
-
*
|
|
3960
|
+
* Maps pre-resize schematic world points to resized and rotated world points
|
|
3961
|
+
* (mm, +X right, +Y up, right-handed). Includes translation, so directions
|
|
3962
|
+
* must use only its linear part. Computed lazily when first requested.
|
|
3963
3963
|
*/
|
|
3964
3964
|
userCoordinateToResizedSymbolTransformMat?: Matrix;
|
|
3965
3965
|
/**
|
|
@@ -3973,8 +3973,9 @@ interface ISymbol {
|
|
|
3973
3973
|
*/
|
|
3974
3974
|
getSchematicSymbolBounds(): SchematicSymbolBounds | null;
|
|
3975
3975
|
/**
|
|
3976
|
-
* Get the
|
|
3977
|
-
*
|
|
3976
|
+
* Get the point transform for resizing symbol contents and applying the
|
|
3977
|
+
* parent component's schRotation, in the world frame described above.
|
|
3978
|
+
* Returns null if neither resizing nor rotation is needed.
|
|
3978
3979
|
*/
|
|
3979
3980
|
getUserCoordinateToResizedSymbolTransform(): Matrix | null;
|
|
3980
3981
|
/**
|
package/dist/index.js
CHANGED
|
@@ -6074,6 +6074,17 @@ var Port = class extends PrimitiveComponent2 {
|
|
|
6074
6074
|
const schPort = db2.schematic_port.get(this.schematic_port_id);
|
|
6075
6075
|
if (schPort) {
|
|
6076
6076
|
const newCenter = applyToPoint3(transform, schPort.center);
|
|
6077
|
+
const rotation5 = Math.atan2(transform.b, transform.a) * 180 / Math.PI;
|
|
6078
|
+
if (schPort.facing_direction && rotation5 !== 0) {
|
|
6079
|
+
this.facingDirection = rotateDirection(
|
|
6080
|
+
schPort.facing_direction,
|
|
6081
|
+
rotation5
|
|
6082
|
+
);
|
|
6083
|
+
db2.schematic_port.update(this.schematic_port_id, {
|
|
6084
|
+
facing_direction: this.facingDirection,
|
|
6085
|
+
side_of_component: this.facingDirection === "up" ? "top" : this.facingDirection === "down" ? "bottom" : this.facingDirection
|
|
6086
|
+
});
|
|
6087
|
+
}
|
|
6077
6088
|
db2.schematic_port.update(this.schematic_port_id, {
|
|
6078
6089
|
center: newCenter
|
|
6079
6090
|
});
|
|
@@ -12327,10 +12338,16 @@ var SchematicArc = class extends PrimitiveComponent2 {
|
|
|
12327
12338
|
x: arc.center.x + arc.radius,
|
|
12328
12339
|
y: arc.center.y
|
|
12329
12340
|
});
|
|
12330
|
-
const newRadius = Math.
|
|
12341
|
+
const newRadius = Math.hypot(
|
|
12342
|
+
edgePoint.x - newCenter.x,
|
|
12343
|
+
edgePoint.y - newCenter.y
|
|
12344
|
+
);
|
|
12345
|
+
const rotation5 = Math.atan2(transform.b, transform.a) * 180 / Math.PI;
|
|
12331
12346
|
db2.schematic_arc.update(this.schematic_arc_id, {
|
|
12332
12347
|
center: { x: newCenter.x, y: newCenter.y },
|
|
12333
|
-
radius: newRadius
|
|
12348
|
+
radius: newRadius,
|
|
12349
|
+
start_angle_degrees: arc.start_angle_degrees + rotation5,
|
|
12350
|
+
end_angle_degrees: arc.end_angle_degrees + rotation5
|
|
12334
12351
|
});
|
|
12335
12352
|
}
|
|
12336
12353
|
};
|
|
@@ -12387,7 +12404,10 @@ var SchematicCircle = class extends PrimitiveComponent2 {
|
|
|
12387
12404
|
x: circle.center.x + circle.radius,
|
|
12388
12405
|
y: circle.center.y
|
|
12389
12406
|
});
|
|
12390
|
-
const newRadius = Math.
|
|
12407
|
+
const newRadius = Math.hypot(
|
|
12408
|
+
edgePoint.x - newCenter.x,
|
|
12409
|
+
edgePoint.y - newCenter.y
|
|
12410
|
+
);
|
|
12391
12411
|
db2.schematic_circle.update(this.schematic_circle_id, {
|
|
12392
12412
|
center: { x: newCenter.x, y: newCenter.y },
|
|
12393
12413
|
radius: newRadius
|
|
@@ -12716,24 +12736,14 @@ var SchematicRect = class extends PrimitiveComponent2 {
|
|
|
12716
12736
|
const { db: db2 } = this.root;
|
|
12717
12737
|
const rect = db2.schematic_rect.get(this.schematic_rect_id);
|
|
12718
12738
|
if (!rect) return;
|
|
12719
|
-
const
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
});
|
|
12723
|
-
const bottomRight = applyToPoint21(transform, {
|
|
12724
|
-
x: rect.center.x + rect.width / 2,
|
|
12725
|
-
y: rect.center.y - rect.height / 2
|
|
12726
|
-
});
|
|
12727
|
-
const newWidth = Math.abs(bottomRight.x - topLeft.x);
|
|
12728
|
-
const newHeight = Math.abs(topLeft.y - bottomRight.y);
|
|
12729
|
-
const newCenter = {
|
|
12730
|
-
x: (topLeft.x + bottomRight.x) / 2,
|
|
12731
|
-
y: (topLeft.y + bottomRight.y) / 2
|
|
12732
|
-
};
|
|
12739
|
+
const scaleX = Math.hypot(transform.a, transform.b);
|
|
12740
|
+
const scaleY = Math.hypot(transform.c, transform.d);
|
|
12741
|
+
const rotation5 = Math.atan2(transform.b, transform.a) * 180 / Math.PI;
|
|
12733
12742
|
db2.schematic_rect.update(this.schematic_rect_id, {
|
|
12734
|
-
center:
|
|
12735
|
-
width:
|
|
12736
|
-
height:
|
|
12743
|
+
center: applyToPoint21(transform, rect.center),
|
|
12744
|
+
width: rect.width * scaleX,
|
|
12745
|
+
height: rect.height * scaleY,
|
|
12746
|
+
rotation: (rect.rotation ?? 0) + rotation5
|
|
12737
12747
|
});
|
|
12738
12748
|
}
|
|
12739
12749
|
};
|
|
@@ -12786,7 +12796,8 @@ var SchematicText = class extends PrimitiveComponent2 {
|
|
|
12786
12796
|
if (!text) return;
|
|
12787
12797
|
const newPosition = applyToPoint22(transform, text.position);
|
|
12788
12798
|
db2.schematic_text.update(this.schematic_text_id, {
|
|
12789
|
-
position: { x: newPosition.x, y: newPosition.y }
|
|
12799
|
+
position: { x: newPosition.x, y: newPosition.y },
|
|
12800
|
+
rotation: (text.rotation ?? 0) + Math.atan2(transform.b, transform.a) * 180 / Math.PI
|
|
12790
12801
|
});
|
|
12791
12802
|
}
|
|
12792
12803
|
};
|
|
@@ -14045,7 +14056,13 @@ var SolderPaste = class _SolderPaste extends PrimitiveComponent2 {
|
|
|
14045
14056
|
|
|
14046
14057
|
// lib/components/primitive-components/Symbol/Symbol.ts
|
|
14047
14058
|
import { symbolProps } from "@tscircuit/props";
|
|
14048
|
-
import {
|
|
14059
|
+
import {
|
|
14060
|
+
compose as compose7,
|
|
14061
|
+
translate as translate5,
|
|
14062
|
+
scale as scale2,
|
|
14063
|
+
rotateDEG as rotateDEG2,
|
|
14064
|
+
identity as identity7
|
|
14065
|
+
} from "transformation-matrix";
|
|
14049
14066
|
var SymbolComponent = class extends PrimitiveComponent2 {
|
|
14050
14067
|
isPrimitiveContainer = true;
|
|
14051
14068
|
schematic_symbol_id;
|
|
@@ -14086,13 +14103,21 @@ var SymbolComponent = class extends PrimitiveComponent2 {
|
|
|
14086
14103
|
return this.schematicSymbolBoundsInSymbolLocalCoordinateSpace ?? null;
|
|
14087
14104
|
}
|
|
14088
14105
|
getUserCoordinateToResizedSymbolTransform() {
|
|
14089
|
-
if (!this.hasExplicitSize()) {
|
|
14090
|
-
return null;
|
|
14091
|
-
}
|
|
14092
14106
|
if (this.userCoordinateToResizedSymbolTransformMat) {
|
|
14093
14107
|
return this.userCoordinateToResizedSymbolTransformMat;
|
|
14094
14108
|
}
|
|
14095
14109
|
this._computeUserCoordinateToResizedSymbolTransform();
|
|
14110
|
+
const parentNormal = this.getParentNormalComponent();
|
|
14111
|
+
const rotation5 = parentNormal?._parsedProps.schRotation ?? 0;
|
|
14112
|
+
if (parentNormal && rotation5 !== 0) {
|
|
14113
|
+
const center = parentNormal._getGlobalSchematicPositionBeforeLayout();
|
|
14114
|
+
this.userCoordinateToResizedSymbolTransformMat = compose7(
|
|
14115
|
+
translate5(center.x, center.y),
|
|
14116
|
+
rotateDEG2(rotation5),
|
|
14117
|
+
translate5(-center.x, -center.y),
|
|
14118
|
+
this.userCoordinateToResizedSymbolTransformMat ?? identity7()
|
|
14119
|
+
);
|
|
14120
|
+
}
|
|
14096
14121
|
return this.userCoordinateToResizedSymbolTransformMat ?? null;
|
|
14097
14122
|
}
|
|
14098
14123
|
_computeSchematicSymbolBounds() {
|
|
@@ -14152,6 +14177,7 @@ var SymbolComponent = class extends PrimitiveComponent2 {
|
|
|
14152
14177
|
this.schematicSymbolBoundsInSymbolLocalCoordinateSpace = bounds;
|
|
14153
14178
|
}
|
|
14154
14179
|
_computeUserCoordinateToResizedSymbolTransform() {
|
|
14180
|
+
if (!this.hasExplicitSize()) return;
|
|
14155
14181
|
const bounds = this.getSchematicSymbolBounds();
|
|
14156
14182
|
if (!bounds) return;
|
|
14157
14183
|
const { _parsedProps: props } = this;
|
|
@@ -15889,7 +15915,7 @@ var getComponentsInAssemblyScope = (component) => {
|
|
|
15889
15915
|
var isMountablePart = (part) => part.componentName === "AssemblyMotor" || part.componentName === "AssemblyPart" || part.componentName === "AssemblyPrintedPart";
|
|
15890
15916
|
var isPrintedPart = (part) => part.componentName === "AssemblyPrintedPart";
|
|
15891
15917
|
var isMotor = (part) => part.componentName === "AssemblyMotor";
|
|
15892
|
-
var
|
|
15918
|
+
var identity8 = () => [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
|
|
15893
15919
|
var getMountTransformPlacement = (world) => {
|
|
15894
15920
|
const bottom = world[10] < 0;
|
|
15895
15921
|
const sign = bottom ? -1 : 1;
|
|
@@ -15906,7 +15932,7 @@ var faceMatrix = ({
|
|
|
15906
15932
|
}) => {
|
|
15907
15933
|
const up2 = vec3.cross([0, 0, 0], normal, xAxis);
|
|
15908
15934
|
return mat4.targetTo(
|
|
15909
|
-
|
|
15935
|
+
identity8(),
|
|
15910
15936
|
origin,
|
|
15911
15937
|
vec3.subtract([0, 0, 0], origin, normal),
|
|
15912
15938
|
up2
|
|
@@ -15951,7 +15977,7 @@ var findTarget = (owner, selector, parts) => {
|
|
|
15951
15977
|
return { part, face: getFace(part, faceName) };
|
|
15952
15978
|
};
|
|
15953
15979
|
var rootOrientation = (part, placement) => {
|
|
15954
|
-
const result =
|
|
15980
|
+
const result = identity8();
|
|
15955
15981
|
if (isPrintedPart(part)) return result;
|
|
15956
15982
|
if (!isMotor(part)) {
|
|
15957
15983
|
if (!placement)
|
|
@@ -16023,11 +16049,11 @@ var resolvePrintedPartMounts = (component) => {
|
|
|
16023
16049
|
const mating = faceMatrix(face);
|
|
16024
16050
|
mat4.translate(mating, mating, [0, 0, part._parsedProps.mountGap ?? 0]);
|
|
16025
16051
|
mat4.rotateX(mating, mating, Math.PI);
|
|
16026
|
-
const sourceInverse = mat4.invert(
|
|
16052
|
+
const sourceInverse = mat4.invert(identity8(), faceMatrix(sourceFace));
|
|
16027
16053
|
world = mat4.multiply(
|
|
16028
|
-
|
|
16054
|
+
identity8(),
|
|
16029
16055
|
targetWorld,
|
|
16030
|
-
mat4.multiply(
|
|
16056
|
+
mat4.multiply(identity8(), mating, sourceInverse)
|
|
16031
16057
|
);
|
|
16032
16058
|
root = roots.get(target);
|
|
16033
16059
|
}
|
|
@@ -16063,7 +16089,7 @@ var resolvePrintedPartMounts = (component) => {
|
|
|
16063
16089
|
if (!pcbBoard)
|
|
16064
16090
|
throw new Error(`Mounted board "${board.name}" has no PCB geometry`);
|
|
16065
16091
|
const worldFace = mat4.multiply(
|
|
16066
|
-
|
|
16092
|
+
identity8(),
|
|
16067
16093
|
transforms.get(part),
|
|
16068
16094
|
faceMatrix(face)
|
|
16069
16095
|
);
|
|
@@ -16084,7 +16110,7 @@ var resolvePrintedPartMounts = (component) => {
|
|
|
16084
16110
|
}
|
|
16085
16111
|
const boardTransform = board._computePcbGlobalTransformBeforeLayout();
|
|
16086
16112
|
const yaw = Math.atan2(boardTransform.b, boardTransform.a) - Math.atan2(worldFace[1], worldFace[0]);
|
|
16087
|
-
const adjustment = mat4.fromZRotation(
|
|
16113
|
+
const adjustment = mat4.fromZRotation(identity8(), yaw);
|
|
16088
16114
|
const rotatedOrigin = vec3.transformMat4(
|
|
16089
16115
|
[0, 0, 0],
|
|
16090
16116
|
[worldFace[12], worldFace[13], worldFace[14]],
|
|
@@ -16099,7 +16125,7 @@ var resolvePrintedPartMounts = (component) => {
|
|
|
16099
16125
|
if (roots.get(mountedPart) === root)
|
|
16100
16126
|
transforms.set(
|
|
16101
16127
|
mountedPart,
|
|
16102
|
-
mat4.multiply(
|
|
16128
|
+
mat4.multiply(identity8(), adjustment, world)
|
|
16103
16129
|
);
|
|
16104
16130
|
}
|
|
16105
16131
|
if (component === board || isMountablePart(component) && roots.get(component) === root)
|
|
@@ -16375,7 +16401,7 @@ import {
|
|
|
16375
16401
|
applyToPoint as applyToPoint30,
|
|
16376
16402
|
compose as compose8,
|
|
16377
16403
|
flipY as flipY4,
|
|
16378
|
-
identity as
|
|
16404
|
+
identity as identity9,
|
|
16379
16405
|
rotate as rotate3,
|
|
16380
16406
|
translate as translate6
|
|
16381
16407
|
} from "transformation-matrix";
|
|
@@ -16386,7 +16412,7 @@ var renderAssemblyCadModel = (owner, model, placement) => {
|
|
|
16386
16412
|
const transform = compose8(
|
|
16387
16413
|
translate6(placement.position.x, placement.position.y),
|
|
16388
16414
|
rotate3(placement.pcbRotation * Math.PI / 180),
|
|
16389
|
-
bottom ? flipY4() :
|
|
16415
|
+
bottom ? flipY4() : identity9()
|
|
16390
16416
|
);
|
|
16391
16417
|
const xy2 = applyToPoint30(transform, offset);
|
|
16392
16418
|
const authoredRotation = base.pcbRotationOffset ?? base.rotationOffset ?? 0;
|
|
@@ -22669,22 +22695,22 @@ function createElectricalNetIdentity(srj) {
|
|
|
22669
22695
|
function getElectricalNetIdentity(srj) {
|
|
22670
22696
|
const cached = identityCache.get(srj);
|
|
22671
22697
|
if (cached) return cached;
|
|
22672
|
-
const
|
|
22673
|
-
identityCache.set(srj,
|
|
22674
|
-
return
|
|
22698
|
+
const identity14 = createElectricalNetIdentity(srj);
|
|
22699
|
+
identityCache.set(srj, identity14);
|
|
22700
|
+
return identity14;
|
|
22675
22701
|
}
|
|
22676
22702
|
function connectionsShareElectricalNet(srj, firstConnectionName, secondConnectionName) {
|
|
22677
|
-
const
|
|
22678
|
-
const firstNet =
|
|
22679
|
-
const secondNet =
|
|
22703
|
+
const identity14 = getElectricalNetIdentity(srj);
|
|
22704
|
+
const firstNet = identity14.connectionNetKeys.get(firstConnectionName);
|
|
22705
|
+
const secondNet = identity14.connectionNetKeys.get(secondConnectionName);
|
|
22680
22706
|
return firstNet !== void 0 && firstNet === secondNet;
|
|
22681
22707
|
}
|
|
22682
22708
|
function obstacleSharesElectricalNet(srj, obstacle, connectionName) {
|
|
22683
|
-
const
|
|
22684
|
-
const connectionNet =
|
|
22709
|
+
const identity14 = getElectricalNetIdentity(srj);
|
|
22710
|
+
const connectionNet = identity14.connectionNetKeys.get(connectionName);
|
|
22685
22711
|
if (!connectionNet) return false;
|
|
22686
22712
|
for (const token of obstacle.connectedTo)
|
|
22687
|
-
if (
|
|
22713
|
+
if (identity14.tokenNetKeys.get(token) === connectionNet) return true;
|
|
22688
22714
|
return false;
|
|
22689
22715
|
}
|
|
22690
22716
|
|
|
@@ -36303,8 +36329,8 @@ function layerSequences(bus) {
|
|
|
36303
36329
|
(connections) => connections.toSorted((a2, b2) => {
|
|
36304
36330
|
const delta = (a2.exitTargetPoint ?? a2.targetPoint)[axis] - (b2.exitTargetPoint ?? b2.targetPoint)[axis];
|
|
36305
36331
|
if (delta !== 0) return delta;
|
|
36306
|
-
const
|
|
36307
|
-
return
|
|
36332
|
+
const identity14 = (c2) => "source_trace_id" in c2.connection && typeof c2.connection.source_trace_id === "string" ? c2.connection.source_trace_id : c2.connection.name;
|
|
36333
|
+
return identity14(a2).localeCompare(identity14(b2)) || a2.connection.name.localeCompare(b2.connection.name) || a2.connectionIndex - b2.connectionIndex;
|
|
36308
36334
|
})
|
|
36309
36335
|
);
|
|
36310
36336
|
}
|
|
@@ -84672,7 +84698,7 @@ import {
|
|
|
84672
84698
|
import {
|
|
84673
84699
|
applyToPoint as applyToPoint34,
|
|
84674
84700
|
compose as compose12,
|
|
84675
|
-
rotateDEG as
|
|
84701
|
+
rotateDEG as rotateDEG3,
|
|
84676
84702
|
translate as translate10
|
|
84677
84703
|
} from "transformation-matrix";
|
|
84678
84704
|
var rectTransforms = /* @__PURE__ */ new WeakMap();
|
|
@@ -84683,13 +84709,13 @@ var getRectTransforms = (primitive) => {
|
|
|
84683
84709
|
// compose applies the rightmost operation first: move the world point to
|
|
84684
84710
|
// the rectangle origin, then undo its counter-clockwise rotation.
|
|
84685
84711
|
toLocal: compose12(
|
|
84686
|
-
|
|
84712
|
+
rotateDEG3(-primitive.rotation),
|
|
84687
84713
|
translate10(-primitive.x, -primitive.y)
|
|
84688
84714
|
),
|
|
84689
84715
|
// Rotate a rectangle-local point before translating it into board space.
|
|
84690
84716
|
toWorld: compose12(
|
|
84691
84717
|
translate10(primitive.x, primitive.y),
|
|
84692
|
-
|
|
84718
|
+
rotateDEG3(primitive.rotation)
|
|
84693
84719
|
)
|
|
84694
84720
|
};
|
|
84695
84721
|
rectTransforms.set(primitive, transforms);
|
|
@@ -85417,7 +85443,7 @@ import {
|
|
|
85417
85443
|
import {
|
|
85418
85444
|
applyToPoints,
|
|
85419
85445
|
compose as compose14,
|
|
85420
|
-
rotateDEG as
|
|
85446
|
+
rotateDEG as rotateDEG4,
|
|
85421
85447
|
translate as translate12
|
|
85422
85448
|
} from "transformation-matrix";
|
|
85423
85449
|
var DEFAULT_GRID_PITCH = 0.25;
|
|
@@ -85448,7 +85474,7 @@ var addPillPrimitive = (primitives, params) => {
|
|
|
85448
85474
|
const halfAxis = axisLength / 2;
|
|
85449
85475
|
const axisToWorld = compose14(
|
|
85450
85476
|
translate12(x2, y2),
|
|
85451
|
-
|
|
85477
|
+
rotateDEG4(rotation5 + (height > width ? 90 : 0))
|
|
85452
85478
|
);
|
|
85453
85479
|
const [start, end] = applyToPoints(axisToWorld, [
|
|
85454
85480
|
{ x: -halfAxis, y: 0 },
|
|
@@ -114921,7 +114947,7 @@ import Debug13 from "debug";
|
|
|
114921
114947
|
import { netLabelProps } from "@tscircuit/props";
|
|
114922
114948
|
import {
|
|
114923
114949
|
applyToPoint as applyToPoint37,
|
|
114924
|
-
identity as
|
|
114950
|
+
identity as identity10,
|
|
114925
114951
|
translate as translate15
|
|
114926
114952
|
} from "transformation-matrix";
|
|
114927
114953
|
import { calculateElbow as calculateElbow3 } from "calculate-elbow";
|
|
@@ -114986,7 +115012,7 @@ var NetLabel = class extends PrimitiveComponent2 {
|
|
|
114986
115012
|
if (connectedPorts.length > 0) {
|
|
114987
115013
|
const portPos = connectedPorts[0]._getGlobalSchematicPositionBeforeLayout();
|
|
114988
115014
|
const parentCenter = applyToPoint37(
|
|
114989
|
-
this.parent?.computeSchematicGlobalTransform?.() ??
|
|
115015
|
+
this.parent?.computeSchematicGlobalTransform?.() ?? identity10(),
|
|
114990
115016
|
{ x: 0, y: 0 }
|
|
114991
115017
|
);
|
|
114992
115018
|
return translate15(portPos.x - parentCenter.x, portPos.y - parentCenter.y);
|
|
@@ -119530,7 +119556,7 @@ var RoutingPhasePreparationError = class extends Error {
|
|
|
119530
119556
|
var package_default = {
|
|
119531
119557
|
name: "@tscircuit/core",
|
|
119532
119558
|
type: "module",
|
|
119533
|
-
version: "0.0.
|
|
119559
|
+
version: "0.0.2174",
|
|
119534
119560
|
types: "dist/index.d.ts",
|
|
119535
119561
|
main: "dist/index.js",
|
|
119536
119562
|
module: "dist/index.js",
|
|
@@ -119569,7 +119595,7 @@ var package_default = {
|
|
|
119569
119595
|
"@tscircuit/cableprinter": "^0.0.6",
|
|
119570
119596
|
"@tscircuit/capacity-autorouter": "^0.0.988",
|
|
119571
119597
|
"@tscircuit/checks": "^0.0.256",
|
|
119572
|
-
"@tscircuit/circuit-json-util": "^0.0.
|
|
119598
|
+
"@tscircuit/circuit-json-util": "^0.0.123",
|
|
119573
119599
|
"@tscircuit/common": "^0.0.20",
|
|
119574
119600
|
"@tscircuit/copper-pour-solver": "^0.0.67",
|
|
119575
119601
|
"@tscircuit/create-fdm-enclosure": "0.0.4",
|
|
@@ -119672,7 +119698,6 @@ var package_default = {
|
|
|
119672
119698
|
"jscad-fiber": "^0.0.88"
|
|
119673
119699
|
},
|
|
119674
119700
|
overrides: {
|
|
119675
|
-
"@tscircuit/circuit-json-util": "^0.0.122",
|
|
119676
119701
|
"@tscircuit/props": "^0.0.704",
|
|
119677
119702
|
"circuit-json": "^0.0.528",
|
|
119678
119703
|
"@tscircuit/cableprinter": "^0.0.6"
|
|
@@ -120297,7 +120322,7 @@ function getAccumulatedPcbTracesWithStageOutputReplacements({
|
|
|
120297
120322
|
// lib/components/primitive-components/Group/get-source-trace-id-for-routed-trace.ts
|
|
120298
120323
|
import { distance as distance19, pointToSegmentDistance as pointToSegmentDistance5 } from "@tscircuit/math-utils";
|
|
120299
120324
|
import { ConnectivityMap as ConnectivityMap6 } from "circuit-json-to-connectivity-map";
|
|
120300
|
-
import { applyToPoint as applyToPoint39, rotateDEG as
|
|
120325
|
+
import { applyToPoint as applyToPoint39, rotateDEG as rotateDEG5 } from "transformation-matrix";
|
|
120301
120326
|
var POINT_EPSILON3 = 1e-6;
|
|
120302
120327
|
function isPointOnWireSegment({
|
|
120303
120328
|
point: point6,
|
|
@@ -120315,7 +120340,7 @@ function isPointInSmtPad({
|
|
|
120315
120340
|
traceWidth = 0
|
|
120316
120341
|
}) {
|
|
120317
120342
|
if (pad.shape === "rect" || pad.shape === "rotated_rect") {
|
|
120318
|
-
const unrotatedPoint = pad.shape === "rotated_rect" ? applyToPoint39(
|
|
120343
|
+
const unrotatedPoint = pad.shape === "rotated_rect" ? applyToPoint39(rotateDEG5(-pad.ccw_rotation, pad.x, pad.y), point6) : point6;
|
|
120319
120344
|
return Math.abs(unrotatedPoint.x - pad.x) <= pad.width / 2 + traceWidth / 2 && Math.abs(unrotatedPoint.y - pad.y) <= pad.height / 2 + traceWidth / 2;
|
|
120320
120345
|
}
|
|
120321
120346
|
if (pad.shape === "circle") {
|
|
@@ -124132,7 +124157,7 @@ function createCircuitJsonDatabase() {
|
|
|
124132
124157
|
// lib/IsolatedCircuit.ts
|
|
124133
124158
|
import Debug16 from "debug";
|
|
124134
124159
|
import { isValidElement as isValidElement3 } from "react";
|
|
124135
|
-
import { identity as
|
|
124160
|
+
import { identity as identity11 } from "transformation-matrix";
|
|
124136
124161
|
var IsolatedCircuit = class {
|
|
124137
124162
|
firstChild = null;
|
|
124138
124163
|
children;
|
|
@@ -124354,10 +124379,10 @@ var IsolatedCircuit = class {
|
|
|
124354
124379
|
throw new Error("project.preview is not yet implemented");
|
|
124355
124380
|
}
|
|
124356
124381
|
computeSchematicGlobalTransform() {
|
|
124357
|
-
return
|
|
124382
|
+
return identity11();
|
|
124358
124383
|
}
|
|
124359
124384
|
_computePcbGlobalTransformBeforeLayout() {
|
|
124360
|
-
return
|
|
124385
|
+
return identity11();
|
|
124361
124386
|
}
|
|
124362
124387
|
selectAll(selector) {
|
|
124363
124388
|
this._guessRootComponent();
|
|
@@ -125837,7 +125862,7 @@ import { distance as distance26 } from "circuit-json";
|
|
|
125837
125862
|
// lib/components/normal-components/Subpanel.ts
|
|
125838
125863
|
import { subpanelProps } from "@tscircuit/props";
|
|
125839
125864
|
import { distance as distance25 } from "circuit-json";
|
|
125840
|
-
import { compose as compose19, identity as
|
|
125865
|
+
import { compose as compose19, identity as identity12, translate as translate19 } from "transformation-matrix";
|
|
125841
125866
|
|
|
125842
125867
|
// lib/utils/panels/generate-panel-tabs-and-mouse-bites.ts
|
|
125843
125868
|
import * as Flatten2 from "@flatten-js/core";
|
|
@@ -126348,7 +126373,7 @@ var Subpanel = class _Subpanel extends Group5 {
|
|
|
126348
126373
|
_panelPositionOffset = null;
|
|
126349
126374
|
_computePcbGlobalTransformBeforeLayout() {
|
|
126350
126375
|
if (this._panelPositionOffset) {
|
|
126351
|
-
const parentTransform = this.parent?._computePcbGlobalTransformBeforeLayout?.() ??
|
|
126376
|
+
const parentTransform = this.parent?._computePcbGlobalTransformBeforeLayout?.() ?? identity12();
|
|
126352
126377
|
return compose19(
|
|
126353
126378
|
parentTransform,
|
|
126354
126379
|
translate19(this._panelPositionOffset.x, this._panelPositionOffset.y)
|
|
@@ -131788,7 +131813,7 @@ var CopperPour = class extends PrimitiveComponent2 {
|
|
|
131788
131813
|
|
|
131789
131814
|
// lib/components/primitive-components/AssemblyDevice.ts
|
|
131790
131815
|
import { assemblyDeviceProps } from "@tscircuit/props";
|
|
131791
|
-
import { identity as
|
|
131816
|
+
import { identity as identity13 } from "transformation-matrix";
|
|
131792
131817
|
|
|
131793
131818
|
// lib/components/primitive-components/resolve-assembly-model.ts
|
|
131794
131819
|
var resolveAssemblyModel = (props) => {
|
|
@@ -131816,10 +131841,10 @@ var AssemblyDevice = class extends PrimitiveComponent2 {
|
|
|
131816
131841
|
doInitialAssignNameToUnnamedComponents() {
|
|
131817
131842
|
}
|
|
131818
131843
|
computeSchematicGlobalTransform() {
|
|
131819
|
-
return
|
|
131844
|
+
return identity13();
|
|
131820
131845
|
}
|
|
131821
131846
|
_computePcbGlobalTransformBeforeLayout() {
|
|
131822
|
-
return
|
|
131847
|
+
return identity13();
|
|
131823
131848
|
}
|
|
131824
131849
|
doInitialSourceRender() {
|
|
131825
131850
|
if (this._parsedProps.modelUrl === void 0 && this._parsedProps.model === void 0 || !this.root)
|
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.2175",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@tscircuit/cableprinter": "^0.0.6",
|
|
41
41
|
"@tscircuit/capacity-autorouter": "^0.0.988",
|
|
42
42
|
"@tscircuit/checks": "^0.0.256",
|
|
43
|
-
"@tscircuit/circuit-json-util": "^0.0.
|
|
43
|
+
"@tscircuit/circuit-json-util": "^0.0.123",
|
|
44
44
|
"@tscircuit/common": "^0.0.20",
|
|
45
45
|
"@tscircuit/copper-pour-solver": "^0.0.67",
|
|
46
46
|
"@tscircuit/create-fdm-enclosure": "0.0.4",
|
|
@@ -143,7 +143,6 @@
|
|
|
143
143
|
"jscad-fiber": "^0.0.88"
|
|
144
144
|
},
|
|
145
145
|
"overrides": {
|
|
146
|
-
"@tscircuit/circuit-json-util": "^0.0.122",
|
|
147
146
|
"@tscircuit/props": "^0.0.704",
|
|
148
147
|
"circuit-json": "^0.0.528",
|
|
149
148
|
"@tscircuit/cableprinter": "^0.0.6"
|