jellyflow-core 0.3.0

Headless graph model, IDs, type descriptors, and interaction policy primitives for Jellyflow.
Documentation
//! Core graph model types (IDs, nodes, ports, edges, symbols).

mod ids;
mod imports;
mod model;
mod subgraph;
mod symbol_ref;
mod validate;

pub use ids::{
    BindingId, EdgeId, GraphId, GroupId, NodeId, NodeKindKey, PortId, PortKey, StickyNoteId,
    SymbolId,
};
pub use imports::{GraphImport, GraphImportClosure, GraphImportError, resolve_import_closure};
pub use model::{
    Binding, BindingEndpoint, CanvasPoint, CanvasRect, CanvasSize, Edge, EdgeKind, EdgeLabelAnchor,
    EdgeReconnectable, EdgeReconnectableEndpoint, EdgeRouteKind, EdgeViewDescriptor, Graph,
    GraphBuilder, GraphElementIter, GraphElementKeys, GraphElementValues, GraphElements,
    GraphLocalBindingTarget, Group, Node, NodeExtent, NodeOrigin, Port, PortCapacity,
    PortDirection, PortKind, SourceAnchor, StickyNote, Symbol,
};
pub use subgraph::{
    SUBGRAPH_NODE_KIND, SubgraphBindingError, SubgraphNodeError, collect_subgraph_targets,
    is_subgraph_node, subgraph_node_data, subgraph_target_graph_id,
    validate_subgraph_targets_are_imported,
};
pub use symbol_ref::{
    SYMBOL_REF_NODE_KIND, SymbolRefBindingError, SymbolRefNodeError, collect_symbol_ref_targets,
    is_symbol_ref_node, symbol_ref_node_data, symbol_ref_target_symbol_id,
    validate_symbol_ref_targets_are_declared,
};
pub use validate::{
    GraphValidationError, GraphValidationReport, validate_graph, validate_graph_storage,
    validate_graph_structural,
};

#[cfg(test)]
mod tests;