Edge routing orchestrator.
Determines start/end attachment points on nodes, runs A* pathfinding, and handles direction selection (preferred vs alternative paths). Previously-routed edges' cells become soft obstacles for later edges.
Summary
Functions
Route all edges in the graph, returning a list of RoutedEdge structs.
Types
Functions
@spec route_edges(Boxart.Graph.t(), Boxart.Layout.t()) :: [ Boxart.Routing.RoutedEdge.t() ]
Route all edges in the graph, returning a list of RoutedEdge structs.
Each edge is routed via A* pathfinding between attachment points on its source and target nodes. Previously-routed edges contribute soft obstacles so later edges prefer avoiding overlap.