package graph

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

Dependency Relation
	imports 3 packages, and imported by 29 packages

Involved Source Files Package graph implements ELK's mutable graph as deterministic typed arenas. properties.go
Package-Level Type Names (total 20)
/* sort by: | */
ContainingNode *NodeID Identifier string IdentifierPresent bool Labels []LabelID Properties PropertyMap Sections []SectionID Sources []ShapeID Targets []ShapeID func (*Model).Edge(id EdgeID) *Edge
func (*Model).AddEdge(containingNode *NodeID) EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.AllIncomingEdges(model *Model, nodeID NodeID) []EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.AllOutgoingEdges(model *Model, nodeID NodeID) []EdgeID func EdgeElementRef(id EdgeID) ElementID func (*Model).AddSection(edge EdgeID) SectionID func (*Model).AddSource(edge EdgeID, source ShapeID) func (*Model).AddTarget(edge EdgeID, target ShapeID) func (*Model).BestEdgeContainment(edge EdgeID) (NodeID, bool) func (*Model).Edge(id EdgeID) *Edge func (*Model).FirstSection(edge EdgeID, reset bool) SectionID func (*Model).UpdateContainment(edge EdgeID) func github.com/d2lang/elk-go/internal/common/elkutil.DetermineJunctionPoints(model *Model, edgeID EdgeID) (geometry.Chain, error) func github.com/d2lang/elk-go/internal/common/elkutil.IsHierarchical(model *Model, edgeID EdgeID) bool func github.com/d2lang/elk-go/internal/common/elkutil.TranslateEdge(model *Model, edgeID EdgeID, x, y float64) func github.com/d2lang/elk-go/internal/core.IsSelfLoop(model *Model, edgeID EdgeID) bool func github.com/d2lang/elk-go/internal/layered.EdgeOrigin(id EdgeID) layered.Origin
ElementID identifies anything that may own labels. Edge EdgeID Kind ElementKind Label LabelID Node NodeID Port PortID func EdgeElementRef(id EdgeID) ElementID func LabelElementRef(id LabelID) ElementID func NodeElementRef(id NodeID) ElementID func PortElementRef(id PortID) ElementID func (*Model).AddLabel(parent ElementID, text string) LabelID func (*Model).Properties(element ElementID) *PropertyMap
const EdgeElement const LabelElement const NodeElement const PortElement
Identifier string IdentifierPresent bool Labels []LabelID Parent ElementID Properties PropertyMap Shape Shape Text string TextPresent bool func (*Model).Label(id LabelID) *Label
func (*Model).AddLabel(parent ElementID, text string) LabelID func LabelElementRef(id LabelID) ElementID func (*Model).Label(id LabelID) *Label func github.com/d2lang/elk-go/internal/layered.LabelOrigin(id LabelID) layered.Origin
Model owns every element. Arena order is creation order and is never derived from map iteration. Edges []Edge Labels []Label Nodes []Node Ports []Port Root NodeID Sections []EdgeSection (*Model) AddEdge(containingNode *NodeID) EdgeID (*Model) AddLabel(parent ElementID, text string) LabelID (*Model) AddNode(parent *NodeID) NodeID (*Model) AddPort(parent NodeID) PortID (*Model) AddSection(edge EdgeID) SectionID (*Model) AddSource(edge EdgeID, source ShapeID) (*Model) AddTarget(edge EdgeID, target ShapeID) (*Model) BestEdgeContainment(edge EdgeID) (NodeID, bool) (*Model) Depth(node NodeID) int (*Model) Descendants(node NodeID) []NodeID (*Model) Edge(id EdgeID) *Edge FirstSection returns an edge's first route section. Resetting preserves that section's identity while replacing the complete pre-existing route. (*Model) IsDescendant(node, ancestor NodeID) bool (*Model) Label(id LabelID) *Label (*Model) LowestCommonAncestor(a, b NodeID) (NodeID, bool) (*Model) Node(id NodeID) *Node (*Model) Port(id PortID) *Port (*Model) Properties(element ElementID) *PropertyMap (*Model) Section(id SectionID) *EdgeSection (*Model) SectionChain(section SectionID) geometry.Chain (*Model) Shape(shape ShapeID) *Shape (*Model) ShapeNode(shape ShapeID) NodeID (*Model) UpdateContainment(edge EdgeID) func NewModel() *Model func github.com/d2lang/elk-go/internal/core.(*Codec).Import(input *graphjson.Graph) (*Model, error) func github.com/d2lang/elk-go/internal/box.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/common/elkutil.AllIncomingEdges(model *Model, nodeID NodeID) []EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.AllOutgoingEdges(model *Model, nodeID NodeID) []EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.ApplyVectorChain(model *Model, sectionID SectionID, chain geometry.Chain) func github.com/d2lang/elk-go/internal/common/elkutil.CalcPortSide(model *Model, portID PortID, direction string) string func github.com/d2lang/elk-go/internal/common/elkutil.DetermineJunctionPoints(model *Model, edgeID EdgeID) (geometry.Chain, error) func github.com/d2lang/elk-go/internal/common/elkutil.EffectiveMinSizeConstraintFor(model *Model, nodeID NodeID) geometry.Point func github.com/d2lang/elk-go/internal/common/elkutil.IsHierarchical(model *Model, edgeID EdgeID) bool func github.com/d2lang/elk-go/internal/common/elkutil.ResizeNode(model *Model, nodeID NodeID, width, height float64, movePorts, moveLabels bool) geometry.Point func github.com/d2lang/elk-go/internal/common/elkutil.ResizeNodeForConstraints(model *Model, nodeID NodeID) bool func github.com/d2lang/elk-go/internal/common/elkutil.Translate(model *Model, parent NodeID, x, y float64) func github.com/d2lang/elk-go/internal/common/elkutil.TranslateAligned(model *Model, parent NodeID, newSize, oldSize geometry.Point) func github.com/d2lang/elk-go/internal/common/elkutil.TranslateEdge(model *Model, edgeID EdgeID, x, y float64) func github.com/d2lang/elk-go/internal/common/nodespacing.CalculateLabelAndNodeSizes(model *Model, parent NodeID, filter func(NodeID) bool) func github.com/d2lang/elk-go/internal/common/nodespacing.CalculateNodeMargins(model *Model, parent NodeID, excludeEdgeHeadTailLabels bool) func github.com/d2lang/elk-go/internal/common/nodespacing.ProcessNodeSize(model *Model, parent, nodeID NodeID, apply bool, _ bool) geometry.Point func github.com/d2lang/elk-go/internal/common/nodespacing.(*NodeMarginCalculator).Process(model *Model, parent NodeID) func github.com/d2lang/elk-go/internal/common/nodespacing.(*NodeMarginCalculator).ProcessNode(model *Model, parent, node NodeID) func github.com/d2lang/elk-go/internal/core.IsSelfLoop(model *Model, edgeID EdgeID) bool func github.com/d2lang/elk-go/internal/core.TranslateSection(model *Model, sectionID SectionID, offset geometry.Point) func github.com/d2lang/elk-go/internal/core.(*Codec).TransferLayout(model *Model) error func github.com/d2lang/elk-go/internal/core.(*Engine).Layout(model *Model) error func github.com/d2lang/elk-go/internal/core.LayoutProvider.Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/fixed.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/force.InitialLayout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/force.NewImporter(model *Model, parent NodeID) *force.Importer func github.com/d2lang/elk-go/internal/force.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/layered.NewElkGraphImporter(model *Model) *layered.ElkGraphImporter func github.com/d2lang/elk-go/internal/layered.NewElkGraphLayoutTransferrer(model *Model, maps layered.ImportMaps) *layered.ElkGraphLayoutTransferrer func github.com/d2lang/elk-go/internal/layeredlayout.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/mrtree.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/radial.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/random.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/rectpacking.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/stress.(*Majorization).Initialize(model *Model, fgraph *force.FGraph) func github.com/d2lang/elk-go/internal/stress.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error
func (*Model).AddNode(parent *NodeID) NodeID func (*Model).BestEdgeContainment(edge EdgeID) (NodeID, bool) func (*Model).Descendants(node NodeID) []NodeID func (*Model).LowestCommonAncestor(a, b NodeID) (NodeID, bool) func (*Model).ShapeNode(shape ShapeID) NodeID func NodeElementRef(id NodeID) ElementID func NodeRef(id NodeID) ShapeID func (*Model).AddEdge(containingNode *NodeID) EdgeID func (*Model).AddNode(parent *NodeID) NodeID func (*Model).AddPort(parent NodeID) PortID func (*Model).Depth(node NodeID) int func (*Model).Descendants(node NodeID) []NodeID func (*Model).IsDescendant(node, ancestor NodeID) bool func (*Model).LowestCommonAncestor(a, b NodeID) (NodeID, bool) func (*Model).Node(id NodeID) *Node func github.com/d2lang/elk-go/internal/box.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/common/elkutil.AllIncomingEdges(model *Model, nodeID NodeID) []EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.AllOutgoingEdges(model *Model, nodeID NodeID) []EdgeID func github.com/d2lang/elk-go/internal/common/elkutil.EffectiveMinSizeConstraintFor(model *Model, nodeID NodeID) geometry.Point func github.com/d2lang/elk-go/internal/common/elkutil.ResizeNode(model *Model, nodeID NodeID, width, height float64, movePorts, moveLabels bool) geometry.Point func github.com/d2lang/elk-go/internal/common/elkutil.ResizeNodeForConstraints(model *Model, nodeID NodeID) bool func github.com/d2lang/elk-go/internal/common/elkutil.Translate(model *Model, parent NodeID, x, y float64) func github.com/d2lang/elk-go/internal/common/elkutil.TranslateAligned(model *Model, parent NodeID, newSize, oldSize geometry.Point) func github.com/d2lang/elk-go/internal/common/nodespacing.CalculateLabelAndNodeSizes(model *Model, parent NodeID, filter func(NodeID) bool) func github.com/d2lang/elk-go/internal/common/nodespacing.CalculateNodeMargins(model *Model, parent NodeID, excludeEdgeHeadTailLabels bool) func github.com/d2lang/elk-go/internal/common/nodespacing.ProcessNodeSize(model *Model, parent, nodeID NodeID, apply bool, _ bool) geometry.Point func github.com/d2lang/elk-go/internal/common/nodespacing.(*NodeMarginCalculator).Process(model *Model, parent NodeID) func github.com/d2lang/elk-go/internal/common/nodespacing.(*NodeMarginCalculator).ProcessNode(model *Model, parent, node NodeID) func github.com/d2lang/elk-go/internal/core.LayoutProvider.Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/fixed.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/force.InitialLayout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/force.NewImporter(model *Model, parent NodeID) *force.Importer func github.com/d2lang/elk-go/internal/force.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/layered.NodeOrigin(id NodeID) layered.Origin func github.com/d2lang/elk-go/internal/layered.(*ElkGraphImporter).ImportGraph(parent NodeID) (*layered.LGraphArena, layered.LGraphID, error) func github.com/d2lang/elk-go/internal/layeredlayout.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/mrtree.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/radial.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/random.(*Provider).Layout(model *Model, parent NodeID, _ core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/rectpacking.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error func github.com/d2lang/elk-go/internal/stress.(*Provider).Layout(model *Model, parent NodeID, monitor core.ProgressMonitor) error
Identifier string IdentifierPresent bool IncomingEdges []EdgeID Labels []LabelID OutgoingEdges []EdgeID Parent NodeID Properties PropertyMap Shape Shape func (*Model).Port(id PortID) *Port
func (*Model).AddPort(parent NodeID) PortID func PortElementRef(id PortID) ElementID func PortRef(id PortID) ShapeID func (*Model).Port(id PortID) *Port func github.com/d2lang/elk-go/internal/common/elkutil.CalcPortSide(model *Model, portID PortID, direction string) string func github.com/d2lang/elk-go/internal/layered.PortOrigin(id PortID) layered.Origin
Type Parameters: T: any Property identifies a typed graph property. Identity follows ELK and is based solely on ID. Default func() T ID string MaterializeDefault bool func CloneablePropertyWithDefault[T](id string, defaultValue func() T) Property[T] func NewProperty[T](id string) Property[T] func PropertyWithDefault[T](id string, defaultValue func() T) Property[T] func Get[T](properties *PropertyMap, property Property[T]) T func Has[T](properties *PropertyMap, property Property[T]) bool func Set[T](properties *PropertyMap, property Property[T], value T) func TryGet[T](properties *PropertyMap, property Property[T]) (T, bool) func Unset[T](properties *PropertyMap, property Property[T]) func github.com/d2lang/elk-go/internal/layered.IndividualOrDefault(arena *layered.LGraphArena, nodeID layered.LNodeID, property *Property[float64]) float64 func github.com/d2lang/elk-go/internal/layered/intermediate/loops.IndividualOrInherited(arena *layered.LGraphArena, nodeID layered.LNodeID, property Property[float64]) float64 var github.com/d2lang/elk-go/internal/basicoptions.BendPoints graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.BoxAspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.BoxPadding graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.BoxSpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.EdgeRouting graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.ExpandNodes graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.FixedPadding graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.Interactive graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.NodeSizeFixedGraphSize graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.NodeSizeOptions graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.PackingMode graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.Position graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.Priority graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.RandomAspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.RandomPadding graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.RandomSeed graph.Property[...] var github.com/d2lang/elk-go/internal/basicoptions.RandomSpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.EdgeLabelsPlacement graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.Margins graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.NodeLabelsPlacement graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.NodeSizeOptions graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.PortAlignment graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.PortBorderOffset graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.PortLabelsPlacement graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.SpacingLabelNode graph.Property[...] var github.com/d2lang/elk-go/internal/common/nodespacing.SpacingPortPort graph.Property[...] var github.com/d2lang/elk-go/internal/core.Algorithm graph.Property[...] var github.com/d2lang/elk-go/internal/core.Animate graph.Property[...] var github.com/d2lang/elk-go/internal/core.AnimationFactor graph.Property[...] var github.com/d2lang/elk-go/internal/core.AspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/core.ChildAreaHeight graph.Property[...] var github.com/d2lang/elk-go/internal/core.ChildAreaWidth graph.Property[...] var github.com/d2lang/elk-go/internal/core.CommentBox graph.Property[...] var github.com/d2lang/elk-go/internal/core.ContentAlignment graph.Property[...] var github.com/d2lang/elk-go/internal/core.Direction graph.Property[...] var github.com/d2lang/elk-go/internal/core.EdgeType graph.Property[...] var github.com/d2lang/elk-go/internal/core.FontName graph.Property[...] var github.com/d2lang/elk-go/internal/core.FontSize graph.Property[...] var github.com/d2lang/elk-go/internal/core.HierarchyHandling graph.Property[...] var github.com/d2lang/elk-go/internal/core.Hypernode graph.Property[...] var github.com/d2lang/elk-go/internal/core.InsideSelfLoopsActivate graph.Property[...] var github.com/d2lang/elk-go/internal/core.InsideSelfLoopsEdge graph.Property[...] var github.com/d2lang/elk-go/internal/core.InteractiveLayout graph.Property[...] var github.com/d2lang/elk-go/internal/core.JSONEdgeCoords graph.Property[...] var github.com/d2lang/elk-go/internal/core.JSONShapeCoords graph.Property[...] var github.com/d2lang/elk-go/internal/core.JunctionPoints graph.Property[...] var github.com/d2lang/elk-go/internal/core.LabelManager graph.Property[...] var github.com/d2lang/elk-go/internal/core.LayoutAncestors graph.Property[...] var github.com/d2lang/elk-go/internal/core.MaxAnimationTime graph.Property[...] var github.com/d2lang/elk-go/internal/core.MinAnimationTime graph.Property[...] var github.com/d2lang/elk-go/internal/core.NodeSizeConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/core.NodeSizeMinimum graph.Property[...] var github.com/d2lang/elk-go/internal/core.NoLayout graph.Property[...] var github.com/d2lang/elk-go/internal/core.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/core.PartitioningActivate graph.Property[...] var github.com/d2lang/elk-go/internal/core.PartitioningPartition graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortAlignmentEast graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortAlignmentNorth graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortAlignmentSouth graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortAlignmentWest graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortAnchor graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortLabelsNextToPortIfPossible graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortLabelsTreatAsGroup graph.Property[...] var github.com/d2lang/elk-go/internal/core.PortSide graph.Property[...] var github.com/d2lang/elk-go/internal/core.ProgressBar graph.Property[...] var github.com/d2lang/elk-go/internal/core.ResolvedAlgorithm graph.Property[...] var github.com/d2lang/elk-go/internal/core.ScaleFactor graph.Property[...] var github.com/d2lang/elk-go/internal/core.SoftwrappingFuzziness graph.Property[...] var github.com/d2lang/elk-go/internal/core.SpacingCommentComment graph.Property[...] var github.com/d2lang/elk-go/internal/core.SpacingCommentNode graph.Property[...] var github.com/d2lang/elk-go/internal/core.SpacingIndividual graph.Property[...] var github.com/d2lang/elk-go/internal/core.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownHierarchicalNodeAspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownHierarchicalNodeWidth graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownLayout graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownNodeType graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownScaleCap graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownScaleFactor graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownSizeApproximator graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownSizeCategories graph.Property[...] var github.com/d2lang/elk-go/internal/core.TopdownSizeCategoriesHierarchicalNodeWeight graph.Property[...] var github.com/d2lang/elk-go/internal/core.ValidateGraph graph.Property[...] var github.com/d2lang/elk-go/internal/core.ValidateOptions graph.Property[...] var github.com/d2lang/elk-go/internal/core.ZoomToFit graph.Property[...] var github.com/d2lang/elk-go/internal/force.AspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/force.EdgeLabelsInline graph.Property[...] var github.com/d2lang/elk-go/internal/force.Interactive graph.Property[...] var github.com/d2lang/elk-go/internal/force.Iterations graph.Property[...] var github.com/d2lang/elk-go/internal/force.Model graph.Property[...] var github.com/d2lang/elk-go/internal/force.NodeSizeFixedGraphSize graph.Property[...] var github.com/d2lang/elk-go/internal/force.OmitNodeMicroLayout graph.Property[...] var github.com/d2lang/elk-go/internal/force.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/force.Priority graph.Property[...] var github.com/d2lang/elk-go/internal/force.RandomSeed graph.Property[...] var github.com/d2lang/elk-go/internal/force.Repulsion graph.Property[...] var github.com/d2lang/elk-go/internal/force.RepulsivePower graph.Property[...] var github.com/d2lang/elk-go/internal/force.SeparateConnectedComponents graph.Property[...] var github.com/d2lang/elk-go/internal/force.SpacingEdgeLabel graph.Property[...] var github.com/d2lang/elk-go/internal/force.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/force.Temperature graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Algorithm graph.Property[...] var github.com/d2lang/elk-go/internal/layered.AlignmentOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.AspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/layered.BarycenterAssociates graph.Property[...] var github.com/d2lang/elk-go/internal/layered.BKEdgeStraightening graph.Property[...] var github.com/d2lang/elk-go/internal/layered.BKFixedAlignment graph.Property[...] var github.com/d2lang/elk-go/internal/layered.BottomComments graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CenterEdgeLabelPlacement graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CoffmanGrahamLayerBound graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CommentConnectionPort graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ComponentGroupID graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ComponentOrdering graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CompoundNode graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ConsiderModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ContentAlignment graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CoordinateSystemOrigin graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossHierarchyEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingCounterNodeInfluence graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingCounterPortInfluence graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingHint graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingMinimization graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingMinimizationEnforcedGroups graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingMinimizationGroupID graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CrossingMinimizationGroupOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CycleBreaking graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CycleBreakingGroupID graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CycleBreakingGroupOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CycleBreakingPreferredSourceID graph.Property[...] var github.com/d2lang/elk-go/internal/layered.CycleBreakingPreferredTargetID graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Cyclic graph.Property[...] var github.com/d2lang/elk-go/internal/layered.DirectionCongruencyOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.DirectionOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EdgeLabelSideSelectionOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EdgeLabelsInline graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EdgeLabelsPlacement graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EdgeRoutingOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EdgeThickness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.EndLabelEdge graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ExternalPortConnections graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ExternalPortReplacedDummies graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ExternalPortReplacedDummy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ExternalPortSide graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ExternalPortSize graph.Property[...] var github.com/d2lang/elk-go/internal/layered.FavorStraightEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.FeedbackEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.FirstTryWithInitialOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ForceNodeModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.GeneratePositionAndLayerIDs graph.Property[...] var github.com/d2lang/elk-go/internal/layered.GraphProperties graph.Property[...] var github.com/d2lang/elk-go/internal/layered.GreedySwitch graph.Property[...] var github.com/d2lang/elk-go/internal/layered.GreedySwitchActivationThreshold graph.Property[...] var github.com/d2lang/elk-go/internal/layered.GreedySwitchHierarchical graph.Property[...] var github.com/d2lang/elk-go/internal/layered.HiddenNodes graph.Property[...] var github.com/d2lang/elk-go/internal/layered.HierarchicalSweepiness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Hierarchy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.HighDegreeNodeThreshold graph.Property[...] var github.com/d2lang/elk-go/internal/layered.HighDegreeNodeTreatment graph.Property[...] var github.com/d2lang/elk-go/internal/layered.HighDegreeNodeTreeHeight graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InLayerLayoutUnit graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InLayerPredecessorOf graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InLayerSuccessorConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InLayerSuccessorConstraintsBetweenNonDummies graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InLayerSuccessorOf graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InputCollect graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InsideConnections graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InteractiveReferencePointOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InternalEdgeConstraint graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InternalInLayerConstraint graph.Property[...] var github.com/d2lang/elk-go/internal/layered.InternalLabelSide graph.Property[...] var github.com/d2lang/elk-go/internal/layered.JunctionPoints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LabelSideOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerChoiceConstraint graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerConstraintOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerIDOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Layering graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerUnzippingLayerSplit graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerUnzippingMinimizeEdgeLength graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerUnzippingResetOnLongEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LayerUnzippingStrategyOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LinearSegmentsDeflectionDampening graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeBeforeLabelDummy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeHasLabelDummies graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeOrdering graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeSource graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeTarget graph.Property[...] var github.com/d2lang/elk-go/internal/layered.LongEdgeTargetNode graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MaximumEdgeThickness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MaximumModelOrderNodes graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MergeEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MergeHierarchyEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MinWidthUpperBound graph.Property[...] var github.com/d2lang/elk-go/internal/layered.MinWidthUpperLayerScaling graph.Property[...] var github.com/d2lang/elk-go/internal/layered.ModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NetworkSimplexNodeFlexibility graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NetworkSimplexNodeFlexibilityDefault graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NetworkSimplexRecomputeNodePlacement graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodeLabelsPadding graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodePlacement graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodePromotionMaxIterations graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodePromotionStrategyOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodeSizeConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NodeSizeMinimum graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NoLayout graph.Property[...] var github.com/d2lang/elk-go/internal/layered.NoModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalBendPoints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalDummyNodePosition graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalElement graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalLabelEdge graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalOppositePort graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OriginalPortConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.OutputCollect graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PartitionDummy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PolylineSlopedEdgeZoneWidth graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortAnchor graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortBorderOffset graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortConstraintsOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortDummy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortIndex graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortRatioOrPosition graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortSideOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PortSortingStrategyOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PositionChoiceConstraint graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PositionIDOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PositionOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PostCompactionConstraints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PostCompactionStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PriorityDirection graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PriorityShortness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.PriorityStraightness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Random graph.Property[...] var github.com/d2lang/elk-go/internal/layered.RandomSeed graph.Property[...] var github.com/d2lang/elk-go/internal/layered.RepresentedLabels graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Reversed graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SecondTryWithInitialOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SelfLoopDistribution graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SelfLoopOrdering graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SemiInteractive graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SeparateComponents graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingBaseValue graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingComponentComponent graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingEdgeEdge graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingEdgeEdgeBetweenLayers graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingEdgeLabel graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingEdgeNode graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingEdgeNodeBetweenLayers graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingIndividual graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingLabelLabel graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingLabelNode graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingLabelPortHorizontal graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingLabelPortVertical graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingNodeNodeBetweenLayers graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingNodeSelfLoop graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingPortPort graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SpacingPortsSurrounding graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SplineCompactionSegments graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SplineControlPointSegments graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SplineNorthSouthPortY graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SplineRoutingModeOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.SplineSloppyLayerSpacingFactor graph.Property[...] var github.com/d2lang/elk-go/internal/layered.TargetNodeModelOrder graph.Property[...] var github.com/d2lang/elk-go/internal/layered.TargetOffset graph.Property[...] var github.com/d2lang/elk-go/internal/layered.Thoroughness graph.Property[...] var github.com/d2lang/elk-go/internal/layered.TopComments graph.Property[...] var github.com/d2lang/elk-go/internal/layered.UnnecessaryBendpoints graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingAdditionalEdgeSpacing graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingCorrectionFactor graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingCuttingCuts graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingCuttingMSDFreedom graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingCuttingStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingMultiEdgeDistancePenalty graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingMultiEdgeImproveCuts graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingMultiEdgeImproveWrappedEdges graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingStrategyOption graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingValidifyForbiddenIndices graph.Property[...] var github.com/d2lang/elk-go/internal/layered.WrappingValidifyStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/layered/intermediate/loops.HolderProperty graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.AspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Compaction graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Direction graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.EdgeEndTextureLength graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.EdgeRoutingMode graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Interactive graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.NodeSizeFixedGraphSize graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.OmitNodeMicroLayout graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.PositionConstraint graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Priority graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.SearchOrder graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.SeparateConnectedComponents graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.SpacingEdgeNode graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.TreeLevel graph.Property[...] var github.com/d2lang/elk-go/internal/mrtree.Weighting graph.Property[...] var github.com/d2lang/elk-go/internal/radial.CenterOnRoot graph.Property[...] var github.com/d2lang/elk-go/internal/radial.CompactionStepSize graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Compactor graph.Property[...] var github.com/d2lang/elk-go/internal/radial.OmitNodeMicroLayout graph.Property[...] var github.com/d2lang/elk-go/internal/radial.OptimizationCriteria graph.Property[...] var github.com/d2lang/elk-go/internal/radial.OrderID graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Position graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Radius graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Rotate graph.Property[...] var github.com/d2lang/elk-go/internal/radial.RotationComputeAdditionalWedgeSpace graph.Property[...] var github.com/d2lang/elk-go/internal/radial.RotationOutgoingEdgeAngles graph.Property[...] var github.com/d2lang/elk-go/internal/radial.RotationTargetAngle graph.Property[...] var github.com/d2lang/elk-go/internal/radial.Sorter graph.Property[...] var github.com/d2lang/elk-go/internal/radial.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/radial.WedgeCriteria graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.AspectRatio graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.CompactionIterations graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.CurrentPosition graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.DesiredPosition graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.InNewRow graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.Interactive graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.LastPlaceShift graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.OmitNodeMicroLayout graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.OptimizationGoal graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.OrderBySize graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.PackingStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.RowHeightReevaluation graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.TargetWidth graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.TryBox graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.WhiteSpaceEliminationStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/rectpacking.WidthApproximationStrategy graph.Property[...] var github.com/d2lang/elk-go/internal/spore.Compaction graph.Property[...] var github.com/d2lang/elk-go/internal/spore.DebugMode graph.Property[...] var github.com/d2lang/elk-go/internal/spore.MaxIterations graph.Property[...] var github.com/d2lang/elk-go/internal/spore.Orthogonal graph.Property[...] var github.com/d2lang/elk-go/internal/spore.Padding graph.Property[...] var github.com/d2lang/elk-go/internal/spore.PreferredRoot graph.Property[...] var github.com/d2lang/elk-go/internal/spore.RootSelection graph.Property[...] var github.com/d2lang/elk-go/internal/spore.RunScanline graph.Property[...] var github.com/d2lang/elk-go/internal/spore.SpacingNodeNode graph.Property[...] var github.com/d2lang/elk-go/internal/spore.SpanningTreeCost graph.Property[...] var github.com/d2lang/elk-go/internal/spore.StructureExtraction graph.Property[...] var github.com/d2lang/elk-go/internal/spore.TreeConstruction graph.Property[...] var github.com/d2lang/elk-go/internal/spore.UnderlyingLayoutAlgorithm graph.Property[...] var github.com/d2lang/elk-go/internal/stress.DesiredEdgeLength graph.Property[...] var github.com/d2lang/elk-go/internal/stress.Dimension graph.Property[...] var github.com/d2lang/elk-go/internal/stress.Epsilon graph.Property[...] var github.com/d2lang/elk-go/internal/stress.Fixed graph.Property[...] var github.com/d2lang/elk-go/internal/stress.IterationLimit graph.Property[...]
PropertyEntry is one insertion-ordered property map entry. ID string Value any func (*PropertyMap).Entries() []PropertyEntry
PropertyMap preserves Java LinkedHashMap insertion order while retaining constant-time lookup. (*PropertyMap) Clone() PropertyMap (*PropertyMap) CopyFrom(other *PropertyMap) (*PropertyMap) Delete(id string) (*PropertyMap) Empty() bool (*PropertyMap) Entries() []PropertyEntry (*PropertyMap) Has(id string) bool (*PropertyMap) Len() int (*PropertyMap) Raw(id string) (any, bool) (*PropertyMap) SetRaw(id string, value any) func (*Model).Properties(element ElementID) *PropertyMap func (*PropertyMap).Clone() PropertyMap func Get[T](properties *PropertyMap, property Property[T]) T func Has[T](properties *PropertyMap, property Property[T]) bool func Set[T](properties *PropertyMap, property Property[T], value T) func TryGet[T](properties *PropertyMap, property Property[T]) (T, bool) func Unset[T](properties *PropertyMap, property Property[T]) func (*PropertyMap).CopyFrom(other *PropertyMap) func github.com/d2lang/elk-go/internal/layered.ApplySpacingBaseValue(properties *PropertyMap, base float64) func github.com/d2lang/elk-go/internal/layered.(*LGraphArena).CreateExternalPortDummy(propertyHolder *PropertyMap, portConstraints layered.PortConstraints, portSide layered.PortSide, netFlow int, portNodeSize *geometry.Point, portPosition *geometry.Point, portSize geometry.Point, layoutDirection layered.Direction, graphID layered.LGraphID) layered.LNodeID func github.com/d2lang/elk-go/internal/layered/intermediate/preserveorder.CalculateModelOrderOrGroupModelOrder(graph *layered.LGraph, element, other *PropertyMap, offset int) int
func (*Model).AddSection(edge EdgeID) SectionID func (*Model).FirstSection(edge EdgeID, reset bool) SectionID func (*Model).Section(id SectionID) *EdgeSection func (*Model).SectionChain(section SectionID) geometry.Chain func github.com/d2lang/elk-go/internal/common/elkutil.ApplyVectorChain(model *Model, sectionID SectionID, chain geometry.Chain) func github.com/d2lang/elk-go/internal/core.TranslateSection(model *Model, sectionID SectionID, offset geometry.Point)
Shape stores parent-relative geometry. Presence records which values were explicitly present in imported JSON before layout. Height float64 Presence ShapePresence Width float64 X float64 Y float64 ( Shape) Position() geometry.Point ( Shape) Rectangle() geometry.Rectangle (*Shape) SetDimensions(width, height float64) (*Shape) SetLocation(x, y float64) func (*Model).Shape(shape ShapeID) *Shape
ShapeID identifies anything an edge may connect to. Kind ShapeKind Node NodeID Port PortID func NodeRef(id NodeID) ShapeID func PortRef(id PortID) ShapeID func (*Model).AddSource(edge EdgeID, source ShapeID) func (*Model).AddTarget(edge EdgeID, target ShapeID) func (*Model).Shape(shape ShapeID) *Shape func (*Model).ShapeNode(shape ShapeID) NodeID
const NodeShape const PortShape
const HasHeight const HasWidth const HasX const HasY
Package-Level Functions (total 16)
Type Parameters: T: any
Type Parameters: T: any Get returns an explicitly stored value, then the property's default, then T's zero value. Cloneable Java defaults are materialized on first read.
Type Parameters: T: any
JavaString produces the value spelling consumed and emitted by ELK's layout option metadata layer.
func NewModel() *Model
Type Parameters: T: any
Type Parameters: T: any
Type Parameters: T: any
Type Parameters: T: any
Type Parameters: T: any
Package-Level Constants (total 10)
const HasX ShapePresence = 1
const HasY ShapePresence = 2
const NodeShape ShapeKind = 0
const PortShape ShapeKind = 1