Skip to main content

moire_types/
snapshots.rs

1use facet::Facet;
2
3use crate::{Edge, Entity, Event, Scope};
4
5/// A snapshot is a point-in-time process envelope of graph state.
6#[derive(Facet)]
7pub struct Snapshot {
8    /// Runtime entities present in this snapshot.
9    pub entities: Vec<Entity>,
10    /// Execution scopes present in this snapshot.
11    pub scopes: Vec<Scope>,
12    /// Entity-to-entity edges present in this snapshot.
13    pub edges: Vec<Edge>,
14    /// Point-in-time events captured for this snapshot.
15    pub events: Vec<Event>,
16}