What problem does it solve? Building interactive 3D experiences requires wiring together raycasting for object picking, camera control schemes, and pointer event handling, which involves repetitive boilerplate and subtle coordinate conversion math that is easy to get wrong. ## Core Features & Use Cases - Raycasting & Picking: Convert mouse/touch positions to normalized device coordinates, detect clicked or hovered objects, and filter targets with layers and thresholds. - Camera Controls: Configure OrbitControls, FlyControls, FirstPersonControls, PointerLockControls, TrackballControls, and MapControls with damping, limits, and auto-rotation. - Object Manipulation: Attach TransformControls gizmos for translate/rotate/scale, DragControls for direct dragging, and SelectionBox for box selection. - Use Case: When building a 3D product configurator, use this Skill to add click-to-select highlighting on meshes, orbit camera navigation with zoom limits, and hover effects that change the cursor and object color. ## Quick Start Add click detection and OrbitControls with damping to my Three.js scene so users can rotate the camera and select objects by clicking them.