oxframe vs fframes

Pick oxframe when you want layout, themes and components so an agent writes less, plus a check of the frames and a playground in the browser. Pick fframes when every frame should be a pure function returning SVG, with Skia on the GPU and shaders in any layer.

At a glance

Checked against the sources below on October 22, 2026.
oxframefframes
LanguageRustRust
How a frame is builtNodes that stay linked: signals, layout, bindA function of the frame index returning an SVG tree (svgr!)
RendererOwn renderer, CPU (tiny-skia) or GPU (wgpu)Skia on the GPU (Metal, Vulkan) or a CPU backend
LayoutRows, columns, next_to, to_edge, text wrappingPositions as SVG attributes; no automatic layout documented
Themes and componentsTheme tokens; TitleCard, BulletList, CodeExplainer, LowerThird and moreYour own SVG
EncodingPipes frames to ffmpegLinks ffmpeg libav statically
InstallRust and ffmpegRust plus codec development packages (x264, x265, opus, clang); prebuilt Skia and ffmpeg on macOS and Linux
Previewoxframe dev, and a playground in the browserA GPU preview window and a WebAssembly editor
An agent sees the framesoxframe check with a JSON report, MCP server, 12 skillsA skill and a CLI: inspect, strip, frame, timeline
ShadersWGSL shader nodes and effectsSkSL or Shadertoy GLSL in any layer
LicenseMIT or Apache-2.0MIT

Two models of a frame

fframes asks one question per frame: given this index, what is the SVG? A scene implements a Video trait with render_frame, and the svgr! macro writes the SVG tree. That makes any frame cheap to reach and easy to reason about, and Skia on the GPU draws it fast. Its README reports a 128-second video rendered in 36 seconds.

oxframe keeps a scene graph. A title is a node; its opacity, position and text are signals that animate over time and can be bound to each other, so a label follows a point and a card grows with its text. Layout places nodes in rows and columns and wraps text, and components bundle the parts of an explainer. The agent writes "a bullet list next to the chart" instead of computing coordinates, which is less code to write and less to get wrong.

Both give an agent a way to look at the video without playing it. fframes has inspect, strip and frame commands; oxframe has check, which applies 15 rules (overflow, contrast, safe area, motion speed and more) and points at the node and the time of each problem.

Getting started, side by side

fframes, from its README:

cargo install --locked cargo-fframes --git https://github.com/dmtrKovalenko/fframes
cargo fframes new my-video

On Debian and Ubuntu it first needs yasm nasm ffmpeg libx264-dev libx265-dev libopus-dev libclang-dev clang ninja-build libvpx-dev libasound2-dev; prebuilt Skia and ffmpeg libraries are downloaded on macOS and Linux, and other targets build them from source.

oxframe:

cargo install oxframe-cli
oxframe init my-video
cd my-video && oxframe dev

It needs Rust and an ffmpeg binary on the PATH to write MP4; nothing else is compiled from source. Or skip the install and open the playground.

We have not timed the same scene in both: fframes needs those codec development packages, which the benchmark machine does not have. When it does, the numbers and the script will be on this page, as they are for Remotion and Manim.

When to pick fframes

  • You think of a frame as a pure function and want SVG as the drawing model.
  • You want Shadertoy shaders in any layer and Skia on the GPU.
  • You are happy to place everything yourself.

When to pick oxframe

  • An agent should write layout, not coordinates: rows, columns, wrapping text, themes.
  • You want ready components for titles, lists, code and charts.
  • You want a JSON report of what is wrong in the frames, an MCP server and a browser playground.
  • Install should be Rust and ffmpeg, without codec development packages.

FAQ

Are oxframe and fframes both written in Rust?

Yes, and both render natively without a browser. They differ in how a frame is described: fframes returns an SVG tree per frame, oxframe animates a graph of nodes with signals and layout.

Does fframes have automatic layout?

Its README places elements with SVG attributes such as x, y, width and height and does not document flexbox, grid or text wrapping. oxframe has rows, columns, relative placement and wrapping text.

Which one renders faster?

Both are fast; neither starts a browser. We have not timed the same scene in both yet. When we do, the numbers will be on this page with the script.

Do both work with coding agents?

Yes. fframes ships a skill and an inspection CLI. oxframe ships 12 skills, a Claude Code plugin, an MCP server and oxframe check, whose report links every problem to its fix.

Which license?

fframes is MIT. oxframe is MIT or Apache-2.0, at your choice.

Sources

Checked on October 22, 2026. Found something out of date? Open an issue on oxframe-web.

Other comparisons

Get started with oxframe