@tscircuit/pcb-viewer 1.11.401 → 1.11.402
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 +25 -23
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11047,7 +11047,7 @@ import { css as css3 } from "@emotion/css";
|
|
|
11047
11047
|
// package.json
|
|
11048
11048
|
var package_default = {
|
|
11049
11049
|
name: "@tscircuit/pcb-viewer",
|
|
11050
|
-
version: "1.11.
|
|
11050
|
+
version: "1.11.401",
|
|
11051
11051
|
main: "dist/index.js",
|
|
11052
11052
|
type: "module",
|
|
11053
11053
|
repository: {
|
|
@@ -12132,8 +12132,8 @@ var ToolbarOverlay = ({
|
|
|
12132
12132
|
elements,
|
|
12133
12133
|
onContextMenuOpenChange,
|
|
12134
12134
|
getNetAtPoint,
|
|
12135
|
-
|
|
12136
|
-
|
|
12135
|
+
xRayNetIds = [],
|
|
12136
|
+
onXRayNetsChange
|
|
12137
12137
|
}) => {
|
|
12138
12138
|
const isSmallScreen = useIsSmallScreen();
|
|
12139
12139
|
const {
|
|
@@ -12359,8 +12359,8 @@ var ToolbarOverlay = ({
|
|
|
12359
12359
|
return;
|
|
12360
12360
|
const net = netAtEvent(event);
|
|
12361
12361
|
if (!net) return;
|
|
12362
|
-
if (net
|
|
12363
|
-
|
|
12362
|
+
if (xRayNetIds.includes(net)) {
|
|
12363
|
+
onXRayNetsChange?.(xRayNetIds.filter((id) => id !== net));
|
|
12364
12364
|
closeContextMenu();
|
|
12365
12365
|
} else {
|
|
12366
12366
|
setContextNetId(net);
|
|
@@ -12369,7 +12369,7 @@ var ToolbarOverlay = ({
|
|
|
12369
12369
|
}
|
|
12370
12370
|
},
|
|
12371
12371
|
onDoubleClick: () => {
|
|
12372
|
-
|
|
12372
|
+
onXRayNetsChange?.([]);
|
|
12373
12373
|
closeContextMenu();
|
|
12374
12374
|
},
|
|
12375
12375
|
onContextMenu: (event) => {
|
|
@@ -12390,8 +12390,8 @@ var ToolbarOverlay = ({
|
|
|
12390
12390
|
{
|
|
12391
12391
|
position: contextMenuPosition,
|
|
12392
12392
|
onClose: closeContextMenu,
|
|
12393
|
-
onXRayNet: contextNetId && contextNetId
|
|
12394
|
-
onExitXRayNet:
|
|
12393
|
+
onXRayNet: contextNetId && !xRayNetIds.includes(contextNetId) ? () => onXRayNetsChange?.([...xRayNetIds, contextNetId]) : void 0,
|
|
12394
|
+
onExitXRayNet: xRayNetIds.length > 0 ? () => onXRayNetsChange?.([]) : void 0
|
|
12395
12395
|
}
|
|
12396
12396
|
),
|
|
12397
12397
|
/* @__PURE__ */ jsxs17(
|
|
@@ -12866,13 +12866,15 @@ var CanvasElementsRenderer = (props) => {
|
|
|
12866
12866
|
() => getFullConnectivityMapFromCircuitJson(elements),
|
|
12867
12867
|
[elements]
|
|
12868
12868
|
);
|
|
12869
|
-
const [
|
|
12870
|
-
useEffect19(() =>
|
|
12869
|
+
const [xRayNetIds, setXRayNetIds] = useState13([]);
|
|
12870
|
+
useEffect19(() => setXRayNetIds([]), [connectivityMap]);
|
|
12871
12871
|
const xRayElements = useMemo10(
|
|
12872
|
-
() =>
|
|
12873
|
-
(element) => isXRayCopper(element) &&
|
|
12872
|
+
() => xRayNetIds.length > 0 ? elementsToRender.filter(
|
|
12873
|
+
(element) => isXRayCopper(element) && xRayNetIds.includes(
|
|
12874
|
+
getElementNetId(element, connectivityMap) ?? ""
|
|
12875
|
+
)
|
|
12874
12876
|
) : void 0,
|
|
12875
|
-
[elementsToRender, connectivityMap,
|
|
12877
|
+
[elementsToRender, connectivityMap, xRayNetIds]
|
|
12876
12878
|
);
|
|
12877
12879
|
const getNetAtPoint = (point) => {
|
|
12878
12880
|
if (!transform) return void 0;
|
|
@@ -12881,18 +12883,18 @@ var CanvasElementsRenderer = (props) => {
|
|
|
12881
12883
|
applyToPoint19(inverse6(transform), point),
|
|
12882
12884
|
transform,
|
|
12883
12885
|
selectedLayer,
|
|
12884
|
-
|
|
12886
|
+
xRayNetIds.length > 0
|
|
12885
12887
|
);
|
|
12886
12888
|
const copper = hits.filter(
|
|
12887
12889
|
(p) => isXRayCopper(p._element) && p.layer !== "drill"
|
|
12888
12890
|
);
|
|
12889
|
-
if (xRayNetId && copper.some(
|
|
12890
|
-
(p) => getElementNetId(p._element, connectivityMap) === xRayNetId
|
|
12891
|
-
))
|
|
12892
|
-
return xRayNetId;
|
|
12893
12891
|
copper.sort(
|
|
12894
12892
|
(a, b) => Number(b.layer === selectedLayer) - Number(a.layer === selectedLayer)
|
|
12895
12893
|
);
|
|
12894
|
+
for (const primitive of copper) {
|
|
12895
|
+
const net = getElementNetId(primitive._element, connectivityMap);
|
|
12896
|
+
if (net && xRayNetIds.includes(net)) return net;
|
|
12897
|
+
}
|
|
12896
12898
|
for (const primitive of copper) {
|
|
12897
12899
|
const net = getElementNetId(primitive._element, connectivityMap);
|
|
12898
12900
|
if (net) return net;
|
|
@@ -12969,7 +12971,7 @@ var CanvasElementsRenderer = (props) => {
|
|
|
12969
12971
|
props.width
|
|
12970
12972
|
]);
|
|
12971
12973
|
const primitives = useMemo10(() => {
|
|
12972
|
-
if (
|
|
12974
|
+
if (xRayNetIds.length > 0) return primitivesWithoutInteractionMetadata;
|
|
12973
12975
|
const combinedPrimitiveIds = [
|
|
12974
12976
|
...hoverState.primitiveIdsInMousedOverNet,
|
|
12975
12977
|
...errorRelatedIds
|
|
@@ -12983,7 +12985,7 @@ var CanvasElementsRenderer = (props) => {
|
|
|
12983
12985
|
primitivesWithoutInteractionMetadata,
|
|
12984
12986
|
hoverState,
|
|
12985
12987
|
errorRelatedIds,
|
|
12986
|
-
|
|
12988
|
+
xRayNetIds
|
|
12987
12989
|
]);
|
|
12988
12990
|
const onMouseOverPrimitives = useCallback11(
|
|
12989
12991
|
(primitivesHoveredOver) => {
|
|
@@ -13025,7 +13027,7 @@ var CanvasElementsRenderer = (props) => {
|
|
|
13025
13027
|
transform,
|
|
13026
13028
|
primitives: primitivesWithoutInteractionMetadata,
|
|
13027
13029
|
selectedLayer,
|
|
13028
|
-
disableHoverHighlights:
|
|
13030
|
+
disableHoverHighlights: xRayNetIds.length > 0,
|
|
13029
13031
|
onMouseHoverOverPrimitives: onMouseOverPrimitives,
|
|
13030
13032
|
children: /* @__PURE__ */ jsx25(
|
|
13031
13033
|
EditPlacementOverlay,
|
|
@@ -13049,8 +13051,8 @@ var CanvasElementsRenderer = (props) => {
|
|
|
13049
13051
|
{
|
|
13050
13052
|
elements,
|
|
13051
13053
|
getNetAtPoint,
|
|
13052
|
-
|
|
13053
|
-
|
|
13054
|
+
xRayNetIds,
|
|
13055
|
+
onXRayNetsChange: setXRayNetIds,
|
|
13054
13056
|
onContextMenuOpenChange: props.onContextMenuOpenChange,
|
|
13055
13057
|
children: /* @__PURE__ */ jsx25(ErrorOverlay, { transform, elements, children: /* @__PURE__ */ jsx25(RatsNestOverlay, { transform, soup: elements, children: /* @__PURE__ */ jsx25(
|
|
13056
13058
|
PcbGroupOverlay,
|