Module
LayeredLayout.Compaction.LGraphToCGraphTransformer
- Package
- purescript-layered-layout
- Repository
- markgrafhq/purescript-layered-layout
Port of ELK's LGraphToCGraphTransformer adapted to markgraf's
post-routing data model. Builds a compaction graph from a
LayoutResult-shaped input (node placements + routed edges) and
maps the compacted x-coordinates back onto those inputs.
Only orthogonal edges are supported (markgraf does not route splines). Comment boxes and external port dummies are not part of markgraf either, so those branches are dropped.
#CNodeOrigin Source
#TransformOutput Source
type TransformOutput = { cGraph :: CGraph CNodeOrigin, edgeToCs :: Map EdgeId (Array CNodeId), lockMap :: Map CNodeId Quadruplet, nodeToC :: Map NodeId CNodeId }#applyLayout Source
applyLayout :: CGraph CNodeOrigin -> { edges :: Array Edge, nodes :: Array NodePlacement, paths :: Array EdgePath } -> { edges :: Array EdgePath, nodes :: Array NodePlacement }- Modules
- LayeredLayout
- LayeredLayout.
Aesthetics - LayeredLayout.
Compaction. EdgeAwareScanlineConstraints - LayeredLayout.
Compaction. HorizontalGraphCompactor - LayeredLayout.
Compaction. LGraphToCGraphTransformer - LayeredLayout.
Compaction. NetworkSimplexCompaction - LayeredLayout.
Compaction. OneD - LayeredLayout.
Compaction. VerticalSegment - LayeredLayout.
Components - LayeredLayout.
CoordAssignment - LayeredLayout.
CrossingMin - LayeredLayout.
CrossingMin. Constraints - LayeredLayout.
CrossingMin. NorthSouth - LayeredLayout.
CrossingMin. Ports - LayeredLayout.
CycleRemoval - LayeredLayout.
DummyNodes - LayeredLayout.
EdgeLabels - LayeredLayout.
EdgeLabels. SelfLoops - LayeredLayout.
EdgeLabels. SelfLoops. Model - LayeredLayout.
EdgeLabels. SelfLoops. Routing - LayeredLayout.
EdgeRouting - LayeredLayout.
EdgeRouting. HyperEdgeCycleDetector - LayeredLayout.
EdgeRouting. HyperEdges - LayeredLayout.
EdgeRouting. LineJump - LayeredLayout.
EdgeRouting. Orthogonal - LayeredLayout.
EdgeRouting. PortAssignment - LayeredLayout.
Graph - LayeredLayout.
Grid - LayeredLayout.
JavaRandom - LayeredLayout.
LayerAssignment - LayeredLayout.
LayerAssignment. NetworkSimplex - LayeredLayout.
NetworkSimplex - LayeredLayout.
PortDistribution - LayeredLayout.
PortDummies - LayeredLayout.
Result