# Perlin Dissolve
URL: https://remocn.dev/docs/transitions/perlin-dissolve

Sweep a perlin-noise threshold across the frame to dissolve into the next scene

- Install: `npx shadcn@latest add @remocn/perlin-dissolve`
- Vibe: premium
- Natural length: 104f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/perlin-dissolve
```

## Usage

`perlinDissolve()` is a Remotion transition presentation. Pass it to a
`TransitionSeries.Transition` between two sequences. The perlin field sweeps
its threshold from back to front while the incoming scene resolves through it,
so give the transition enough frames for the full sweep (104 works well).

```tsx
import { TransitionSeries, linearTiming } from "@remotion/transitions";
import { perlinDissolve } from "@/components/remocn/perlin-dissolve";

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

## Props

`perlinDissolve(props)` accepts:

| Prop | Type | Default | Description |
|---|---|---|---|
| `colorBack` | `string` | `"#141318"` | Solid color behind the noise during the transition. |
| `colorFront` | `string` | `"#8f88ae"` | Foreground color the noise threshold sweeps toward. |
| `softness` | `number` | `0.1` | Edge softness of the noise threshold. |
| `speed` | `number` | `1` | Shader animation speed. |

## Use when
- Organic, atmospheric chapter changes — nature, ambient, calm product films.
- The two scenes differ strongly in content — the noise field neutralizes the mismatch.
- You want the classic film-dissolve feel with texture instead of a plain crossfade.

## Don't use when
- Fast cuts — the threshold sweep needs ~100 frames to read as a sweep, not a flicker.
- Sharp geometric brand language — the noise is deliberately unstructured; use `dither-dissolve`.