@tscircuit/pcb-viewer 1.10.0 → 1.10.2

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
@@ -468,7 +468,7 @@ function _templateObject() {
468
468
  }
469
469
  function _templateObject1() {
470
470
  var data = _tagged_template_literal([
471
- "\n position: absolute;\n z-index: 1000;\n left: ",
471
+ "\n position: absolute;\n z-index: 100;\n left: ",
472
472
  "px;\n top: ",
473
473
  "px;\n color: red;\n text-align: center;\n font-family: sans-serif;\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n cursor: pointer;\n transform: translate(-50%, -100%);\n\n & .error-message {\n opacity: 0;\n pointer-events: none;\n\n width: 200px;\n transition: opacity 0.2s;\n margin-bottom: 10px;\n }\n\n &:hover .error-message {\n opacity: 1;\n display: flex;\n }\n "
474
474
  ]);
@@ -12830,6 +12830,7 @@ var convertElementToPrimitives = function(element, allElements) {
12830
12830
  y: y2,
12831
12831
  r: hole_diameter / 2,
12832
12832
  layer: "drill",
12833
+ _element: element,
12833
12834
  _parent_pcb_component: _parent_pcb_component,
12834
12835
  _parent_source_component: _parent_source_component
12835
12836
  }
@@ -12862,7 +12863,8 @@ var convertElementToPrimitives = function(element, allElements) {
12862
12863
  y: y3,
12863
12864
  r: hole_diameter1 / 2,
12864
12865
  // TODO support layer on pcb_plated_hole
12865
- layer: "drill"
12866
+ layer: "drill",
12867
+ _element: element
12866
12868
  }
12867
12869
  ];
12868
12870
  } else if (element.shape === "oval") {
@@ -12884,6 +12886,7 @@ var convertElementToPrimitives = function(element, allElements) {
12884
12886
  },
12885
12887
  {
12886
12888
  _pcb_drawing_object_id: "oval_".concat(globalPcbDrawingObjectCount++),
12889
+ _element: element,
12887
12890
  pcb_drawing_type: "oval",
12888
12891
  x: x4,
12889
12892
  y: y4,
@@ -12911,6 +12914,7 @@ var convertElementToPrimitives = function(element, allElements) {
12911
12914
  },
12912
12915
  {
12913
12916
  _pcb_drawing_object_id: "pill_".concat(globalPcbDrawingObjectCount++),
12917
+ _element: element,
12914
12918
  pcb_drawing_type: "pill",
12915
12919
  x: x5,
12916
12920
  y: y5,
@@ -13053,6 +13057,7 @@ var convertElementToPrimitives = function(element, allElements) {
13053
13057
  },
13054
13058
  {
13055
13059
  _pcb_drawing_object_id: "circle_".concat(globalPcbDrawingObjectCount++),
13060
+ _element: element,
13056
13061
  pcb_drawing_type: "circle",
13057
13062
  x: x7,
13058
13063
  y: y7,
@@ -13351,6 +13356,7 @@ var MouseElementTracker = function(param) {
13351
13356
  var _primitive__element, _primitive__element1;
13352
13357
  if (((_primitive__element = primitive._element) === null || _primitive__element === void 0 ? void 0 : _primitive__element.type) === "pcb_via") return "continue";
13353
13358
  if (((_primitive__element1 = primitive._element) === null || _primitive__element1 === void 0 ? void 0 : _primitive__element1.type) === "pcb_component") return "continue";
13359
+ if ((primitive === null || primitive === void 0 ? void 0 : primitive.layer) === "drill") return "continue";
13354
13360
  var screenPos = (0, import_transformation_matrix2.applyToPoint)(transform, primitive);
13355
13361
  var w = "w" in primitive ? primitive.w : "r" in primitive ? primitive.r * 2 : 0;
13356
13362
  var h = "h" in primitive ? primitive.h : "r" in primitive ? primitive.r * 2 : 0;
@@ -13719,7 +13725,7 @@ var import_soup2 = __toESM(require_dist());
13719
13725
  // package.json
13720
13726
  var package_default = {
13721
13727
  name: "@tscircuit/pcb-viewer",
13722
- version: "1.9.3",
13728
+ version: "1.10.1",
13723
13729
  main: "dist/index.js",
13724
13730
  repository: "tscircuit/pcb-viewer",
13725
13731
  license: "MIT",
@@ -14769,6 +14775,45 @@ var RatsNestOverlay = function(param) {
14769
14775
  };
14770
14776
  // src/components/CanvasElementsRenderer.tsx
14771
14777
  var import_circuit_json_to_connectivity_map = require("circuit-json-to-connectivity-map");
14778
+ // src/lib/util/addInteractionMetadataToPrimitives.ts
14779
+ function addInteractionMetadataToPrimitives(param) {
14780
+ var primitivesWithoutInteractionMetadata = param.primitivesWithoutInteractionMetadata, drawingObjectIdsWithMouseOver = param.drawingObjectIdsWithMouseOver, primitiveIdsInMousedOverNet = param.primitiveIdsInMousedOverNet;
14781
+ var newPrimitives = [];
14782
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
14783
+ try {
14784
+ for(var _iterator = primitivesWithoutInteractionMetadata[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
14785
+ var primitive = _step.value;
14786
+ var newPrimitive = _object_spread({}, primitive);
14787
+ if ((primitive === null || primitive === void 0 ? void 0 : primitive.layer) === "drill") {
14788
+ newPrimitive.is_in_highlighted_net = false;
14789
+ newPrimitive.is_mouse_over = false;
14790
+ } else if (drawingObjectIdsWithMouseOver.has(primitive._pcb_drawing_object_id)) {
14791
+ newPrimitive.is_mouse_over = true;
14792
+ } else if (primitive._element && ("pcb_trace_id" in primitive._element && primitiveIdsInMousedOverNet.includes(primitive._element.pcb_trace_id) || "pcb_port_id" in primitive._element && primitiveIdsInMousedOverNet.includes(primitive._element.pcb_port_id))) {
14793
+ newPrimitive.is_in_highlighted_net = true;
14794
+ } else {
14795
+ newPrimitive.is_in_highlighted_net = false;
14796
+ newPrimitive.is_mouse_over = false;
14797
+ }
14798
+ newPrimitives.push(newPrimitive);
14799
+ }
14800
+ } catch (err) {
14801
+ _didIteratorError = true;
14802
+ _iteratorError = err;
14803
+ } finally{
14804
+ try {
14805
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
14806
+ _iterator.return();
14807
+ }
14808
+ } finally{
14809
+ if (_didIteratorError) {
14810
+ throw _iteratorError;
14811
+ }
14812
+ }
14813
+ }
14814
+ return newPrimitives;
14815
+ }
14816
+ // src/components/CanvasElementsRenderer.tsx
14772
14817
  var import_jsx_runtime13 = require("react/jsx-runtime");
14773
14818
  var CanvasElementsRenderer = function(props) {
14774
14819
  var transform = props.transform, elements = props.elements;
@@ -14789,15 +14834,15 @@ var CanvasElementsRenderer = function(props) {
14789
14834
  transform: transform,
14790
14835
  primitives: primitivesWithoutInteractionMetadata,
14791
14836
  onMouseHoverOverPrimitives: function(primitivesHoveredOver) {
14792
- var connectedPrimitiveIds = [];
14837
+ var primitiveIdsInMousedOverNet = [];
14793
14838
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
14794
14839
  try {
14795
14840
  for(var _iterator = primitivesHoveredOver[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
14796
14841
  var primitive = _step.value;
14797
14842
  if (primitive._element && "pcb_port_id" in primitive._element) {
14798
- var _connectedPrimitiveIds;
14843
+ var _primitiveIdsInMousedOverNet;
14799
14844
  var connectedPrimitivesList = connectivityMap.getNetConnectedToId(primitive._element.pcb_port_id);
14800
- (_connectedPrimitiveIds = connectedPrimitiveIds).push.apply(_connectedPrimitiveIds, _to_consumable_array(connectivityMap.getIdsConnectedToNet(connectedPrimitivesList)));
14845
+ (_primitiveIdsInMousedOverNet = primitiveIdsInMousedOverNet).push.apply(_primitiveIdsInMousedOverNet, _to_consumable_array(connectivityMap.getIdsConnectedToNet(connectedPrimitivesList)));
14801
14846
  }
14802
14847
  }
14803
14848
  } catch (err) {
@@ -14814,39 +14859,14 @@ var CanvasElementsRenderer = function(props) {
14814
14859
  }
14815
14860
  }
14816
14861
  }
14817
- var primitiveIdsWithMouseOver = new Set(primitivesHoveredOver.map(function(p) {
14862
+ var drawingObjectIdsWithMouseOver = new Set(primitivesHoveredOver.map(function(p) {
14818
14863
  return p._pcb_drawing_object_id;
14819
14864
  }));
14820
- var newPrimitives = [];
14821
- var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
14822
- try {
14823
- for(var _iterator1 = primitivesWithoutInteractionMetadata[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
14824
- var primitive1 = _step1.value;
14825
- var newPrimitive = _object_spread({}, primitive1);
14826
- if (primitiveIdsWithMouseOver.has(primitive1._pcb_drawing_object_id)) {
14827
- newPrimitive.is_mouse_over = true;
14828
- } else if (primitive1._element && ("pcb_trace_id" in primitive1._element && connectedPrimitiveIds.includes(primitive1._element.pcb_trace_id) || "pcb_port_id" in primitive1._element && connectedPrimitiveIds.includes(primitive1._element.pcb_port_id))) {
14829
- newPrimitive.is_in_highlighted_net = true;
14830
- } else {
14831
- newPrimitive.is_in_highlighted_net = false;
14832
- newPrimitive.is_mouse_over = false;
14833
- }
14834
- newPrimitives.push(newPrimitive);
14835
- }
14836
- } catch (err) {
14837
- _didIteratorError1 = true;
14838
- _iteratorError1 = err;
14839
- } finally{
14840
- try {
14841
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
14842
- _iterator1.return();
14843
- }
14844
- } finally{
14845
- if (_didIteratorError1) {
14846
- throw _iteratorError1;
14847
- }
14848
- }
14849
- }
14865
+ var newPrimitives = addInteractionMetadataToPrimitives({
14866
+ primitivesWithoutInteractionMetadata: primitivesWithoutInteractionMetadata,
14867
+ drawingObjectIdsWithMouseOver: drawingObjectIdsWithMouseOver,
14868
+ primitiveIdsInMousedOverNet: primitiveIdsInMousedOverNet
14869
+ });
14850
14870
  setPrimitives(newPrimitives);
14851
14871
  },
14852
14872
  children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(EditPlacementOverlay, {