@tscircuit/pcb-viewer 1.11.348 → 1.11.350

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 CHANGED
@@ -9136,6 +9136,16 @@ function isPcbTrace(element) {
9136
9136
  var normalizeCopperLayers = (layers) => layers.map(
9137
9137
  (layer) => layer.endsWith("_copper") ? layer.replace("_copper", "") : layer
9138
9138
  );
9139
+ var filterTraceByLayers = (trace, targetLayers) => {
9140
+ const filteredRoute = trace.route.filter(
9141
+ (segment) => segment.route_type === "wire" && "layer" in segment && targetLayers.has(segment.layer)
9142
+ );
9143
+ if (filteredRoute.length === 0) return null;
9144
+ return {
9145
+ ...trace,
9146
+ route: filteredRoute
9147
+ };
9148
+ };
9139
9149
  function drawPcbTraceElementsForLayer({
9140
9150
  canvas,
9141
9151
  elements,
@@ -9144,11 +9154,7 @@ function drawPcbTraceElementsForLayer({
9144
9154
  primitives
9145
9155
  }) {
9146
9156
  const targetLayers = new Set(normalizeCopperLayers(layers));
9147
- const traceElements = elements.filter(isPcbTrace).filter(
9148
- (element) => element.route.some(
9149
- (segment) => segment.route_type === "wire" && "layer" in segment && targetLayers.has(segment.layer)
9150
- )
9151
- );
9157
+ const traceElements = elements.filter(isPcbTrace).map((trace) => filterTraceByLayers(trace, targetLayers)).filter((trace) => trace !== null);
9152
9158
  if (traceElements.length === 0) return;
9153
9159
  const highlightedElementIds = /* @__PURE__ */ new Set();
9154
9160
  if (primitives) {
@@ -9158,12 +9164,15 @@ function drawPcbTraceElementsForLayer({
9158
9164
  }
9159
9165
  }
9160
9166
  }
9161
- const highlightedElements = traceElements.filter(
9162
- (element) => highlightedElementIds.has(element.pcb_trace_id)
9163
- );
9164
- const nonHighlightedElements = traceElements.filter(
9165
- (element) => !highlightedElementIds.has(element.pcb_trace_id)
9166
- );
9167
+ const highlightedElements = [];
9168
+ const nonHighlightedElements = [];
9169
+ for (const element of traceElements) {
9170
+ if (highlightedElementIds.has(element.pcb_trace_id)) {
9171
+ highlightedElements.push(element);
9172
+ } else {
9173
+ nonHighlightedElements.push(element);
9174
+ }
9175
+ }
9167
9176
  if (nonHighlightedElements.length > 0) {
9168
9177
  const drawer = new CircuitToCanvasDrawer10(canvas);
9169
9178
  drawer.realToCanvasMat = realToCanvasMat;
@@ -14217,7 +14226,7 @@ import { css as css3 } from "@emotion/css";
14217
14226
  // package.json
14218
14227
  var package_default = {
14219
14228
  name: "@tscircuit/pcb-viewer",
14220
- version: "1.11.347",
14229
+ version: "1.11.349",
14221
14230
  main: "dist/index.js",
14222
14231
  type: "module",
14223
14232
  repository: "tscircuit/pcb-viewer",
@@ -14271,7 +14280,7 @@ var package_default = {
14271
14280
  "@tscircuit/math-utils": "^0.0.29",
14272
14281
  "@vitejs/plugin-react": "^5.0.2",
14273
14282
  "circuit-json": "^0.0.387",
14274
- "circuit-to-canvas": "^0.0.87",
14283
+ "circuit-to-canvas": "^0.0.91",
14275
14284
  "circuit-to-svg": "^0.0.323",
14276
14285
  color: "^4.2.3",
14277
14286
  "react-supergrid": "^1.0.10",