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.
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.
Honest about the messy parts
Gaps, duplicate frames, and off-nominal padding are surfaced as badges — never silently swallowed.
Loose files stay visible
Sub-threshold stray frames, dotfiles and symlinks are flagged and kept in view, not dropped.
Identity that survives edits
Each entity keeps a stable ID across renames, moves and re-scans — so a pending edit never loses its target.
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
Drag, rename, offset — each action queues as a pending intent. Disk is untouched. Conflicts get flagged inline as you go.
→Review
The tray lists every staged op with per-item revert. Ghosted deletes and badged renames show right in the listing.
→Commit
One pass writes a minimal diff. Swaps and rotations are resolved with hidden temp-hops; a mid-run failure rolls back cleanly.
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.
Re-prefix or re-delimit the whole run at once. Components, not strings.
Renumber the run — slide every frame by N. Validated against negative frames before it stages.
Re-pad frame digits across the run, and merge off-nominal padding splits back together.
Mints a new entity in place via copy-then-rename provenance — the source is never touched.
Copy the run into another folder, frame-for-frame, names preserved. A new entity at the destination.
Drag onto any folder, or pick a destination. The whole sequence travels as one object.
Removes the entire run to the Trash. Staged deletes render ghosted until you commit.
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.
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.
ACES-correct thumbnails
Scene-linear EXRs are tone-mapped through an ACES view transform, disk-cached, and decoded on demand.
The Bin
Collect picks across folders into one working set — operate on items from anywhere together, kept separate from pending file ops.
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.
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.
A Rust core that
refuses to lose a frame.
sequitur
A focused Rust library does all sequence parsing, grouping and the safe, minimal-diff file operations.
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.
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.
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.
Stop wrangling frames.
Start moving shots.
A fast, safe, sequence-native file browser for compositors, DI artists and pipeline TDs.