//! IFDS prepared-graph and resident scratch types.
//!
//! This module owns IFDS resource shape, retained-buffer accounting, and
//! backend-neutral resident dispatch contracts. Solver orchestration stays in
//! `ifds_gpu`; concrete resident cache/batch modules depend on these contracts
//! through the stable `ifds_gpu::...` re-exports.
mod dispatch;
mod hash;
mod host_scratch;
mod parallel_scratch;
mod prepared;
mod resident_csr;
mod resident_scratch;
pub use dispatch::IfdsResidentDispatch;
pub use host_scratch::{IfdsBorrowedSolveScratch, IfdsPrepareScratch, IfdsSolveScratch};
pub use parallel_scratch::{ResidentIfdsParallelHostScratch, ResidentIfdsParallelScratch};
pub use prepared::PreparedIfdsCsr;
pub use resident_csr::ResidentPreparedIfdsCsr;
pub use resident_scratch::{ResidentIfdsHostScratch, ResidentIfdsScratch};