package p2layers

Import Path
	github.com/d2lang/elk-go/internal/layered/p2layers (on go.dev)

Dependency Relation
	imports 6 packages, and imported by one package

Involved Source Files coffman_graham.go interactive.go longest_path.go min_width.go Package p2layers implements ELK Layered phase 2. stretch_width.go
Package-Level Type Names (total 6)
/* sort by: | */
CoffmanGrahamLayerer bounds the number of nodes per layer after computing the exact ELK 0.12.0 transitive reduction and priority topological order. (*CoffmanGrahamLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*CoffmanGrahamLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *CoffmanGrahamLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *CoffmanGrahamLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor
InteractiveLayerer derives initial layers from overlapping horizontal node spans, then moves targets right until every non-loop edge advances a layer. (*InteractiveLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*InteractiveLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *InteractiveLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *InteractiveLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor
LongestPathLayerer assigns each node according to its longest path to a sink. Layers are prepended exactly as in ELK 0.8.1. (*LongestPathLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*LongestPathLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *LongestPathLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *LongestPathLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor
MinWidthLayerer is ELK 0.8.1's size-aware minimum-width heuristic. (*MinWidthLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*MinWidthLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *MinWidthLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *MinWidthLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor
(*NetworkSimplexLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*NetworkSimplexLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *NetworkSimplexLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *NetworkSimplexLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor
StretchWidthLayerer is ELK 0.8.1's minimum-width heuristic. It builds the layering bottom-up and increases its width bound only when a layer cannot accept any eligible node. (*StretchWidthLayerer) Process(arena *layered.LGraphArena, graphID layered.LGraphID) error (*StretchWidthLayerer) ProcessorConfiguration(_ *layered.LGraphArena, _ layered.LGraphID) layered.ProcessorConfiguration *StretchWidthLayerer : github.com/d2lang/elk-go/internal/layered.ConfiguredProcessor *StretchWidthLayerer : github.com/d2lang/elk-go/internal/layered.LayoutProcessor