<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Atomcut</title>
    <description>The latest articles on DEV Community by Atomcut (atomcut).</description>
    <link>https://dev.to/atomcut</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F14797%2F847e4ee7-bbb5-4194-b1d0-55274b6510d4.png</url>
      <title>DEV Community: Atomcut</title>
      <link>https://dev.to/atomcut</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atomcut"/>
    <language>en</language>
    <item>
      <title>Claude Built a Black Hole in a Browser. Here's how.</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sun, 01 Nov 2026 00:00:14 +0000</pubDate>
      <link>https://dev.to/atomcut/claude-built-a-black-hole-in-a-browser-heres-the-physics-6b8</link>
      <guid>https://dev.to/atomcut/claude-built-a-black-hole-in-a-browser-heres-the-physics-6b8</guid>
      <description>&lt;p&gt;Claude built this black hole formation animation in AtomCut through MCP: 30 seconds, 900 frames, a star collapsing into darkness and an accretion disk curling around it. The result is an editable motion project, with gravity wells, particle emitters, effects, captions, and a sound mix on the timeline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://atomcut.net" rel="noopener noreferrer"&gt;AtomCut&lt;/a&gt; is a motion design and video editor that runs in the browser and on desktop. This project shows what happens when an AI model can operate the editor's physics and animation tools directly.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/2YgbEe-lRR8" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The finished 30-second animation, embedded from the creator’s YouTube Short.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/2YgbEe-lRR8" rel="noopener noreferrer"&gt;Watch the video on YouTube&lt;/a&gt; · &lt;a href="https://library.atomcut.net/blog/claude-black-hole-atomcut-mcp/black-hole-birth-v2-2.mp4" rel="noopener noreferrer"&gt;Watch or download the original 1080p MP4&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How was the black hole animation made?
&lt;/h2&gt;

&lt;p&gt;The project has a main 1080 × 1920 composition and a separate 1400 × 1400 composition called &lt;code&gt;Disk&lt;/code&gt;. That second composition contains just two layers: &lt;code&gt;Disk gas&lt;/code&gt; and &lt;code&gt;Disk well&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Two layers is a surprisingly small place to put a cosmic disaster.&lt;/p&gt;

&lt;p&gt;The main timeline handles the story: the star, outward wind, inward gas, collapse, a shockwave, the disk reveal, captions, and the final grade. The nested disk handles the orbiting particles independently. You can change its physics without digging through the captions above it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1kku1mfj327wm9t4joei.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1kku1mfj327wm9t4joei.webp" alt="Six frames extracted from the final animation at 4, 8, 12, 17, 20, and 25 seconds: star, wind, collapse, horizon, disk reveal, and bright accretion disk." width="799" height="302"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Six moments from the same finished MP4. No reconstructed scenes or generated stand-ins.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At the start, the star fills the frame. The view pulls back; particles stream outward, then inward. Around 12–16 seconds, the star contracts and flares. Darkness takes over, a ripple expands, and the tilted disk arrives after 18 seconds.&lt;/p&gt;

&lt;p&gt;Those beats are authored on a timeline. The particle paths within them come from the simulation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcv64ayla29hhg6ngsv2l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcv64ayla29hhg6ngsv2l.png" alt="Original AtomCut screenshot supplied by the creator: the finished black hole, caption selection, named physics layers, and the 30-second timeline." width="800" height="463"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The original supplied screenshot, unchanged. The layer names are the actual project structure.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What physics makes the accretion disk move?
&lt;/h2&gt;

&lt;p&gt;Inside &lt;code&gt;Disk&lt;/code&gt;, scene gravity is zero and the floor is off. Otherwise, your black hole demonstration has an unexpected downstairs.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Disk well&lt;/code&gt; carries a gravity force with these saved values:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gravity"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mass"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;8000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"core"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"horizon"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"spin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These are editor units, not solar masses or kilometres. The force uses softened inverse-square attraction: the &lt;code&gt;core&lt;/code&gt; keeps the acceleration finite near the centre. Particles crossing the &lt;code&gt;horizon&lt;/code&gt; are removed. &lt;code&gt;spin&lt;/code&gt; adds an approximation of frame dragging.&lt;/p&gt;

&lt;p&gt;A useful starting point for an orbit is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GM = mass × 10,000
circular speed ≈ sqrt(GM / radius)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The approximation applies away from the softened core. With mass 8,000 and radius 200, that is about &lt;strong&gt;632 editor units per second&lt;/strong&gt;. An orbital emitter launches particles sideways relative to the well, so the pull curves their paths around the centre.&lt;/p&gt;

&lt;p&gt;Gravity alone can sustain an orbit. To make material spiral inward, you need a way to change that motion. This disk combines a small particle drag value, &lt;code&gt;0.004&lt;/code&gt;, with the well's spin control.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F90dnwvewpd0411dlfnqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F90dnwvewpd0411dlfnqj.png" alt="Original desktop screenshot of AtomCut's Disk composition: Disk gas selected, three Stream particle cards in the Physics panel, and the lensed accretion disk on the canvas." width="799" height="466"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The second original screenshot: three Stream cards on Disk gas, with Disk well directly underneath.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Why does the disk look like several rings?
&lt;/h2&gt;

&lt;p&gt;The saved &lt;code&gt;Disk gas&lt;/code&gt; layer has &lt;strong&gt;three simultaneous particle streams&lt;/strong&gt;, emitting a combined &lt;strong&gt;3,100 particles per second&lt;/strong&gt;. That is an emission rate, not the number visible at once.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stream&lt;/th&gt;
&lt;th&gt;Emission rate&lt;/th&gt;
&lt;th&gt;Ring radii&lt;/th&gt;
&lt;th&gt;Lifetime&lt;/th&gt;
&lt;th&gt;Thermal color setting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Outer sparks&lt;/td&gt;
&lt;td&gt;1,400/s&lt;/td&gt;
&lt;td&gt;135–420&lt;/td&gt;
&lt;td&gt;9 s&lt;/td&gt;
&lt;td&gt;4,300 K at speed 700&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inner sparks&lt;/td&gt;
&lt;td&gt;1,200/s&lt;/td&gt;
&lt;td&gt;112–200&lt;/td&gt;
&lt;td&gt;7 s&lt;/td&gt;
&lt;td&gt;7,200 K at speed 900&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Soft fill&lt;/td&gt;
&lt;td&gt;500/s&lt;/td&gt;
&lt;td&gt;115–360&lt;/td&gt;
&lt;td&gt;9 s&lt;/td&gt;
&lt;td&gt;4,600 K at speed 760&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All three use orbital launch, an orbit multiplier of &lt;code&gt;1&lt;/code&gt;, and the same drag. The first two draw fine sparks. The third draws larger, soft dots behind them to fill out the disk.&lt;/p&gt;

&lt;p&gt;Those temperature values control a speed-based blackbody color mapping. They are visual settings, not temperatures recovered from a gas dynamics calculation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg3ih67gmkk7djqw5zwhj.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg3ih67gmkk7djqw5zwhj.webp" alt="Infographic transcribed from the saved project: gravity mass 8000, core 8, horizon 30, spin 0.5; three particle streams; tilt 83 degrees, lensing 1, and beaming 0.6." width="800" height="463"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The actual project settings, arranged as a reading guide. This is a parameter diagram, not a replacement rendering of AtomCut.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The view controls do another job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tilt: 83°&lt;/strong&gt; projects the disk almost edge-on.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lensing: 1&lt;/strong&gt; adds the bent images of the disk around the dark centre.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beaming: 0.6&lt;/strong&gt; changes the apparent brightness and color according to motion toward or away from the view.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These controls affect how particles are drawn. They do not change their simulated paths. That separation is useful: you can tune the silhouette and brightness while keeping the underlying motion.&lt;/p&gt;
&lt;h2&gt;
  
  
  Is this an astrophysics simulation?
&lt;/h2&gt;

&lt;p&gt;It is an art-directed physics animation. The orbiting particles respond to numerical forces; the star's contraction, shake, temperature, and brightness are keyframed. Nebula and starfield effects provide the background. A separate lens effect, a drawn spacetime funnel, glow, a shockwave, and grading shape the presentation.&lt;/p&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; solve Einstein's field equations, stellar evolution, radiation transport, or relativistic fluid dynamics. Lensing and frame dragging are approximations designed for motion graphics. The film compresses a simplified stellar-collapse story into half a minute; the visible disk is a storytelling choice, not a claim that every collapsing star produces this view.&lt;/p&gt;

&lt;p&gt;The end card says “Gravity, light and gas — all simulated.” Read that as the film's visual shorthand. The more precise description is &lt;strong&gt;force-driven particles combined with procedural effects and authored animation&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  What does Claude actually control through MCP?
&lt;/h2&gt;

&lt;p&gt;MCP, the Model Context Protocol, connects an agent to AtomCut's commands. Claude can inspect the document, create layers, configure forces and emitters, add keyframes, render frames for inspection, and revise the project.&lt;/p&gt;

&lt;p&gt;That changes the workflow. A request such as “make the disk less tilted” can become an edit to an existing particle setting. The project keeps its layers and controls, so you can also make that change yourself in the Physics panel.&lt;/p&gt;

&lt;p&gt;For this scene, the relevant tools include &lt;code&gt;physics_scene&lt;/code&gt;, &lt;code&gt;physics_force&lt;/code&gt;, &lt;code&gt;physics_emit&lt;/code&gt;, &lt;code&gt;keyframes_set&lt;/code&gt;, and the render inspection tools. The numbers above come from the saved project inspected for this article; they are not a fabricated transcript of Claude's original tool calls.&lt;/p&gt;

&lt;p&gt;AtomCut supports Claude, GPT, Gemini, local models, and other supported providers or OpenAI-compatible endpoints in its built-in agent. External agents need an MCP-capable client and AtomCut's agent link. Model choice still matters: for this kind of multi-step visual work, the maker's current preference is Claude, especially Opus. That is a working preference, not a controlled benchmark against every model.&lt;/p&gt;
&lt;h2&gt;
  
  
  How can you try the workflow?
&lt;/h2&gt;

&lt;p&gt;Open the studio, then &lt;strong&gt;Agents → Use your agent app → Link&lt;/strong&gt;. For Claude Code, add the MCP server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add atomcut &lt;span class="nt"&gt;--&lt;/span&gt; npx &lt;span class="nt"&gt;-y&lt;/span&gt; @atomcut/mcp@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A focused first brief is easier to inspect than an entire cinematic sequence:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create a zero-gravity composition with a central gravity well and an orbiting particle ring. Keep the well and emitter on named layers. Render frames at several times, inspect the motion, and leave the controls editable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a starting brief, not the original prompt or a promise of a one-shot match. Get the orbit working first. Then add the collapse, view treatment, typography, and sound.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://atomcut.net/docs/physics" rel="noopener noreferrer"&gt;physics documentation&lt;/a&gt; explains bodies, forces, particles, and simulation settings. The &lt;a href="https://atomcut.net/docs/ai" rel="noopener noreferrer"&gt;AI documentation&lt;/a&gt; covers model connections and the agent workflow. The editor is free; agent features require AtomCut Pro and your own model connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build your first orbit in AtomCut:&lt;/strong&gt; &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>animation</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>After Effects, but inside a browser tab (free, no install)</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Sun, 25 Oct 2026 00:37:12 +0000</pubDate>
      <link>https://dev.to/atomcut/after-effects-but-inside-a-browser-tab-free-no-install-3o0h</link>
      <guid>https://dev.to/atomcut/after-effects-but-inside-a-browser-tab-free-no-install-3o0h</guid>
      <description>&lt;p&gt;AtomCut is a free motion design and video studio that runs in a browser tab. If you know After Effects, you already know most of it: compositions, keyframes, a graph editor, expressions, tracking, rigs, 3D. The difference is where it lives. You open a URL and start keyframing. No installer, no account, no Creative Cloud updater asking to restart.&lt;/p&gt;

&lt;p&gt;This post maps the After Effects workflow onto AtomCut, tool by tool, with screenshots from the editor as it is today (version 4.17). It also lists where After Effects is still the better choice, because there are real ones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqv4xhp0u9neykskj2mnf.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqv4xhp0u9neykskj2mnf.webp" alt="The AtomCut editor: a video of a green field with a stone cabin, a green tracking box locked on the cabin, a yellow label reading Pinned to the cabin beside it, the Track tab on the right showing the Cabin tracker at 97% confidence, and the timeline below." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A tracker on the cabin (97% confidence across the clip), and a label riding it. The green strip under the clip on the timeline is the tracked span.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does each After Effects tool map to?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;In After Effects&lt;/th&gt;
&lt;th&gt;In AtomCut&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Composition, precomp&lt;/td&gt;
&lt;td&gt;Frame, nested comp&lt;/td&gt;
&lt;td&gt;Frames sit side by side on an infinite canvas, like artboards in Figma. Nest one inside another and it plays as a clip.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graph Editor&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Curves&lt;/strong&gt; panel&lt;/td&gt;
&lt;td&gt;Speed and value curves, eased handles, every keyed property in one view.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hold keyframe&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Hold&lt;/strong&gt; easing&lt;/td&gt;
&lt;td&gt;Drawn as a step in Curves, and kept as a hold in Lottie.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expressions&lt;/td&gt;
&lt;td&gt;Expressions in any field&lt;/td&gt;
&lt;td&gt;Type &lt;code&gt;wiggle(2, 10)&lt;/code&gt; or &lt;code&gt;layer("Title").x + 40&lt;/code&gt; into a field and press Enter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tracker, Mocha&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Track&lt;/strong&gt; tab&lt;/td&gt;
&lt;td&gt;Point, Object, Surface (corner pin) or Outline.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3D Camera Tracker&lt;/td&gt;
&lt;td&gt;Camera track&lt;/td&gt;
&lt;td&gt;Solves the move and the lens, then builds a 3D scene behind your footage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rotobrush for "text behind a person"&lt;/td&gt;
&lt;td&gt;Depth track + &lt;strong&gt;Behind&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;No masks to paint. More on this below.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duik, RubberHose&lt;/td&gt;
&lt;td&gt;Bones, IK, Character tab&lt;/td&gt;
&lt;td&gt;Rigging, poses, blinking and lip sync are built in.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Newton (plugin)&lt;/td&gt;
&lt;td&gt;Physics&lt;/td&gt;
&lt;td&gt;Gravity, collisions, joints, forces. Built in.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Element 3D, Cinema 4D Lite&lt;/td&gt;
&lt;td&gt;3D worlds&lt;/td&gt;
&lt;td&gt;Meshes, lights, materials, extruded text, sculpting.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bodymovin&lt;/td&gt;
&lt;td&gt;Lottie export&lt;/td&gt;
&lt;td&gt;With a fidelity report of anything that did not translate.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ExtendScript&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Scripts&lt;/strong&gt; panel&lt;/td&gt;
&lt;td&gt;Plain JavaScript: &lt;code&gt;await ac.layer.create({…})&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Most of these sit one click away from the layer you selected, in the tabs on the right: Design, Effects, Animate, Track, Physics, Sound.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is there a graph editor?
&lt;/h2&gt;

&lt;p&gt;Yes. Select a layer, open &lt;strong&gt;Curves&lt;/strong&gt; under the timeline, and every keyed property is drawn as a curve you can shape. Below, a title fades in, drops 100 px and settles from 82% to 100% scale. Three properties, three easings, one view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5b2lg2x5df7u6gu87t6n.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5b2lg2x5df7u6gu87t6n.webp" alt="AtomCut with the title SUMMIT over a mountain sunset, the title selected, and the Curves panel below showing three eased curves for Scale, Y and Opacity crossing over the first two seconds." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Curves: Scale, Y and Opacity keyed on one title, each with its own ease.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Easings have names you can type (&lt;code&gt;ease-out-expo&lt;/code&gt;, &lt;code&gt;ease-in-out-back&lt;/code&gt;, &lt;code&gt;cubic-bezier(…)&lt;/code&gt;), so a curve you liked is a string you can copy into another project. Record mode keys every edit you make while it is on, the way After Effects' stopwatch does once you have clicked it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can I write expressions?
&lt;/h2&gt;

&lt;p&gt;Every field that holds a value can hold a formula instead. Click a field, type &lt;code&gt;wiggle(2, 10)&lt;/code&gt; or &lt;code&gt;#layer.rotation * 2&lt;/code&gt;, press Enter, and it turns purple. Other layers are read by name: &lt;code&gt;layer("Title").x + 40&lt;/code&gt; keeps one layer 40 px to the right of another.&lt;/p&gt;

&lt;p&gt;Two details After Effects users tend to like. Expressions are typed (number, vector, colour, text, layer), so a formula that returns the wrong kind of value shows an error while you type, not at render time. And if a formula breaks, the field keeps its last good value and turns red instead of throwing your layer to 0,0.&lt;/p&gt;

&lt;p&gt;A tracker is readable the same way: &lt;code&gt;track("Cabin").position&lt;/code&gt; is the cabin's position on the current frame. The same values are available on the node board, if you think in wires.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does tracking work?
&lt;/h2&gt;

&lt;p&gt;Open the &lt;strong&gt;Track&lt;/strong&gt; tab on a video or picture and draw around what you want to follow: a box, an oval, a polygon or a pen outline. It tracks both directions from that frame while you watch the outline ride the footage. Then pick what to do with it: stick a layer on it, stabilize the shot, blur or grade a moving region, or read it in an expression.&lt;/p&gt;

&lt;p&gt;The screenshot at the top is that whole loop. The cabin was drawn once on the first frame; the label follows it through the camera move; the Track tab says 97% confidence and lists the label under &lt;strong&gt;Used by&lt;/strong&gt;. When a track drifts, drag the outline back onto the subject on that one frame. The stretch around your fix re-tracks by itself and lands on it, and the fix survives every later re-track.&lt;/p&gt;

&lt;p&gt;Trackers belong to the footage, not the clip. Split it, trim it, speed it up, and the track stays glued to the picture. Drop the same file into another project and it is already tracked.&lt;/p&gt;

&lt;p&gt;For shots where the camera itself moves, a &lt;strong&gt;Camera&lt;/strong&gt; track solves where the camera went and what lens it used, and &lt;strong&gt;Make 3D scene&lt;/strong&gt; turns that into a 3D world with your footage behind it. Click three points on the floor to level it, then stand a title on a wall or a table and it stays put as the camera moves. It needs real parallax over rigid scenery: a locked-off pan solves as a tripod shot, and a frame full of moving water will not solve.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I put text behind a person or a mountain?
&lt;/h2&gt;

&lt;p&gt;In After Effects this is a rotoscoping job: paint a mask on the subject, refine it, fix the frames where it slips. In AtomCut, add a &lt;strong&gt;Depth&lt;/strong&gt; track to the footage. Every pixel gets a distance from the lens, worked out on your own machine (on the GPU when there is one). Then add &lt;strong&gt;Behind&lt;/strong&gt; to the title, and whatever stands in front of it in the shot covers it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu08riyjfscsfqwxahd8s.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu08riyjfscsfqwxahd8s.webp" alt="AtomCut with the title SUMMIT selected over a sunset mountain shot; the nearest peak covers the bottom of the letters U and M. The Effects tab on the right shows one effect card named Behind." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;One effect card, Behind, on the title. The peak in front covers the letters; nothing was masked by hand.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The cover of this post is that frame, exported. The same depth drives three more things: &lt;strong&gt;Fog&lt;/strong&gt; that thickens with distance, &lt;strong&gt;Lens blur&lt;/strong&gt; that focuses at a depth (key the focus to rack it), and grade windows that select a band of depth, so you can cool the background and lift the subject without drawing anything.&lt;/p&gt;

&lt;p&gt;The depth model downloads once, the first time you use it (60 to 130 MB depending on your machine), and is kept on the device across app updates. After that it works offline. On an M1 MacBook it took about three minutes for an 8-second 1080p clip.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about characters, physics and 3D?
&lt;/h2&gt;

&lt;p&gt;These are the places where After Effects users usually buy plugins, and where AtomCut ships the feature in the box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe8ccyu49ow036p4gi3ki.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe8ccyu49ow036p4gi3ki.webp" alt="The AtomCut editor with a physics scene: a title that has fallen onto a shelf with shapes piled around it, the Physics tab open for the selected title, and the timeline below." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Physics on a title: it falls, lands on the shelf, and the shapes pile up around it. The Physics tab holds body, bounce, friction and forces.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Physics.&lt;/strong&gt; Give any layer a body in the &lt;strong&gt;Physics&lt;/strong&gt; tab and it drops, lands and settles. A star lands on its points and a word on its letters. Every frame is a function of time, so you can scrub backwards through a collision.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters.&lt;/strong&gt; Draw bones through your art, and dragging a hand pulls the arm along (IK). The Character tab holds poses for mouths, eyes, brows and hands. Give a character a voice clip and its mouth follows; fix one syllable by hand and the fix stays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3D worlds.&lt;/strong&gt; A world is a comp with depth: meshes, lights, materials, extruded text, sculpting and drawing in 3D. It renders on the same timeline as everything else.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5v0hj2uysfzihlvo02l2.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5v0hj2uysfzihlvo02l2.webp" alt="Five frames of an orange character with a glowing antenna: the antenna trails behind a hop, bends and springs back upright." width="800" height="267"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A bone with Follow on: the antenna trails the hop and settles by itself. Five frames from a render.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where is After Effects still the better tool?
&lt;/h2&gt;

&lt;p&gt;Honestly, in several places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Heavy footage.&lt;/strong&gt; A browser tab works within the browser's memory. Long 4K timelines with many layers of video are After Effects (or DaVinci) territory. AtomCut is built for motion graphics, social video and UI animation, not for finishing a feature film.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The plugin and template ecosystem.&lt;/strong&gt; Twenty years of Trapcode, Element and marketplace templates do not exist here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The pipeline.&lt;/strong&gt; If your studio hands &lt;code&gt;.aep&lt;/code&gt; files around, AtomCut does not open them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tutorials.&lt;/strong&gt; Every After Effects problem has a ten-year-old YouTube video. AtomCut has its &lt;a href="https://atomcut.net/docs" rel="noopener noreferrer"&gt;docs&lt;/a&gt; and a changelog.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The free editor has every tool, but exports video up to 720p. Full HD and 4K, transparent video and the AI agent link are in Pro: $29 a year with a 7-day free trial, or $59 once for the first 300 buyers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Can an AI agent drive it?
&lt;/h2&gt;

&lt;p&gt;Yes, and this part has no After Effects equivalent yet. AtomCut speaks MCP, so Claude Code or any MCP client can build scenes, track footage, rig characters and render frames in the editor while you watch, each request one undo step. Every screenshot in this post came out of that same scripting surface: the scenes were built by script in a real editor, then captured. That is a Pro feature; the Scripts panel, where you write the JavaScript yourself, is free.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is AtomCut a free After Effects alternative?&lt;/strong&gt; The editor is free with no account and no watermark, and exports up to 720p. Pro adds HD and 4K export for $29 a year (7-day free trial) or $59 once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it open After Effects projects?&lt;/strong&gt; No. It exports MP4, WebM, GIF, PNG sequences, SVG, Lottie and PDF.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work offline?&lt;/strong&gt; Yes. Once the editor has loaded on a device, it keeps working without a connection, and there are desktop apps for macOS, Windows and Linux.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can it do motion tracking and text behind a subject?&lt;/strong&gt; Yes: point, object, surface and outline tracking, a camera solve, and depth-based Behind, Fog and Lens blur. See the &lt;a href="https://atomcut.net/docs/effects/tracking" rel="noopener noreferrer"&gt;tracking docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it have expressions like After Effects?&lt;/strong&gt; Yes, in any field, including &lt;code&gt;wiggle()&lt;/code&gt;. See &lt;a href="https://atomcut.net/docs/expressions" rel="noopener noreferrer"&gt;expressions&lt;/a&gt; and the full &lt;a href="https://atomcut.net/#everything" rel="noopener noreferrer"&gt;capability list&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open AtomCut in a tab:&lt;/strong&gt; &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>design</category>
    </item>
    <item>
      <title>Pikimov vs AtomCut: two free browser motion studios compared (2026)</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Mon, 12 Oct 2026 13:42:18 +0000</pubDate>
      <link>https://dev.to/atomcut/pikimov-vs-atomcut-two-free-browser-motion-studios-compared-2026-3flg</link>
      <guid>https://dev.to/atomcut/pikimov-vs-atomcut-two-free-browser-motion-studios-compared-2026-3flg</guid>
      <description>&lt;p&gt;Pikimov and AtomCut are both motion design and video editors that run in a browser tab, and both let you start without an account. Pikimov is the simpler deal: free forever, up to 4K, with After Effects-style expressions and a particle system. AtomCut is the wider tool: vector drawing and brushes, physics, character rigs, 3D worlds and a sound library, with exports above 720p behind a $29 a year Pro plan.&lt;/p&gt;

&lt;p&gt;We make AtomCut, so read this with that in mind. Everything below about Pikimov comes from &lt;a href="https://pikimov.com" rel="noopener noreferrer"&gt;pikimov.com&lt;/a&gt; and &lt;a href="https://docs.pikimov.com" rel="noopener noreferrer"&gt;docs.pikimov.com&lt;/a&gt;, read on October 12, 2026. Where its documentation is silent, the table says "not documented" rather than guessing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzo7aybjsj9i2xy0j96a.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzo7aybjsj9i2xy0j96a.webp" alt="The AtomCut editor with a physics scene: a title that has fallen onto a shelf with shapes piled around it, the Physics tab open for the selected title, and the timeline below." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The editor: canvas, the Physics tab for the selected title (body, bounce, friction, forces, gravity) and the timeline. A real capture.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How do they compare at a glance?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Pikimov&lt;/th&gt;
&lt;th&gt;AtomCut&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free forever, no sign-up, "no paywall"&lt;/td&gt;
&lt;td&gt;Free up to 720p export, no watermark. Pro: $29 a year (7-day trial) or $59 once for the first 300&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Export size&lt;/td&gt;
&lt;td&gt;Up to 4K&lt;/td&gt;
&lt;td&gt;720p free; full HD, 4K and transparent on Pro&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where it runs&lt;/td&gt;
&lt;td&gt;Chrome, Edge and Opera. Not Firefox or Safari, no iPad&lt;/td&gt;
&lt;td&gt;Browser, plus a desktop app for macOS, Windows and Linux; touch and tablet supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Offline&lt;/td&gt;
&lt;td&gt;A standalone app, for Patreon supporters&lt;/td&gt;
&lt;td&gt;Works offline; saves locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editing&lt;/td&gt;
&lt;td&gt;Video editor, 2D compositing, 3D compositing as three editors&lt;/td&gt;
&lt;td&gt;One document: canvas, multi-track timeline, nested comps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Animation&lt;/td&gt;
&lt;td&gt;Keyframes, AE-syntax JavaScript expressions, motion tracking, rotoscoping&lt;/td&gt;
&lt;td&gt;Keyframes on anything, curve editor, expressions and node drivers, contour tracking, shape morphing, flipbook&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drawing&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;Bézier pen, 43 pressure brushes, simulated watercolour&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Particles&lt;/td&gt;
&lt;td&gt;A generator with presets&lt;/td&gt;
&lt;td&gt;A 3D &lt;code&gt;particles&lt;/code&gt; modifier; no 2D emitter or presets yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Physics&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;Any layer, in 2D and 3D; fields, joints; exact on every frame&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Characters&lt;/td&gt;
&lt;td&gt;Not documented&lt;/td&gt;
&lt;td&gt;Rigs with IK, weight painting, spring bones&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3D&lt;/td&gt;
&lt;td&gt;XYZ transforms and a basic camera; GLB models can be imported&lt;/td&gt;
&lt;td&gt;Worlds with meshes, lights, cameras, materials, modifiers, extrusion; glTF/USDZ/OBJ/STL export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sound&lt;/td&gt;
&lt;td&gt;Audio import and editing, details not documented&lt;/td&gt;
&lt;td&gt;4,555 CC0 effects, per-glyph typing sound, EQ/reverb/compressor stack&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;Deliberately none&lt;/td&gt;
&lt;td&gt;Optional: a built-in agent and MCP link (Pro), Scripts panel (free)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Where does Pikimov win?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Price.&lt;/strong&gt; There is nothing to pay for and nothing capping 4K. AtomCut's free tier stops at 720p. If you export social video at 1080p or above and never touch drawing or physics, Pikimov costs you less than the $29 a year Pro would.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The After Effects shape.&lt;/strong&gt; Its documentation describes JavaScript expressions "using After Effects syntax", a particle system with presets, automatic motion tracking and rotoscoping. If your hands already know After Effects, it will feel like home faster than AtomCut does. AtomCut's particle story is weaker: the &lt;code&gt;particles&lt;/code&gt; and &lt;code&gt;explode&lt;/code&gt; modifiers work on 3D shapes, but there is no 2D emitter and no confetti-or-sparks preset shelf.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Its stance on AI.&lt;/strong&gt; Pikimov's site says it is not bloated with AI and that projects are not used for training. If you want none of it, that is a clean answer. AtomCut's agent is optional, but it is there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where does AtomCut win?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Drawing and hand-made motion.&lt;/strong&gt; AtomCut has a Bézier pen, 43 pressure-sensitive brushes, a watercolour that bleeds and dries, a frame-by-frame flipbook with onion skinning, and shape morphing. Pikimov's documentation does not describe a drawing toolset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Physics and rigs.&lt;/strong&gt; Right-click a layer, choose Physics › Falls, and it drops and lands on its real outline. Rigs bend art with IK and weight painting, and spring bones trail and settle. Every frame is exact, so you can scrub and export with nothing to bake.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjoszh9e0gtds0o6xfhyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjoszh9e0gtds0o6xfhyw.png" alt="Five frames of a glowing 3D number 4 with shapes falling and landing around it, rendered in AtomCut." width="800" height="191"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Physics in AtomCut: a 3D 4 and falling shapes, five frames from a render.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3D that is more than a camera.&lt;/strong&gt; Pikimov's 3D compositions give you X, Y and Z transforms and a basic camera, which covers parallax and card flips. AtomCut's worlds add meshes, lights, materials, modifiers, extruded text with bevels, and an edit mode. It is still not Blender, and does not try to be.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyu9n8o4uf9i9ofg35owv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyu9n8o4uf9i9ofg35owv.png" alt="The AtomCut mark rendered five ways: glow, boil, lightning, pixelate, glitch." width="799" height="213"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Five of AtomCut&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reach.&lt;/strong&gt; AtomCut works with touch and on tablets, installs as a desktop app on macOS, Windows and Linux, and exports Lottie and SVG with a fidelity report. Pikimov's FAQ says it does not work on Safari, Firefox or iPad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one should you pick?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pick Pikimov&lt;/strong&gt; if you want zero cost to 4K, an After Effects-style workflow with expressions, and a particle generator today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick AtomCut&lt;/strong&gt; if your work involves drawing, characters, physics, 3D scenes, sound design, Lottie or SVG export, or you need to work on a tablet or Firefox/Safari.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use both&lt;/strong&gt; if you like. Neither locks your files in a cloud: both work locally in the browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Where AtomCut falls short of what this post praises Pikimov for: the free tier caps export at 720p, there is no particle preset shelf, and the project is newer. Where we can't judge Pikimov: we did not run its editors side by side with ours on identical footage, so this compares documented features, not render speed or stability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Pikimov really free?&lt;/strong&gt; According to its FAQ, yes: "free forever", with optional support on Patreon, and a desktop app for Patreon supporters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does AtomCut need an account?&lt;/strong&gt; No. You open it and work; Pro uses a licence key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which is better for After Effects users?&lt;/strong&gt; Pikimov, for the interface and expression syntax. AtomCut for people who want drawing, physics and 3D in the same project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can either export Lottie?&lt;/strong&gt; AtomCut can, with a fidelity report that lists what could not be carried over. The Pikimov documentation we read does not list Lottie.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open the studio:&lt;/strong&gt; &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>animation</category>
      <category>showdev</category>
      <category>comparison</category>
    </item>
    <item>
      <title>Physics and 3D worlds in a free browser motion studio (AtomCut 4)</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Mon, 12 Oct 2026 12:15:33 +0000</pubDate>
      <link>https://dev.to/atomcut/physics-and-3d-worlds-in-a-free-browser-motion-studio-atomcut-4-3591</link>
      <guid>https://dev.to/atomcut/physics-and-3d-worlds-in-a-free-browser-motion-studio-atomcut-4-3591</guid>
      <description>&lt;p&gt;AtomCut is a motion design and video studio that runs in a browser tab: an infinite canvas, a multi-track timeline, no account, no watermark. Version 4 adds the two things people kept asking where to find, a physics engine and real 3D worlds. This is the tour for someone who has never opened it.&lt;/p&gt;

&lt;p&gt;Everything you see below is a frame rendered by AtomCut. They come from the launch film for version 4, which Claude built scene by scene through AtomCut's agent link. We'll get to that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fusvk67iuule4wlzvq0ea.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fusvk67iuule4wlzvq0ea.webp" alt="The AtomCut editor with a physics scene: a title that has fallen onto a shelf with shapes piled around it, the Physics tab open for the selected title, and the timeline below." width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The editor: canvas, the Physics tab for the selected title (body, bounce, friction, forces, gravity) and the timeline. A real capture.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does physics do to a title?
&lt;/h2&gt;

&lt;p&gt;It drops it on the floor. Right-click any layer, choose &lt;strong&gt;Physics › Falls&lt;/strong&gt;, and it falls from where it is, lands on the bottom edge of the comp and settles. Text, a logo, a sticker, a 3D mesh: any layer.&lt;/p&gt;

&lt;p&gt;The part worth knowing is &lt;em&gt;what&lt;/em&gt; it lands on. A rectangle is a box, but a star lands on its points, a word on its letters, a sticker on the edge of its picture. The collider is drawn dashed on the canvas so you can see what it will hit before it hits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkdz0j8njt4h0k8z87zot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkdz0j8njt4h0k8z87zot.png" alt="A 3D 4 and a pile of shapes, under two seconds, rendered in AtomCut." width="800" height="191"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A 3D 4 and a pile of shapes, under two seconds, rendered in AtomCut. (On the blog version you can drag across this to scrub it.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Scrubbing works because a physics frame in AtomCut is a function of time. You can ask for any frame in any order: scrub, loop, jump to the end, export. Nothing is baked, and there is no "bake" button hiding in a menu. Edit anything and it re-runs from the start; the rest of the time every frame reads a stored result.&lt;/p&gt;

&lt;p&gt;Around the falling there is a small kit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fixed&lt;/strong&gt; layers are shelves and ramps. &lt;strong&gt;Pushes&lt;/strong&gt; layers move by their own keyframes and shove whatever is in the way.&lt;/li&gt;
&lt;li&gt;Force fields live on their own layer: wind, vortex, attract, turbulence, drag. Aim one by turning it, key its strength, and a gust is two keyframes.&lt;/li&gt;
&lt;li&gt;Joints hold a body to the comp or to another body: pin, weld, rope, spring. A hanging sign is a pin and a swing.&lt;/li&gt;
&lt;li&gt;A layer that is keyed moving when physics starts keeps moving. Key a throw, start physics at its end, and it flies on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each comp has its own simulation settings. Gravity 981 is Earth; set it to 0 and everything floats, which is how the planets below stay up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a 3D world, and why is it a comp?
&lt;/h2&gt;

&lt;p&gt;A world is a composition like any other, except it contains meshes, a camera and lights instead of flat layers, and every one of them is keyed on the same timeline as everything else. Drop a world into a flat comp and it renders through its live camera, so a 3D title can sit under 2D captions without leaving the page.&lt;/p&gt;

&lt;p&gt;Any flat layer can stand in a world: text, shapes, images, video, other comps. Text gets real thickness with bevels. Meshes get materials (gold, chrome, glass, neon, toon), modifiers (subdivision, mirror, array, bend, twist, wave, displace), and an edit mode with extrude, inset, loop cut and knife. The default keymap is Blender's, so the shortcuts you already know work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jwwuqrldlvlinf0ovcq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jwwuqrldlvlinf0ovcq.png" alt="A solar system in orbit. A point force at the sun, a starting velocity per planet, no position keyframes." width="799" height="222"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A solar system in orbit. A point force at the sun, a starting velocity per planet, no position keyframes. (On the blog version you can drag across this to scrub it.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Those orbits are physics, not animation. A point force sits at the sun, gravity is switched off, and each planet starts with a velocity that bends into a circle. It is the same Physics tab as the falling 4, one dimension up.&lt;/p&gt;

&lt;p&gt;Worlds export as glTF/GLB with their motion, plus USDZ, OBJ, STL and PLY, so a scene you build here can leave for a game engine, a viewer, or a 3D printer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can a drawing have bones?
&lt;/h2&gt;

&lt;p&gt;Yes, and they obey physics too. A rig is bones that bend your art, with IK, controls that have limits, and weight painting. Switches handle eyes, mouths and hands, and blinks run on their own.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe9gaydpjnbd9nv1fpdxi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe9gaydpjnbd9nv1fpdxi.png" alt="Five frames of an orange character with a glowing antenna: the antenna trails behind a hop, bends, and springs back upright." width="800" height="267"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Five moments of one hop. The antenna is a bone with Follow at 0.6, so it trails and settles by itself.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Physics reaches through the bones. Give a piece a body and it swings from its joint: a clock hand let go, a hanging lamp, a tail. Make the whole rig fall and the character tumbles with its limbs flopping. A joint's rotation limits are its stops, so a head can nod and never spin.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else is in there?
&lt;/h2&gt;

&lt;p&gt;Most of it predates version 4, so here is the short version for anyone who arrives at 4.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Draw.&lt;/strong&gt; A Bézier pen, 43 pressure-sensitive brushes, and a watercolour that bleeds, granulates and dries on its own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Morph.&lt;/strong&gt; One shape becomes another, keyframed like anything else.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type.&lt;/strong&gt; Kinetic text looks previewed as the real animation, a sound per glyph, text on a path, and right-to-left and Arabic shaping that actually shapes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edit.&lt;/strong&gt; A multi-track timeline with trims, ripples, transitions, speed ramps and nested comps. Groups behave like clips.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Effects.&lt;/strong&gt; 36 stackable, keyframeable effects: glow, lightning, glitch, liquid glass, halftone, film grain, and a colour page with node graphs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Libraries.&lt;/strong&gt; 337,000 open-source icons from 208 licence-checked sets, each of which can draw itself on, and 4,555 CC0 sound effects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ship.&lt;/strong&gt; MP4, WebM, GIF, PNG sequences, PDF, SVG, and Lottie with a fidelity report.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0xxojcygg4kcjw0yvyh2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0xxojcygg4kcjw0yvyh2.png" alt="Five frames of an orange-pink shape morphing from a pentagon through a heart to a four-lobed flower." width="799" height="213"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Morph: pentagon, heart, flower. Same layer, keyframed geometry.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy8xky5zitkvspge6pd62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy8xky5zitkvspge6pd62.png" alt="The AtomCut mark rendered five ways in a row: glowing, boiling, struck by lightning, pixelated and glitched." width="799" height="213"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;One logo, five effects from the stack: glow, boil, lightning, pixelate, glitch.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you are wondering whether it does a specific thing, ask the list. It is the same capability index as the landing page, so it can't promise anything the page doesn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it do the thing you need?&lt;/strong&gt; The whole list, searchable, is on &lt;a href="https://atomcut.net/blog/atomcut-4-physics-and-3d-worlds" rel="noopener noreferrer"&gt;the blog version&lt;/a&gt; and on &lt;a href="https://atomcut.net" rel="noopener noreferrer"&gt;atomcut.net&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who drew the film?
&lt;/h2&gt;

&lt;p&gt;Claude did, through MCP. AtomCut exposes every command in the app to agents, so a chat model, or Claude Code in a terminal, can create layers, key them, run physics, render a frame and look at it. The launch film for version 4 was built that way, one generator script per scene. The small orange tool-call lines in the film's captions are the real calls that made the scene beneath them.&lt;/p&gt;

&lt;p&gt;That leaves three ways to make something in it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;By hand.&lt;/strong&gt; Draw it, key it, scrub it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;By script.&lt;/strong&gt; Version 4.2 added a Scripts panel where &lt;code&gt;await ac.layer.create({…})&lt;/code&gt; runs against your project and saves with it. A button copies a briefing for a chatbot (your comps, your media, every command, the real property names), so you can ask any model for a script, paste its answer, run it, and paste the error back. Run a file again and it replaces what it made last time. This part is in the free editor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;By agent.&lt;/strong&gt; The built-in agent, or Claude Code and other MCP clients, can run the commands directly, render a frame, look at it and fix it. That is the Pro part.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;AtomCut's 3D is a space for motion graphics: titles with depth, objects with physics, camera moves, a scene that composes with your 2D. It is not a Blender replacement: there is no sculpting and no path-traced rendering, and if you need those, Blender is the right tool.&lt;/p&gt;

&lt;p&gt;It also runs in a browser, so it has a browser's limits. A heavy 4K timeline will be slower than it would be in a native editor, and a world with particles and motion blur gets a time budget per frame instead of unlimited samples. A browser can also switch off 3D for a tab; AtomCut says so once and puts a Reload button where the world was, instead of flooding the console.&lt;/p&gt;

&lt;p&gt;Particles are the gap that stung us while making the film. The 3D &lt;code&gt;particles&lt;/code&gt; and &lt;code&gt;explode&lt;/code&gt; modifiers exist and carry a Big Bang well, but there is no 2D emitter in a flat comp, no confetti or sparks preset, and particles don't collide with bodies yet. It's on the roadmap, with no date.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What does it cost?
&lt;/h2&gt;

&lt;p&gt;Free: every tool, effect and panel, unlimited projects saved on your machine, no watermark, video export up to 720p. Pro is $29 a year with a seven-day trial, or $59 once for the first 300 buyers, and adds full HD and 4K export, transparent and per-layer export, and the AI agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open the studio:&lt;/strong&gt; &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>animation</category>
      <category>showdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Add animated captions to a video in the browser, free</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Wed, 16 Sep 2026 16:46:46 +0000</pubDate>
      <link>https://dev.to/atomcut/add-animated-captions-to-a-video-in-the-browser-free-1pg1</link>
      <guid>https://dev.to/atomcut/add-animated-captions-to-a-video-in-the-browser-free-1pg1</guid>
      <description>&lt;p&gt;AtomCut adds word-by-word, karaoke-style captions to a video in your browser: you type the words, cut them into cues, sync the timing, style the active word, and export an MP4. AtomCut is a free motion design and video editor that runs in the browser, no account, no install.&lt;/p&gt;

&lt;p&gt;There's one thing it doesn't do yet: it doesn't listen to your audio and write the words for you. You type the script, and you time it. That's slower than a one-click auto-transcribe, and it's also why the timing is exactly what you want and not what a speech model guessed.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Import your clip
&lt;/h2&gt;

&lt;p&gt;Drag your video onto the canvas, or use &lt;strong&gt;Import media&lt;/strong&gt; in the Media panel and then &lt;em&gt;Place on frame&lt;/em&gt;. It lands on its own track with its sound attached; the composition below is a 1920×1080 frame, but a vertical 1080×1920 reel is one click away in the new-project dialog.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faq84nxxeuuyseh35lbyy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faq84nxxeuuyseh35lbyy.webp" alt="The AtomCut studio: a talking-head clip on the canvas, the caption above it on Track 1 and the video on Track 3 in the timeline" width="800" height="470"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The whole studio. The caption sits on the track above the video, so it draws on top.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Type the words as a text layer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;+ Clip → Text&lt;/strong&gt; in the timeline header adds a text layer at the playhead. Open &lt;em&gt;Content&lt;/em&gt; in the inspector and type what's said, exactly as it's said. This is the one string every caption cue will be a span of, so get the words right here.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Turn it into a caption and cut it into cues
&lt;/h2&gt;

&lt;p&gt;In the same &lt;em&gt;Content&lt;/em&gt; section, switch on &lt;strong&gt;Captions&lt;/strong&gt;. That seeds one cue per word across the clip and gives the spoken word a highlight you can see immediately. (There's also &lt;strong&gt;+ Clip → Caption&lt;/strong&gt; if you'd rather start with a caption and type into it.)&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;Cues&lt;/strong&gt; tab appears on the right rail. Its &lt;em&gt;re-cut&lt;/em&gt; menu recuts the same text one word per cue, one line per cue, or one letter per cue; word-level is the karaoke look most people want. Each cue is a span of your original string, so retyping a word in the cue list later doesn't touch any other cue's timing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftiy3qk188oygc6xi6z4c.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftiy3qk188oygc6xi6z4c.webp" alt="The caption selected on the canvas with the Animate tab open: a Scale In animation per word, 260 ms, with its easing curve" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A caption is a text layer, so it takes any text animation: here Scale In, per word.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Time the cues
&lt;/h2&gt;

&lt;p&gt;Two ways to do it. Tap sync plays the clip and lets you tap a button in time with each word, which stamps that cue's start where you tapped. Or spread every cue evenly across the clip's duration with one click, then drag individual cue boundaries by hand where the even spacing is off. You can also give a cue a word from its neighbour, split one cue in two, or merge two into one, all from the same cue list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fno4i341yp8x18olh1fyo.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fno4i341yp8x18olh1fyo.webp" alt="The Cues panel: Tap sync button, re-cut and even controls, and eight word cues with their durations, the fifth one active at the playhead" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The Cues panel. The lit row is the word under the playhead.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Style the word being spoken
&lt;/h2&gt;

&lt;p&gt;The inspector for a caption has two scopes at the top: &lt;strong&gt;Text&lt;/strong&gt; (the whole layer) and &lt;strong&gt;Focus&lt;/strong&gt; (the word being spoken). Pick &lt;em&gt;Focus&lt;/em&gt; and every field you touch overrides only that word: its colour, a highlight colour with its own radius and padding, and a &lt;em&gt;Focus pop&lt;/em&gt; scale. The focus is a style range on the same text layer, not a separate object, so it stays attached to its word as you keep editing cues around it.&lt;/p&gt;

&lt;p&gt;For the look in these screenshots we didn't style anything by hand: the Library's &lt;em&gt;Text looks&lt;/em&gt; has a &lt;strong&gt;Captions&lt;/strong&gt; group (Subtitle, Punch, Karaoke, Clean Sub, Boxed, Shout, Ticker, Whisper), and &lt;em&gt;Karaoke&lt;/em&gt; applied to the selected layer gives the green band with the spoken word switching to white. A caption look carries its own idea of the spoken word, so applying one restyles the lit word too. Everything else in the caption can carry its own reveal preset and stagger, the same system that drives any AtomCut text animation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9hdv8km258150g4eypxw.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9hdv8km258150g4eypxw.webp" alt="The Focus scope of the caption inspector: four highlight overrides (colour, radius, padding) and a Focus pop scale of 106 %" width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Focus scope: the overrides that apply only to the word being spoken.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Export
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://atomcut.net/docs/exporting" rel="noopener noreferrer"&gt;Export&lt;/a&gt; as MP4, WebM or GIF. Every export is free with no watermark, capped at 720p; the one-time $29 adds HD, 4K and transparent export if you need more than social-post resolution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh5fkr9ftd5sws1dr1cq4.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh5fkr9ftd5sws1dr1cq4.webp" alt="The Export dialog on the Video tab: MP4 video, 720p HD, 30 fps, include sound on" width="800" height="916"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Export, Video tab. 720p is the free ceiling; the one-time licence unlocks the sizes above it.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AtomCut does not transcribe your audio. There's no speech-to-text step: you type the caption's text yourself and time the cues by tapping along or dragging, rather than getting a rough auto-transcript to clean up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Questions people ask
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Does AtomCut transcribe my audio automatically?&lt;/strong&gt;&lt;br&gt;
No. You type the words as a text layer, then convert them to a caption and cut them into cues. If you already have an SRT or a transcript, you'd paste the text in and time the cues from there rather than importing timed subtitles directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I give one word a different look from the rest?&lt;/strong&gt;&lt;br&gt;
Yes. Select a run of letters or words in the caption and give that span its own animation or style, independent of the rest of the layer, without splitting it into a separate text layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does this work on a tablet?&lt;/strong&gt;&lt;br&gt;
The drawing and timeline tools share one workspace at every size, so tap-syncing cues works the same on a tablet as it does with a mouse.&lt;/p&gt;

&lt;p&gt;Once your cues are timed, the next thing worth trying is a sound on every word instead of just a style change — see &lt;a href="https://atomcut.net/blog/kinetic-typography-with-sound" rel="noopener noreferrer"&gt;kinetic typography with a sound per letter&lt;/a&gt; or the full reference at &lt;a href="https://atomcut.net/docs/text-animation" rel="noopener noreferrer"&gt;/docs/text-animation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it:&lt;/strong&gt; &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt; — free, no account, works offline.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>video</category>
      <category>tutorial</category>
      <category>design</category>
    </item>
    <item>
      <title>I built a motion design studio in the browser. Here's what it took.</title>
      <dc:creator>Shayan</dc:creator>
      <pubDate>Wed, 16 Sep 2026 15:46:53 +0000</pubDate>
      <link>https://dev.to/atomcut/i-built-a-motion-design-studio-in-the-browser-heres-what-it-took-3ic1</link>
      <guid>https://dev.to/atomcut/i-built-a-motion-design-studio-in-the-browser-heres-what-it-took-3ic1</guid>
      <description>&lt;p&gt;&lt;a href="https://atomcut.net" rel="noopener noreferrer"&gt;AtomCut&lt;/a&gt; started as a tool that was supposed to animate text. Today it's an infinite canvas above a multi-track timeline, in the browser, where you can keyframe anything, paint with a wet watercolour brush, track motion, add captions that follow a voice, and export to MP4, GIF, SVG or Lottie. It's free, there's no account, and it works offline.&lt;/p&gt;

&lt;p&gt;This is the honest version of how it got there, because the tidy version ("I had a vision and executed") isn't useful to anyone building something ambitious on their own time.&lt;/p&gt;

&lt;h2&gt;
  
  
  It started as a typing animation
&lt;/h2&gt;

&lt;p&gt;The folder is still called &lt;code&gt;typomation&lt;/code&gt;. The first thing it did was type words onto a frame, one letter at a time, with a sound on each keystroke, so a short clip could have a title that arrived the way a typewriter would put it there.&lt;/p&gt;

&lt;p&gt;The problem with a tool that only does one thing well is that the second thing you need is always outside it. I needed a background clip under the text. Then a sound on each letter. Then the text had to move along a path. By the time I had those, I had a timeline that didn't care what kind of clip sat on it, and the question stopped being "what should a text tool do" and became "what is the smallest set of ideas that makes everything else a special case".&lt;/p&gt;

&lt;h2&gt;
  
  
  The one rule everything else hangs on
&lt;/h2&gt;

&lt;p&gt;Anything that describes &lt;em&gt;what&lt;/em&gt; an animation is lives in a pure package with no DOM and no React. Anything that describes &lt;em&gt;how it's shown or edited&lt;/em&gt; lives in the app. That's the whole architecture, and every good week I had came from it.&lt;/p&gt;

&lt;p&gt;Concretely: a project is one JSON document, validated with zod, versioned. The document is at schema version 71 today, and every one of those migrations still runs, so a project from the first month opens. Rendering a frame is a pure function: &lt;code&gt;(document, time) → what you see&lt;/code&gt;. Playback, scrubbing, the MP4 exporter, the PNG sequence exporter and the Lottie exporter all call the same function. There is no "export renderer" that drifts from the "preview renderer", because there's only one.&lt;/p&gt;

&lt;p&gt;Undo is patches, not snapshots. Every mutation runs through one store that records a forward patch and an inverse patch. Undo cost is proportional to the size of the change, not the size of the project, and a continuous gesture (dragging a keyframe for two seconds) coalesces into one history entry.&lt;/p&gt;

&lt;p&gt;None of this is novel. It's the same shape Figma and Photoshop ended up at. What I'm saying is that if you &lt;em&gt;start&lt;/em&gt; there, a lot of features become a union variant and a registry row instead of a rewrite. A group on the timeline is a clip that happens to contain rows. A caption is a text clip with a cue map. A flipbook is a nested composition whose cells are drawings. When the primitives are right, the feature list grows without the codebase growing the same way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftbmoicuul7hr6w1ez9ju.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftbmoicuul7hr6w1ez9ju.png" alt="The AtomCut studio: a 9:16 frame on the canvas with a caption whose first word is lit at the playhead, the timeline below with a text clip and a caption clip on one track, and the typography inspector open for the two selected layers" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The studio: canvas above, timeline below. Two layers selected, the caption&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What was actually hard
&lt;/h2&gt;

&lt;p&gt;Not the effects. Thirty-six layer effects sounds like the hard part; it's the easy part, because an effect is a shader and a settings card, and the keyframe engine already animates any number.&lt;/p&gt;

&lt;p&gt;The hard parts were the ones where two true things fight:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A cropped video has two things you can move.&lt;/strong&gt; The window and the picture inside it. If you store that as one transform plus four insets, every keyframed reframe visibly swims between keys, because three animated quantities cancel to a constant that the interpolation doesn't know about. The fix was two transforms, one for the window and one for the content, and a rule that the content transform never reads the crop. It took a week to see that the bug was in the data model and not in the interpolation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A mirrored layer is a negative scale, and nothing else.&lt;/strong&gt; I had a &lt;code&gt;flipX&lt;/code&gt; flag for a while. A flag plus a sign is two fields for one fact, and they disagreed the moment a keyframe interpolated across a flip. Deleting the flag deleted a family of bugs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A frame rate is a grid, never a time.&lt;/strong&gt; There is no project-wide fps. Each composition carries its own, and a rate only ever quantises: it's what the ruler ticks on, what the arrow keys step by, what export iterates on. A 12 fps flipbook inside a 60 fps comp holds each cell for 83.33 ms and nothing resamples anything, so nothing can drift. The earlier version had a global rate plus overrides, and half the app read one while half read the other.&lt;/p&gt;

&lt;p&gt;The crop one cost the most. I fixed the interpolation three times before I admitted the data was wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  The changelog is the spec
&lt;/h2&gt;

&lt;p&gt;Every change has to earn one line in a public changelog, written before the code: what can a user do now that they couldn't before. If I can't write that line, the change doesn't ship. It sounds like process; it's actually the fastest way I've found to kill work that only feels productive. Half of what I started never got its line.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it's bad at
&lt;/h2&gt;

&lt;p&gt;Cutting a two-hour 4K timeline. It renders in the browser; a native NLE will beat it on heavy footage. It's young, so you will find rough edges; when someone reports one, it's usually fixed in the next release, and you can watch that happen in the changelog.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;It's free and it stays free. Exports are capped at 720p; $29 once, not a subscription, removes the cap. After that, the plan is live collaboration, an assistant inside the editor that can operate the timeline, and the plugin SDK opening up.&lt;/p&gt;

&lt;p&gt;If you make anything with it, I'd like to see it. It opens at &lt;a href="https://app.atomcut.net" rel="noopener noreferrer"&gt;app.atomcut.net&lt;/a&gt; with no signup.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>react</category>
    </item>
  </channel>
</rss>
