//! Heat2 TDF: EA Blaze's tagged binary serialisation.
//!
//! A field is `3-byte packed tag || 1 type byte || value`. Structs nest and are
//! `0x00` terminated; the outermost payload is delimited by the Fire2 length
//! instead.
//!
//! # Provenance
//!
//! Ported from `fifa17-recon/tools/heat2.py`, which was derived clean-room from
//! the wire bytes of our own FIFA 17 client and validated byte-exact against
//! that capture. The int/string/blob/struct layouts are proven; list, map,
//! union, varlist, objtype, objid and float are marked UNVERIFIED there and
//! that flag is preserved on [`TypeId::is_verified`].
//!
//! Byte-for-byte parity with the Python oracle is enforced by fixture tests
//! (`tests/oracle_parity.rs`) over vectors in `fixtures/tdf.jsonl`.

pub mod decode;
pub mod encode;
pub mod tag;
pub mod value;
pub mod varint;

pub use decode::decode;
pub use encode::{encode, encode_into};
pub use tag::Tag;
pub use value::{Struct, TypeId, Value, UNION_UNSET};
