Module core

Module core 

Source
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 grouping
  • seq: Groups files into sequences using mask-based hashing
  • scan: 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§

ScanResult
Result of a scan operation
Scanner
Stateful scanner with configuration and results.
ScannerBuilder
Builder for configuring Scanner with fluent API. Created via Scanner::path() or Scanner::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.