armature_graph library
Classes
-
Graph<
TNodeValue extends GraphNodeValue> - DAG of GraphNodeValues with a three-state cascade state machine.
-
GraphNode<
TValue extends GraphNodeValue> - Internal node wrapper that records the parent/child edges used for traversal. requiredParents is the subset of parents that came from GraphNodeValue.parents (as opposed to GraphNodeValue.optionalParents) — consumers can distinguish required vs optional edges when visualising the graph.
- GraphNodeValue
- Protocol implemented by values carried in a Graph. Defines the DAG edges (required parents and optionalParents) used for cycle detection and topological traversal.
-
GraphVisitor<
T> - Policy + side-effect interface for a Graph cascade.
Enums
- GraphNodeStatus
- The three-state machine each GraphNode is tracked in.
Exceptions / Errors
- GraphCycleError
- Thrown at graph construction when the parent/child edges form a cycle.
- GraphError
- Base class for every structural / cascade failure the Graph surfaces.
- GraphFixedPointError
-
Thrown by Graph.resolve when the cascade chain keeps regenerating
new cascades past the configured
drainIterationLimit. Indicates that a visitor callback is toggling targets in a cycle that never stabilises. - GraphNodeNotFoundError
-
Thrown at graph construction when a node's declared parent (required or
optional) is not present in the
nodeValueslist passed to Graph.