package nodespacing

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

Dependency Relation
	imports 5 packages, and imported by 9 packages


Package-Level Type Names (only one)
/* sort by: | */
NodeMarginCalculator is a direct port of ELK v0.8.1's calculator. Its switches intentionally mutate the receiver, mirroring the Java fluent API. (*NodeMarginCalculator) ExcludeEdgeHeadTailLabels() *NodeMarginCalculator (*NodeMarginCalculator) ExcludeLabels() *NodeMarginCalculator (*NodeMarginCalculator) ExcludePortLabels() *NodeMarginCalculator (*NodeMarginCalculator) ExcludePorts() *NodeMarginCalculator Process calculates margins for every direct child of parent. (*NodeMarginCalculator) ProcessNode(model *graph.Model, parent, node graph.NodeID) func NewNodeMarginCalculator() *NodeMarginCalculator func (*NodeMarginCalculator).ExcludeEdgeHeadTailLabels() *NodeMarginCalculator func (*NodeMarginCalculator).ExcludeLabels() *NodeMarginCalculator func (*NodeMarginCalculator).ExcludePortLabels() *NodeMarginCalculator func (*NodeMarginCalculator).ExcludePorts() *NodeMarginCalculator
Package-Level Functions (total 4)
CalculateLabelAndNodeSizes processes every direct child of parent. This is the NodeDimensionCalculation entry point used by layered import.
func CalculateNodeMargins(model *graph.Model, parent graph.NodeID, excludeEdgeHeadTailLabels bool)
ProcessNodeSize applies ELK's fixed/minimum-size path and fixed-position port placement. Those are the paths exercised by D2's ELK graphs. The function deliberately exposes the same apply/ignore switches as the Java entry point so the remaining cell-system constraints can be added without changing callers.
Package-Level Variables (total 9)
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.
These properties retain the exact CoreOptions identifiers used by ELK v0.8.1. They live here until the generated option metadata is ported.