@tscircuit/pcb-viewer 1.11.396 → 1.11.397

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
@@ -5622,7 +5622,8 @@ var filterTraceByLayers = (trace, targetLayers) => {
5622
5622
  const wireCount = filteredRoute.filter(
5623
5623
  (segment) => segment.route_type === "wire"
5624
5624
  ).length;
5625
- if (wireCount < 2) return null;
5625
+ const hasVia = filteredRoute.some((segment) => segment.route_type === "via");
5626
+ if (wireCount < 2 && !hasVia) return null;
5626
5627
  return {
5627
5628
  ...trace,
5628
5629
  route: filteredRoute
@@ -5640,7 +5641,7 @@ var showTraceSegmentsInsideHiddenCopperPours = (trace) => ({
5640
5641
  };
5641
5642
  })
5642
5643
  });
5643
- var getTraceClipContextElements = (elements, showCopperPours) => showCopperPours ? elements : [];
5644
+ var getTraceClipContextElements = (elements, showCopperPours) => showCopperPours ? elements : elements.filter((element) => element.type !== "pcb_copper_pour");
5644
5645
  var getHighlightedTraceElementIds = ({
5645
5646
  primitives
5646
5647
  }) => {
@@ -6275,6 +6276,7 @@ function drawSoldermaskElementsForLayer({
6275
6276
  hoverDrawer.realToCanvasMat = realToCanvasMat;
6276
6277
  hoverDrawer.drawElements(hoveredElements, {
6277
6278
  layers,
6279
+ clipContextElements: elements,
6278
6280
  drawSoldermask: true,
6279
6281
  drawSoldermaskTop,
6280
6282
  drawSoldermaskBottom,
@@ -6336,7 +6338,13 @@ function drawPcbViaElementsForLayer({
6336
6338
  if (nonHighlightedElements.length > 0) {
6337
6339
  const drawer = new CircuitToCanvasDrawer16(canvas);
6338
6340
  drawer.realToCanvasMat = realToCanvasMat;
6339
- drawer.drawElements(nonHighlightedElements, { layers, drawSoldermask });
6341
+ drawer.drawElements(nonHighlightedElements, {
6342
+ layers,
6343
+ drawSoldermask,
6344
+ drawSoldermaskTop: layers.includes("top_copper"),
6345
+ drawSoldermaskBottom: layers.includes("bottom_copper"),
6346
+ clipContextElements: elements
6347
+ });
6340
6348
  }
6341
6349
  if (highlightedElements.length > 0) {
6342
6350
  const highlightDrawer = new CircuitToCanvasDrawer16(canvas);
@@ -6344,7 +6352,10 @@ function drawPcbViaElementsForLayer({
6344
6352
  highlightDrawer.realToCanvasMat = realToCanvasMat;
6345
6353
  highlightDrawer.drawElements(highlightedElements, {
6346
6354
  layers,
6347
- drawSoldermask
6355
+ drawSoldermask,
6356
+ drawSoldermaskTop: layers.includes("top_copper"),
6357
+ drawSoldermaskBottom: layers.includes("bottom_copper"),
6358
+ clipContextElements: elements
6348
6359
  });
6349
6360
  }
6350
6361
  }
@@ -10919,7 +10930,7 @@ import { css as css3 } from "@emotion/css";
10919
10930
  // package.json
10920
10931
  var package_default = {
10921
10932
  name: "@tscircuit/pcb-viewer",
10922
- version: "1.11.395",
10933
+ version: "1.11.396",
10923
10934
  main: "dist/index.js",
10924
10935
  type: "module",
10925
10936
  repository: {
@@ -10977,8 +10988,8 @@ var package_default = {
10977
10988
  "@tscircuit/alphabet": "^0.0.25",
10978
10989
  "@tscircuit/math-utils": "^0.0.36",
10979
10990
  "@vitejs/plugin-react": "^5.0.2",
10980
- "circuit-json": "^0.0.469",
10981
- "circuit-to-canvas": "0.0.124",
10991
+ "circuit-json": "^0.0.492",
10992
+ "circuit-to-canvas": "0.0.128",
10982
10993
  color: "^4.2.3",
10983
10994
  "react-supergrid": "^1.0.10",
10984
10995
  "react-toastify": "^10.0.5",
@@ -12786,6 +12797,16 @@ var calculateCircuitJsonKey = (circuitJson) => {
12786
12797
  if (element.type === "pcb_trace") {
12787
12798
  const routeLength = (element.route ?? []).length;
12788
12799
  signature += `:${routeLength}`;
12800
+ for (const point of element.route ?? []) {
12801
+ if (point.route_type !== "via") continue;
12802
+ signature += `:${point.tented_on_top}:${point.tented_on_bottom}`;
12803
+ }
12804
+ }
12805
+ if (element.type === "pcb_board") {
12806
+ signature += `:${element.default_via_tented_on_top}:${element.default_via_tented_on_bottom}`;
12807
+ }
12808
+ if (element.type === "pcb_via") {
12809
+ signature += `:${element.tented_on_top}:${element.tented_on_bottom}`;
12789
12810
  }
12790
12811
  elementSignatures.push(signature);
12791
12812
  }