import { PerspectiveCamera } from "three"; import { TrackballControls } from "three/addons/controls/TrackballControls.js"; export function setHomeCamera(camera: PerspectiveCamera): void { camera.position.set(4, 2.6, 6.6); camera.up.set(0, 1, 0); camera.lookAt(0, 0, 0); } export function createCameraControls( camera: PerspectiveCamera, element: HTMLElement, ) { // Set the home view before construction so reset restores position and up. setHomeCamera(camera); const controls = new TrackballControls(camera, element); controls.noPan = true; controls.staticMoving = true; // Stop on release; no residual spin after reset. controls.rotateSpeed = 1.5; controls.minDistance = 3.8; controls.maxDistance = 12; controls.keys = ["", "", ""]; return controls; }