//! TMB timeline binary files.
//!
//! A `.tmb` file carries a flat sequence of typed chunks introduced by the
//! `TMLB` magic. The header specifies both `file_size` (which caps the chunk
//! walk) and `chunk_count`. Known structural chunks are [`TmbChunk::Tmdh`],
//! [`TmbChunk::Tmpp`], [`TmbChunk::Tmal`], [`TmbChunk::Tmac`], and
//! [`TmbChunk::Tmtr`]. Typed action entries (`C006`, `C010`, …) are wrapped in
//! [`TmbChunk::Entry`]; unrecognized tags become [`TmbChunk::Opaque`] for
//! forward compatibility. Parse with [`Tmb::parse`].

mod chunks;
mod entries;
mod header;

pub use chunks::{TmacChunk, TmalChunk, TmbChunk, TmdhChunk, TmppChunk, TmtrChunk};
pub use entries::{
    C006Entry, C010Entry, C014Entry, C063Entry, C131Entry, TMB_ITEM_BASE_HEADER_SIZE,
    TMB_ITEM_WITH_ID_HEADER_SIZE, TMB_ITEM_WITH_TIME_HEADER_SIZE, TmbEntry,
};
pub use header::{TMB_HEADER_SIZE, TMB_MAGIC, TMB_MAX_CHUNKS, TMB_MAX_OPAQUE_PAYLOAD, Tmb};
