@tscircuit/pcb-viewer 1.11.392 → 1.11.394

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
@@ -5961,27 +5961,21 @@ function drawSoldermaskElementsForLayer({
5961
5961
  const drawer = new CircuitToCanvasDrawer15(canvas);
5962
5962
  drawer.realToCanvasMat = realToCanvasMat;
5963
5963
  const boards = elements.filter((element) => element.type === "pcb_board");
5964
- if (boards.length <= 1) {
5965
- drawer.drawElements(elements, {
5966
- layers,
5967
- drawSoldermask: true,
5968
- drawSoldermaskTop,
5969
- drawSoldermaskBottom,
5970
- drawBoardMaterial: false
5964
+ drawer.drawElements(elements, {
5965
+ layers,
5966
+ drawSoldermask: true,
5967
+ drawSoldermaskTop,
5968
+ drawSoldermaskBottom,
5969
+ drawBoardMaterial: false
5970
+ });
5971
+ if (boards.length > 1) {
5972
+ drawPcbBoardElements({
5973
+ canvas,
5974
+ elements: boards,
5975
+ layers: [],
5976
+ realToCanvasMat,
5977
+ drawSoldermask: false
5971
5978
  });
5972
- } else {
5973
- const nonBoardElements = elements.filter(
5974
- (element) => element.type !== "pcb_board"
5975
- );
5976
- for (const board of boards) {
5977
- drawer.drawElements([board, ...nonBoardElements], {
5978
- layers,
5979
- drawSoldermask: true,
5980
- drawSoldermaskTop,
5981
- drawSoldermaskBottom,
5982
- drawBoardMaterial: false
5983
- });
5984
- }
5985
5979
  }
5986
5980
  if (!primitives) return;
5987
5981
  const hoveredElementIds = /* @__PURE__ */ new Set();
@@ -6089,6 +6083,22 @@ function drawPcbViaElementsForLayer({
6089
6083
  }
6090
6084
  }
6091
6085
 
6086
+ // src/lib/get-primitives-for-drawer.ts
6087
+ var getPrimitivesForDrawer = ({
6088
+ primitives,
6089
+ isShowingSolderMask,
6090
+ isShowingSilkscreen,
6091
+ isShowingFabricationNotes
6092
+ }) => primitives.filter(
6093
+ (primitive) => isShowingSolderMask || !primitive.layer?.includes("soldermask")
6094
+ ).filter(
6095
+ (primitive) => isShowingSilkscreen || !primitive.layer?.includes("silkscreen")
6096
+ ).filter(
6097
+ (primitive) => isShowingFabricationNotes || !primitive.layer?.includes("fabrication")
6098
+ ).filter((primitive) => primitive.layer !== "board").filter((primitive) => primitive._element?.type !== "pcb_smtpad").filter(
6099
+ (primitive) => primitive._element?.type !== "pcb_plated_hole" || primitive.layer === "drill"
6100
+ ).filter((primitive) => primitive._element?.type !== "pcb_via").filter((primitive) => primitive._element?.type !== "pcb_trace").filter((primitive) => primitive._element?.type !== "pcb_copper_text");
6101
+
6092
6102
  // src/components/CanvasPrimitiveRenderer.tsx
6093
6103
  import { useEffect as useEffect5, useRef as useRef3 } from "react";
6094
6104
  import { SuperGrid, toMMSI } from "react-supergrid";
@@ -6125,9 +6135,12 @@ var CanvasPrimitiveRenderer = ({
6125
6135
  if (transform) drawer.transform = transform;
6126
6136
  drawer.clear();
6127
6137
  drawer.foregroundLayer = selectedLayer;
6128
- const filteredPrimitives = primitives.filter((p) => isShowingSolderMask || !p.layer?.includes("soldermask")).filter((p) => isShowingSilkscreen || !p.layer?.includes("silkscreen")).filter(
6129
- (p) => isShowingFabricationNotes || !p.layer?.includes("fabrication")
6130
- ).filter((p) => p.layer !== "board").filter((p) => p._element?.type !== "pcb_smtpad").filter((p) => p._element?.type !== "pcb_plated_hole").filter((p) => p._element?.type !== "pcb_via").filter((p) => p._element?.type !== "pcb_trace").filter((p) => p._element?.type !== "pcb_copper_text");
6138
+ const filteredPrimitives = getPrimitivesForDrawer({
6139
+ primitives,
6140
+ isShowingSolderMask,
6141
+ isShowingSilkscreen,
6142
+ isShowingFabricationNotes
6143
+ });
6131
6144
  drawPrimitives(drawer, filteredPrimitives);
6132
6145
  if (transform) {
6133
6146
  const copperLayers = getCopperLayerRefsFromElements(elements).map((layer) => ({
@@ -10617,7 +10630,7 @@ import { css as css2 } from "@emotion/css";
10617
10630
  // package.json
10618
10631
  var package_default = {
10619
10632
  name: "@tscircuit/pcb-viewer",
10620
- version: "1.11.391",
10633
+ version: "1.11.393",
10621
10634
  main: "dist/index.js",
10622
10635
  type: "module",
10623
10636
  repository: {