Changelog

New components, transitions, shaders, and icons as they ship.

The first stop-motion drop could write. It could not show a list, point at a region of the frame, count, or take anything off the desk — which is most of what a product demo does between its titles. These four fill that in, on the same quantized clock as everything else: ten poses a second, nothing gliding.

New components

  • Check List — a list that writes itself out in full, then goes back and closes items: a tick drawn over two poses and the label struck through. The two phases never interleave, because a list you are still writing is not a list you are already crossing off.
  • Scribble Circle — a brush loop thrown around the one thing that matters, a price or a button or a row in a screenshot. It goes round and carries on past where it started, the way a real one never lands back on its own line.
  • Hand Count — a number that arrives by being written again on every pose instead of rolling. The digits are redrawn, not scrolled, so it belongs in a hand-made scene rather than on a dashboard.
  • Crumple Toss — crushes one element into a ball of paper and throws it away while the rest of the scene carries on. There is no swap: the card is cut into wedges that each carry their own piece of the content and fold inward, so the wad is the card.

Improvements

  • Ink Underline and Ink Arrow are redrawn through a shared brush library. A brush mark is a filled ribbon offset from its spine rather than a stroke, so it can carry pressure — the underline lands heavy and thins into a dry tail, the arrow opens thin and thickens into its head. Both pick up the same grain, and both now expose it: pressure, release and grain are yours to set, and the arrow draws heavier by default. Any mark made through the library shares one physical language — Scribble Circle is drawn with it too — and it arrives transitively, so you never install it yourself.

Everything in this kit runs on a quantized clock. Instead of sampling the timeline every frame, each component samples it once every three — ten poses a second — so nothing glides. A letter is either written or it is not. A stroke has either been dragged this pose or it waits for the next one. Between poses the whole scene holds still, and every object carries a fraction of a pixel of drift, the wobble of something that was picked up and put back down.

The exception is what plays inside it. Drop a video or a whole live composition into a Polaroid and the frame around it keeps ticking in poses while the picture itself runs at full framerate. A photograph that never stopped playing, with nothing pre-rendered.

New components

  • Handwrite — text laid down letter by letter, each glyph keeping its own slant and baseline wobble, the newest one settling from a heavier press.
  • Ink Underline — a hand-dragged stroke that draws itself across in a few poses, with a per-seed wobble so it never looks geometric.
  • Paper Wobble — wrap anything to give it the reshoot jitter. One offset held for a whole pose, then a snap to the next.
  • Ink Arrow — a pen drags a wobbly curve from one point to another, then draws the head one stroke at a time.
  • Paper Sticker — a taped chip that slaps down over two poses and keeps a fixed hand-placed tilt.
  • Polaroid — an instant-photo frame with a handwritten caption. The media is children, so anything plays inside.
  • Page Turn — the exiting scene lifts and swings away like a notebook page. The only transition in the catalog where the outgoing scene stays in front of the one it reveals, because that is what a page does.

The clock itself ships underneath as a registry dependency, so adding any of these pulls it in without you asking for it. Every component takes a step prop if you want a tempo other than three frames a pose.

A caption easing into place did not glide — it held still, clicked down a pixel, held still, clicked again. Give every word or character its own stagger and those clicks land on different frames, so a ripple ran through the line while the rule right next to it stayed perfectly smooth.

That contrast is what made it visible, and it is not a Remotion bug. A glyph is rasterized into a cache that can only be placed on a whole device pixel vertically. Once an eased tail slows below roughly half a pixel per frame, nothing moves for several frames — then the accumulated offset crosses a boundary and the glyph jumps a whole pixel at once. Rectangles and borders have no such cache, so they shade their edge pixel instead and glide.

The fix splits the progress driver in two. Position now lands on a short window while opacity, blur, and colour keep the full curve — the part removed is the part the eye never read as movement, only as clicking. Entrances look the same; the ripple is gone.

Fixes

The GitHub stars video generator at /stars is no longer accepting new renders. It was a fun experiment and a good stress test of the render pipeline, but keeping a public render queue healthy is a different project from maintaining a component registry, and the registry is where the value is.

Improvements

  • /stars now shows a short notice explaining the retirement instead of the generator form.
  • The GitHub Stars component is unaffected — install it and render the same animation inside your own Remotion project, where you own the code and the render.

Docs prose had accumulated a decade of one-off overrides — a margin here, a font size there — and headings drifted between pages. That is all gone. Typography now derives from shadcn typeset, so vertical rhythm, headings, links, and tables come from one system instead of from whichever page you happened to land on.

Improvements

  • All docs pages render inside a single typeset container. Per-page text overrides were deleted rather than tuned.
  • Code blocks moved to rehype-pretty-code with the vesper theme, matching the shadcn-style block — line numbers, filename with language icon, and a copy button.

Lucide icons, re-authored for video. Every icon draws itself in and then performs one action that belongs to it — the bell rings, the heart beats, the trash lid lifts. The geometry is Lucide's, so they sit next to the icons already in your product; the motion is new.

New components

100 icons across navigation, media, status, commerce, files, and communication. Browse them all in the icon gallery, where each one previews on hover and installs with a single command.

remocn got a proper mark, and the landing page finally leads with motion instead of describing it.

Improvements

  • New logo, applied across the site, the favicon, and the open-graph image.
  • The hero now plays a real video built from remocn components, rather than a static screenshot of one.

A depth punch between scenes, a slow camera drift for anything that needs to breathe, and two components for the specific problem of replacing one word with another without a hard cut.

New components

  • Zoom Blur — the outgoing scene scales past the viewer into blur while the incoming one resolves out of it. rise adds a vertical pickup to the move.
  • Drift — a continuous, slow parallax on any child. The fix for static shots that feel dead.
  • Rolodex Flip — the old value flips away on a 3D hinge as the new one flips in.
  • Value Swap — a shorter, flatter swap for numbers and labels that change often.

An unglamorous week aimed entirely at the things that quietly rot — page weight, type safety, and the gap between what the registry says it ships and what it actually ships.

Improvements

  • Landing page Remotion players now mount only when scrolled into view, and registry components lazy-load in the preview barrels. Opening the site no longer means downloading every animation on it.
  • The hero video went from 18.5 MB to 4.7 MB, with a poster frame and preload=metadata.
  • A registry drift guard fails CI when the built artifacts disagree with the sources in registry/, so an installed component can no longer silently lag behind its docs.
  • Typechecking is back on in the build, with the real errors it was hiding fixed rather than suppressed.
  • CI runs lint, typecheck, tests, and the drift guard on every push.

Fixes

  • The render endpoint now trusts the proxy-set client IP, caps queue depth, and restricts avatar URLs to GitHub's host allowlist.
  • Stale finished and errored render jobs are evicted from the job registry instead of accumulating.

Agents were reading remocn docs by scraping the rendered site, which is a bad way to learn an API. Now the docs are available as plain text at the addresses agents already look for.

Improvements

  • /llms.txt lists every docs page with a short description.
  • /llms-full.txt returns the whole documentation as one Markdown document.
  • Any docs page can be fetched as raw Markdown by appending .md to its URL.

remocn had backgrounds and text animations but almost nothing for the cut between two scenes. This closes that hole with eleven transitions — eight driven by shaders, three by camera motion. All of them are Remotion transition presentations, so they drop straight into a TransitionSeries.Transition and take their character from the timing function you pass.

New components

Shader dissolves — Dither Dissolve, Grain Dissolve, Perlin Dissolve, Smoke Dissolve, Swirl Dissolve, Warp Dissolve, Wave Wipe, and Ripple Zoom.

Camera moves — Whip Pan, Push Through, and Focus Pull.

Gradient backdrops read as a slide deck. These read as a product. Eighteen GPU shaders wrapped as Remotion components, each driven by the frame rather than by wall-clock time — so they render deterministically and a re-render produces the same file.

New components

Neuro Noise, Mesh Gradient, Grain Gradient, Liquid Metal, Metaballs, God Rays, Smoke Ring, Dot Orbit, Color Panels, Dithering, Perlin Noise, Simplex Noise, Pulsing Border, Spiral, Swirl, Voronoi, Warp, and Water.

Start with the shaders introduction for the determinism rules before dropping one behind a scene.

If you build videos with an AI agent, it now knows the catalog. The remocn skill teaches Claude Code and friends which components exist, what each one is for, and how to compose them — so "make me an intro scene" stops being a guessing game.

New components

  • Glass Code Walk — a camera walk across a code block, for showing a diff without narrating it.
  • Terminal Cursor Zoom — the terminal, zoomed to wherever the cursor is working.
  • Logo Enter — a logo entrance for the end card.

Improvements

  • The agent skill ships with install instructions and a component catalog.
  • An install-all button on the components page, for anyone who would rather have everything than choose.

Text is most of what a demo video says, so the typography tier got the most attention. Eighteen entrances and swaps, each built on Remotion's interpolate and spring rather than a CSS keyframe library — they seek correctly, and frame 40 looks the same on every render.

New components

Entrances — Soft Blur In, Per Character Rise, Bottom Up Letters, Top Down Letters, Spring Scale In, Micro Scale Fade, Mask Reveal Up, Line By Line Slide, Kinetic Center Build, and Focus Blur Resolve.

Exits and swaps — Blur Out Up, Scale Down Fade, Fade Through, Per Word Crossfade, Shared Axis Y, Shared Axis Z, Short Slide Down, and Short Slide Right.

Numbers got their own treatment a few days earlier — Number Wheel and Rolling Number — along with Backdrop, the wrapper that gives any component a surface to sit on.

Every product demo eventually has to show the product — a dialog opening, a command menu filtering, a form being filled. Doing that with real shadcn components inside Remotion does not work, because they animate against wall-clock time and a video has no clock, only a frame number.

So remocn/ui is a parallel set of primitives with the same shapes and a timeline-driven API. You describe the steps; the component renders whichever one the current frame belongs to.

New components

Around forty primitives, including Button, Input, Dialog, Drawer, Sheet, Popover, Tooltip, Select, Combobox, Command Menu, Context Menu, Dropdown Menu, Accordion, Tabs, Stepper, Toast, Slider, Progress, Skeleton, Spinner, and Cursor — the simulated pointer that drives the rest.

Assembled flows too — Checkout Flow, Signup Flow, and Settings Toggle Flow.

Read concepts first — the steps API is the whole idea.

A shadcn registry for Remotion. You already know the workflow — run npx shadcn@latest add, the files land in your project, and they are yours to edit. remocn applies it to video.

Everything is written from scratch against the Remotion API — useCurrentFrame, interpolate, spring — so components seek correctly in the studio and render deterministically. Remotion itself is a prerequisite, not something remocn installs for you.

New components

The first catalog — text effects like Typewriter, Matrix Decode, RGB Glitch Text, Shimmer Sweep, Tracking In, Staggered Fade Up, Slot Machine Roll, Inline Highlight, Marker Highlight, Infinite Marquee, and Perspective Marquee.

Interface blocks — Terminal Simulator, Glass Code Block, Animated Bar Chart, Animated Line Chart, Data Flow Pipes, and Progress Steps.

And the first compositions — Ecosystem Constellation, Infinite Bento Pan, and Live Code Compilation — full scenes assembled from the primitives above.