Expand description
Core sequence detection engine.
This module provides fast file sequence scanning for VFX/animation pipelines.
§Architecture
file: Parses paths, extracts digit groups, creates masks for groupingseq: Groups files into sequences using mask-based hashingscan: Parallel directory traversal and orchestration
§Algorithm
Files are grouped by mask (e.g., render_@_frame_@.exr), then sub-grouped
by anchor values (non-frame digit groups). This handles:
- Padded sequences:
img_0001.exr-img_0100.exr - Unpadded sequences:
img_1.exr-img_100.exr - Multi-group names:
shot_01_frame_0001.exr(anchor=01, frame=0001)
Structs§
- Scan
Result - Result of a scan operation
- Scanner
- Stateful scanner with configuration and results.
- Scanner
Builder - Builder for configuring Scanner with fluent API.
Created via
Scanner::path()orScanner::paths(). - Seq
- Sequence of numbered files
Constants§
- VFX_
IMAGE_ EXTS - Common VFX image extensions for convenience
- VIDEO_
EXTS - Common video extensions
Functions§
- format_
frame - Format frame number into path using pattern and padding. Public function to avoid duplication between Rust Seq and Python PySeq.
- get_
seqs - Main scan and group function
- scan_
files - Scan folder(s) for files matching extensions. Uses jwalk for parallel recursive scanning.