# Klipp ## Documentation - [Introduction](/getting-started/introduction): A camera toolkit for the web, inspired by Unity Cinemachine. - [Installation](/getting-started/installation): Install Klipp and pick the right entry point. - [Core concepts](/getting-started/core-concepts): Virtual cameras, priority, the pieces that build a shot, and targets. - [Your first camera](/getting-started/your-first-camera): Build a follow camera and switch to a second shot, step by step. - [Building on the core](/getting-started/building-on-the-core): Integrate Klipp with your own renderer or engine, or use the data and functions underneath. - [Klipp](/api/klipp): Picks the winning camera, blends between shots and drives the real camera. - [VirtualCamera](/api/virtual-camera): A single shot that competes for the screen. - [Hooks](/api/hooks): Read Klipp's state from your own components. - [Events](/api/events): React to camera switches and blends. - [Body](/body/introduction): Decides where the camera is. - [HardLockToTarget](/body/hard-lock-to-target): Puts the camera exactly where the target is. - [Follow](/body/follow): Keeps the camera at a fixed offset from a target. - [OrbitFollow](/body/orbit-follow): Lets the user orbit and zoom around a target. - [PositionComposer](/body/position-composer): Moves the camera to keep a target at a spot on screen. - [CameraControls](/body/camera-controls): Lets the user orbit, pan and zoom with the mouse or touch. - [Aim](/aim/introduction): Decides where the camera looks. - [HardLookAt](/aim/hard-look-at): Always looks straight at the target. - [RotationComposer](/aim/rotation-composer): Looks at a target with a dead zone, off-center framing and damping. - [RotateWithFollowTarget](/aim/rotate-with-follow-target): Copies the target's rotation. - [PanTilt](/aim/pan-tilt): Lets the user look around with the mouse or touch. - [Extension](/extension/introduction): Adjusts the lens and the shot the Body and Aim build. - [CameraOffset](/extension/camera-offset): Moves the camera in its own space after the Body and Aim. - [Confiner](/extension/confiner): Keeps the camera inside a box or a sphere. - [FollowZoom](/extension/follow-zoom): Keeps a target the same size on screen by changing the field of view. - [GroupFraming](/extension/group-framing): Moves the camera closer or farther to keep several targets in view. - [Lens](/extension/lens): Changes fov, orthographic size, near and far, with damping. - [Recomposer](/extension/recomposer): Turns, rolls and zooms the finished shot. - [Noise](/noise/introduction): Adds camera shake on top of the shot. - [BasicMultiChannelPerlin](/noise/basic-multi-channel-perlin): Smooth, continuous camera shake. - [Impulse](/impulse/introduction): One-off camera shakes from events like explosions and hits. - [Input](/input/introduction): Mouse, touch, wheel and pinch input for cameras, or your own data. - [InputController](/input/input-controller): Maps mouse, touch, wheel and pinch input onto a piece's axes. - [InputAxis](/input/input-axis): A single controllable value with limits, damping and recentering. - [Input from data](/input/input-from-data): Steer a camera from your own code, the network or a recording. - [Blending](/blending/introduction): Control how Klipp moves from one camera to the next. - [Camera groups](/groups/introduction): Cameras made of other cameras. - [SequencerCamera](/groups/sequencer-camera): Shows its cameras one after another, like a cutscene. - [MixingCamera](/groups/mixing-camera): Mixes its cameras into one shot by weight. - [Debugging](/debugging/introduction): Visualize framing zones, camera frustums and orbits. - [On-demand rendering](/advanced/on-demand-rendering): Render only while the camera is moving. - [Custom pieces](/advanced/custom-components): Write your own Body, Aim, Extension or Noise. ## MCP Server This documentation is available via Model Context Protocol (MCP) server at https://docs.pmnd.rs/api/mcp Configure in your MCP client: ```json { "mcpServers": { "pmndrs": { "type": "http", "url": "https://docs.pmnd.rs/api/mcp" } } } ``` --- For full documentation content, see llms-full.txt