Skip to main content

Module engine

Module engine 

Source
Expand description

Formualizer Dependency Graph Engine

Provides incremental formula evaluation with dependency tracking.

Re-exports§

pub use arena::AstNodeId;
pub use eval::CycleTelemetry;
pub use eval::Engine;
pub use eval::EngineAction;
pub use eval::EngineBaselineStats;
pub use eval::EvalResult;
pub use eval::RecalcPlan;
pub use eval::VirtualDepTelemetry;
pub use eval_delta::DeltaMode;
pub use eval_delta::EvalDelta;
pub use formula_ingest::FormulaIngestBatch;
pub use formula_ingest::FormulaIngestRecord;
pub use formula_ingest::FormulaIngestReport;
pub use journal::ActionJournal;
pub use journal::ArrowOp;
pub use journal::ArrowUndoBatch;
pub use journal::GraphUndoBatch;
pub use graph::snapshot::VertexSnapshot;
pub use graph::ChangeEvent;
pub use graph::DependencyGraph;
pub use graph::DependencyRef;
pub use graph::GraphBaselineStats;
pub use graph::OperationSummary;
pub use graph::StripeKey;
pub use graph::StripeType;
pub use graph::block_index;
pub use row_visibility::RowVisibilitySource;
pub use row_visibility::VisibilityMaskMode;
pub use scheduler::Layer;
pub use scheduler::Schedule;
pub use scheduler::ScheduleUnit;
pub use scheduler::Scheduler;
pub use vertex::VertexId;
pub use vertex::VertexKind;
pub use graph::editor::DataUpdateSummary;
pub use graph::editor::EditorError;
pub use graph::editor::MetaUpdateSummary;
pub use graph::editor::RangeSummary;
pub use graph::editor::ShiftSummary;
pub use graph::editor::TransactionId;
pub use graph::editor::VertexDataPatch;
pub use graph::editor::VertexEditor;
pub use graph::editor::VertexMeta;
pub use graph::editor::VertexMetaPatch;
pub use graph::editor::change_log::ChangeLog;
pub use graph::editor::change_log::ChangeLogger;
pub use graph::editor::change_log::NullChangeLogger;

Modules§

arena
arrow_ingest
csr_edges
debug_views
delta_edges
effects
Formal effects pipeline for evaluation (ticket 603).
eval
eval_delta
formula_ingest
graph
ingest
ingest_builder
interval_tree
journal
Internal action journal types used for atomicity and undo/redo.
live_edges
Live-edge collection for statically-cyclic SCC evaluation (Stage 1 of the runtime-cycle-verdicts work; pre-work for RFC #112).
live_graph
Local SCC analysis over a recorded live-edge list (Stage 2 of the runtime-cycle-verdicts work, RFC #112).
lookup_index_cache
named_range
plan
range_view
row_visibility
scheduler
sheet_index
sheet_registry
spill
Spill interfaces (shim) for reserve/write/commit/rollback lifecycle. Phase 2: Introduce types only; implementation can delegate to current graph methods.
topo
Dynamic topological ordering utilities
tuning
Warmup configuration and tuning parameters
vertex
vertex_store
virtual_deps

Structs§

CycleConfig
Cycle handling configuration (spec: formualizer-cycle-semantics-spec.md §2).
EvalConfig
Configuration for the evaluation engine
FormulaParseDiagnostic
Captured diagnostic for a malformed formula encountered during ingest/graph-build.
SpillConfig
Configuration for spill behavior. Nested under EvalConfig to avoid bloating the top-level.
TombstoneRegistry
WorkbookLoadLimits
Workbook ingest limits applied by loader backends before they materialize large sheets.

Enums§

CycleDetection
How statically-cyclic SCCs are treated at evaluation time.
CyclePolicy
What happens to witnessed (live) cycles under CycleDetection::Runtime.
DateSystem
DeterministicMode
Deterministic evaluation configuration.
FormulaParsePolicy
Policy for handling malformed formulas encountered during workbook ingest.
FormulaPlaneMode
SheetIndexMode
SpillBoundsPolicy
SpillBufferMode
SpillCancellationPolicy
SpillConflictPolicy
SpillTiebreaker
SpillVisibility

Traits§

CalcObserver
🔮 Scalability Hook: Performance monitoring trait for calculation observability

Functions§

new_engine
Construct a new engine with the given resolver and configuration