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}