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)
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
![]() |
The pages are generated with Golds v0.8.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |