@tscircuit/pcb-viewer 1.11.357 → 1.11.359

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
@@ -7507,7 +7507,7 @@ function getExpandedStroke(strokeInput, defaultWidth) {
7507
7507
  }
7508
7508
 
7509
7509
  // src/lib/convert-element-to-primitive.ts
7510
- import { distance as distance2 } from "circuit-json";
7510
+ import { distance } from "circuit-json";
7511
7511
 
7512
7512
  // src/lib/element-to-primitive-converters/convert-smtpad-rect.ts
7513
7513
  var convertSmtpadRect = (element, metadata) => {
@@ -7704,49 +7704,12 @@ var convertSmtpadRotatedPill = (element, metadata) => {
7704
7704
  return primitives;
7705
7705
  };
7706
7706
 
7707
- // src/lib/element-to-primitive/convert-pcb-copper-text-to-primitive.ts
7708
- import { distance } from "circuit-json";
7709
- var convertPcbCopperTextToPrimitive = (element, metadata) => {
7710
- const { _parent_pcb_component, _parent_source_component } = metadata;
7711
- const copperText = element;
7712
- const fontSize = typeof copperText.font_size === "string" ? distance.parse(copperText.font_size) : copperText.font_size ?? 0.2;
7713
- let knockoutPadding;
7714
- if (copperText.knockout_padding) {
7715
- knockoutPadding = {
7716
- left: typeof copperText.knockout_padding.left === "string" ? distance.parse(copperText.knockout_padding.left) : copperText.knockout_padding.left,
7717
- top: typeof copperText.knockout_padding.top === "string" ? distance.parse(copperText.knockout_padding.top) : copperText.knockout_padding.top,
7718
- bottom: typeof copperText.knockout_padding.bottom === "string" ? distance.parse(copperText.knockout_padding.bottom) : copperText.knockout_padding.bottom,
7719
- right: typeof copperText.knockout_padding.right === "string" ? distance.parse(copperText.knockout_padding.right) : copperText.knockout_padding.right
7720
- };
7721
- }
7722
- return [
7723
- {
7724
- _pcb_drawing_object_id: getNewPcbDrawingObjectId("text"),
7725
- pcb_drawing_type: "text",
7726
- x: copperText.anchor_position.x,
7727
- y: copperText.anchor_position.y,
7728
- layer: copperText.layer,
7729
- // "top", "bottom", or inner layers
7730
- align: copperText.anchor_alignment ?? "center",
7731
- text: copperText.text,
7732
- size: fontSize,
7733
- ccw_rotation: copperText.ccw_rotation,
7734
- is_mirrored: copperText.is_mirrored,
7735
- is_knockout: copperText.is_knockout,
7736
- knockout_padding: knockoutPadding,
7737
- _element: element,
7738
- _parent_pcb_component,
7739
- _parent_source_component
7740
- }
7741
- ];
7742
- };
7743
-
7744
7707
  // src/lib/convert-element-to-primitive.ts
7745
7708
  var globalPcbDrawingObjectCount = 0;
7746
7709
  var getNewPcbDrawingObjectId = (prefix) => `${prefix}_${globalPcbDrawingObjectCount++}`;
7747
7710
  var normalizePolygonPoints = (points) => (points ?? []).map((point) => ({
7748
- x: distance2.parse(point.x),
7749
- y: distance2.parse(point.y)
7711
+ x: distance.parse(point.x),
7712
+ y: distance.parse(point.y)
7750
7713
  }));
7751
7714
  var convertElementToPrimitives = (element, allElements) => {
7752
7715
  const _parent_pcb_component = "pcb_component_id" in element ? allElements.find(
@@ -7973,8 +7936,8 @@ var convertElementToPrimitives = (element, allElements) => {
7973
7936
  hole_offset_x,
7974
7937
  hole_offset_y
7975
7938
  } = element;
7976
- const parsed_hole_offset_x = distance2.parse(hole_offset_x ?? 0);
7977
- const parsed_hole_offset_y = distance2.parse(hole_offset_y ?? 0);
7939
+ const parsed_hole_offset_x = distance.parse(hole_offset_x ?? 0);
7940
+ const parsed_hole_offset_y = distance.parse(hole_offset_y ?? 0);
7978
7941
  return [
7979
7942
  {
7980
7943
  _pcb_drawing_object_id: `rect_${globalPcbDrawingObjectCount++}`,
@@ -8138,8 +8101,8 @@ var convertElementToPrimitives = (element, allElements) => {
8138
8101
  hole_offset_x,
8139
8102
  hole_offset_y
8140
8103
  } = element;
8141
- const parsed_hole_offset_x = distance2.parse(hole_offset_x ?? 0);
8142
- const parsed_hole_offset_y = distance2.parse(hole_offset_y ?? 0);
8104
+ const parsed_hole_offset_x = distance.parse(hole_offset_x ?? 0);
8105
+ const parsed_hole_offset_y = distance.parse(hole_offset_y ?? 0);
8143
8106
  const pcb_outline = pad_outline;
8144
8107
  const padPrimitives = [];
8145
8108
  if (pcb_outline && Array.isArray(pcb_outline)) {
@@ -8209,12 +8172,6 @@ var convertElementToPrimitives = (element, allElements) => {
8209
8172
  return [];
8210
8173
  }
8211
8174
  }
8212
- case "pcb_copper_text": {
8213
- return convertPcbCopperTextToPrimitive(element, {
8214
- _parent_pcb_component,
8215
- _parent_source_component
8216
- });
8217
- }
8218
8175
  }
8219
8176
  return [];
8220
8177
  };
@@ -9104,8 +9061,26 @@ function drawPcbBoardElements({
9104
9061
  }
9105
9062
  }
9106
9063
 
9107
- // src/lib/draw-pcb-cutout.ts
9064
+ // src/lib/draw-pcb-copper-text.ts
9108
9065
  import { CircuitToCanvasDrawer as CircuitToCanvasDrawer5 } from "circuit-to-canvas";
9066
+ function isPcbCopperText(element) {
9067
+ return element.type === "pcb_copper_text";
9068
+ }
9069
+ function drawPcbCopperTextElementsForLayer({
9070
+ canvas,
9071
+ elements,
9072
+ layers,
9073
+ realToCanvasMat
9074
+ }) {
9075
+ const copperTextElements = elements.filter(isPcbCopperText);
9076
+ if (copperTextElements.length === 0) return;
9077
+ const drawer = new CircuitToCanvasDrawer5(canvas);
9078
+ drawer.realToCanvasMat = realToCanvasMat;
9079
+ drawer.drawElements(copperTextElements, { layers });
9080
+ }
9081
+
9082
+ // src/lib/draw-pcb-cutout.ts
9083
+ import { CircuitToCanvasDrawer as CircuitToCanvasDrawer6 } from "circuit-to-canvas";
9109
9084
  function isPcbCutout(element) {
9110
9085
  return element.type === "pcb_cutout";
9111
9086
  }
@@ -9115,14 +9090,14 @@ function drawPcbCutoutElementsForLayer({
9115
9090
  layers,
9116
9091
  realToCanvasMat
9117
9092
  }) {
9118
- const drawer = new CircuitToCanvasDrawer5(canvas);
9093
+ const drawer = new CircuitToCanvasDrawer6(canvas);
9119
9094
  drawer.realToCanvasMat = realToCanvasMat;
9120
9095
  const cutoutElements = elements.filter(isPcbCutout);
9121
9096
  drawer.drawElements(cutoutElements, { layers });
9122
9097
  }
9123
9098
 
9124
9099
  // src/lib/draw-pcb-keepout.ts
9125
- import { CircuitToCanvasDrawer as CircuitToCanvasDrawer6 } from "circuit-to-canvas";
9100
+ import { CircuitToCanvasDrawer as CircuitToCanvasDrawer7 } from "circuit-to-canvas";
9126
9101
  function isPcbKeepout(element) {
9127
9102
  return element.type === "pcb_keepout";
9128
9103
  }
@@ -9134,14 +9109,14 @@ function drawPcbKeepoutElementsForLayer({
9134
9109
  }) {
9135
9110
  const keepoutElements = elements.filter(isPcbKeepout);
9136
9111
  if (keepoutElements.length === 0) return;
9137
- const drawer = new CircuitToCanvasDrawer6(canvas);
9112
+ const drawer = new CircuitToCanvasDrawer7(canvas);
9138
9113
  drawer.realToCanvasMat = realToCanvasMat;
9139
9114
  drawer.drawElements(keepoutElements, { layers: [] });
9140
9115
  }
9141
9116
 
9142
9117
  // src/lib/draw-pcb-note.ts
9143
9118
  import {
9144
- CircuitToCanvasDrawer as CircuitToCanvasDrawer7
9119
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer8
9145
9120
  } from "circuit-to-canvas";
9146
9121
  function isPcbNote(element) {
9147
9122
  return element.type.startsWith("pcb_note_");
@@ -9152,14 +9127,14 @@ function drawPcbNoteElementsForLayer({
9152
9127
  layers,
9153
9128
  realToCanvasMat
9154
9129
  }) {
9155
- const drawer = new CircuitToCanvasDrawer7(canvas);
9130
+ const drawer = new CircuitToCanvasDrawer8(canvas);
9156
9131
  drawer.realToCanvasMat = realToCanvasMat;
9157
9132
  const pcbNoteElements = elements.filter(isPcbNote);
9158
9133
  drawer.drawElements(pcbNoteElements, { layers });
9159
9134
  }
9160
9135
 
9161
9136
  // src/lib/draw-pcb-panel.ts
9162
- import { CircuitToCanvasDrawer as CircuitToCanvasDrawer8 } from "circuit-to-canvas";
9137
+ import { CircuitToCanvasDrawer as CircuitToCanvasDrawer9 } from "circuit-to-canvas";
9163
9138
  function isPcbPanelElement(element) {
9164
9139
  return element.type === "pcb_panel";
9165
9140
  }
@@ -9170,7 +9145,7 @@ function drawPcbPanelElements({
9170
9145
  realToCanvasMat,
9171
9146
  drawSoldermask
9172
9147
  }) {
9173
- const drawer = new CircuitToCanvasDrawer8(canvas);
9148
+ const drawer = new CircuitToCanvasDrawer9(canvas);
9174
9149
  drawer.realToCanvasMat = realToCanvasMat;
9175
9150
  const pcbPanelElements = elements.filter(isPcbPanelElement);
9176
9151
  for (const element of pcbPanelElements) {
@@ -9180,7 +9155,7 @@ function drawPcbPanelElements({
9180
9155
 
9181
9156
  // src/lib/draw-pcb-smtpad.ts
9182
9157
  import {
9183
- CircuitToCanvasDrawer as CircuitToCanvasDrawer9,
9158
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer10,
9184
9159
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP3
9185
9160
  } from "circuit-to-canvas";
9186
9161
  import color from "color";
@@ -9239,12 +9214,12 @@ function drawPcbSmtPadElementsForLayer({
9239
9214
  (element) => !highlightedElementIds.has(element.pcb_smtpad_id)
9240
9215
  );
9241
9216
  if (nonHighlightedElements.length > 0) {
9242
- const drawer = new CircuitToCanvasDrawer9(canvas);
9217
+ const drawer = new CircuitToCanvasDrawer10(canvas);
9243
9218
  drawer.realToCanvasMat = realToCanvasMat;
9244
9219
  drawer.drawElements(nonHighlightedElements, { layers, drawSoldermask });
9245
9220
  }
9246
9221
  if (highlightedElements.length > 0) {
9247
- const highlightDrawer = new CircuitToCanvasDrawer9(canvas);
9222
+ const highlightDrawer = new CircuitToCanvasDrawer10(canvas);
9248
9223
  highlightDrawer.configure({ colorOverrides: HOVER_COLOR_MAP });
9249
9224
  highlightDrawer.realToCanvasMat = realToCanvasMat;
9250
9225
  highlightDrawer.drawElements(highlightedElements, {
@@ -9256,7 +9231,7 @@ function drawPcbSmtPadElementsForLayer({
9256
9231
 
9257
9232
  // src/lib/draw-pcb-trace.ts
9258
9233
  import {
9259
- CircuitToCanvasDrawer as CircuitToCanvasDrawer10,
9234
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer11,
9260
9235
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP4
9261
9236
  } from "circuit-to-canvas";
9262
9237
  import color2 from "color";
@@ -9281,10 +9256,19 @@ var normalizeCopperLayers = (layers) => layers.map(
9281
9256
  (layer) => layer.endsWith("_copper") ? layer.replace("_copper", "") : layer
9282
9257
  );
9283
9258
  var filterTraceByLayers = (trace, targetLayers) => {
9284
- const filteredRoute = trace.route.filter(
9285
- (segment) => segment.route_type === "wire" && "layer" in segment && targetLayers.has(segment.layer)
9286
- );
9287
- if (filteredRoute.length === 0) return null;
9259
+ const filteredRoute = trace.route.filter((segment) => {
9260
+ if (segment.route_type === "wire" && "layer" in segment && targetLayers.has(segment.layer)) {
9261
+ return true;
9262
+ }
9263
+ if (segment.route_type === "via") {
9264
+ return targetLayers.has(segment.from_layer) || targetLayers.has(segment.to_layer);
9265
+ }
9266
+ return false;
9267
+ });
9268
+ const wireCount = filteredRoute.filter(
9269
+ (segment) => segment.route_type === "wire"
9270
+ ).length;
9271
+ if (wireCount < 2) return null;
9288
9272
  return {
9289
9273
  ...trace,
9290
9274
  route: filteredRoute
@@ -9318,12 +9302,12 @@ function drawPcbTraceElementsForLayer({
9318
9302
  }
9319
9303
  }
9320
9304
  if (nonHighlightedElements.length > 0) {
9321
- const drawer = new CircuitToCanvasDrawer10(canvas);
9305
+ const drawer = new CircuitToCanvasDrawer11(canvas);
9322
9306
  drawer.realToCanvasMat = realToCanvasMat;
9323
9307
  drawer.drawElements(nonHighlightedElements, { layers });
9324
9308
  }
9325
9309
  if (highlightedElements.length > 0) {
9326
- const highlightDrawer = new CircuitToCanvasDrawer10(canvas);
9310
+ const highlightDrawer = new CircuitToCanvasDrawer11(canvas);
9327
9311
  highlightDrawer.configure({ colorOverrides: HOVER_COLOR_MAP2 });
9328
9312
  highlightDrawer.realToCanvasMat = realToCanvasMat;
9329
9313
  highlightDrawer.drawElements(highlightedElements, { layers });
@@ -9332,7 +9316,7 @@ function drawPcbTraceElementsForLayer({
9332
9316
 
9333
9317
  // src/lib/draw-plated-hole.ts
9334
9318
  import {
9335
- CircuitToCanvasDrawer as CircuitToCanvasDrawer11,
9319
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer12,
9336
9320
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP5
9337
9321
  } from "circuit-to-canvas";
9338
9322
  import color3 from "color";
@@ -9372,12 +9356,12 @@ function drawPlatedHolePads({
9372
9356
  (element) => !highlightedElementIds.has(element.pcb_plated_hole_id)
9373
9357
  );
9374
9358
  if (nonHighlightedElements.length > 0) {
9375
- const drawer = new CircuitToCanvasDrawer11(canvas);
9359
+ const drawer = new CircuitToCanvasDrawer12(canvas);
9376
9360
  drawer.realToCanvasMat = realToCanvasMat;
9377
9361
  drawer.drawElements(nonHighlightedElements, { layers, drawSoldermask });
9378
9362
  }
9379
9363
  if (highlightedElements.length > 0) {
9380
- const highlightDrawer = new CircuitToCanvasDrawer11(canvas);
9364
+ const highlightDrawer = new CircuitToCanvasDrawer12(canvas);
9381
9365
  highlightDrawer.configure({ colorOverrides: HOVER_COLOR_MAP3 });
9382
9366
  highlightDrawer.realToCanvasMat = realToCanvasMat;
9383
9367
  highlightDrawer.drawElements(highlightedElements, {
@@ -9782,7 +9766,7 @@ var drawPrimitives = (drawer, primitives) => {
9782
9766
 
9783
9767
  // src/lib/draw-soldermask.ts
9784
9768
  import {
9785
- CircuitToCanvasDrawer as CircuitToCanvasDrawer12,
9769
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer13,
9786
9770
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP6
9787
9771
  } from "circuit-to-canvas";
9788
9772
  import color5 from "color";
@@ -9814,7 +9798,7 @@ function drawSoldermaskElementsForLayer({
9814
9798
  drawSoldermaskBottom,
9815
9799
  primitives
9816
9800
  }) {
9817
- const drawer = new CircuitToCanvasDrawer12(canvas);
9801
+ const drawer = new CircuitToCanvasDrawer13(canvas);
9818
9802
  drawer.realToCanvasMat = realToCanvasMat;
9819
9803
  const boards = elements.filter((element) => element.type === "pcb_board");
9820
9804
  if (boards.length <= 1) {
@@ -9866,7 +9850,7 @@ function drawSoldermaskElementsForLayer({
9866
9850
  return false;
9867
9851
  });
9868
9852
  if (hoveredElements.length === 0) return;
9869
- const hoverDrawer = new CircuitToCanvasDrawer12(canvas);
9853
+ const hoverDrawer = new CircuitToCanvasDrawer13(canvas);
9870
9854
  hoverDrawer.configure({ colorOverrides: HOVER_SOLDERMASK_COLOR_MAP });
9871
9855
  hoverDrawer.realToCanvasMat = realToCanvasMat;
9872
9856
  hoverDrawer.drawElements(hoveredElements, {
@@ -9880,7 +9864,7 @@ function drawSoldermaskElementsForLayer({
9880
9864
 
9881
9865
  // src/lib/draw-silkscreen.ts
9882
9866
  import {
9883
- CircuitToCanvasDrawer as CircuitToCanvasDrawer13,
9867
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer14,
9884
9868
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP7
9885
9869
  } from "circuit-to-canvas";
9886
9870
  var PCB_VIEWER_COLOR_MAP2 = {
@@ -9899,7 +9883,7 @@ function drawSilkscreenElementsForLayer({
9899
9883
  layers,
9900
9884
  realToCanvasMat
9901
9885
  }) {
9902
- const drawer = new CircuitToCanvasDrawer13(canvas);
9886
+ const drawer = new CircuitToCanvasDrawer14(canvas);
9903
9887
  drawer.configure({
9904
9888
  colorOverrides: PCB_VIEWER_COLOR_MAP2
9905
9889
  });
@@ -9911,7 +9895,7 @@ function drawSilkscreenElementsForLayer({
9911
9895
  // src/lib/draw-via.ts
9912
9896
  import {
9913
9897
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP8,
9914
- CircuitToCanvasDrawer as CircuitToCanvasDrawer14
9898
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer15
9915
9899
  } from "circuit-to-canvas";
9916
9900
  import color6 from "color";
9917
9901
  var HOVER_COLOR_MAP4 = {
@@ -9952,12 +9936,12 @@ function drawPcbViaElementsForLayer({
9952
9936
  (element) => !highlightedElementIds.has(element.pcb_via_id)
9953
9937
  );
9954
9938
  if (nonHighlightedElements.length > 0) {
9955
- const drawer = new CircuitToCanvasDrawer14(canvas);
9939
+ const drawer = new CircuitToCanvasDrawer15(canvas);
9956
9940
  drawer.realToCanvasMat = realToCanvasMat;
9957
9941
  drawer.drawElements(nonHighlightedElements, { layers, drawSoldermask });
9958
9942
  }
9959
9943
  if (highlightedElements.length > 0) {
9960
- const highlightDrawer = new CircuitToCanvasDrawer14(canvas);
9944
+ const highlightDrawer = new CircuitToCanvasDrawer15(canvas);
9961
9945
  highlightDrawer.configure({ colorOverrides: HOVER_COLOR_MAP4 });
9962
9946
  highlightDrawer.realToCanvasMat = realToCanvasMat;
9963
9947
  highlightDrawer.drawElements(highlightedElements, {
@@ -9969,7 +9953,7 @@ function drawPcbViaElementsForLayer({
9969
9953
 
9970
9954
  // src/lib/draw-courtyard.ts
9971
9955
  import {
9972
- CircuitToCanvasDrawer as CircuitToCanvasDrawer15,
9956
+ CircuitToCanvasDrawer as CircuitToCanvasDrawer16,
9973
9957
  DEFAULT_PCB_COLOR_MAP as DEFAULT_PCB_COLOR_MAP9
9974
9958
  } from "circuit-to-canvas";
9975
9959
  var PCB_VIEWER_COLOR_MAP3 = {
@@ -9988,7 +9972,7 @@ function drawCourtyardElementsForLayer({
9988
9972
  layers,
9989
9973
  realToCanvasMat
9990
9974
  }) {
9991
- const drawer = new CircuitToCanvasDrawer15(canvas);
9975
+ const drawer = new CircuitToCanvasDrawer16(canvas);
9992
9976
  drawer.configure({
9993
9977
  colorOverrides: PCB_VIEWER_COLOR_MAP3
9994
9978
  });
@@ -10059,7 +10043,7 @@ var CanvasPrimitiveRenderer = ({
10059
10043
  drawer.foregroundLayer = selectedLayer;
10060
10044
  const filteredPrimitives = primitives.filter((p) => isShowingSolderMask || !p.layer?.includes("soldermask")).filter((p) => isShowingSilkscreen || !p.layer?.includes("silkscreen")).filter(
10061
10045
  (p) => isShowingFabricationNotes || !p.layer?.includes("fabrication")
10062
- ).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");
10046
+ ).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");
10063
10047
  drawPrimitives(drawer, filteredPrimitives);
10064
10048
  if (transform) {
10065
10049
  const topCanvas = canvasRefs.current.top;
@@ -10090,6 +10074,15 @@ var CanvasPrimitiveRenderer = ({
10090
10074
  primitives
10091
10075
  });
10092
10076
  }
10077
+ for (const { canvas, copperLayer } of copperLayers) {
10078
+ if (!canvas) continue;
10079
+ drawPcbCopperTextElementsForLayer({
10080
+ canvas,
10081
+ elements,
10082
+ layers: [copperLayer],
10083
+ realToCanvasMat: transform
10084
+ });
10085
+ }
10093
10086
  if (topCanvas) {
10094
10087
  drawPlatedHolePads({
10095
10088
  canvas: topCanvas,
@@ -11016,7 +11009,7 @@ function calculateDiagonalLabel(params) {
11016
11009
  } = params;
11017
11010
  const deltaX = dimensionEnd.x - dimensionStart.x;
11018
11011
  const deltaY = dimensionEnd.y - dimensionStart.y;
11019
- const distance4 = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
11012
+ const distance3 = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
11020
11013
  const screenDeltaX = screenDimensionEnd.x - screenDimensionStart.x;
11021
11014
  const screenDeltaY = screenDimensionEnd.y - screenDimensionStart.y;
11022
11015
  const screenDistance = Math.sqrt(
@@ -11058,11 +11051,11 @@ function calculateDiagonalLabel(params) {
11058
11051
  const x = midX + offsetX;
11059
11052
  const y = midY + offsetY;
11060
11053
  return {
11061
- distance: distance4,
11054
+ distance: distance3,
11062
11055
  screenDistance,
11063
11056
  x,
11064
11057
  y,
11065
- show: distance4 > 0.01 && screenDistance > 30 && isDiagonal
11058
+ show: distance3 > 0.01 && screenDistance > 30 && isDiagonal
11066
11059
  };
11067
11060
  }
11068
11061
 
@@ -11357,11 +11350,11 @@ var DimensionOverlay = ({
11357
11350
  for (const snap of snappingPointsWithScreen) {
11358
11351
  const dx = snap.screenPoint.x - screenPoint.x;
11359
11352
  const dy = snap.screenPoint.y - screenPoint.y;
11360
- const distance4 = Math.hypot(dx, dy);
11361
- if (distance4 > SNAP_THRESHOLD_PX) continue;
11362
- if (!bestMatch || distance4 < bestMatch.distance) {
11353
+ const distance3 = Math.hypot(dx, dy);
11354
+ if (distance3 > SNAP_THRESHOLD_PX) continue;
11355
+ if (!bestMatch || distance3 < bestMatch.distance) {
11363
11356
  bestMatch = {
11364
- distance: distance4,
11357
+ distance: distance3,
11365
11358
  id: snap.id,
11366
11359
  point: snap.point
11367
11360
  };
@@ -11951,10 +11944,10 @@ var isInsideOfSmtpad = (elm, point, padding = 0) => {
11951
11944
  };
11952
11945
  var isInsideOfPlatedHole = (hole, point, padding = 0) => {
11953
11946
  if (hole.shape === "circle") {
11954
- const distance4 = Math.sqrt(
11947
+ const distance3 = Math.sqrt(
11955
11948
  (point.x - hole.x) ** 2 + (point.y - hole.y) ** 2
11956
11949
  );
11957
- return distance4 <= hole.outer_diameter / 2 + padding;
11950
+ return distance3 <= hole.outer_diameter / 2 + padding;
11958
11951
  } else if (hole.shape === "circular_hole_with_rect_pad") {
11959
11952
  const dx = Math.abs(point.x - hole.x);
11960
11953
  const dy = Math.abs(point.y - hole.y);
@@ -12785,7 +12778,7 @@ var ErrorOverlay = ({
12785
12778
 
12786
12779
  // src/components/MouseElementTracker.tsx
12787
12780
  import { pointToSegmentDistance } from "@tscircuit/math-utils";
12788
- import { distance as distance3 } from "circuit-json";
12781
+ import { distance as distance2 } from "circuit-json";
12789
12782
 
12790
12783
  // src/lib/util/if-sets-match-exactly.ts
12791
12784
  function ifSetsMatchExactly(set1, set2) {
@@ -13772,22 +13765,22 @@ var getPrimitivesUnderPoint = (primitives, rwPoint, transform) => {
13772
13765
  for (const primitive of primitives) {
13773
13766
  if (!primitive._element) continue;
13774
13767
  if ("x1" in primitive && primitive._element?.type === "pcb_trace") {
13775
- const distance4 = pointToSegmentDistance(
13768
+ const distance3 = pointToSegmentDistance(
13776
13769
  { x: rwPoint.x, y: rwPoint.y },
13777
13770
  { x: primitive.x1, y: primitive.y1 },
13778
13771
  { x: primitive.x2, y: primitive.y2 }
13779
13772
  );
13780
13773
  const lineWidth = primitive.width || 0.5;
13781
13774
  const detectionThreshold = Math.max(lineWidth * 25, 2) / transform.a;
13782
- if (distance4 < detectionThreshold) {
13775
+ if (distance3 < detectionThreshold) {
13783
13776
  newMousedPrimitives.push(primitive);
13784
13777
  }
13785
13778
  continue;
13786
13779
  }
13787
13780
  if (primitive.pcb_drawing_type === "polygon") {
13788
13781
  const points = primitive.points.map((point) => ({
13789
- x: distance3.parse(point.x),
13790
- y: distance3.parse(point.y)
13782
+ x: distance2.parse(point.x),
13783
+ y: distance2.parse(point.y)
13791
13784
  }));
13792
13785
  const boundingBox = getPolygonBoundingBox(points);
13793
13786
  if (!boundingBox) continue;
@@ -13801,8 +13794,8 @@ var getPrimitivesUnderPoint = (primitives, rwPoint, transform) => {
13801
13794
  }
13802
13795
  if (primitive.pcb_drawing_type === "polygon_with_arcs") {
13803
13796
  const points = primitive.brep_shape.outer_ring.vertices.map((v) => ({
13804
- x: distance3.parse(v.x),
13805
- y: distance3.parse(v.y)
13797
+ x: distance2.parse(v.x),
13798
+ y: distance2.parse(v.y)
13806
13799
  }));
13807
13800
  const boundingBox = getPolygonBoundingBox(points);
13808
13801
  if (!boundingBox) continue;
@@ -14288,11 +14281,11 @@ var RatsNestOverlay = ({ transform, soup, children }) => {
14288
14281
  connectedIds.forEach((id) => {
14289
14282
  const pos = getElementPosition(id);
14290
14283
  if (pos) {
14291
- const distance4 = Math.sqrt(
14284
+ const distance3 = Math.sqrt(
14292
14285
  (sourcePoint.x - pos.x) ** 2 + (sourcePoint.y - pos.y) ** 2
14293
14286
  );
14294
- if (distance4 < minDistance && distance4 > 0) {
14295
- minDistance = distance4;
14287
+ if (distance3 < minDistance && distance3 > 0) {
14288
+ minDistance = distance3;
14296
14289
  nearestPoint = pos;
14297
14290
  }
14298
14291
  }
@@ -14378,7 +14371,7 @@ import { css as css3 } from "@emotion/css";
14378
14371
  // package.json
14379
14372
  var package_default = {
14380
14373
  name: "@tscircuit/pcb-viewer",
14381
- version: "1.11.356",
14374
+ version: "1.11.358",
14382
14375
  main: "dist/index.js",
14383
14376
  type: "module",
14384
14377
  repository: "tscircuit/pcb-viewer",