@tscircuit/3d-viewer 0.0.526 → 0.0.528
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.d.ts +1 -0
- package/dist/index.js +166 -98
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -14469,6 +14469,7 @@ var defaultVisibility = {
|
|
|
14469
14469
|
modelsMarkedDNP: false,
|
|
14470
14470
|
modelBoundingBoxes: false,
|
|
14471
14471
|
threedAxis: false,
|
|
14472
|
+
pcbNotes: false,
|
|
14472
14473
|
backgroundStart: true,
|
|
14473
14474
|
backgroundEnd: true
|
|
14474
14475
|
};
|
|
@@ -28768,7 +28769,7 @@ import * as THREE16 from "three";
|
|
|
28768
28769
|
// package.json
|
|
28769
28770
|
var package_default = {
|
|
28770
28771
|
name: "@tscircuit/3d-viewer",
|
|
28771
|
-
version: "0.0.
|
|
28772
|
+
version: "0.0.527",
|
|
28772
28773
|
main: "./dist/index.js",
|
|
28773
28774
|
module: "./dist/index.js",
|
|
28774
28775
|
type: "module",
|
|
@@ -28797,8 +28798,8 @@ var package_default = {
|
|
|
28797
28798
|
dependencies: {
|
|
28798
28799
|
"@jscad/regl-renderer": "^2.6.12",
|
|
28799
28800
|
"@jscad/stl-serializer": "^2.1.20",
|
|
28800
|
-
"circuit-json": "^0.0.
|
|
28801
|
-
"circuit-to-canvas": "^0.0.
|
|
28801
|
+
"circuit-json": "^0.0.391",
|
|
28802
|
+
"circuit-to-canvas": "^0.0.87",
|
|
28802
28803
|
"react-hot-toast": "^2.6.0",
|
|
28803
28804
|
three: "^0.165.0",
|
|
28804
28805
|
"three-stdlib": "^2.36.0",
|
|
@@ -31924,8 +31925,16 @@ function createPadTextureForLayer({
|
|
|
31924
31925
|
}
|
|
31925
31926
|
|
|
31926
31927
|
// src/utils/panel-outline-texture.ts
|
|
31927
|
-
import * as THREE20 from "three";
|
|
31928
31928
|
import { su as su6 } from "@tscircuit/circuit-json-util";
|
|
31929
|
+
import * as THREE20 from "three";
|
|
31930
|
+
var resolvePanelIdForTexture = (circuitJson) => {
|
|
31931
|
+
const panels = circuitJson.filter(
|
|
31932
|
+
(e) => e.type === "pcb_panel"
|
|
31933
|
+
);
|
|
31934
|
+
if (panels.length === 0) return null;
|
|
31935
|
+
if (panels.length === 1) return panels[0].pcb_panel_id;
|
|
31936
|
+
return null;
|
|
31937
|
+
};
|
|
31929
31938
|
function createPanelOutlineTextureForLayer({
|
|
31930
31939
|
layer,
|
|
31931
31940
|
circuitJson,
|
|
@@ -31933,7 +31942,12 @@ function createPanelOutlineTextureForLayer({
|
|
|
31933
31942
|
outlineColor = "black",
|
|
31934
31943
|
traceTextureResolution
|
|
31935
31944
|
}) {
|
|
31936
|
-
const
|
|
31945
|
+
const panelId = resolvePanelIdForTexture(circuitJson);
|
|
31946
|
+
if (!panelId) return null;
|
|
31947
|
+
const allBoards = su6(circuitJson).pcb_board.list();
|
|
31948
|
+
const boardsInPanel = allBoards.filter(
|
|
31949
|
+
(b) => b.pcb_panel_id === panelId || b.position_mode === "relative_to_panel_anchor" && !b.pcb_panel_id
|
|
31950
|
+
);
|
|
31937
31951
|
if (boardsInPanel.length === 0) {
|
|
31938
31952
|
return null;
|
|
31939
31953
|
}
|
|
@@ -32988,7 +33002,8 @@ function createCombinedBoardTextures({
|
|
|
32988
33002
|
boardData,
|
|
32989
33003
|
traceTextureResolution
|
|
32990
33004
|
}) : null;
|
|
32991
|
-
const
|
|
33005
|
+
const showPcbNotes = visibility?.pcbNotes ?? false;
|
|
33006
|
+
const pcbNoteTexture = showPcbNotes ? createPcbNoteTextureForLayer({
|
|
32992
33007
|
layer,
|
|
32993
33008
|
circuitJson,
|
|
32994
33009
|
boardData,
|
|
@@ -36631,10 +36646,6 @@ var oppositeSideMap = {
|
|
|
36631
36646
|
bottom: "top",
|
|
36632
36647
|
top: "bottom"
|
|
36633
36648
|
};
|
|
36634
|
-
var oppositeAlignmentMap = {
|
|
36635
|
-
start: "end",
|
|
36636
|
-
end: "start"
|
|
36637
|
-
};
|
|
36638
36649
|
function clamp2(start, value, end) {
|
|
36639
36650
|
return max(start, min(value, end));
|
|
36640
36651
|
}
|
|
@@ -36653,9 +36664,9 @@ function getOppositeAxis(axis) {
|
|
|
36653
36664
|
function getAxisLength(axis) {
|
|
36654
36665
|
return axis === "y" ? "height" : "width";
|
|
36655
36666
|
}
|
|
36656
|
-
var yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
|
|
36657
36667
|
function getSideAxis(placement) {
|
|
36658
|
-
|
|
36668
|
+
const firstChar = placement[0];
|
|
36669
|
+
return firstChar === "t" || firstChar === "b" ? "y" : "x";
|
|
36659
36670
|
}
|
|
36660
36671
|
function getAlignmentAxis(placement) {
|
|
36661
36672
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -36678,7 +36689,7 @@ function getExpandedPlacements(placement) {
|
|
|
36678
36689
|
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
36679
36690
|
}
|
|
36680
36691
|
function getOppositeAlignmentPlacement(placement) {
|
|
36681
|
-
return placement.replace(
|
|
36692
|
+
return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
|
|
36682
36693
|
}
|
|
36683
36694
|
var lrPlacement = ["left", "right"];
|
|
36684
36695
|
var rlPlacement = ["right", "left"];
|
|
@@ -36709,7 +36720,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
|
36709
36720
|
return list;
|
|
36710
36721
|
}
|
|
36711
36722
|
function getOppositePlacement(placement) {
|
|
36712
|
-
|
|
36723
|
+
const side = getSide(placement);
|
|
36724
|
+
return oppositeSideMap[side] + placement.slice(side.length);
|
|
36713
36725
|
}
|
|
36714
36726
|
function expandPaddingObject(padding) {
|
|
36715
36727
|
return {
|
|
@@ -36859,6 +36871,7 @@ async function detectOverflow(state, options) {
|
|
|
36859
36871
|
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
36860
36872
|
};
|
|
36861
36873
|
}
|
|
36874
|
+
var MAX_RESET_COUNT = 50;
|
|
36862
36875
|
var computePosition = async (reference, floating, config) => {
|
|
36863
36876
|
const {
|
|
36864
36877
|
placement = "bottom",
|
|
@@ -36866,7 +36879,10 @@ var computePosition = async (reference, floating, config) => {
|
|
|
36866
36879
|
middleware = [],
|
|
36867
36880
|
platform: platform2
|
|
36868
36881
|
} = config;
|
|
36869
|
-
const
|
|
36882
|
+
const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {
|
|
36883
|
+
...platform2,
|
|
36884
|
+
detectOverflow
|
|
36885
|
+
};
|
|
36870
36886
|
const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));
|
|
36871
36887
|
let rects = await platform2.getElementRects({
|
|
36872
36888
|
reference,
|
|
@@ -36878,14 +36894,17 @@ var computePosition = async (reference, floating, config) => {
|
|
|
36878
36894
|
y
|
|
36879
36895
|
} = computeCoordsFromPlacement(rects, placement, rtl);
|
|
36880
36896
|
let statefulPlacement = placement;
|
|
36881
|
-
let middlewareData = {};
|
|
36882
36897
|
let resetCount = 0;
|
|
36883
|
-
|
|
36884
|
-
|
|
36898
|
+
const middlewareData = {};
|
|
36899
|
+
for (let i = 0; i < middleware.length; i++) {
|
|
36900
|
+
const currentMiddleware = middleware[i];
|
|
36901
|
+
if (!currentMiddleware) {
|
|
36902
|
+
continue;
|
|
36903
|
+
}
|
|
36885
36904
|
const {
|
|
36886
36905
|
name,
|
|
36887
36906
|
fn
|
|
36888
|
-
} =
|
|
36907
|
+
} = currentMiddleware;
|
|
36889
36908
|
const {
|
|
36890
36909
|
x: nextX,
|
|
36891
36910
|
y: nextY,
|
|
@@ -36899,10 +36918,7 @@ var computePosition = async (reference, floating, config) => {
|
|
|
36899
36918
|
strategy,
|
|
36900
36919
|
middlewareData,
|
|
36901
36920
|
rects,
|
|
36902
|
-
platform:
|
|
36903
|
-
...platform2,
|
|
36904
|
-
detectOverflow: (_platform$detectOverf = platform2.detectOverflow) != null ? _platform$detectOverf : detectOverflow
|
|
36905
|
-
},
|
|
36921
|
+
platform: platformWithDetectOverflow,
|
|
36906
36922
|
elements: {
|
|
36907
36923
|
reference,
|
|
36908
36924
|
floating
|
|
@@ -36910,14 +36926,11 @@ var computePosition = async (reference, floating, config) => {
|
|
|
36910
36926
|
});
|
|
36911
36927
|
x = nextX != null ? nextX : x;
|
|
36912
36928
|
y = nextY != null ? nextY : y;
|
|
36913
|
-
middlewareData = {
|
|
36914
|
-
...middlewareData,
|
|
36915
|
-
|
|
36916
|
-
...middlewareData[name],
|
|
36917
|
-
...data
|
|
36918
|
-
}
|
|
36929
|
+
middlewareData[name] = {
|
|
36930
|
+
...middlewareData[name],
|
|
36931
|
+
...data
|
|
36919
36932
|
};
|
|
36920
|
-
if (reset && resetCount
|
|
36933
|
+
if (reset && resetCount < MAX_RESET_COUNT) {
|
|
36921
36934
|
resetCount++;
|
|
36922
36935
|
if (typeof reset === "object") {
|
|
36923
36936
|
if (reset.placement) {
|
|
@@ -37505,7 +37518,6 @@ function isShadowRoot(value) {
|
|
|
37505
37518
|
}
|
|
37506
37519
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
37507
37520
|
}
|
|
37508
|
-
var invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
|
|
37509
37521
|
function isOverflowElement(element) {
|
|
37510
37522
|
const {
|
|
37511
37523
|
overflow,
|
|
@@ -37513,29 +37525,31 @@ function isOverflowElement(element) {
|
|
|
37513
37525
|
overflowY,
|
|
37514
37526
|
display
|
|
37515
37527
|
} = getComputedStyle2(element);
|
|
37516
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) &&
|
|
37528
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
|
|
37517
37529
|
}
|
|
37518
|
-
var tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
|
|
37519
37530
|
function isTableElement(element) {
|
|
37520
|
-
return
|
|
37531
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
37521
37532
|
}
|
|
37522
|
-
var topLayerSelectors = [":popover-open", ":modal"];
|
|
37523
37533
|
function isTopLayer(element) {
|
|
37524
|
-
|
|
37525
|
-
|
|
37526
|
-
return
|
|
37527
|
-
} catch (_e) {
|
|
37528
|
-
return false;
|
|
37534
|
+
try {
|
|
37535
|
+
if (element.matches(":popover-open")) {
|
|
37536
|
+
return true;
|
|
37529
37537
|
}
|
|
37530
|
-
})
|
|
37538
|
+
} catch (_e) {
|
|
37539
|
+
}
|
|
37540
|
+
try {
|
|
37541
|
+
return element.matches(":modal");
|
|
37542
|
+
} catch (_e) {
|
|
37543
|
+
return false;
|
|
37544
|
+
}
|
|
37531
37545
|
}
|
|
37532
|
-
var
|
|
37533
|
-
var
|
|
37534
|
-
var
|
|
37546
|
+
var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
37547
|
+
var containRe = /paint|layout|strict|content/;
|
|
37548
|
+
var isNotNone = (value) => !!value && value !== "none";
|
|
37549
|
+
var isWebKitValue;
|
|
37535
37550
|
function isContainingBlock(elementOrCss) {
|
|
37536
|
-
const webkit = isWebKit();
|
|
37537
37551
|
const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
|
|
37538
|
-
return
|
|
37552
|
+
return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
|
|
37539
37553
|
}
|
|
37540
37554
|
function getContainingBlock(element) {
|
|
37541
37555
|
let currentNode = getParentNode(element);
|
|
@@ -37550,12 +37564,13 @@ function getContainingBlock(element) {
|
|
|
37550
37564
|
return null;
|
|
37551
37565
|
}
|
|
37552
37566
|
function isWebKit() {
|
|
37553
|
-
if (
|
|
37554
|
-
|
|
37567
|
+
if (isWebKitValue == null) {
|
|
37568
|
+
isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
|
|
37569
|
+
}
|
|
37570
|
+
return isWebKitValue;
|
|
37555
37571
|
}
|
|
37556
|
-
var lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
|
|
37557
37572
|
function isLastTraversableNode(node) {
|
|
37558
|
-
return
|
|
37573
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
37559
37574
|
}
|
|
37560
37575
|
function getComputedStyle2(element) {
|
|
37561
37576
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -37609,8 +37624,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
37609
37624
|
if (isBody) {
|
|
37610
37625
|
const frameElement = getFrameElement(win);
|
|
37611
37626
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
37627
|
+
} else {
|
|
37628
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
37612
37629
|
}
|
|
37613
|
-
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
37614
37630
|
}
|
|
37615
37631
|
function getFrameElement(win) {
|
|
37616
37632
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
@@ -37774,7 +37790,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
37774
37790
|
if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
|
|
37775
37791
|
scroll = getNodeScroll(offsetParent);
|
|
37776
37792
|
}
|
|
37777
|
-
if (
|
|
37793
|
+
if (isOffsetParentAnElement) {
|
|
37778
37794
|
const offsetRect = getBoundingClientRect(offsetParent);
|
|
37779
37795
|
scale2 = getScale(offsetParent);
|
|
37780
37796
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
@@ -37848,7 +37864,6 @@ function getViewportRect(element, strategy) {
|
|
|
37848
37864
|
y
|
|
37849
37865
|
};
|
|
37850
37866
|
}
|
|
37851
|
-
var absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
|
|
37852
37867
|
function getInnerBoundingClientRect(element, strategy) {
|
|
37853
37868
|
const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
|
|
37854
37869
|
const top = clientRect.top + element.clientTop;
|
|
@@ -37906,7 +37921,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
37906
37921
|
if (!currentNodeIsContaining && computedStyle.position === "fixed") {
|
|
37907
37922
|
currentContainingBlockComputedStyle = null;
|
|
37908
37923
|
}
|
|
37909
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle &&
|
|
37924
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
37910
37925
|
if (shouldDropCurrentNode) {
|
|
37911
37926
|
result = result.filter((ancestor) => ancestor !== currentNode);
|
|
37912
37927
|
} else {
|
|
@@ -37926,20 +37941,23 @@ function getClippingRect(_ref) {
|
|
|
37926
37941
|
} = _ref;
|
|
37927
37942
|
const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
37928
37943
|
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
37929
|
-
const
|
|
37930
|
-
|
|
37931
|
-
|
|
37932
|
-
|
|
37933
|
-
|
|
37934
|
-
|
|
37935
|
-
|
|
37936
|
-
|
|
37937
|
-
|
|
37944
|
+
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
|
|
37945
|
+
let top = firstRect.top;
|
|
37946
|
+
let right = firstRect.right;
|
|
37947
|
+
let bottom = firstRect.bottom;
|
|
37948
|
+
let left = firstRect.left;
|
|
37949
|
+
for (let i = 1; i < clippingAncestors.length; i++) {
|
|
37950
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
|
|
37951
|
+
top = max(rect.top, top);
|
|
37952
|
+
right = min(rect.right, right);
|
|
37953
|
+
bottom = min(rect.bottom, bottom);
|
|
37954
|
+
left = max(rect.left, left);
|
|
37955
|
+
}
|
|
37938
37956
|
return {
|
|
37939
|
-
width:
|
|
37940
|
-
height:
|
|
37941
|
-
x:
|
|
37942
|
-
y:
|
|
37957
|
+
width: right - left,
|
|
37958
|
+
height: bottom - top,
|
|
37959
|
+
x: left,
|
|
37960
|
+
y: top
|
|
37943
37961
|
};
|
|
37944
37962
|
}
|
|
37945
37963
|
function getDimensions(element) {
|
|
@@ -38148,7 +38166,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
38148
38166
|
animationFrame = false
|
|
38149
38167
|
} = options;
|
|
38150
38168
|
const referenceEl = unwrapElement(reference);
|
|
38151
|
-
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
|
|
38169
|
+
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
|
|
38152
38170
|
ancestors.forEach((ancestor) => {
|
|
38153
38171
|
ancestorScroll && ancestor.addEventListener("scroll", update, {
|
|
38154
38172
|
passive: true
|
|
@@ -38161,7 +38179,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
38161
38179
|
if (elementResize) {
|
|
38162
38180
|
resizeObserver = new ResizeObserver((_ref) => {
|
|
38163
38181
|
let [firstEntry] = _ref;
|
|
38164
|
-
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
|
38182
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
|
|
38165
38183
|
resizeObserver.unobserve(floating);
|
|
38166
38184
|
cancelAnimationFrame(reobserveFrame);
|
|
38167
38185
|
reobserveFrame = requestAnimationFrame(() => {
|
|
@@ -38174,7 +38192,9 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
38174
38192
|
if (referenceEl && !animationFrame) {
|
|
38175
38193
|
resizeObserver.observe(referenceEl);
|
|
38176
38194
|
}
|
|
38177
|
-
|
|
38195
|
+
if (floating) {
|
|
38196
|
+
resizeObserver.observe(floating);
|
|
38197
|
+
}
|
|
38178
38198
|
}
|
|
38179
38199
|
let frameId;
|
|
38180
38200
|
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
@@ -38482,34 +38502,61 @@ var arrow$1 = (options) => {
|
|
|
38482
38502
|
}
|
|
38483
38503
|
};
|
|
38484
38504
|
};
|
|
38485
|
-
var offset3 = (options, deps) =>
|
|
38486
|
-
|
|
38487
|
-
|
|
38488
|
-
|
|
38489
|
-
|
|
38490
|
-
|
|
38491
|
-
|
|
38492
|
-
}
|
|
38493
|
-
var
|
|
38494
|
-
|
|
38495
|
-
|
|
38496
|
-
|
|
38497
|
-
|
|
38498
|
-
|
|
38499
|
-
|
|
38500
|
-
}
|
|
38501
|
-
var
|
|
38502
|
-
|
|
38503
|
-
|
|
38504
|
-
|
|
38505
|
-
|
|
38506
|
-
|
|
38507
|
-
|
|
38508
|
-
|
|
38509
|
-
|
|
38510
|
-
|
|
38511
|
-
|
|
38512
|
-
|
|
38505
|
+
var offset3 = (options, deps) => {
|
|
38506
|
+
const result = offset2(options);
|
|
38507
|
+
return {
|
|
38508
|
+
name: result.name,
|
|
38509
|
+
fn: result.fn,
|
|
38510
|
+
options: [options, deps]
|
|
38511
|
+
};
|
|
38512
|
+
};
|
|
38513
|
+
var shift3 = (options, deps) => {
|
|
38514
|
+
const result = shift2(options);
|
|
38515
|
+
return {
|
|
38516
|
+
name: result.name,
|
|
38517
|
+
fn: result.fn,
|
|
38518
|
+
options: [options, deps]
|
|
38519
|
+
};
|
|
38520
|
+
};
|
|
38521
|
+
var limitShift3 = (options, deps) => {
|
|
38522
|
+
const result = limitShift2(options);
|
|
38523
|
+
return {
|
|
38524
|
+
fn: result.fn,
|
|
38525
|
+
options: [options, deps]
|
|
38526
|
+
};
|
|
38527
|
+
};
|
|
38528
|
+
var flip3 = (options, deps) => {
|
|
38529
|
+
const result = flip2(options);
|
|
38530
|
+
return {
|
|
38531
|
+
name: result.name,
|
|
38532
|
+
fn: result.fn,
|
|
38533
|
+
options: [options, deps]
|
|
38534
|
+
};
|
|
38535
|
+
};
|
|
38536
|
+
var size3 = (options, deps) => {
|
|
38537
|
+
const result = size2(options);
|
|
38538
|
+
return {
|
|
38539
|
+
name: result.name,
|
|
38540
|
+
fn: result.fn,
|
|
38541
|
+
options: [options, deps]
|
|
38542
|
+
};
|
|
38543
|
+
};
|
|
38544
|
+
var hide3 = (options, deps) => {
|
|
38545
|
+
const result = hide2(options);
|
|
38546
|
+
return {
|
|
38547
|
+
name: result.name,
|
|
38548
|
+
fn: result.fn,
|
|
38549
|
+
options: [options, deps]
|
|
38550
|
+
};
|
|
38551
|
+
};
|
|
38552
|
+
var arrow3 = (options, deps) => {
|
|
38553
|
+
const result = arrow$1(options);
|
|
38554
|
+
return {
|
|
38555
|
+
name: result.name,
|
|
38556
|
+
fn: result.fn,
|
|
38557
|
+
options: [options, deps]
|
|
38558
|
+
};
|
|
38559
|
+
};
|
|
38513
38560
|
|
|
38514
38561
|
// node_modules/@radix-ui/react-arrow/dist/index.mjs
|
|
38515
38562
|
import * as React29 from "react";
|
|
@@ -41399,6 +41446,27 @@ var AppearanceMenu = () => {
|
|
|
41399
41446
|
]
|
|
41400
41447
|
}
|
|
41401
41448
|
),
|
|
41449
|
+
/* @__PURE__ */ jsxs8(
|
|
41450
|
+
Item22,
|
|
41451
|
+
{
|
|
41452
|
+
style: {
|
|
41453
|
+
...itemStyles,
|
|
41454
|
+
backgroundColor: hoveredItem === "pcbNotes" ? "#404040" : "transparent"
|
|
41455
|
+
},
|
|
41456
|
+
onSelect: (e) => e.preventDefault(),
|
|
41457
|
+
onPointerDown: (e) => {
|
|
41458
|
+
e.preventDefault();
|
|
41459
|
+
setLayerVisibility("pcbNotes", !visibility.pcbNotes);
|
|
41460
|
+
},
|
|
41461
|
+
onMouseEnter: () => setHoveredItem("pcbNotes"),
|
|
41462
|
+
onMouseLeave: () => setHoveredItem(null),
|
|
41463
|
+
onTouchStart: () => setHoveredItem("pcbNotes"),
|
|
41464
|
+
children: [
|
|
41465
|
+
/* @__PURE__ */ jsx35("span", { style: iconContainerStyles, children: visibility.pcbNotes && /* @__PURE__ */ jsx35(CheckIcon, {}) }),
|
|
41466
|
+
/* @__PURE__ */ jsx35("span", { style: { display: "flex", alignItems: "center" }, children: "PCB Notes" })
|
|
41467
|
+
]
|
|
41468
|
+
}
|
|
41469
|
+
),
|
|
41402
41470
|
/* @__PURE__ */ jsxs8(
|
|
41403
41471
|
Item22,
|
|
41404
41472
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/3d-viewer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.528",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@jscad/regl-renderer": "^2.6.12",
|
|
31
31
|
"@jscad/stl-serializer": "^2.1.20",
|
|
32
|
-
"circuit-json": "^0.0.
|
|
33
|
-
"circuit-to-canvas": "^0.0.
|
|
32
|
+
"circuit-json": "^0.0.391",
|
|
33
|
+
"circuit-to-canvas": "^0.0.87",
|
|
34
34
|
"react-hot-toast": "^2.6.0",
|
|
35
35
|
"three": "^0.165.0",
|
|
36
36
|
"three-stdlib": "^2.36.0",
|