//! I/O layer for `improvise`: `.improv` persistence (parse/format, save/load,
//! CSV export) and import (CSV/JSON wizard, field analyzer).
//!
//! Depends on `improvise-core` for the data model (`Model`, `View`,
//! `Workbook`, `CellKey`, `CellValue`, `GridLayout`, `Axis`, `Group`) and on
//! `improvise-formula` for formula parsing. Has no awareness of UI or
//! commands — builds standalone via `cargo build -p improvise-io`.
//!
//! Re-exports the core modules under their conventional names so code in
//! this crate can keep using `crate::model::*`, `crate::view::*`,
//! `crate::workbook::*`, `crate::format::*`, and `crate::formula::*` paths.
pub use improvise_core::{format, model, view, workbook};
pub use improvise_formula as formula;

pub mod import;
pub mod persistence;
