Back to the vault
DEVELOPER TOOLSBETA

Diffusion

See what changed. Nothing in the way.

PROJECT / 04

A native, local file-diff application with precise line highlights, connected changes, and editable scratchpads. Built in Rust for macOS and Linux.

View source
PLATFORMmacOS / Linux
TECHNOLOGYRust / egui / wgpu
DEVELOPMENTbeta
THE REASON

Why I built it.

Comparing two pieces of text should be immediate. Drop them in, see the difference, and get back to work. No account, no upload, and no repository required.

What’s inside

Line and character-level comparison
Drop files or compare clipboard text
Editable scratchpads and local history
Fold unchanged regions and navigate changes
UNDER THE HOOD

Small pieces. Clear boundaries.

01

Native UI

egui and wgpu render the interface without a webview.

02

Diff engine

A Rust core supports Patience, Myers, and Histogram algorithms.

03

Local history

Drafts, pins, and recent comparisons persist on your device.

A CLOSER LOOK

A few moments inside Diffusion.

From the first screen to the details that make it useful.

01 / THE WORKFLOW

Work directly with the text

Editable scratchpads make quick comparisons possible without creating a repository or uploading a file.

Native macOS · local sample data
02 / THE WORKFLOW

Keep useful comparisons close

Local comparison history and pinned entries make it easy to return to a previous inspection.

Native macOS · local sample data
INSIDE THE APPLICATIONDiffusion
01 / 03
diffusion — See the change

See the change

The native egui interface connects changed blocks and highlights line and character differences in real Rust source files.

Native macOS · local sample data · ← → to explore · Esc to closeSwipe to explore · + to inspect
ON YOUR MACHINE

Take it for a spin.

Requires Rust and native platform libraries. Apple Silicon is verified; see the README for Linux prerequisites and current scope.

View source
From diffusion/
cargo run --release -p diffusion
NEXT IN THE VAULTShipwreck
OPEN A CHANNEL

Something on your mind?

A project, a strange idea, or a particularly good bug. Find me here.

github.com/Rippley777