Hylograph.Data.Graph.Algorithms
- Package
- purescript-hylograph-selection
- Repository
- afcondon/purescript-hylograph-selection
#ReachabilityResult Source
type ReachabilityResult = { nodes :: Set NodeID, paths :: Array (Array NodeID), redundantEdges :: Array (Tuple NodeID NodeID), spanningTree :: Array (Tuple NodeID NodeID) }Result of reachability analysis from a root node Includes all reachable nodes, the spanning tree edges, and any redundant (non-tree) edges
#getReachableNodes Source
getReachableNodes :: forall node link. GraphConfig node link -> NodeID -> GraphModel node link -> ReachabilityResultCompute all nodes reachable from a starting node via directed edges
This performs a breadth-first traversal, building a spanning tree of the reachable portion of the graph. Any edges that would create cycles are marked as redundant.
Example:
let result = getReachableNodes config rootId graph
-- result.nodes: Set of all reachable node IDs
-- result.spanningTree: Edges forming a tree
-- result.redundantEdges: Edges that create cycles
#extractSpanningTree Source
extractSpanningTree :: NodeID -> ReachabilityResult -> Tree NodeIDExtract a spanning tree from reachability analysis
Converts the spanning tree edges into a Tree structure rooted at the specified node.
#depthFirstSearch Source
depthFirstSearch :: forall node link. GraphConfig node link -> NodeID -> GraphModel node link -> (node -> Boolean) -> Array NodeIDDepth-first search traversal
Visits nodes in depth-first order, applying a predicate to decide whether to continue down each branch.
Returns nodes in the order they were visited.
#breadthFirstSearch Source
breadthFirstSearch :: forall node link. GraphConfig node link -> NodeID -> GraphModel node link -> (node -> Boolean) -> Array NodeIDBreadth-first search traversal
Visits nodes level-by-level, applying a predicate to decide whether to continue exploring.
Returns nodes in the order they were discovered.
- Modules
- Data.
DependencyGraph - Hylograph.
AST - Hylograph.
Axis. Axis - Hylograph.
Brush - Hylograph.
Brush. FFI - Hylograph.
Brush. Types - Hylograph.
Classify - Hylograph.
Data. Graph - Hylograph.
Data. Graph. Algorithms - Hylograph.
Data. Node - Hylograph.
Data. Tree - Hylograph.
Expr. Animation - Hylograph.
Expr. Attr - Hylograph.
Expr. Datum - Hylograph.
Expr. Expr - Hylograph.
Expr. Friendly - Hylograph.
Expr. Integration - Hylograph.
Expr. Interpreter. CodeGen - Hylograph.
Expr. Interpreter. Eval - Hylograph.
Expr. Interpreter. Meta - Hylograph.
Expr. Interpreter. PureSVG - Hylograph.
Expr. Interpreter. SVG - Hylograph.
Expr. Path - Hylograph.
Expr. Path. Generators - Hylograph.
Expr. Sugar - Hylograph.
Expr. Units - Hylograph.
HATS - Hylograph.
HATS. Friendly - Hylograph.
HATS. InterpreterTick - Hylograph.
HATS. Transitions - Hylograph.
Interaction. Brush - Hylograph.
Interaction. Coordinated - Hylograph.
Interaction. Pointer - Hylograph.
Interaction. Zoom - Hylograph.
Internal. Attribute - Hylograph.
Internal. Behavior. FFI - Hylograph.
Internal. Behavior. Types - Hylograph.
Internal. Capabilities. Selection - Hylograph.
Internal. Capabilities. Transition - Hylograph.
Internal. FFI - Hylograph.
Internal. Selection. Join - Hylograph.
Internal. Selection. Operations - Hylograph.
Internal. Selection. Operations. Conversions - Hylograph.
Internal. Selection. Operations. Helpers - Hylograph.
Internal. Selection. Operations. Selection - Hylograph.
Internal. Selection. Query - Hylograph.
Internal. Selection. Types - Hylograph.
Internal. Transition. FFI - Hylograph.
Internal. Transition. Manager - Hylograph.
Internal. Transition. Scene - Hylograph.
Internal. Transition. Types - Hylograph.
Internal. Types - Hylograph.
Interpreter. D3 - Hylograph.
Interpreter. English - Hylograph.
Interpreter. Mermaid - Hylograph.
Interpreter. MetaAST - Hylograph.
Interpreter. SemiQuine - Hylograph.
Interpreter. SemiQuine. TreeToCode - Hylograph.
Interpreter. SemiQuine. Types - Hylograph.
Render - Hylograph.
Scale - Hylograph.
Scale. FP - Hylograph.
Shape. Arc - Hylograph.
Shape. Pie - Hylograph.
Shape. Polygon - Hylograph.
Tooltip - Hylograph.
Transform - Hylograph.
TreeDSL - Hylograph.
TreeDSL. ShapeTree - Hylograph.
Unified - Hylograph.
Unified. Attribute - Hylograph.
Unified. DataDSL - Hylograph.
Unified. Display - Hylograph.
Unified. Examples - Hylograph.
Unified. Join - Hylograph.
Unified. Sugar