# Constants

Import these from `@grafloria/engine`.

## Constants

### `ALL_LOD_FEATURES`

Every feature, in a stable order. Handy for "render everything" tiers.

```ts
const ALL_LOD_FEATURES: readonly LODFeature[]
```

### `BPMNTypes`

BPMN node type identifiers

```ts
const BPMNTypes: { readonly TASK: "bpmn:task"; readonly USER_TASK: "bpmn:user-task"; readonly SERVICE_TASK: "bpmn:service-task"; readonly MANUAL_TASK: "bpmn:manual-task"; readonly BUSINESS_RULE_TASK: "bpmn:business-rule-task"; readonly SCRIPT_TASK: "bpmn:script-task"; readonly EXCLUSIVE_GATEWAY: "bpmn:exclusive-gateway"; readonly PARALLEL_GATEWAY: "bpmn:parallel-gateway"; readonly INCLUSIVE_GATEWAY: "bpmn:inclusive-gateway"; readonly START_EVENT: "bpmn:start-event"; readonly END_EVENT: "bpmn:end-event"; readonly INTERMEDIATE_EVENT: "bpmn:intermediate-event"; readonly MESSAGE_EVENT: …
```

### `DEFAULT_FLEXBOX_CONFIG`

Default flexbox configuration

```ts
const DEFAULT_FLEXBOX_CONFIG: FlexboxLayoutConfig
```

### `DEFAULT_GRID_CONFIG`

Default grid configuration

```ts
const DEFAULT_GRID_CONFIG: GridLayoutConfig
```

### `DiagramEventTypes`

```ts
const DiagramEventTypes: { readonly NODE_ADDED: "node:added"; readonly NODE_REMOVED: "node:removed"; readonly NODE_MOVED: "node:moved"; readonly NODE_RESIZED: "node:resized"; readonly NODE_SELECTED: "node:selected"; readonly NODE_DESELECTED: "node:deselected"; readonly NODE_UPDATED: "node:updated"; readonly NODE_PARENT_CHANGED: "node:parent-changed"; readonly LINK_ADDED: "link:added"; readonly LINK_REMOVED: "link:removed"; readonly LINK_UPDATED: "link:updated"; readonly LINK_SELECTED: "link:selected"; readonly LINK_DESELECTED: "link:deselected"; readonly LINK_POINT_ADDED: "link:point-added"; …
```

### `ERDTypes`

ERD node type identifiers

```ts
const ERDTypes: { readonly ENTITY: "erd:entity"; readonly WEAK_ENTITY: "erd:weak-entity"; readonly RELATIONSHIP: "erd:relationship"; readonly WEAK_RELATIONSHIP: "erd:weak-relationship"; readonly ISA_RELATIONSHIP: "erd:isa"; readonly ATTRIBUTE: "erd:attribute"; readonly KEY_ATTRIBUTE: "erd:key-attribute"; readonly MULTIVALUED_ATTRIBUTE: "erd:multivalued-attribute"; readonly DERIVED_ATTRIBUTE: "erd:derived-attribute"; readonly COMPOSITE_ATTRIBUTE: "erd:composite-attribute"; readonly ASSOCIATIVE_ENTITY: "erd:associative-entity"; readonly PARTIAL_KEY_ATTRIBUTE: "erd:partial-key"; readonly …
```

### `FlowchartTypes`

Flowchart node type identifiers

```ts
const FlowchartTypes: { readonly PROCESS: "flowchart:process"; readonly DECISION: "flowchart:decision"; readonly TERMINAL: "flowchart:terminal"; readonly DATA: "flowchart:data"; readonly DOCUMENT: "flowchart:document"; readonly CONNECTOR: "flowchart:connector"; readonly DELAY: "flowchart:delay"; readonly MANUAL_INPUT: "flowchart:manual-input"; readonly MANUAL_OPERATION: "flowchart:manual-operation"; readonly PREDEFINED_PROCESS: "flowchart:predefined-process"; readonly STORED_DATA: "flowchart:stored-data"; readonly DISPLAY: "flowchart:display"; readonly PREPARATION: "flowchart:preparation"; …
```

### `IDENTITY_MATRIX`

Identity matrix (no transformation)

```ts
const IDENTITY_MATRIX: TransformMatrix
```

### `UMLTypes`

UML node type identifiers

```ts
const UMLTypes: { readonly CLASS: "uml:class"; readonly INTERFACE: "uml:interface"; readonly ABSTRACT_CLASS: "uml:abstract-class"; readonly ENUM: "uml:enum"; readonly PACKAGE: "uml:package"; readonly COMPONENT: "uml:component"; readonly NODE: "uml:node"; readonly ACTOR: "uml:actor"; readonly USE_CASE: "uml:use-case"; readonly STATE: "uml:state"; readonly INITIAL_STATE: "uml:initial-state"; readonly FINAL_STATE: "uml:final-state"; readonly NOTE: "uml:note"; readonly ACTIVITY: "uml:activity"; readonly DECISION: "uml:decision"; readonly MERGE: "uml:merge"; readonly FORK: "uml:fork"; readonly …
```
