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, touch support, and performance throttling. - Camera Controls: Configure OrbitControls, FlyControls, FirstPersonControls, PointerLockControls, TrackballControls, and MapControls with damping, limits, and auto-rotation. - Object Manipulation: Use TransformControls and DragControls gizmos, click-to-select and box-selection systems, and world-to-screen coordinate conversion for HTML overlays. - Use Case: You are building a 3D product configurator where users orbit the camera, click parts to highlight them, and drag objects along the ground plane. This Skill provides the complete interaction layer. ## Quick Start Add click detection and orbit camera controls to my Three.js scene so users can select and highlight objects.