# Uncomment Line
URL: https://remocn.dev/docs/typography/uncomment-line

Code-comment lines lose their comment markers one by one and light up as live copy.

- Install: `npx shadcn@latest add @remocn/uncomment-line`
- Vibe: tech
- Natural length: 74f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/uncomment-line
```

## Usage

```tsx
// src/Root.tsx
import { Composition } from "remotion";
import { UncommentLine } from "@/components/remocn/uncomment-line";

const UncommentLineScene = () => (
  <UncommentLine lines={["Fork the scenes.", "Change anything.", "Own the cut."]} marker="// " highlight={-1} />
);

export const RemotionRoot = () => (
  <Composition
    id="UncommentLine"
    component={UncommentLineScene}
    durationInFrames={125}
    fps={30}
    width={1280}
    height={720}
  />
);
```

Lines appear dimmed behind a comment marker, then each marker drops away in turn so the line lights up. Pass `lines` for the copy and `highlight` for which line ends accented. It ships in light and dark through the `theme` prop.

## Props

| Prop | Type | Default | Description |
|---|---|---|---|
| `lines` | `string[]` | — | Lines of copy, each revealed in turn. |
| `marker` | `string` | `"// "` | Comment prefix shown before each line until it opens. |
| `highlight` | `number` | `-1` | Index of the accented line; negative counts from the end. |
| `accent` | `string` | — | Accent color override; falls back to the theme accent. |
| `background` | `string` | — | Background color override; falls back to the theme background. |
| `speed` | `number` | `1` | Playback speed multiplier for the whole timeline. |
| `theme` | `"dark" \| "light"` | `"dark"` | Ships light and dark; picks the palette. |

## Use when
- A developer-product beat where three promises should read like code being switched on.
- A feature list that starts muted and activates line by line.
- A tagline sequence for a dev tool where the comment syntax signals code-first.

## Don't use when
- The audience is not technical and comment syntax would be noise — use `what-sticks`.
- You want one line edited into another — use `diff-swap`.
- You want typed characters rather than a reveal — use `typewriter`.