rune-langium / visual-editor/src / StructureDataNode
Interface: StructureDataNode
Defined in: packages/visual-editor/src/types/structure-view.ts:160
A Data node in the Structure View graph.
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
annotations? | readonly | readonly string[] | Phase A — annotation display strings (e.g. metadata, rootType) derived from the AST annotations via annotationsToDisplay. Surfaced via the header annotations (@) indicator. Empty / undefined when none. | packages/visual-editor/src/types/structure-view.ts:205 |
conditions? | readonly | readonly StructureConditionMeta[] | Phase A — condition display meta derived from the AST conditions via conditionsToDisplay. Surfaced via the header conditions (✓) indicator. Empty / undefined when none. | packages/visual-editor/src/types/structure-view.ts:211 |
deferred? | readonly | boolean | True when this node is a deferred curated placeholder whose namespace hasn't been on-demand hydrated yet (forwarded from GraphNodeMeta.deferred via AdapterNode). Drives the same hydrating-spinner treatment as the main graph canvas. | packages/visual-editor/src/types/structure-view.ts:191 |
definition? | readonly | string | Phase A — type-level documentation (the definition string on the AST Data node). Surfaced via the header doc (ⓘ) indicator. Undefined / empty when the type has no documentation. | packages/visual-editor/src/types/structure-view.ts:199 |
expansions | readonly | ReadonlyMap<string, string> | Direct expansions (attrName → child INSTANCE id). The child id keys into StructureGraphInput.nodes (which is per-instance keyed). | packages/visual-editor/src/types/structure-view.ts:217 |
extendsName? | readonly | string | - | packages/visual-editor/src/types/structure-view.ts:192 |
extendsNodeId? | readonly | string | - | packages/visual-editor/src/types/structure-view.ts:193 |
id | readonly | string | CANONICAL node id (e.g. cdm.trade.Party). Cells / editors look up the shared type description by this id. Multiple visible instances of the same type share the same id — they are distinguished by instanceId. | packages/visual-editor/src/types/structure-view.ts:166 |
instanceId? | readonly | string | Per-instance discriminator id (Phase 14e). The adapter emits one StructureDataNode per visible occurrence of a type; each carries its own expansions map so chevrons on different instances don't bleed into each other (e.g. buyer.Party vs seller.Party). For root placements this equals the canonical id. For nested instances it follows the layout's instance-id format (${parentInstanceId}::${attrName}::${canonicalId}). The nodes map in StructureGraphInput is keyed on instanceId when the adapter populates it. Layout-only test fixtures may omit instanceId; the layout falls back to id so existing fixtures continue to work. | packages/visual-editor/src/types/structure-view.ts:181 |
kind | readonly | "data" | - | packages/visual-editor/src/types/structure-view.ts:182 |
name | readonly | string | - | packages/visual-editor/src/types/structure-view.ts:183 |
namespaceUri | readonly | string | - | packages/visual-editor/src/types/structure-view.ts:184 |
rows | readonly | readonly StructureRow[] | - | packages/visual-editor/src/types/structure-view.ts:212 |