# ELKLayoutOptions

Import it from `@grafloria/engine`.

Also has every member of `LayoutOptions`, listed on its own entry.

ELK-specific layout options

```ts
interface ELKLayoutOptions extends LayoutOptions
```

**Properties**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| `algorithm` | `ELKAlgorithm` |  | ELK algorithm to use |
| `'elk.direction'?` | `'RIGHT' \| 'LEFT' \| 'DOWN' \| 'UP'` |  | Layout direction |
| `'elk.spacing.nodeNode'?` | `number` |  | Spacing between nodes |
| `'elk.spacing.edgeNode'?` | `number` |  | Spacing between edges and nodes |
| `'elk.spacing.edgeEdge'?` | `number` |  | Spacing between edges |
| `'elk.spacing.edgeLabel'?` | `number` |  | Spacing between an edge and its label |
| `'elk.layered.spacing.nodeNodeBetweenLayers'?` | `number` |  | Spacing between nodes in different layers |
| `'elk.layered.spacing.edgeNodeBetweenLayers'?` | `number` |  | Spacing between edges and nodes in different layers |
| `'elk.layered.nodePlacement.strategy'?` | `\| 'SIMPLE' \| 'INTERACTIVE' \| 'LINEAR_SEGMENTS' \| 'BRANDES_KOEPF' \| 'NETWORK_SIMPLEX'` |  | Node placement strategy for layered algorithm |
| `'elk.layered.crossingMinimization.strategy'?` | `'LAYER_SWEEP' \| 'INTERACTIVE'` |  | Crossing minimization strategy |
| `'elk.force.repulsion'?` | `number` |  | Repulsion force strength |
| `'elk.force.temperature'?` | `number` |  | Temperature for force algorithm |
| `'elk.force.iterations'?` | `number` |  | Number of iterations for force algorithm |
| `'elk.radial.radius'?` | `number` |  | Radius for radial layout |
| `'elk.radial.compaction'?` | `boolean` |  | Whether to compact radial layout |
| `hierarchyHandling?` | `'INCLUDE_CHILDREN' \| 'SEPARATE_CHILDREN'` |  | How to handle hierarchical graphs |
| `edgeRouting?` | `'ORTHOGONAL' \| 'POLYLINE' \| 'SPLINES'` |  | Edge routing style |
| `'elk.direction'?` | `'RIGHT' \| 'LEFT' \| 'DOWN' \| 'UP'` |  | Layout direction |
| `'elk.spacing.nodeNode'?` | `number` |  | Spacing between nodes |
| `'elk.spacing.edgeNode'?` | `number` |  | Spacing between edges and nodes |
| `'elk.spacing.edgeEdge'?` | `number` |  | Spacing between edges |
| `'elk.spacing.edgeLabel'?` | `number` |  | Spacing between an edge and its label |
| `'elk.layered.spacing.nodeNodeBetweenLayers'?` | `number` |  | Spacing between nodes in different layers |
| `'elk.layered.spacing.edgeNodeBetweenLayers'?` | `number` |  | Spacing between edges and nodes in different layers |
| `'elk.layered.nodePlacement.strategy'?` | `\| 'SIMPLE' \| 'INTERACTIVE' \| 'LINEAR_SEGMENTS' \| 'BRANDES_KOEPF' \| 'NETWORK_SIMPLEX'` |  | Node placement strategy for layered algorithm |
| `'elk.layered.crossingMinimization.strategy'?` | `'LAYER_SWEEP' \| 'INTERACTIVE'` |  | Crossing minimization strategy |
| `'elk.force.repulsion'?` | `number` |  | Repulsion force strength |
| `'elk.force.temperature'?` | `number` |  | Temperature for force algorithm |
| `'elk.force.iterations'?` | `number` |  | Number of iterations for force algorithm |
| `'elk.radial.radius'?` | `number` |  | Radius for radial layout |
| `'elk.radial.compaction'?` | `boolean` |  | Whether to compact radial layout |
