//! Progress reporting types for asset downloads.
/// Progress information for a single asset being prepared.
#[derive(Debug, Clone)]pubstructPrepareProgress{/// Name of the asset currently being processed.
pubname: String,
/// 1-based index of the current asset.
pubcurrent:usize,
/// Total number of assets.
pubtotal:usize,
/// Current phase.
pubphase: PreparePhase,
}/// Phase within a single asset's lifecycle.
#[derive(Debug, Clone)]pubenumPreparePhase{/// Checking whether the asset is already cached and valid.
Checking,/// Downloading the asset.
Downloading { downloaded:u64, total:Option<u64>},/// Verifying checksum after download.
Verifying,/// Asset is ready (freshly downloaded and verified).
Ready,/// Asset was already cached with a valid checksum.
Cached,}/// Boxed progress callback.
pubtypeProgressCallback=Box<dyn Fn(PrepareProgress)+Send+Sync>;