Alpha · macOS · Apple Silicon

A file browser that
thinks in sequences,
not files.

Thousands of EXRs collapse into a single row. Then you rename, renumber, re-pad, copy, move and delete entire runs as if they were one object — and nothing touches disk until you say so.

The real app, running in your browser on a sample show · best on a desktop

Rust core (sequitur) Tauri 2 + SvelteKit cycle-safe commits
seq_manip ~/nebula · every sequence & movie
seq_manip in icon view: every sequence and movie in a sample show, with the inspector open on a comp
The real app on sample data. Try it in your browser →
The idea

One run.
One thing to grab.

A 240-frame plate is one shot, not 240 files. seq_manip parses any directory and collapses every recognisable run into a single entity — so the file manager finally matches how you actually think about your work.

01

Honest about the messy parts

Gaps, duplicate frames, and off-nominal padding are surfaced as badges — never silently swallowed.

02

Loose files stay visible

Sub-threshold stray frames, dotfiles and symlinks are flagged and kept in view, not dropped.

03

Identity that survives edits

Each entity keeps a stable ID across renames, moves and re-scans — so a pending edit never loses its target.

render_0001.exr
render_0002.exr
render_0003.exr
render_0004.exr
… 96 more
— collapses to —
render_[0001–0100].exr 100 frames · 0 gaps
The safety model

Inspect the plan
before it runs.

Every gesture writes an intent, not a file operation. In Stage mode edits queue in a tray you can review and revert — nothing is written until you commit. Prefer the old way? Instant mode applies each edit immediately.

STAGE

Stage

Drag, rename, offset — each action queues as a pending intent. Disk is untouched. Conflicts get flagged inline as you go.

→
REVIEW

Review

The tray lists every staged op with per-item revert. Ghosted deletes and badged renames show right in the listing.

→
COMMIT

Commit

One pass writes a minimal diff. Swaps and rotations are resolved with hidden temp-hops; a mid-run failure rolls back cleanly.

In the app

The real thing,
on a sample show.

Screenshots of the actual app running on demo data — the same build you can try in your browser.

Stage, review, commit. Every edit is a pending intent: renamed runs show what they were, conflicts are flagged on both sides, deletes are ghosted and copies appear as new — until you Commit.
A RAM-buffered player. Scrub, step and loop at 12–30 fps, with an ACES view transform for scene-linear EXRs.
Gaps are never hidden. The inspector shows frame range, missing frames, size, resolution, channels and compression.
Search under any folder. Every matching sequence and movie from every shot, as real items you can stage edits on.
Operations

Seven verbs.
Whole runs at once.

A small, sharp vocabulary. Each verb fans out across your entire selection and projects the result before a single byte moves.

rename F2

Re-prefix or re-delimit the whole run at once. Components, not strings.

render_####.exr → comp_####.exr
offset

Renumber the run — slide every frame by N. Validated against negative frames before it stages.

[0001–0100] → [0025–0124]
repad

Re-pad frame digits across the run, and merge off-nominal padding splits back together.

frame_#.exr → frame_####.exr
duplicate ⌘D

Mints a new entity in place via copy-then-rename provenance — the source is never touched.

render_#### → render_copy_####
copy

Copy the run into another folder, frame-for-frame, names preserved. A new entity at the destination.

./shotA/ → ./shotB/
move

Drag onto any folder, or pick a destination. The whole sequence travels as one object.

./plates/ → ./comp/
delete ⌫

Removes the entire run to the Trash. Staged deletes render ghosted until you commit.

render_####.exr → ✗ to Trash
In the box

Built for the way
plates actually live.

≣

A thousand frames, one row

Any parsable run — gaps, off-nominal padding, mixed delimiters — collapses into a single visual entity with frame count, span, missing-frame and duplicate badges. Operate on it like one file.

frame rangesgap detectionpadding splits
◐

Hover-scrub & playback

Skim every frame by sweeping the cursor, or open the RAM-buffered player for real transport. Stills, EXR and movies all play.

EXRbundled ffmpeg
◑

ACES-correct thumbnails

Scene-linear EXRs are tone-mapped through an ACES view transform, disk-cached, and decoded on demand.

ACEScgfilmic
⊞

The Bin

Collect picks across folders into one working set — operate on items from anywhere together, kept separate from pending file ops.

cross-folder
★

Favourites, grid & list

Star folders for one-click return, switch between a dense list and a scrubbable icon grid, and send deletes to the system Trash.

favouritesgrid / list
⌕

Recursive search

Hit Enter on an empty filter to surface every sequence and movie beneath the current root — each a real, selectable, stageable entity gathered from every sub-directory.

⌘Fdeep scanlive filter
Under the hood

A Rust core that
refuses to lose a frame.

Parsing

sequitur

A focused Rust library does all sequence parsing, grouping and the safe, minimal-diff file operations.

Model

Intent log + pure projection

State is canonical-on-disk plus an ordered intent log; the projected view is a pure fold with zero IO, so edits are instant and reversible.

Commit

Minimal-diff, cycle-safe

A coalesced commit emits one rename per changed item, topo-orders dependent moves, and temp-hops swaps so A↔B just works.

Shell

Tauri 2 + SvelteKit

A tiny native binary with a reactive UI and a bundled ffmpeg sidecar. Progress and cancellation stream straight from the executor for 25 GB copies.

SvelteKit UI
listing · tray · player · inspector — addresses entities by id
↕  typed IPC
App registry
stable ids · intent log · projection · metadata
↕
sequitur (Rust)
parse · validate vs projected set · cycle-safe executor
↕
Filesystem
EXR · DPX · movies · loose files

Stop wrangling frames.
Start moving shots.

A fast, safe, sequence-native file browser for compositors, DI artists and pipeline TDs.

Private alpha · macOS (Apple Silicon) · downloads coming soon