# Focus Pull
URL: https://remocn.dev/docs/transitions/focus-pull

Rack focus from one scene to the next through a soft defocus breath

- Install: `npx shadcn@latest add @remocn/focus-pull`
- Vibe: premium
- Natural length: 46f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/focus-pull
```

## Usage

`focusPull()` is a Remotion transition presentation. Pass it to a
`TransitionSeries.Transition` between two sequences. The outgoing scene drifts
out of focus and brightens like an over-exposed bokeh, the incoming scene
resolves from the same blur and settles into sharpness with a gentle lens
breath. Calm and editorial — give it around 46 frames.

```tsx
import { TransitionSeries, linearTiming } from "@remotion/transitions";
import { focusPull } from "@/components/remocn/focus-pull";

export const MyVideo = () => (
  <TransitionSeries>
    <TransitionSeries.Sequence durationInFrames={80}>
      <SceneA />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition
      timing={linearTiming({ durationInFrames: 46 })}
      presentation={focusPull()}
    />
    <TransitionSeries.Sequence durationInFrames={80}>
      <SceneB />
    </TransitionSeries.Sequence>
  </TransitionSeries>
);
```

## Props

`focusPull(props)` accepts:

| Prop | Type | Default | Description |
|---|---|---|---|
| `blur` | `number` | `16` | Maximum defocus blur in pixels at the handoff point. |

## Use when
- The tone is refined and editorial — premium product films, calm brand moments, testimonials.
- Scenes shift attention rather than location — a neutral, cinematic alternative to `fade-through`.
- Adjacent scenes share a similar palette — the defocus blends them seamlessly.

## Don't use when
- The cut needs energy or direction — use `whip-pan` or `push-through`.
- Fine text must stay legible up to the cut — the defocus starts eating detail early.