//! Dataset loaders, batch utilities, and the optional auto-downloader.
//!
//! Each sub-module corresponds to one benchmark used during curriculum
//! training and mirrors the Python `time_series_datasets/` package.
//!
//! | Module | Dataset | Curriculum stage |
//! |--------|---------|------------------|
//! | [`tsqa`] | TSQA MCQ (WISDM-W accel) | Stage 1 |
//! | [`m4`] | M4 captioning (WISDM-W accel) | Stage 2 |
//! | [`har`] | HAR CoT (WISDM-W 3-axis) | Stage 3 |
//! | [`sleep`] | SleepEDF CoT (Fpz-Cz EEG) | Stage 4 |
//! | [`ecg`] | ECG-QA CoT (synthetic PTB-XL) | Stage 5 |
//!
//! The [`batch`] module provides the [`batch::Sample`] and
//! [`batch::TokenizedBatch`] types shared by all loaders, along with
//! helper functions for padding and normalisation.
//!
//! The `download` feature gate controls whether [`downloader`] is compiled.
//! In release builds the feature is enabled by default so that `train` and
//! `eval` can fetch missing datasets automatically.