package spore

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

Dependency Relation
	imports 9 packages, and imported by one package

Involved Source Files Package spore is a native Go port of the SPOrE overlap-removal and compaction providers targeting ELK.js 0.12.0 behavior. The implementation is translated from these EPL-2.0 sources at ELK commit 5dc0f65c78778beb74a36e0f470c6fe6ecdcef67: - plugins/org.eclipse.elk.alg.spore/src/org/eclipse/elk/alg/spore/** - plugins/org.eclipse.elk.alg.common/src/org/eclipse/elk/alg/common/ {BowyerWatsonTriangulation,NaiveMinST,TEdge,TTriangle,Tree}.java - plugins/org.eclipse.elk.alg.common/src/org/eclipse/elk/alg/common/spore/** - the relevant geometry methods in ElkMath, KVector, and Utils The exact official elkjs 0.12.0 bundle is the behavioral oracle. No code from elkrs or OpenJDK is used by this package. execution.go geometry.go importer.go model.go options.go provider.go register.go scanline.go triangulation.go
Package-Level Functions (total 2)
Register installs both providers and captures the registry for ELK's optional underlyingLayoutAlgorithm delegation.
RegisterOptions installs the metadata generated from SPOrE.melk in ELK 0.8.1. Shared core options are registered only when absent.
Package-Level Constants (total 13)
const CompactionAlgorithmID = "org.eclipse.elk.sporeCompaction"
const CompactionDepthFirst = "DEPTH_FIRST"
const CostCenterDistance = "CENTER_DISTANCE"
const CostCircleUnderlap = "CIRCLE_UNDERLAP"
const CostInvertedOverlap = "INVERTED_OVERLAP"
const CostMinimumRootDistance = "MINIMUM_ROOT_DISTANCE"
const CostRectangleUnderlap = "RECTANGLE_UNDERLAP"
const OverlapAlgorithmID = "org.eclipse.elk.sporeOverlap"
const RootCenter = "CENTER_NODE"
const RootFixed = "FIXED"
const StructureDelaunay = "DELAUNAY_TRIANGULATION"
const TreeMaximum = "MAXIMUM_SPANNING_TREE"
const TreeMinimum = "MINIMUM_SPANNING_TREE"