Documentation
¶
Overview ¶
Package elk provides a native Go implementation of the Eclipse Layout Kernel JSON behavior used by D2, pinned to official ELK.js 0.12.0. It does not promise compatibility with expert option combinations outside D2's documented profile.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Layout ¶
Layout computes layout in place. Like elkjs, it preserves the input graph's element and slice order and adds computed shape and edge-route fields.
func LayoutJSON ¶
LayoutJSON is the byte-oriented equivalent of Layout.
Types ¶
type EdgeSection ¶
type EdgeSection = graphjson.EdgeSection
EdgeSection is a routed section of an ELK JSON edge.
type LayoutOptions ¶
type LayoutOptions = graphjson.LayoutOptions
LayoutOptions maps ELK option identifiers to their JSON values.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
elk-go
command
|
|
|
Package graphjson defines ELK's JSON graph interchange model.
|
Package graphjson defines ELK's JSON graph interchange model. |
|
internal
|
|
|
basic
Package basic registers ELK's three core utility layout providers.
|
Package basic registers ELK's three core utility layout providers. |
|
basicoptions
Package basicoptions contains the core options whose defaults are specialized by ELK's fixed, box, and random utility algorithms.
|
Package basicoptions contains the core options whose defaults are specialized by ELK's fixed, box, and random utility algorithms. |
|
box
Package box implements org.eclipse.elk.box from ELK 0.12.0.
|
Package box implements org.eclipse.elk.box from ELK 0.12.0. |
|
builtins
Package builtins registers the layout providers compiled into ELK.js 0.12.0.
|
Package builtins registers the layout providers compiled into ELK.js 0.12.0. |
|
common/elkutil
Package elkutil ports the core ElkUtil operations shared by native layout providers.
|
Package elkutil ports the core ElkUtil operations shared by native layout providers. |
|
common/networksimplex
Package networksimplex implements ELK's deterministic network-simplex layering primitive.
|
Package networksimplex implements ELK's deterministic network-simplex layering primitive. |
|
core
Package core implements ELK metadata, JSON conversion, and recursive layout.
|
Package core implements ELK metadata, JSON conversion, and recursive layout. |
|
fixed
Package fixed implements org.eclipse.elk.fixed from ELK 0.8.1.
|
Package fixed implements org.eclipse.elk.fixed from ELK 0.8.1. |
|
force
Package force is a native Go port of org.eclipse.elk.force targeting ELK.js 0.12.0.
|
Package force is a native Go port of org.eclipse.elk.force targeting ELK.js 0.12.0. |
|
geometry
Package geometry implements ELK's core two-dimensional data types.
|
Package geometry implements ELK's core two-dimensional data types. |
|
graph
Package graph implements ELK's mutable graph as deterministic typed arenas.
|
Package graph implements ELK's mutable graph as deterministic typed arenas. |
|
javacompat
Package javacompat contains the small parts of the Java runtime whose exact behavior is observable in ELK layouts.
|
Package javacompat contains the small parts of the Java runtime whose exact behavior is observable in ELK layouts. |
|
layered
Package layered implements ELK Layered's internal graph and five-phase layout pipeline.
|
Package layered implements ELK Layered's internal graph and five-phase layout pipeline. |
|
layered/components
Package components ports ELK Layered 0.8.1's connected-components split and packing stage.
|
Package components ports ELK Layered 0.8.1's connected-components split and packing stage. |
|
layered/intermediate
Package intermediate contains the processors run between ELK Layered's five main phases.
|
Package intermediate contains the processors run between ELK Layered's five main phases. |
|
layered/intermediate/loops
Package loops contains ELK Layered 0.8.1's temporary self-loop model.
|
Package loops contains ELK Layered 0.8.1's temporary self-loop model. |
|
layered/intermediate/preserveorder
Package preserveorder ports ELK Layered's stateful model-order comparators.
|
Package preserveorder ports ELK Layered's stateful model-order comparators. |
|
layered/intermediate/unzipping
Package unzipping ports ELK Layered's post-crossing-minimization layer splitting processors.
|
Package unzipping ports ELK Layered's post-crossing-minimization layer splitting processors. |
|
layered/p1cycles
Package p1cycles implements ELK Layered phase 1.
|
Package p1cycles implements ELK Layered phase 1. |
|
layered/p2layers
Package p2layers implements ELK Layered phase 2.
|
Package p2layers implements ELK Layered phase 2. |
|
layered/p5edges
Package p5edges implements the fifth phase of ELK Layered 0.8.1.
|
Package p5edges implements the fifth phase of ELK Layered 0.8.1. |
|
layeredlayout
Package layeredlayout connects ELK Layered's internal five-phase pipeline to the core graph engine.
|
Package layeredlayout connects ELK Layered's internal five-phase pipeline to the core graph engine. |
|
mrtree
Package mrtree is a native Go port of ELK Mr.
|
Package mrtree is a native Go port of ELK Mr. |
|
oracle
Package oracle provides the pinned elkjs 0.12.0 differential oracle used while porting ELK to Go.
|
Package oracle provides the pinned elkjs 0.12.0 differential oracle used while porting ELK to Go. |
|
radial
Package radial is a native Go port of ELK Radial targeting ELK.js 0.12.0.
|
Package radial is a native Go port of ELK Radial targeting ELK.js 0.12.0. |
|
random
Package random implements org.eclipse.elk.random from ELK 0.12.0.
|
Package random implements org.eclipse.elk.random from ELK 0.12.0. |
|
rectpacking
Package rectpacking ports org.eclipse.elk.alg.rectpacking from ELK 0.12.0.
|
Package rectpacking ports org.eclipse.elk.alg.rectpacking from ELK 0.12.0. |
|
spore
Package spore is a native Go port of the SPOrE overlap-removal and compaction providers targeting ELK.js 0.12.0 behavior.
|
Package spore is a native Go port of the SPOrE overlap-removal and compaction providers targeting ELK.js 0.12.0 behavior. |
|
stress
Package stress ports org.eclipse.elk.stress targeting ELK.js 0.12.0 while retaining the historical ELK 0.8.1 source mapping for unchanged routines.
|
Package stress ports org.eclipse.elk.stress targeting ELK.js 0.12.0 while retaining the historical ELK 0.8.1 source mapping for unchanged routines. |
Click to show internal directories.
Click to hide internal directories.