use disposition_model_common::{entity::EntityType, Id};

/// Context data stored with diagram nodes in the taffy tree.
#[cfg_attr(
    all(feature = "schemars", not(feature = "test")),
    derive(schemars::JsonSchema)
)]
#[derive(Clone, Debug, PartialEq)]
pub struct DiagramNodeCtx {
    /// ID of the entity from the input / IR diagram.
    pub entity_id: Id<'static>,
    /// Tracks whether this is a `thing`, `process`, `tag`, etc.
    ///
    /// This should be the default type assigned to an entity, so that we can
    /// tell if it is a `thing`, `process`, `process_step`, `tag`, `edge_group`,
    /// or `edge`.
    pub entity_type: EntityType,
}
