What problem does it solve? Building interactive 3D experiences in Three.js requires wiring together raycasting, camera controls, and input events, which involves repetitive boilerplate and subtle coordinate conversion math that is easy to get wrong. ## Core Features & Use Cases - Raycasting & Picking: Detect clicks, hovers, and touches on 3D objects with mouse-to-NDC coordinate conversion, layer filtering, and throttled raycasts for performance. - Camera Controls: Configure OrbitControls, FlyControls, FirstPersonControls, PointerLockControls, TrackballControls, and MapControls with damping, zoom limits, and rotation constraints. - Object Manipulation: Attach TransformControls gizmos and DragControls to move, rotate, and scale meshes, plus box selection via SelectionBox and SelectionHelper. - Use Case: You are building a 3D product configurator where users click parts of a model to customize them. Use this Skill to implement click detection with visual hover feedback and orbit camera navigation. ## Quick Start Add click detection and orbit controls to my Three.js scene so users can select meshes and rotate the camera.