snapcn
36 components
DocsComponentsTemplatesVideo EditorNewShowcaseMarketplaceRoadmapChangelog

Getting started

IntroductionInstallationAgent skill
GitHub

Star snapcn

Free, open-source components.

Production-ready Remotion animations, transitions and backgrounds — you own the code.

Star on GitHubXFollow

MIT licensed · own your code.

© 2026 snapcn

Loading
snapcn
36 components
DocsComponentsTemplatesVideo EditorNewShowcaseMarketplaceRoadmapChangelog

Getting started

IntroductionInstallationAgent skill
GitHub

Star snapcn

Free, open-source components.

Production-ready Remotion animations, transitions and backgrounds — you own the code.

Star on GitHubXFollow

MIT licensed · own your code.

© 2026 snapcn

DocsComponentsTemplatesVideo EditorNewShowcaseMarketplaceRoadmapChangelog
Getting startedIntroductionInstallationAgent skill

Wordmark Cut

A wordmark twice the width of the frame, cooling from a lit gradient to ink, cut closer onto its last letters and the dot

Two shots and a hard cut between them. The wide one holds the front of the word, rides an exponential settle up into place while the light on the type cools out, and then starts drifting left — accelerating, so the cut lands on a frame that is already moving. The close one is 1.71× nearer, holds the end of the word, springs in, waits, and pushes.

The dot never cools. It is the one thing in the piece that keeps the gradient at full strength, and the close shot is framed on it.

Installation

pnpm
$ pnpm dlx shadcn@latest add @snapcn/wordmark-cut

Needs an existing Remotion project and a components.json. Two-minute setup if this is your first snapcn component.

Component code

The exact file shadcn add copies into your project.

Usage

// src/Root.tsx
import { Composition } from "remotion";
import { WordmarkCut } from "@/components/snap-cn/wordmark-cut";

const Open = () => <WordmarkCut word="snapcn." />;

export const RemotionRoot = () => (
  <Composition
    id="WordmarkCut"
    component={Open}
    durationInFrames={66}
    fps={30}
    width={1280}
    height={720}
    defaultProps={{}}
  />
);

Props

proptypedefaultwhat it does
wordstring"snapcn."The wordmark. A trailing . is dropped — the dot is drawn, not typed.
dotFrom / dotTostring#3072db / #4fd8f5One ramp, painted at full strength on the dot and at warm on the type. Defaults to the design system's primary lifted to a cyan; the reference's own is #ff6100 → #fff100.
warmnumber1How much light the type carries at its hottest. 0 starts it at ink.
theme / modePartial<SnapCnTheme> / "light" | "dark"design systemToken overrides — the page and the ink.
fontFamilystringInterA face from the registry's font list, or one you have loaded.
speednumber11 is the measured speed.

Framing

The two shots are anchored on different things, and neither has a fixed baseline:

  • The wide shot is framed on the top of the ink. A word with ascenders and a word without do not sit in the same place at the same point size — one of them floats 50px lower — so the ink's top edge is what stays put and the baseline follows.
  • The close shot is framed on the dot, because that is what it is a shot of. The baseline is then wherever the dot's own radius puts it.

Set word="Product." and both come out at the reference's own numbers.

Timing

Every number is read off the reference at 30fps.

beatsecondswhat moves
settle0 – 0.8the word rises 50px, exponentially
cool0.36 – 1.03the light on the type goes to ink, linearly
drift0.66 – 1.20the word slides 21px left, accelerating
cut1.20245px type → 419px type, front of the word → end of it
spring1.20 – 1.45the close shot lands, overshooting 5px
hold1.45 – 1.63nothing moves
push1.63 – 2.201 → 1.30, still accelerating at the last frame

The wide shot is accelerating left when it ends and the close shot is decelerating when it begins. They are not one continuous move with a jump in it — they are the same camera on the same word, twice, and the cut is what makes the second one read as closer rather than as bigger.

More in this category

  • Count GridA grid of cards rushes in under a horizontal smear and settles on five, then the camera pulls back a fraction while every empty cell fills in from the middle out and the count jumps from five to five hundred
  • Roster GrantThree rows of roster cards stream past a call to action, a pointer walks in and clicks it, and the monograms start turning to the accent one every seven frames — top, middle, bottom, top, bottom, middle
  • Announce TitleA four-shot launch title — the eyebrow rushes past the camera on a receding type plane, the name assembles on paper, and a macro pan cuts wide as the tagline builds itself last word first
  • Status CycleA status pill whose label rolls behind a hard clip while its width springs past the target and back, then the field crossfades to a column of chips stepping up from below
  • Product HeroCinematic product-launch hero — two cards slide into formation as the headline reveals above
  • Orbit GalleryA ring of feature cards orbits a central product mark, each rotating upright as it swings to the front

Get the next component in your inbox

New free components as they ship, and the pro pack first when it lands. One email a week at most, never a sponsored one.