@tscircuit/3d-viewer 0.0.384 → 0.0.385
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 +35 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26002,7 +26002,7 @@ import * as THREE11 from "three";
|
|
|
26002
26002
|
// package.json
|
|
26003
26003
|
var package_default = {
|
|
26004
26004
|
name: "@tscircuit/3d-viewer",
|
|
26005
|
-
version: "0.0.
|
|
26005
|
+
version: "0.0.384",
|
|
26006
26006
|
main: "./dist/index.js",
|
|
26007
26007
|
module: "./dist/index.js",
|
|
26008
26008
|
type: "module",
|
|
@@ -26389,7 +26389,8 @@ var OrbitControls = ({
|
|
|
26389
26389
|
rotateSpeed,
|
|
26390
26390
|
zoomSpeed,
|
|
26391
26391
|
enableDamping,
|
|
26392
|
-
dampingFactor
|
|
26392
|
+
dampingFactor,
|
|
26393
|
+
target
|
|
26393
26394
|
}) => {
|
|
26394
26395
|
const { camera, renderer } = useThree();
|
|
26395
26396
|
const controls = useMemo10(() => {
|
|
@@ -26405,6 +26406,10 @@ var OrbitControls = ({
|
|
|
26405
26406
|
if (zoomSpeed !== void 0) controls.zoomSpeed = zoomSpeed;
|
|
26406
26407
|
if (enableDamping !== void 0) controls.enableDamping = enableDamping;
|
|
26407
26408
|
if (dampingFactor !== void 0) controls.dampingFactor = dampingFactor;
|
|
26409
|
+
if (target) {
|
|
26410
|
+
controls.target.set(target[0], target[1], target[2]);
|
|
26411
|
+
controls.update();
|
|
26412
|
+
}
|
|
26408
26413
|
}, [
|
|
26409
26414
|
controls,
|
|
26410
26415
|
autoRotate,
|
|
@@ -26413,7 +26418,8 @@ var OrbitControls = ({
|
|
|
26413
26418
|
rotateSpeed,
|
|
26414
26419
|
zoomSpeed,
|
|
26415
26420
|
enableDamping,
|
|
26416
|
-
dampingFactor
|
|
26421
|
+
dampingFactor,
|
|
26422
|
+
target
|
|
26417
26423
|
]);
|
|
26418
26424
|
useEffect12(() => {
|
|
26419
26425
|
if (!controls || !onStart) return;
|
|
@@ -26571,6 +26577,7 @@ var CadViewerContainer = forwardRef2(
|
|
|
26571
26577
|
autoRotateDisabled,
|
|
26572
26578
|
clickToInteractEnabled = false,
|
|
26573
26579
|
boardDimensions,
|
|
26580
|
+
boardCenter,
|
|
26574
26581
|
onUserInteraction
|
|
26575
26582
|
}, ref) => {
|
|
26576
26583
|
const [isInteractionEnabled, setIsInteractionEnabled] = useState7(
|
|
@@ -26584,6 +26591,10 @@ var CadViewerContainer = forwardRef2(
|
|
|
26584
26591
|
const desired = largest * 1.5;
|
|
26585
26592
|
return desired > 10 ? desired : 10;
|
|
26586
26593
|
}, [boardDimensions]);
|
|
26594
|
+
const orbitTarget = useMemo13(() => {
|
|
26595
|
+
if (!boardCenter) return void 0;
|
|
26596
|
+
return [boardCenter.x, boardCenter.y, 0];
|
|
26597
|
+
}, [boardCenter]);
|
|
26587
26598
|
return /* @__PURE__ */ jsxs4("div", { style: { position: "relative", width: "100%", height: "100%" }, children: [
|
|
26588
26599
|
/* @__PURE__ */ jsx11(
|
|
26589
26600
|
"div",
|
|
@@ -26626,7 +26637,8 @@ var CadViewerContainer = forwardRef2(
|
|
|
26626
26637
|
panSpeed: 0.75,
|
|
26627
26638
|
zoomSpeed: 0.5,
|
|
26628
26639
|
enableDamping: true,
|
|
26629
|
-
dampingFactor: 0.1
|
|
26640
|
+
dampingFactor: 0.1,
|
|
26641
|
+
target: orbitTarget
|
|
26630
26642
|
}
|
|
26631
26643
|
),
|
|
26632
26644
|
/* @__PURE__ */ jsx11(Lights, {}),
|
|
@@ -28204,6 +28216,17 @@ var CadViewerJscad = forwardRef3(
|
|
|
28204
28216
|
return void 0;
|
|
28205
28217
|
}
|
|
28206
28218
|
}, [internalCircuitJson]);
|
|
28219
|
+
const boardCenter = useMemo17(() => {
|
|
28220
|
+
if (!internalCircuitJson) return void 0;
|
|
28221
|
+
try {
|
|
28222
|
+
const board = su4(internalCircuitJson).pcb_board.list()[0];
|
|
28223
|
+
if (!board || !board.center) return void 0;
|
|
28224
|
+
return { x: board.center.x, y: board.center.y };
|
|
28225
|
+
} catch (e) {
|
|
28226
|
+
console.error(e);
|
|
28227
|
+
return void 0;
|
|
28228
|
+
}
|
|
28229
|
+
}, [internalCircuitJson]);
|
|
28207
28230
|
const { stls: boardStls, loading } = useStlsFromGeom(boardGeom);
|
|
28208
28231
|
const cad_components = su4(internalCircuitJson).cad_component.list();
|
|
28209
28232
|
return /* @__PURE__ */ jsxs6(
|
|
@@ -28214,6 +28237,7 @@ var CadViewerJscad = forwardRef3(
|
|
|
28214
28237
|
initialCameraPosition,
|
|
28215
28238
|
clickToInteractEnabled,
|
|
28216
28239
|
boardDimensions,
|
|
28240
|
+
boardCenter,
|
|
28217
28241
|
onUserInteraction,
|
|
28218
28242
|
children: [
|
|
28219
28243
|
boardStls.map(({ stlData, color }, index) => /* @__PURE__ */ jsx13(
|
|
@@ -29544,6 +29568,12 @@ try {
|
|
|
29544
29568
|
const { width: width10 = 0, height: height10 = 0 } = boardData;
|
|
29545
29569
|
return { width: width10, height: height10 };
|
|
29546
29570
|
}, [boardData]);
|
|
29571
|
+
const boardCenter = useMemo19(() => {
|
|
29572
|
+
if (!boardData) return void 0;
|
|
29573
|
+
const { center } = boardData;
|
|
29574
|
+
if (!center) return void 0;
|
|
29575
|
+
return { x: center.x, y: center.y };
|
|
29576
|
+
}, [boardData]);
|
|
29547
29577
|
const initialCameraPosition = useMemo19(() => {
|
|
29548
29578
|
if (!boardData) return [5, 5, 5];
|
|
29549
29579
|
const { width: width10 = 0, height: height10 = 0 } = boardData;
|
|
@@ -29599,6 +29629,7 @@ try {
|
|
|
29599
29629
|
autoRotateDisabled,
|
|
29600
29630
|
clickToInteractEnabled,
|
|
29601
29631
|
boardDimensions,
|
|
29632
|
+
boardCenter,
|
|
29602
29633
|
onUserInteraction,
|
|
29603
29634
|
children: [
|
|
29604
29635
|
/* @__PURE__ */ jsx14(
|