@tscircuit/pcb-viewer 1.11.403 → 1.11.404
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 +51 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4354,6 +4354,27 @@ function getXRayDisplayName(element, elements, connectivityMap) {
|
|
|
4354
4354
|
}
|
|
4355
4355
|
return "Net";
|
|
4356
4356
|
}
|
|
4357
|
+
function getXRayGroups(netId, elements, connectivityMap) {
|
|
4358
|
+
return elements.flatMap((element) => {
|
|
4359
|
+
if (element.type !== "source_bus") return [];
|
|
4360
|
+
const netIds = [
|
|
4361
|
+
...new Set(
|
|
4362
|
+
element.source_trace_ids.flatMap((id) => {
|
|
4363
|
+
const net = connectivityMap.getNetConnectedToId(id);
|
|
4364
|
+
return net ? [net] : [];
|
|
4365
|
+
})
|
|
4366
|
+
)
|
|
4367
|
+
];
|
|
4368
|
+
if (!netIds.includes(netId)) return [];
|
|
4369
|
+
return [
|
|
4370
|
+
{
|
|
4371
|
+
id: element.source_bus_id,
|
|
4372
|
+
name: element.name?.trim() || "Bus",
|
|
4373
|
+
netIds
|
|
4374
|
+
}
|
|
4375
|
+
];
|
|
4376
|
+
});
|
|
4377
|
+
}
|
|
4357
4378
|
|
|
4358
4379
|
// src/lib/webgpu/create-worker.ts
|
|
4359
4380
|
var createWebGpuWorker = async () => {
|
|
@@ -11073,7 +11094,7 @@ import { css as css3 } from "@emotion/css";
|
|
|
11073
11094
|
// package.json
|
|
11074
11095
|
var package_default = {
|
|
11075
11096
|
name: "@tscircuit/pcb-viewer",
|
|
11076
|
-
version: "1.11.
|
|
11097
|
+
version: "1.11.403",
|
|
11077
11098
|
main: "dist/index.js",
|
|
11078
11099
|
type: "module",
|
|
11079
11100
|
repository: {
|
|
@@ -11270,6 +11291,8 @@ var VisibilityContextMenu = ({
|
|
|
11270
11291
|
position,
|
|
11271
11292
|
onClose,
|
|
11272
11293
|
onXRayNet,
|
|
11294
|
+
xRayGroups = [],
|
|
11295
|
+
onXRayGroup,
|
|
11273
11296
|
xRayDisplayName = "Net",
|
|
11274
11297
|
onExitXRayNet
|
|
11275
11298
|
}) => {
|
|
@@ -11392,6 +11415,24 @@ var VisibilityContextMenu = ({
|
|
|
11392
11415
|
]
|
|
11393
11416
|
}
|
|
11394
11417
|
),
|
|
11418
|
+
onXRayGroup && xRayGroups.map((group) => /* @__PURE__ */ jsxs15(
|
|
11419
|
+
"button",
|
|
11420
|
+
{
|
|
11421
|
+
type: "button",
|
|
11422
|
+
role: "menuitem",
|
|
11423
|
+
className: itemStyle,
|
|
11424
|
+
style: { whiteSpace: "normal", overflowWrap: "anywhere" },
|
|
11425
|
+
onClick: () => {
|
|
11426
|
+
onXRayGroup(group);
|
|
11427
|
+
onClose();
|
|
11428
|
+
},
|
|
11429
|
+
children: [
|
|
11430
|
+
"X-Ray ",
|
|
11431
|
+
group.name
|
|
11432
|
+
]
|
|
11433
|
+
},
|
|
11434
|
+
group.id
|
|
11435
|
+
)),
|
|
11395
11436
|
onExitXRayNet && /* @__PURE__ */ jsx20(
|
|
11396
11437
|
"button",
|
|
11397
11438
|
{
|
|
@@ -12228,6 +12269,7 @@ var ToolbarOverlay = ({
|
|
|
12228
12269
|
setFocusedErrorId: s.setFocusedErrorId
|
|
12229
12270
|
}));
|
|
12230
12271
|
const [contextMenuPosition, setContextMenuPosition] = useState12(null);
|
|
12272
|
+
const [contextGroups, setContextGroups] = useState12([]);
|
|
12231
12273
|
const [contextNetId, setContextNetId] = useState12();
|
|
12232
12274
|
const [contextNetDisplayName, setContextNetDisplayName] = useState12("Net");
|
|
12233
12275
|
const pointerStart = useRef14(null);
|
|
@@ -12398,6 +12440,7 @@ var ToolbarOverlay = ({
|
|
|
12398
12440
|
} else {
|
|
12399
12441
|
setContextNetId(net);
|
|
12400
12442
|
setContextNetDisplayName(hit.displayName);
|
|
12443
|
+
setContextGroups(hit.groups);
|
|
12401
12444
|
onContextMenuOpenChange?.(true);
|
|
12402
12445
|
setContextMenuPosition({ x: event.clientX, y: event.clientY });
|
|
12403
12446
|
}
|
|
@@ -12412,6 +12455,7 @@ var ToolbarOverlay = ({
|
|
|
12412
12455
|
const hit = netAtEvent(event);
|
|
12413
12456
|
setContextNetId(hit?.netId);
|
|
12414
12457
|
setContextNetDisplayName(hit?.displayName ?? "Net");
|
|
12458
|
+
setContextGroups(hit?.groups ?? []);
|
|
12415
12459
|
onContextMenuOpenChange?.(true);
|
|
12416
12460
|
setContextMenuPosition({ x: event.clientX, y: event.clientY });
|
|
12417
12461
|
},
|
|
@@ -12427,6 +12471,10 @@ var ToolbarOverlay = ({
|
|
|
12427
12471
|
position: contextMenuPosition,
|
|
12428
12472
|
onClose: closeContextMenu,
|
|
12429
12473
|
xRayDisplayName: contextNetDisplayName,
|
|
12474
|
+
xRayGroups: contextGroups.filter(
|
|
12475
|
+
(group) => group.netIds.some((id) => !xRayNetIds.includes(id))
|
|
12476
|
+
),
|
|
12477
|
+
onXRayGroup: (group) => onXRayNetsChange?.([.../* @__PURE__ */ new Set([...xRayNetIds, ...group.netIds])]),
|
|
12430
12478
|
onXRayNet: contextNetId && !xRayNetIds.includes(contextNetId) ? () => onXRayNetsChange?.([...xRayNetIds, contextNetId]) : void 0,
|
|
12431
12479
|
onExitXRayNet: xRayNetIds.length > 0 ? () => onXRayNetsChange?.([]) : void 0
|
|
12432
12480
|
}
|
|
@@ -12917,7 +12965,8 @@ var CanvasElementsRenderer = (props) => {
|
|
|
12917
12965
|
if (!transform) return void 0;
|
|
12918
12966
|
const describeNet = (netId, element) => ({
|
|
12919
12967
|
netId,
|
|
12920
|
-
displayName: getXRayDisplayName(element, elements, connectivityMap)
|
|
12968
|
+
displayName: getXRayDisplayName(element, elements, connectivityMap),
|
|
12969
|
+
groups: getXRayGroups(netId, elements, connectivityMap)
|
|
12921
12970
|
});
|
|
12922
12971
|
const hits = getPrimitivesUnderPoint(
|
|
12923
12972
|
primitivesWithoutInteractionMetadata,
|