truecalc-workbook 0.8.0

Workbook layer for the truecalc spreadsheet engine — engine-locked workbook, worksheet, and cell value types
Documentation
//! truecalc-workbook: the workbook layer for the truecalc spreadsheet engine.
//!
//! A [`Workbook`] is a *value object*: an engine-locked collection of ordered
//! worksheets, sparse cell grids, and workbook-scoped named ranges. Its JSON
//! schema is the cross-surface contract — the same canonical bytes are
//! produced on every distribution surface (Rust, WASM, MCP, REST).
//!
//! The engine flavor (`sheets` | `excel`) is explicit and required at
//! workbook creation and immutable for the workbook's lifetime
//! (ADR 2026-04-27-engine-flavor-explicit-everywhere).
//!
//! This crate is MIT-licensed and ships separately from `truecalc-core`
//! (ADR 2026-04-27-workbook-crate-separate-mit).
//!
//! [`Workbook::to_json`] / [`Workbook::from_json`] are the canonical
//! (RFC 8785 / JCS) serialization boundary — the byte-identical cross-surface
//! contract of schema spec §8.

mod address;
mod canonical;
mod casefold;
mod cell;
mod depgraph;
mod engine;
mod error;
pub mod limits;
mod mutate;
mod named_range;
mod named_ref;
mod recalc;
mod spill;
mod strict_json;
mod validate;
mod value;
mod workbook;
mod worksheet;

pub use address::Address;
pub use cell::Cell;
pub use depgraph::{CellRef, DependencyGraph, Precedent, RangeRef};
pub use engine::EngineFlavor;
pub use error::WorkbookError;
pub use mutate::{CellInput, Resolved};
pub use named_range::NamedRange;
pub use recalc::{Change, RecalcContext, CIRCULAR_ERROR};
pub use spill::{SpillRect, BLOCKED_SPILL_ERROR};
pub use value::Value;
pub use workbook::{Workbook, SCHEMA_VERSION};
pub use worksheet::Worksheet;