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.

Rust core (sequitur) Tauri 2 + SvelteKit cycle-safe commits
seq_manip ~/shots/sq040_sh010/render
NameFramesSize
Pending changes 0
Try the verbs — stage an edit, then Commit
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.

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