# Scribble Circle

Hand-drawn loop that circles a target area and overshoots its own start like a marker stroke, with seeded wobble.

```bash
npx shadcn add https://www.reelcn.dev/r/scribble-circle.json
```

Usage:

```tsx
<ScribbleCircle target={{ x: 65, y: 29, width: 23, height: 17 }} />
```

Use for:

- Circling a number, button or face in a screenshot or recording
- Marking the one thing viewers should look at in a busy frame

Avoid:

- Pointing at something from a distance. Use `arrow`

Dependencies:

- `remotion`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| target | `{ x: number; y: number; width: number; height: number; }` | — | Area to circle, in % of the canvas (0-100): `x`/`y` is the top-left corner, `width`/`height` the size. Percentages keep the loop on the same UI when the canvas changes format. |
| padding? | `number` | `10` | Extra space between the target and the loop, in design units. |
| turns? | `number` | `1.1` | How far around the loop goes. 1 closes it exactly; a little more reads as hand-drawn. |
| strokeWidth? | `number` | `7` | Stroke width in design units. |
| color? | `string` | — | Stroke color. Defaults to the theme accent. |
| wobble? | `number` | `0.5` | How uneven the loop is, 0-1. |
| seed? | `string \| number` | `"scribble"` | Varies the wobble and tilt; the same seed always draws the same loop. |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |