@tscircuit/pcb-viewer 1.6.0 → 1.7.0
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 +18 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13390,7 +13390,7 @@ var import_soup2 = __toESM(require_dist());
|
|
|
13390
13390
|
// package.json
|
|
13391
13391
|
var package_default = {
|
|
13392
13392
|
name: "@tscircuit/pcb-viewer",
|
|
13393
|
-
version: "1.
|
|
13393
|
+
version: "1.6.0",
|
|
13394
13394
|
main: "dist/index.js",
|
|
13395
13395
|
repository: "tscircuit/pcb-viewer",
|
|
13396
13396
|
license: "MIT",
|
|
@@ -14004,7 +14004,7 @@ var HotkeyActionMenu = function(param) {
|
|
|
14004
14004
|
};
|
|
14005
14005
|
// src/components/EditTraceHintOverlay.tsx
|
|
14006
14006
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
14007
|
-
var
|
|
14007
|
+
var isInsideOfSmtpad = function(elm, point) {
|
|
14008
14008
|
var padding = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
14009
14009
|
if (elm.shape === "circle") {
|
|
14010
14010
|
return false;
|
|
@@ -14017,6 +14017,21 @@ var isInsideOf2 = function(elm, point) {
|
|
|
14017
14017
|
var bottom = elm.y + halfHeight + padding;
|
|
14018
14018
|
return point.x > left && point.x < right && point.y > top && point.y < bottom;
|
|
14019
14019
|
};
|
|
14020
|
+
var isInsideOfPlatedHole = function(hole, point) {
|
|
14021
|
+
var padding = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
14022
|
+
if (hole.shape === "circle") {
|
|
14023
|
+
var distance = Math.sqrt(Math.pow(point.x - hole.x, 2) + Math.pow(point.y - hole.y, 2));
|
|
14024
|
+
return distance <= hole.outer_diameter / 2 + padding;
|
|
14025
|
+
} else {
|
|
14026
|
+
var halfWidth = hole.hole_width / 2;
|
|
14027
|
+
var halfHeight = hole.hole_height / 2;
|
|
14028
|
+
var left = hole.x - halfWidth - padding;
|
|
14029
|
+
var right = hole.x + halfWidth + padding;
|
|
14030
|
+
var top = hole.y - halfHeight - padding;
|
|
14031
|
+
var bottom = hole.y + halfHeight + padding;
|
|
14032
|
+
return point.x > left && point.x < right && point.y > top && point.y < bottom;
|
|
14033
|
+
}
|
|
14034
|
+
};
|
|
14020
14035
|
var EditTraceHintOverlay = function(param) {
|
|
14021
14036
|
var children = param.children, disabledProp = param.disabled, transform = param.transform, soup = param.soup, cancelPanDrag = param.cancelPanDrag, onCreateEditEvent = param.onCreateEditEvent, onModifyEditEvent = param.onModifyEditEvent;
|
|
14022
14037
|
var _containerRef_current;
|
|
@@ -14072,7 +14087,7 @@ var EditTraceHintOverlay = function(param) {
|
|
|
14072
14087
|
try {
|
|
14073
14088
|
for(var _iterator = soup[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
14074
14089
|
var e2 = _step.value;
|
|
14075
|
-
if (e2.type === "pcb_smtpad" &&
|
|
14090
|
+
if (e2.type === "pcb_smtpad" && isInsideOfSmtpad(e2, rwMousePoint, 10 / transform.a) || e2.type === "pcb_plated_hole" && isInsideOfPlatedHole(e2, rwMousePoint, 10 / transform.a)) {
|
|
14076
14091
|
setSelectedElement(e2);
|
|
14077
14092
|
setShouldCreateAsVia(false);
|
|
14078
14093
|
setDragState({
|