gridline_engine/engine/mod.rs
1//! Spreadsheet engine API.
2//!
3//! This module provides the core computation engine for the spreadsheet:
4//!
5//! - [`Cell`], [`CellType`], [`Grid`] - Data structures for cell storage
6//! - [`CellRef`] - Cell reference parsing (A1 notation ↔ row/col indices)
7//! - [`detect_cycle`] - Circular dependency detection
8//! - [`extract_dependencies`] - Parse formula dependencies
9//! - [`preprocess_script`] - Transform formulas for Rhai evaluation
10//! - [`create_engine`] - Create a Rhai engine with built-in functions
11//! - [`format_dynamic`] - Format values for display
12
13mod cell;
14mod cell_ref;
15mod cycle;
16mod deps;
17mod eval;
18mod format;
19mod preprocess;
20
21pub use cell::{Cell, CellType, Grid, SpillMap};
22pub use cell_ref::CellRef;
23pub use cycle::detect_cycle;
24pub use deps::{extract_dependencies, parse_range};
25pub use eval::{
26 create_engine, create_engine_with_functions, create_engine_with_functions_and_spill,
27 create_engine_with_spill, eval_with_functions,
28};
29pub use format::{format_dynamic, format_number};
30pub use preprocess::{ShiftOperation, preprocess_script, shift_formula_references};
31
32pub use rhai::{AST, Dynamic};