Skip to content

Videola 0.2.0 — it edits

Choose a tag to compare

@github-actions github-actions released this 08 Aug 17:45

Videola edits now. Drop a video in, cut it on the timeline, add effects and keyframes, mix the
audio, and export a file a player opens — on a desktop, a tablet or a phone.

What is in this release

  • Editing — ripple delete and trim, roll, slip, slide, multi-selection, groups, clipboard,
    markers, snapping, zoom from one frame to a whole project. One Pointer Events path for mouse,
    pen and finger; a whole drag is one undo step.
  • Playback — WebCodecs decoding into a WebGL2 compositor, the audio clock leading, a
    frame-accurate transport.
  • Effects and transitions — brightness, contrast, saturation, colour temperature, vignette,
    blur, sharpen, chroma key; cross dissolve, wipe, slide, zoom, dip-to-colour; a text generator
    with in/out/loop animation. Every parameter keyframable, interpolated in the Rust core so the
    preview and the export read the same values.
  • Audio — mixer with volume, pan, mute and solo, fades as scheduled automation, waveforms,
    EBU R128 loudness checked against the Tech 3341 conformance cases.
  • Export — MP4 with H.264 and AAC, or WebM with VP9 and Opus. A browser that can encode a
    format's picture but not its sound writes a silent file rather than failing.
  • Templates.videolat is the same container as .videola plus one entry, so a template is
    a project with questions attached. Four ship, none carrying footage.
  • An HTTP API and an MCP server — the whole 37-command catalogue, generated from the Rust enum.

What is not in it

No masks, motion paths, motion blur or LUT import. No nesting of compound clips, no magnetic
timeline, no autosave recovery. No EQ or compressor: the browser has the DSP, the model has nowhere
to persist a track-level effect yet. FFmpeg is not bundled — the export uses the browser's own
encoders.

How it is checked

Four harnesses that need no Playwright, only an installed Chrome: 192 pixel checks against a real
WebGL2 driver, an export verified with ffprobe and ffmpeg by decoding the file it wrote, 52 checks
against real browser layout, and 167 that drive the built application with a real video file on
desktop, tablet and phone viewports. Plus 348 Rust and 923 JavaScript tests.

The last of those four is not a CI gate: it depends on font metrics, core count and devtools
timing, and loosening what it asserts would be worth less than the assertions. It is green on a
developer machine.

Installers

Windows NSIS, Linux deb and AppImage, macOS DMG. All unsigned — macOS Gatekeeper will block the DMG
until signing certificates are configured. Android and iOS are wired but skipped without keys.