@tscircuit/pcb-viewer 1.11.302 → 1.11.304
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 +21 -63
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -7412,64 +7412,6 @@ var convertElementToPrimitives = (element, allElements) => {
|
|
|
7412
7412
|
}
|
|
7413
7413
|
return [];
|
|
7414
7414
|
}
|
|
7415
|
-
case "pcb_hole": {
|
|
7416
|
-
if (element.hole_shape === "circle" || !element.hole_shape) {
|
|
7417
|
-
const { x, y, hole_diameter } = element;
|
|
7418
|
-
return [
|
|
7419
|
-
{
|
|
7420
|
-
_pcb_drawing_object_id: `circle_${globalPcbDrawingObjectCount++}`,
|
|
7421
|
-
pcb_drawing_type: "circle",
|
|
7422
|
-
x,
|
|
7423
|
-
y,
|
|
7424
|
-
r: hole_diameter / 2,
|
|
7425
|
-
layer: "drill",
|
|
7426
|
-
_element: element,
|
|
7427
|
-
_parent_pcb_component,
|
|
7428
|
-
_parent_source_component
|
|
7429
|
-
}
|
|
7430
|
-
];
|
|
7431
|
-
} else if (element.hole_shape === "pill" || element.hole_shape === "rotated_pill") {
|
|
7432
|
-
const { x, y, hole_width, hole_height } = element;
|
|
7433
|
-
if (typeof hole_width !== "number" || typeof hole_height !== "number") {
|
|
7434
|
-
return [];
|
|
7435
|
-
}
|
|
7436
|
-
return [
|
|
7437
|
-
{
|
|
7438
|
-
_pcb_drawing_object_id: `pill_${globalPcbDrawingObjectCount++}`,
|
|
7439
|
-
pcb_drawing_type: "pill",
|
|
7440
|
-
x,
|
|
7441
|
-
y,
|
|
7442
|
-
w: hole_width,
|
|
7443
|
-
h: hole_height,
|
|
7444
|
-
layer: "drill",
|
|
7445
|
-
_element: element,
|
|
7446
|
-
_parent_pcb_component,
|
|
7447
|
-
_parent_source_component,
|
|
7448
|
-
ccw_rotation: element.ccw_rotation
|
|
7449
|
-
}
|
|
7450
|
-
];
|
|
7451
|
-
} else if (element.hole_shape === "rect") {
|
|
7452
|
-
const { x, y, hole_width, hole_height } = element;
|
|
7453
|
-
if (typeof hole_width !== "number" || typeof hole_height !== "number") {
|
|
7454
|
-
return [];
|
|
7455
|
-
}
|
|
7456
|
-
return [
|
|
7457
|
-
{
|
|
7458
|
-
_pcb_drawing_object_id: `rect_${globalPcbDrawingObjectCount++}`,
|
|
7459
|
-
pcb_drawing_type: "rect",
|
|
7460
|
-
x,
|
|
7461
|
-
y,
|
|
7462
|
-
w: hole_width,
|
|
7463
|
-
h: hole_height,
|
|
7464
|
-
layer: "drill",
|
|
7465
|
-
_element: element,
|
|
7466
|
-
_parent_pcb_component,
|
|
7467
|
-
_parent_source_component
|
|
7468
|
-
}
|
|
7469
|
-
];
|
|
7470
|
-
}
|
|
7471
|
-
return [];
|
|
7472
|
-
}
|
|
7473
7415
|
case "pcb_keepout": {
|
|
7474
7416
|
if (element.shape === "circle") {
|
|
7475
7417
|
const { center, radius } = element;
|
|
@@ -8970,13 +8912,25 @@ function drawPcbNoteElementsForLayer(canvas, elements, layers, realToCanvasMat)
|
|
|
8970
8912
|
drawer.drawElements(pcbNoteElements, { layers });
|
|
8971
8913
|
}
|
|
8972
8914
|
|
|
8973
|
-
// src/lib/draw-
|
|
8915
|
+
// src/lib/draw-hole.ts
|
|
8974
8916
|
import { CircuitToCanvasDrawer as CircuitToCanvasDrawer5 } from "circuit-to-canvas";
|
|
8917
|
+
function isPcbHole(element) {
|
|
8918
|
+
return element.type === "pcb_hole";
|
|
8919
|
+
}
|
|
8920
|
+
function drawPcbHoleElementsForLayer(canvas, elements, layers, realToCanvasMat) {
|
|
8921
|
+
const drawer = new CircuitToCanvasDrawer5(canvas);
|
|
8922
|
+
drawer.realToCanvasMat = realToCanvasMat;
|
|
8923
|
+
const holeElements = elements.filter(isPcbHole);
|
|
8924
|
+
drawer.drawElements(holeElements, { layers });
|
|
8925
|
+
}
|
|
8926
|
+
|
|
8927
|
+
// src/lib/draw-pcb-board.ts
|
|
8928
|
+
import { CircuitToCanvasDrawer as CircuitToCanvasDrawer6 } from "circuit-to-canvas";
|
|
8975
8929
|
function isPcbBoardElement(element) {
|
|
8976
8930
|
return element.type === "pcb_board";
|
|
8977
8931
|
}
|
|
8978
8932
|
function drawPcbBoardElements(canvas, elements, layers, realToCanvasMat) {
|
|
8979
|
-
const drawer = new
|
|
8933
|
+
const drawer = new CircuitToCanvasDrawer6(canvas);
|
|
8980
8934
|
drawer.realToCanvasMat = realToCanvasMat;
|
|
8981
8935
|
const pcbBoardElements = elements.filter(isPcbBoardElement);
|
|
8982
8936
|
drawer.drawElements(pcbBoardElements, { layers });
|
|
@@ -9100,6 +9054,10 @@ var CanvasPrimitiveRenderer = ({
|
|
|
9100
9054
|
transform
|
|
9101
9055
|
);
|
|
9102
9056
|
}
|
|
9057
|
+
const drillCanvas = canvasRefs.current.drill;
|
|
9058
|
+
if (drillCanvas) {
|
|
9059
|
+
drawPcbHoleElementsForLayer(drillCanvas, elements, ["drill"], transform);
|
|
9060
|
+
}
|
|
9103
9061
|
const boardCanvas = canvasRefs.current.board;
|
|
9104
9062
|
if (boardCanvas) {
|
|
9105
9063
|
drawPcbBoardElements(boardCanvas, elements, [], transform);
|
|
@@ -13141,7 +13099,7 @@ import { css as css3 } from "@emotion/css";
|
|
|
13141
13099
|
// package.json
|
|
13142
13100
|
var package_default = {
|
|
13143
13101
|
name: "@tscircuit/pcb-viewer",
|
|
13144
|
-
version: "1.11.
|
|
13102
|
+
version: "1.11.303",
|
|
13145
13103
|
main: "dist/index.js",
|
|
13146
13104
|
type: "module",
|
|
13147
13105
|
repository: "tscircuit/pcb-viewer",
|
|
@@ -13194,8 +13152,8 @@ var package_default = {
|
|
|
13194
13152
|
"@tscircuit/alphabet": "^0.0.9",
|
|
13195
13153
|
"@tscircuit/math-utils": "^0.0.29",
|
|
13196
13154
|
"@vitejs/plugin-react": "^5.0.2",
|
|
13197
|
-
"circuit-json": "^0.0.
|
|
13198
|
-
"circuit-to-canvas": "^0.0.
|
|
13155
|
+
"circuit-json": "^0.0.353",
|
|
13156
|
+
"circuit-to-canvas": "^0.0.41",
|
|
13199
13157
|
"circuit-to-svg": "^0.0.271",
|
|
13200
13158
|
color: "^4.2.3",
|
|
13201
13159
|
"react-supergrid": "^1.0.10",
|