Skip to main content

formualizer_eval/engine/graph/
snapshot.rs

1use super::{AstNodeId, ValueRef};
2use crate::{
3    SheetId,
4    engine::vertex::{VertexId, VertexKind},
5};
6use formualizer_common::Coord as AbsCoord;
7
8/// Snapshot of a vertex's complete state for rollback purposes
9#[derive(Debug, Clone)]
10pub struct VertexSnapshot {
11    pub coord: AbsCoord,
12    pub sheet_id: SheetId,
13    pub kind: VertexKind,
14    pub flags: u8,
15    pub value_ref: Option<ValueRef>,
16    pub formula_ref: Option<AstNodeId>,
17    pub out_edges: Vec<VertexId>,
18}