@kabel-project/kabel 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/(1.0.7)kabel.md +18 -0
  2. package/README.md +96 -0
  3. package/_READ_ME_MEDIA_/documentation/docs.md +293 -0
  4. package/_READ_ME_MEDIA_/workspace.png +0 -0
  5. package/comment-renderer/renderer.ts +228 -0
  6. package/controllers/base.ts +186 -0
  7. package/controllers/wasd.ts +132 -0
  8. package/docs/README.md +98 -0
  9. package/docs/_media/docs.md +289 -0
  10. package/docs/_media/index.html +168 -0
  11. package/docs/_media/workspace.png +0 -0
  12. package/docs/classes/CommentModel.md +271 -0
  13. package/docs/classes/CommentRenderer.md +457 -0
  14. package/docs/classes/ConnectableField.md +597 -0
  15. package/docs/classes/Connection.md +191 -0
  16. package/docs/classes/ContextMenuHTML.md +163 -0
  17. package/docs/classes/Coordinates.md +187 -0
  18. package/docs/classes/DropdownContainer.md +300 -0
  19. package/docs/classes/DummyField.md +393 -0
  20. package/docs/classes/Eventer.md +185 -0
  21. package/docs/classes/Field.md +461 -0
  22. package/docs/classes/InjectMsg.md +85 -0
  23. package/docs/classes/NodeSvg.md +1011 -0
  24. package/docs/classes/NumberField.md +559 -0
  25. package/docs/classes/OptConnectField.md +624 -0
  26. package/docs/classes/Renderer.md +1636 -0
  27. package/docs/classes/RendererConstants.md +343 -0
  28. package/docs/classes/Representer.md +95 -0
  29. package/docs/classes/RepresenterNode.md +175 -0
  30. package/docs/classes/TextField.md +559 -0
  31. package/docs/classes/Toolbox.md +172 -0
  32. package/docs/classes/WASDController.md +616 -0
  33. package/docs/classes/Widget.md +195 -0
  34. package/docs/classes/WorkspaceController.md +385 -0
  35. package/docs/classes/WorkspaceCoords.md +218 -0
  36. package/docs/classes/WorkspaceSvg.md +1380 -0
  37. package/docs/functions/clearMainWorkspace.md +20 -0
  38. package/docs/functions/getMainWorkspace.md +19 -0
  39. package/docs/functions/inject.md +35 -0
  40. package/docs/functions/setMainWorkspace.md +28 -0
  41. package/docs/globals.md +95 -0
  42. package/docs/interfaces/ColorStyle.md +43 -0
  43. package/docs/interfaces/ConnectorToFrom.md +57 -0
  44. package/docs/interfaces/DrawState.md +81 -0
  45. package/docs/interfaces/FieldConnectionData.md +25 -0
  46. package/docs/interfaces/FieldOptions.md +63 -0
  47. package/docs/interfaces/FieldRawBoxData.md +25 -0
  48. package/docs/interfaces/FieldVisualInfo.md +65 -0
  49. package/docs/interfaces/GridOptions.md +61 -0
  50. package/docs/interfaces/InjectOptions.md +133 -0
  51. package/docs/interfaces/InputFieldJson.md +50 -0
  52. package/docs/interfaces/KabelCommentRendering.md +31 -0
  53. package/docs/interfaces/KabelInterface.md +469 -0
  54. package/docs/interfaces/KabelNodeRendering.md +77 -0
  55. package/docs/interfaces/KabelUIX.md +105 -0
  56. package/docs/interfaces/KabelUtils.md +215 -0
  57. package/docs/interfaces/NodeEvents.md +42 -0
  58. package/docs/interfaces/NodeJson.md +104 -0
  59. package/docs/interfaces/NodePrototype.md +82 -0
  60. package/docs/interfaces/RegisteredEl.md +53 -0
  61. package/docs/interfaces/SerializedNode.md +128 -0
  62. package/docs/interfaces/TblxCategoryStruct.md +41 -0
  63. package/docs/interfaces/TblxFieldStruct.md +28 -0
  64. package/docs/interfaces/TblxNodeStruct.md +35 -0
  65. package/docs/interfaces/WidgetOptions.md +115 -0
  66. package/docs/interfaces/WidgetPrototypeList.md +15 -0
  67. package/docs/type-aliases/AnyField.md +13 -0
  68. package/docs/type-aliases/AnyFieldCls.md +13 -0
  69. package/docs/type-aliases/Color.md +13 -0
  70. package/docs/type-aliases/Connectable.md +13 -0
  71. package/docs/type-aliases/EventArgs.md +11 -0
  72. package/docs/type-aliases/EventSetupFn.md +25 -0
  73. package/docs/type-aliases/Hex.md +13 -0
  74. package/docs/type-aliases/RGBObject.md +37 -0
  75. package/docs/type-aliases/RGBString.md +13 -0
  76. package/docs/type-aliases/RGBTuple.md +13 -0
  77. package/docs/type-aliases/TblxObjStruct.md +52 -0
  78. package/docs/variables/CategoryColors.md +29 -0
  79. package/docs/variables/FieldMap.md +41 -0
  80. package/docs/variables/NodePrototypes.md +18 -0
  81. package/docs/variables/default.md +11 -0
  82. package/events/comment-drag-handle.ts +61 -0
  83. package/events/comment-input.ts +291 -0
  84. package/events/connection-line.ts +68 -0
  85. package/events/connector.ts +116 -0
  86. package/events/draggable.ts +119 -0
  87. package/events/events.ts +7 -0
  88. package/events/input-box.ts +213 -0
  89. package/events/node-x-btn.ts +25 -0
  90. package/index.d.ts +4 -0
  91. package/package.json +49 -0
  92. package/renderers/apollo/apollo.ts +21 -0
  93. package/renderers/apollo/constants.ts +40 -0
  94. package/renderers/apollo/renderer.ts +331 -0
  95. package/renderers/atlas/atlas.ts +15 -0
  96. package/renderers/constants.ts +87 -0
  97. package/renderers/renderer.ts +1288 -0
  98. package/renderers/representer-node.ts +52 -0
  99. package/renderers/representer.ts +25 -0
  100. package/src/category.ts +107 -0
  101. package/src/colors.ts +20 -0
  102. package/src/comment.ts +142 -0
  103. package/src/connection.ts +114 -0
  104. package/src/context-menu.ts +194 -0
  105. package/src/coordinates.ts +74 -0
  106. package/src/core.ts +202 -0
  107. package/src/ctx-menu-registry.ts +143 -0
  108. package/src/dropdown-menu.ts +215 -0
  109. package/src/field.ts +595 -0
  110. package/src/flyout.ts +165 -0
  111. package/src/fonts-manager.ts +38 -0
  112. package/src/grid.ts +162 -0
  113. package/src/headless-node.ts +27 -0
  114. package/src/index.ts +115 -0
  115. package/src/inject-headless.ts +18 -0
  116. package/src/inject.ts +213 -0
  117. package/src/main-workspace.ts +51 -0
  118. package/src/mutator.ts +40 -0
  119. package/src/node-types.ts +27 -0
  120. package/src/nodesvg.ts +756 -0
  121. package/src/prototypes.ts +9 -0
  122. package/src/renderer-map.ts +86 -0
  123. package/src/styles.css +224 -0
  124. package/src/toolbox.ts +125 -0
  125. package/src/types.ts +205 -0
  126. package/src/undo-redo.ts +87 -0
  127. package/src/visual-types.ts +29 -0
  128. package/src/widget-prototypes.ts +11 -0
  129. package/src/widget.ts +139 -0
  130. package/src/workspace-coords.ts +14 -0
  131. package/src/workspace-svg.ts +736 -0
  132. package/src/workspace.ts +155 -0
  133. package/test-server.js +61 -0
  134. package/themes/dark.ts +32 -0
  135. package/themes/default.ts +28 -0
  136. package/themes/themes.ts +9 -0
  137. package/tsconfig.json +25 -0
  138. package/typedoc.json +10 -0
  139. package/util/emitter.ts +33 -0
  140. package/util/env.ts +11 -0
  141. package/util/escape-html.ts +22 -0
  142. package/util/eventer.ts +108 -0
  143. package/util/has-prop.ts +4 -0
  144. package/util/parse-color.ts +42 -0
  145. package/util/path.ts +99 -0
  146. package/util/styler.ts +41 -0
  147. package/util/uid.ts +184 -0
  148. package/util/unescape-html.ts +22 -0
  149. package/util/user-state.ts +68 -0
  150. package/util/wait-anim-frames.ts +24 -0
  151. package/util/window-listeners.ts +62 -0
  152. package/webpack.config.js +80 -0
@@ -0,0 +1,1636 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / Renderer
6
+
7
+ # Class: Renderer
8
+
9
+ Defined in: [renderers/renderer.ts:43](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L43)
10
+
11
+ ## Constructors
12
+
13
+ ### Constructor
14
+
15
+ > **new Renderer**(`workspace`, `overrides`): `Renderer`
16
+
17
+ Defined in: [renderers/renderer.ts:128](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L128)
18
+
19
+ Constructor for the Renderer class.
20
+
21
+ #### Parameters
22
+
23
+ ##### workspace
24
+
25
+ [`WorkspaceSvg`](WorkspaceSvg.md)
26
+
27
+ The workspace associated with the renderer.
28
+
29
+ ##### overrides
30
+
31
+ `Partial`\<[`RendererConstants`](RendererConstants.md)\> = `{}`
32
+
33
+ Optional constant overrides for the renderer.
34
+
35
+ #### Returns
36
+
37
+ `Renderer`
38
+
39
+ ## Properties
40
+
41
+ ### \_commentDrawer
42
+
43
+ > **\_commentDrawer**: [`CommentRenderer`](CommentRenderer.md)
44
+
45
+ Defined in: [renderers/renderer.ts:71](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L71)
46
+
47
+ Comment renderer instance used for rendering comments.
48
+
49
+ ***
50
+
51
+ ### \_constants
52
+
53
+ > **\_constants**: [`RendererConstants`](RendererConstants.md)
54
+
55
+ Defined in: [renderers/renderer.ts:47](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L47)
56
+
57
+ Set of constants the renderer uses for drawing nodes.
58
+
59
+ ***
60
+
61
+ ### \_currentNode
62
+
63
+ > **\_currentNode**: [`NodeSvg`](NodeSvg.md) \| `null`
64
+
65
+ Defined in: [renderers/renderer.ts:51](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L51)
66
+
67
+ The current node being rendered.
68
+
69
+ ***
70
+
71
+ ### \_drawStates
72
+
73
+ > **\_drawStates**: [`DrawState`](../interfaces/DrawState.md)[]
74
+
75
+ Defined in: [renderers/renderer.ts:67](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L67)
76
+
77
+ Array of stored draw states for rendered nodes.
78
+
79
+ ***
80
+
81
+ ### \_nodeDraw
82
+
83
+ > **\_nodeDraw**: [`DrawState`](../interfaces/DrawState.md) \| `null`
84
+
85
+ Defined in: [renderers/renderer.ts:59](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L59)
86
+
87
+ The current drawing state for the node.
88
+
89
+ ***
90
+
91
+ ### \_nodeGroup
92
+
93
+ > **\_nodeGroup**: `G` \| `null`
94
+
95
+ Defined in: [renderers/renderer.ts:55](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L55)
96
+
97
+ The SVG group element for the current node.
98
+
99
+ ***
100
+
101
+ ### \_ws
102
+
103
+ > **\_ws**: [`WorkspaceSvg`](WorkspaceSvg.md)
104
+
105
+ Defined in: [renderers/renderer.ts:63](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L63)
106
+
107
+ The workspace this renderer is associated with.
108
+
109
+ ***
110
+
111
+ ### constantOverrides
112
+
113
+ > **constantOverrides**: `Partial`\<[`RendererConstants`](RendererConstants.md)\>
114
+
115
+ Defined in: [renderers/renderer.ts:79](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L79)
116
+
117
+ Constant overrides provided during renderer instantiation.
118
+
119
+ ***
120
+
121
+ ### representer
122
+
123
+ > **representer**: [`Representer`](Representer.md)
124
+
125
+ Defined in: [renderers/renderer.ts:75](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L75)
126
+
127
+ Representer instance used for building node representations.
128
+
129
+ ## Accessors
130
+
131
+ ### constants
132
+
133
+ #### Get Signature
134
+
135
+ > **get** **constants**(): [`RendererConstants`](RendererConstants.md)
136
+
137
+ Defined in: [renderers/renderer.ts:182](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L182)
138
+
139
+ Gets the renderer constants, merging with node style if applicable.
140
+
141
+ ##### Returns
142
+
143
+ [`RendererConstants`](RendererConstants.md)
144
+
145
+ #### Set Signature
146
+
147
+ > **set** **constants**(`c`): `void`
148
+
149
+ Defined in: [renderers/renderer.ts:195](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L195)
150
+
151
+ Sets the renderer constants.
152
+
153
+ ##### Parameters
154
+
155
+ ###### c
156
+
157
+ `Partial`\<[`RendererConstants`](RendererConstants.md)\>
158
+
159
+ ##### Returns
160
+
161
+ `void`
162
+
163
+ ***
164
+
165
+ ### node
166
+
167
+ #### Get Signature
168
+
169
+ > **get** **node**(): [`NodeSvg`](NodeSvg.md) \| `null`
170
+
171
+ Defined in: [renderers/renderer.ts:201](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L201)
172
+
173
+ Gets the current node being rendered.
174
+
175
+ ##### Returns
176
+
177
+ [`NodeSvg`](NodeSvg.md) \| `null`
178
+
179
+ ***
180
+
181
+ ### state
182
+
183
+ #### Get Signature
184
+
185
+ > **get** **state**(): [`DrawState`](../interfaces/DrawState.md) \| `null` \| `undefined`
186
+
187
+ Defined in: [renderers/renderer.ts:213](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L213)
188
+
189
+ Gets the current drawing state.
190
+
191
+ ##### Returns
192
+
193
+ [`DrawState`](../interfaces/DrawState.md) \| `null` \| `undefined`
194
+
195
+ ***
196
+
197
+ ### svg
198
+
199
+ #### Get Signature
200
+
201
+ > **get** **svg**(): `Svg`
202
+
203
+ Defined in: [renderers/renderer.ts:207](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L207)
204
+
205
+ Gets the SVG.js instance from the workspace.
206
+
207
+ ##### Returns
208
+
209
+ `Svg`
210
+
211
+ ***
212
+
213
+ ### BACKGROUND\_PATTERN
214
+
215
+ #### Get Signature
216
+
217
+ > **get** `static` **BACKGROUND\_PATTERN**(): `string`
218
+
219
+ Defined in: [renderers/renderer.ts:113](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L113)
220
+
221
+ Tag used for background pattern elements in the SVG. This is constant, do not modify it in subclasses.
222
+
223
+ ##### Returns
224
+
225
+ `string`
226
+
227
+ ***
228
+
229
+ ### CONN\_LINE\_TAG
230
+
231
+ #### Get Signature
232
+
233
+ > **get** `static` **CONN\_LINE\_TAG**(): `string`
234
+
235
+ Defined in: [renderers/renderer.ts:95](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L95)
236
+
237
+ Tag used for connection line elements in the SVG.
238
+
239
+ ##### Returns
240
+
241
+ `string`
242
+
243
+ ***
244
+
245
+ ### CONNECTOR\_TAG
246
+
247
+ #### Get Signature
248
+
249
+ > **get** `static` **CONNECTOR\_TAG**(): `string`
250
+
251
+ Defined in: [renderers/renderer.ts:101](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L101)
252
+
253
+ Tag used for connector elements in the SVG.
254
+
255
+ ##### Returns
256
+
257
+ `string`
258
+
259
+ ***
260
+
261
+ ### ELEMENT\_TAG
262
+
263
+ #### Get Signature
264
+
265
+ > **get** `static` **ELEMENT\_TAG**(): `string`
266
+
267
+ Defined in: [renderers/renderer.ts:89](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L89)
268
+
269
+ Tag used for renderer elements in the SVG.
270
+
271
+ ##### Returns
272
+
273
+ `string`
274
+
275
+ ***
276
+
277
+ ### LINE\_X\_MARK\_TAG
278
+
279
+ #### Get Signature
280
+
281
+ > **get** `static` **LINE\_X\_MARK\_TAG**(): `string`
282
+
283
+ Defined in: [renderers/renderer.ts:107](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L107)
284
+
285
+ Tag used for line X mark elements in the SVG.
286
+
287
+ ##### Returns
288
+
289
+ `string`
290
+
291
+ ***
292
+
293
+ ### NAME
294
+
295
+ #### Get Signature
296
+
297
+ > **get** `static` **NAME**(): `string`
298
+
299
+ Defined in: [renderers/renderer.ts:120](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L120)
300
+
301
+ Name of the renderer.
302
+
303
+ ##### Returns
304
+
305
+ `string`
306
+
307
+ ***
308
+
309
+ ### NODE\_G\_TAG
310
+
311
+ #### Get Signature
312
+
313
+ > **get** `static` **NODE\_G\_TAG**(): `string`
314
+
315
+ Defined in: [renderers/renderer.ts:83](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L83)
316
+
317
+ Tag used for node group elements in the SVG.
318
+
319
+ ##### Returns
320
+
321
+ `string`
322
+
323
+ ## Methods
324
+
325
+ ### \_fillOtherNodeConnectorCircle()
326
+
327
+ > **\_fillOtherNodeConnectorCircle**(`conn`, `circle`, `isPrevious`): `void`
328
+
329
+ Defined in: [renderers/renderer.ts:1122](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1122)
330
+
331
+ Fills in the connector circle for other nodes based on the given connection.
332
+
333
+ #### Parameters
334
+
335
+ ##### conn
336
+
337
+ [`Connection`](Connection.md)
338
+
339
+ The connection to match.
340
+
341
+ ##### circle
342
+
343
+ `Path`
344
+
345
+ The SVG path of the connector circle.
346
+
347
+ ##### isPrevious
348
+
349
+ `boolean`
350
+
351
+ Whether the connection is a previous connection.
352
+
353
+ #### Returns
354
+
355
+ `void`
356
+
357
+ ***
358
+
359
+ ### applyZoomToNode()
360
+
361
+ > **applyZoomToNode**(`nodeG`, `node`): `void`
362
+
363
+ Defined in: [renderers/renderer.ts:1019](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1019)
364
+
365
+ Applies the current zoom level to the specified node group.
366
+
367
+ #### Parameters
368
+
369
+ ##### nodeG
370
+
371
+ `G`
372
+
373
+ The SVG group element of the node.
374
+
375
+ ##### node
376
+
377
+ [`NodeSvg`](NodeSvg.md)
378
+
379
+ The node to apply zoom to.
380
+
381
+ #### Returns
382
+
383
+ `void`
384
+
385
+ ***
386
+
387
+ ### clearComments()
388
+
389
+ > **clearComments**(): `void`
390
+
391
+ Defined in: [renderers/renderer.ts:997](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L997)
392
+
393
+ Clears all comments from the workspace.
394
+
395
+ #### Returns
396
+
397
+ `void`
398
+
399
+ Void.
400
+
401
+ ***
402
+
403
+ ### clearLines()
404
+
405
+ > **clearLines**(): `void`
406
+
407
+ Defined in: [renderers/renderer.ts:1214](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1214)
408
+
409
+ Clear connection lines and their X marks.
410
+
411
+ #### Returns
412
+
413
+ `void`
414
+
415
+ ***
416
+
417
+ ### clearScreen()
418
+
419
+ > **clearScreen**(): `void`
420
+
421
+ Defined in: [renderers/renderer.ts:1225](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1225)
422
+
423
+ Clear the entire screen.
424
+
425
+ #### Returns
426
+
427
+ `void`
428
+
429
+ ***
430
+
431
+ ### createFieldGroup()
432
+
433
+ > **createFieldGroup**(`state`): `void`
434
+
435
+ Defined in: [renderers/renderer.ts:812](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L812)
436
+
437
+ Create the field group for the node
438
+
439
+ #### Parameters
440
+
441
+ ##### state
442
+
443
+ [`DrawState`](../interfaces/DrawState.md)
444
+
445
+ #### Returns
446
+
447
+ `void`
448
+
449
+ ***
450
+
451
+ ### createNodeGroup()
452
+
453
+ > **createNodeGroup**(`node`): `G`
454
+
455
+ Defined in: [renderers/renderer.ts:756](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L756)
456
+
457
+ Creates the SVG group for the given node.
458
+
459
+ #### Parameters
460
+
461
+ ##### node
462
+
463
+ [`NodeSvg`](NodeSvg.md)
464
+
465
+ The node to create the group for.
466
+
467
+ #### Returns
468
+
469
+ `G`
470
+
471
+ The created SVG group element.
472
+
473
+ ***
474
+
475
+ ### drawAllFieldsForNode()
476
+
477
+ > **drawAllFieldsForNode**(`nodeMeasurements`): `number` \| `undefined`
478
+
479
+ Defined in: [renderers/renderer.ts:903](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L903)
480
+
481
+ Draw all fields on a node
482
+
483
+ #### Parameters
484
+
485
+ ##### nodeMeasurements
486
+
487
+ The node's measurements
488
+
489
+ `NodeMeasurements` | `null`
490
+
491
+ #### Returns
492
+
493
+ `number` \| `undefined`
494
+
495
+ The final Y position.
496
+
497
+ ***
498
+
499
+ ### drawComments()
500
+
501
+ > **drawComments**(): `void`
502
+
503
+ Defined in: [renderers/renderer.ts:1004](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1004)
504
+
505
+ Draws all comments in the workspace.
506
+
507
+ #### Returns
508
+
509
+ `void`
510
+
511
+ Void.
512
+
513
+ ***
514
+
515
+ ### drawConnector()
516
+
517
+ > **drawConnector**(`nodeGroup`, `nodeBg`, `y`, `side`, `color`): `void` \| `Path` \| `null` \| `undefined`
518
+
519
+ Defined in: [renderers/renderer.ts:656](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L656)
520
+
521
+ Draws a connector on the specified side of the node.
522
+
523
+ #### Parameters
524
+
525
+ ##### nodeGroup
526
+
527
+ `G`
528
+
529
+ The SVG group element for the node.
530
+
531
+ ##### nodeBg
532
+
533
+ `Path`
534
+
535
+ The background SVG path of the node.
536
+
537
+ ##### y
538
+
539
+ `number`
540
+
541
+ The Y position for the connector.
542
+
543
+ ##### side
544
+
545
+ The side to draw the connector on ('left' or 'right').
546
+
547
+ `"left"` | `"right"`
548
+
549
+ ##### color
550
+
551
+ `string`
552
+
553
+ The color of the connector.
554
+
555
+ #### Returns
556
+
557
+ `void` \| `Path` \| `null` \| `undefined`
558
+
559
+ The SVG path of the connector or null if not drawn.
560
+
561
+ ***
562
+
563
+ ### drawFieldForNode()
564
+
565
+ > **drawFieldForNode**(`field`, `measurements`, `idx`, `y`): `void`
566
+
567
+ Defined in: [renderers/renderer.ts:826](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L826)
568
+
569
+ Draw a field on a node.
570
+
571
+ #### Parameters
572
+
573
+ ##### field
574
+
575
+ [`AnyField`](../type-aliases/AnyField.md)
576
+
577
+ The field to draw
578
+
579
+ ##### measurements
580
+
581
+ `NodeMeasurements`
582
+
583
+ The node's measurements
584
+
585
+ ##### idx
586
+
587
+ `number`
588
+
589
+ Index of the field in the fieldColumn list
590
+
591
+ ##### y
592
+
593
+ `number`
594
+
595
+ the y position of the field
596
+
597
+ #### Returns
598
+
599
+ `void`
600
+
601
+ ***
602
+
603
+ ### drawFieldLabel()
604
+
605
+ > **drawFieldLabel**(`fieldGroup`, `field`, `startX`): `number`
606
+
607
+ Defined in: [renderers/renderer.ts:574](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L574)
608
+
609
+ Draws the label of a field.
610
+
611
+ #### Parameters
612
+
613
+ ##### fieldGroup
614
+
615
+ `G`
616
+
617
+ The SVG group element for the field.
618
+
619
+ ##### field
620
+
621
+ [`AnyField`](../type-aliases/AnyField.md)
622
+
623
+ The field to draw the label for.
624
+
625
+ ##### startX
626
+
627
+ `number` = `0`
628
+
629
+ The starting X position for the label.
630
+
631
+ #### Returns
632
+
633
+ `number`
634
+
635
+ The width used by the label including spacing.
636
+
637
+ ***
638
+
639
+ ### drawFieldRaw()
640
+
641
+ > **drawFieldRaw**(`fieldGroup`, `field`, `startX`): `object`
642
+
643
+ Defined in: [renderers/renderer.ts:527](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L527)
644
+
645
+ Draws a raw input field.
646
+
647
+ #### Parameters
648
+
649
+ ##### fieldGroup
650
+
651
+ `G`
652
+
653
+ The SVG group element for the field.
654
+
655
+ ##### field
656
+
657
+ [`AnyField`](../type-aliases/AnyField.md)
658
+
659
+ The field to draw.
660
+
661
+ ##### startX
662
+
663
+ `number` = `0`
664
+
665
+ The starting X position for the field.
666
+
667
+ #### Returns
668
+
669
+ `object`
670
+
671
+ The rectangle and text elements of the raw field.
672
+
673
+ ##### rawBox
674
+
675
+ > **rawBox**: [`FieldRawBoxData`](../interfaces/FieldRawBoxData.md)
676
+
677
+ ##### rect
678
+
679
+ > **rect**: `Rect`
680
+
681
+ ##### txt
682
+
683
+ > **txt**: `Text`
684
+
685
+ ***
686
+
687
+ ### drawLinesForAllNodes()
688
+
689
+ > **drawLinesForAllNodes**(): `void`
690
+
691
+ Defined in: [renderers/renderer.ts:1144](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1144)
692
+
693
+ Draw the connection lines between node's connector bubbles.
694
+
695
+ #### Returns
696
+
697
+ `void`
698
+
699
+ ***
700
+
701
+ ### drawNode()
702
+
703
+ > **drawNode**(): `void`
704
+
705
+ Defined in: [renderers/renderer.ts:731](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L731)
706
+
707
+ Draws the current node.
708
+
709
+ #### Returns
710
+
711
+ `void`
712
+
713
+ Void.
714
+
715
+ ***
716
+
717
+ ### drawNodeBase()
718
+
719
+ > **drawNodeBase**(`state`, `measurements`): `void`
720
+
721
+ Defined in: [renderers/renderer.ts:770](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L770)
722
+
723
+ Draws the base and shadow of the node.
724
+
725
+ #### Parameters
726
+
727
+ ##### state
728
+
729
+ [`DrawState`](../interfaces/DrawState.md)
730
+
731
+ The current drawing state.
732
+
733
+ ##### measurements
734
+
735
+ The measurements of the node.
736
+
737
+ `NodeMeasurements` | `null`
738
+
739
+ #### Returns
740
+
741
+ `void`
742
+
743
+ ***
744
+
745
+ ### drawNodeLabel()
746
+
747
+ > **drawNodeLabel**(`nodeGroup`): `void`
748
+
749
+ Defined in: [renderers/renderer.ts:703](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L703)
750
+
751
+ Draws the label on the node's top bar.
752
+
753
+ #### Parameters
754
+
755
+ ##### nodeGroup
756
+
757
+ `G`
758
+
759
+ The SVG group element for the node.
760
+
761
+ #### Returns
762
+
763
+ `void`
764
+
765
+ Void.
766
+
767
+ ***
768
+
769
+ ### drawNodeTopbar()
770
+
771
+ > **drawNodeTopbar**(`state`, `colors`, `measurements`): `void`
772
+
773
+ Defined in: [renderers/renderer.ts:789](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L789)
774
+
775
+ Draw the node's topbar
776
+
777
+ #### Parameters
778
+
779
+ ##### state
780
+
781
+ [`DrawState`](../interfaces/DrawState.md)
782
+
783
+ The draw state
784
+
785
+ ##### colors
786
+
787
+ [`ColorStyle`](../interfaces/ColorStyle.md)
788
+
789
+ The colors of the node.
790
+
791
+ ##### measurements
792
+
793
+ The measurement data of the node.
794
+
795
+ `NodeMeasurements` | `null`
796
+
797
+ #### Returns
798
+
799
+ `void`
800
+
801
+ ***
802
+
803
+ ### drawNodeXButton()
804
+
805
+ > **drawNodeXButton**(): `void`
806
+
807
+ Defined in: [renderers/renderer.ts:600](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L600)
808
+
809
+ Draws the X button on the node's top bar.
810
+
811
+ #### Returns
812
+
813
+ `void`
814
+
815
+ Void.
816
+
817
+ ***
818
+
819
+ ### drawPreviousNextConnections()
820
+
821
+ > **drawPreviousNextConnections**(`state`, `node`, `nodeGroup`, `measurements`): `void`
822
+
823
+ Defined in: [renderers/renderer.ts:932](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L932)
824
+
825
+ Draw the previous and next connections of a node.
826
+
827
+ #### Parameters
828
+
829
+ ##### state
830
+
831
+ [`DrawState`](../interfaces/DrawState.md)
832
+
833
+ The draw-state
834
+
835
+ ##### node
836
+
837
+ [`NodeSvg`](NodeSvg.md)
838
+
839
+ The node-svg
840
+
841
+ ##### nodeGroup
842
+
843
+ `G`
844
+
845
+ the node's group
846
+
847
+ ##### measurements
848
+
849
+ the node's measurements
850
+
851
+ \{ `height`: `number`; `width`: `number`; \} | `null`
852
+
853
+ #### Returns
854
+
855
+ `void`
856
+
857
+ Void
858
+
859
+ ***
860
+
861
+ ### drawState()
862
+
863
+ > **drawState**(`nodeGroup`, `id`): [`DrawState`](../interfaces/DrawState.md)
864
+
865
+ Defined in: [renderers/renderer.ts:505](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L505)
866
+
867
+ Build a draw state for the given node group and ID.
868
+
869
+ #### Parameters
870
+
871
+ ##### nodeGroup
872
+
873
+ `G`
874
+
875
+ The SVG group element for the node.
876
+
877
+ ##### id
878
+
879
+ `string`
880
+
881
+ The ID of the node.
882
+
883
+ #### Returns
884
+
885
+ [`DrawState`](../interfaces/DrawState.md)
886
+
887
+ - The constructed DrawState object.
888
+
889
+ ***
890
+
891
+ ### fillAllNodeConnectorBubbles()
892
+
893
+ > **fillAllNodeConnectorBubbles**(): `void`
894
+
895
+ Defined in: [renderers/renderer.ts:1069](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1069)
896
+
897
+ Fill every node's connector bubble data with the corresponding bubble its connected to on a sibling node.
898
+
899
+ #### Returns
900
+
901
+ `void`
902
+
903
+ ***
904
+
905
+ ### getFieldMeasurementPadding()
906
+
907
+ > **getFieldMeasurementPadding**(): `object`
908
+
909
+ Defined in: [renderers/renderer.ts:349](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L349)
910
+
911
+ Gets the padding to apply when measuring a field.
912
+
913
+ #### Returns
914
+
915
+ `object`
916
+
917
+ The width and height padding for the field.
918
+
919
+ ##### height
920
+
921
+ > **height**: `number` = `0`
922
+
923
+ ##### width
924
+
925
+ > **width**: `number`
926
+
927
+ ***
928
+
929
+ ### getNodeBaseMeasurements()
930
+
931
+ > **getNodeBaseMeasurements**(): `object`
932
+
933
+ Defined in: [renderers/renderer.ts:229](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L229)
934
+
935
+ Gets the base measurements for a node.
936
+
937
+ #### Returns
938
+
939
+ `object`
940
+
941
+ The base width and height of the node.
942
+
943
+ ##### height
944
+
945
+ > **height**: `number` = `c.NODE_BASE_HEIGHT`
946
+
947
+ ##### width
948
+
949
+ > **width**: `number` = `c.NODE_BASE_WIDTH`
950
+
951
+ ***
952
+
953
+ ### getNodeColors()
954
+
955
+ > **getNodeColors**(): [`ColorStyle`](../interfaces/ColorStyle.md)
956
+
957
+ Defined in: [renderers/renderer.ts:1055](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1055)
958
+
959
+ Gets the colors for the current node.
960
+
961
+ #### Returns
962
+
963
+ [`ColorStyle`](../interfaces/ColorStyle.md)
964
+
965
+ The color style of the node.
966
+
967
+ ***
968
+
969
+ ### getWs()
970
+
971
+ > **getWs**(): [`WorkspaceSvg`](WorkspaceSvg.md)
972
+
973
+ Defined in: [renderers/renderer.ts:220](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L220)
974
+
975
+ Gets the workspace associated with the renderer.
976
+
977
+ #### Returns
978
+
979
+ [`WorkspaceSvg`](WorkspaceSvg.md)
980
+
981
+ The workspace instance.
982
+
983
+ ***
984
+
985
+ ### getZoom()
986
+
987
+ > **getZoom**(): `number`
988
+
989
+ Defined in: [renderers/renderer.ts:1011](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1011)
990
+
991
+ Gets the current zoom level of the workspace.
992
+
993
+ #### Returns
994
+
995
+ `number`
996
+
997
+ The zoom level.
998
+
999
+ ***
1000
+
1001
+ ### init()
1002
+
1003
+ > **init**(): `void`
1004
+
1005
+ Defined in: [renderers/renderer.ts:140](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L140)
1006
+
1007
+ Initializes the renderer by setting up the comment renderer, representer, and constants.
1008
+
1009
+ #### Returns
1010
+
1011
+ `void`
1012
+
1013
+ ***
1014
+
1015
+ ### initCommentRenderer()
1016
+
1017
+ > **initCommentRenderer**(): `void`
1018
+
1019
+ Defined in: [renderers/renderer.ts:161](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L161)
1020
+
1021
+ Initializes the comment renderer for the workspace.
1022
+
1023
+ #### Returns
1024
+
1025
+ `void`
1026
+
1027
+ ***
1028
+
1029
+ ### initConstants()
1030
+
1031
+ > **initConstants**(): `void`
1032
+
1033
+ Defined in: [renderers/renderer.ts:148](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L148)
1034
+
1035
+ Initializes the renderer constants with any provided overrides.
1036
+
1037
+ #### Returns
1038
+
1039
+ `void`
1040
+
1041
+ ***
1042
+
1043
+ ### initRepresenter()
1044
+
1045
+ > **initRepresenter**(): `void`
1046
+
1047
+ Defined in: [renderers/renderer.ts:154](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L154)
1048
+
1049
+ Initializes the representer for the renderer.
1050
+
1051
+ #### Returns
1052
+
1053
+ `void`
1054
+
1055
+ ***
1056
+
1057
+ ### makeNodeDraggable()
1058
+
1059
+ > **makeNodeDraggable**(`nodeGroup`, `dragHandle`, `node`): `void`
1060
+
1061
+ Defined in: [renderers/renderer.ts:803](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L803)
1062
+
1063
+ Make a node draggable.
1064
+
1065
+ #### Parameters
1066
+
1067
+ ##### nodeGroup
1068
+
1069
+ `G`
1070
+
1071
+ The node group to make draggable
1072
+
1073
+ ##### dragHandle
1074
+
1075
+ `Path`
1076
+
1077
+ The drag handle
1078
+
1079
+ ##### node
1080
+
1081
+ [`NodeSvg`](NodeSvg.md)
1082
+
1083
+ The nodesvg
1084
+
1085
+ #### Returns
1086
+
1087
+ `void`
1088
+
1089
+ ***
1090
+
1091
+ ### measureBaseAndLabel()
1092
+
1093
+ > `private` **measureBaseAndLabel**(): `object`
1094
+
1095
+ Defined in: [renderers/renderer.ts:445](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L445)
1096
+
1097
+ Measures the base dimensions of the current node including label.
1098
+
1099
+ #### Returns
1100
+
1101
+ `object`
1102
+
1103
+ The width and height of the node base and label.
1104
+
1105
+ ##### height
1106
+
1107
+ > **height**: `number`
1108
+
1109
+ ##### width
1110
+
1111
+ > **width**: `number`
1112
+
1113
+ ***
1114
+
1115
+ ### measureCustom()
1116
+
1117
+ > **measureCustom**(`field`): `object`
1118
+
1119
+ Defined in: [renderers/renderer.ts:333](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L333)
1120
+
1121
+ Measures the custom editor of a field.
1122
+
1123
+ #### Parameters
1124
+
1125
+ ##### field
1126
+
1127
+ [`AnyField`](../type-aliases/AnyField.md)
1128
+
1129
+ The field to measure the custom editor for.
1130
+
1131
+ #### Returns
1132
+
1133
+ `object`
1134
+
1135
+ The width and height of the custom editor.
1136
+
1137
+ ##### height
1138
+
1139
+ > **height**: `number`
1140
+
1141
+ ##### width
1142
+
1143
+ > **width**: `number`
1144
+
1145
+ ***
1146
+
1147
+ ### measureField()
1148
+
1149
+ > **measureField**(`field`): `object`
1150
+
1151
+ Defined in: [renderers/renderer.ts:357](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L357)
1152
+
1153
+ Measures the overall dimensions of a field.
1154
+
1155
+ #### Parameters
1156
+
1157
+ ##### field
1158
+
1159
+ [`AnyField`](../type-aliases/AnyField.md)
1160
+
1161
+ The field to measure.
1162
+
1163
+ #### Returns
1164
+
1165
+ `object`
1166
+
1167
+ The width and height of the field.
1168
+
1169
+ ##### height
1170
+
1171
+ > **height**: `number`
1172
+
1173
+ ##### width
1174
+
1175
+ > **width**: `number`
1176
+
1177
+ ***
1178
+
1179
+ ### measureFields()
1180
+
1181
+ > **measureFields**(`startY`, `startWidth`, `startHeight`): `object`
1182
+
1183
+ Defined in: [renderers/renderer.ts:405](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L405)
1184
+
1185
+ Measures all fields of the current node.
1186
+
1187
+ #### Parameters
1188
+
1189
+ ##### startY
1190
+
1191
+ `number`
1192
+
1193
+ The starting Y position for the fields.
1194
+
1195
+ ##### startWidth
1196
+
1197
+ `number`
1198
+
1199
+ The starting width of the node.
1200
+
1201
+ ##### startHeight
1202
+
1203
+ `number`
1204
+
1205
+ The starting height of the node.
1206
+
1207
+ #### Returns
1208
+
1209
+ `object`
1210
+
1211
+ The width, height, and field dimensions.
1212
+
1213
+ ##### fields
1214
+
1215
+ > **fields**: `object`[]
1216
+
1217
+ ##### height
1218
+
1219
+ > **height**: `number`
1220
+
1221
+ ##### width
1222
+
1223
+ > **width**: `number`
1224
+
1225
+ ***
1226
+
1227
+ ### measureLabel()
1228
+
1229
+ > **measureLabel**(`field`): `object`
1230
+
1231
+ Defined in: [renderers/renderer.ts:303](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L303)
1232
+
1233
+ Measures the label of a field.
1234
+
1235
+ #### Parameters
1236
+
1237
+ ##### field
1238
+
1239
+ [`AnyField`](../type-aliases/AnyField.md)
1240
+
1241
+ The field to measure the label for.
1242
+
1243
+ #### Returns
1244
+
1245
+ `object`
1246
+
1247
+ The width and height of the label.
1248
+
1249
+ ##### height
1250
+
1251
+ > **height**: `number`
1252
+
1253
+ ##### width
1254
+
1255
+ > **width**: `number`
1256
+
1257
+ ***
1258
+
1259
+ ### measureNodeDimensions()
1260
+
1261
+ > **measureNodeDimensions**(): `void` \| `NodeMeasurements` \| `null`
1262
+
1263
+ Defined in: [renderers/renderer.ts:379](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L379)
1264
+
1265
+ Measures the overall dimensions of the current node.
1266
+
1267
+ #### Returns
1268
+
1269
+ `void` \| `NodeMeasurements` \| `null`
1270
+
1271
+ The measurements of the node including width, height, and field dimensions.
1272
+
1273
+ ***
1274
+
1275
+ ### measureRaw()
1276
+
1277
+ > **measureRaw**(`field`): `object`
1278
+
1279
+ Defined in: [renderers/renderer.ts:318](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L318)
1280
+
1281
+ Measures the raw input of a field.
1282
+
1283
+ #### Parameters
1284
+
1285
+ ##### field
1286
+
1287
+ [`AnyField`](../type-aliases/AnyField.md)
1288
+
1289
+ The field to measure the raw input for.
1290
+
1291
+ #### Returns
1292
+
1293
+ `object`
1294
+
1295
+ The width and height of the raw input.
1296
+
1297
+ ##### height
1298
+
1299
+ > **height**: `number`
1300
+
1301
+ ##### width
1302
+
1303
+ > **width**: `number`
1304
+
1305
+ ***
1306
+
1307
+ ### measureRawField()
1308
+
1309
+ > **measureRawField**(`text`): `object`
1310
+
1311
+ Defined in: [renderers/renderer.ts:291](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L291)
1312
+
1313
+ Measures the dimensions of a raw input field.
1314
+
1315
+ #### Parameters
1316
+
1317
+ ##### text
1318
+
1319
+ `string` = `""`
1320
+
1321
+ The text content of the raw field.
1322
+
1323
+ #### Returns
1324
+
1325
+ `object`
1326
+
1327
+ The width and height of the raw field.
1328
+
1329
+ ##### height
1330
+
1331
+ > **height**: `number`
1332
+
1333
+ ##### width
1334
+
1335
+ > **width**: `number`
1336
+
1337
+ ***
1338
+
1339
+ ### measureTextHeight()
1340
+
1341
+ > **measureTextHeight**(`text`, `fontSize?`, `fontFamily?`): `number`
1342
+
1343
+ Defined in: [renderers/renderer.ts:268](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L268)
1344
+
1345
+ Measures the height of the given text.
1346
+
1347
+ #### Parameters
1348
+
1349
+ ##### text
1350
+
1351
+ `string`
1352
+
1353
+ The text to measure.
1354
+
1355
+ ##### fontSize?
1356
+
1357
+ `number`
1358
+
1359
+ The font size to use.
1360
+
1361
+ ##### fontFamily?
1362
+
1363
+ `string`
1364
+
1365
+ The font family to use.
1366
+
1367
+ #### Returns
1368
+
1369
+ `number`
1370
+
1371
+ The height of the text.
1372
+
1373
+ ***
1374
+
1375
+ ### measureTextWidth()
1376
+
1377
+ > **measureTextWidth**(`text`, `fontSize?`, `fontFamily?`): `number`
1378
+
1379
+ Defined in: [renderers/renderer.ts:243](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L243)
1380
+
1381
+ Measures the width of the given text.
1382
+
1383
+ #### Parameters
1384
+
1385
+ ##### text
1386
+
1387
+ `string`
1388
+
1389
+ The text to measure.
1390
+
1391
+ ##### fontSize?
1392
+
1393
+ `number`
1394
+
1395
+ The font size to use.
1396
+
1397
+ ##### fontFamily?
1398
+
1399
+ `string`
1400
+
1401
+ The font family to use.
1402
+
1403
+ #### Returns
1404
+
1405
+ `number`
1406
+
1407
+ The width of the text.
1408
+
1409
+ ***
1410
+
1411
+ ### refreshComments()
1412
+
1413
+ > **refreshComments**(): `void`
1414
+
1415
+ Defined in: [renderers/renderer.ts:990](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L990)
1416
+
1417
+ Refreshes the comment transforms.
1418
+
1419
+ #### Returns
1420
+
1421
+ `void`
1422
+
1423
+ Void.
1424
+
1425
+ ***
1426
+
1427
+ ### refreshConnectionLines()
1428
+
1429
+ > **refreshConnectionLines**(): `void`
1430
+
1431
+ Defined in: [renderers/renderer.ts:1047](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1047)
1432
+
1433
+ Refreshes all connection lines in the workspace.
1434
+
1435
+ #### Returns
1436
+
1437
+ `void`
1438
+
1439
+ Void.
1440
+
1441
+ ***
1442
+
1443
+ ### refreshNodeTransforms()
1444
+
1445
+ > **refreshNodeTransforms**(): `void`
1446
+
1447
+ Defined in: [renderers/renderer.ts:1028](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1028)
1448
+
1449
+ Refreshes the transforms of all nodes in the workspace.
1450
+
1451
+ #### Returns
1452
+
1453
+ `void`
1454
+
1455
+ Void.
1456
+
1457
+ ***
1458
+
1459
+ ### renderNode()
1460
+
1461
+ > **renderNode**(`nodeIdOrNode`): `void`
1462
+
1463
+ Defined in: [renderers/renderer.ts:474](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L474)
1464
+
1465
+ Renders the specified node by drawing it and building its representation.
1466
+
1467
+ #### Parameters
1468
+
1469
+ ##### nodeIdOrNode
1470
+
1471
+ The node or node ID to render.
1472
+
1473
+ `string` | [`NodeSvg`](NodeSvg.md)
1474
+
1475
+ #### Returns
1476
+
1477
+ `void`
1478
+
1479
+ Void.
1480
+
1481
+ ***
1482
+
1483
+ ### rerenderNode()
1484
+
1485
+ > **rerenderNode**(`node`): `G` \| `null` \| `undefined`
1486
+
1487
+ Defined in: [renderers/renderer.ts:1262](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1262)
1488
+
1489
+ Called whenever a node must be visually rendered or rerendered.
1490
+ Implementations must be idempotent.
1491
+
1492
+ #### Parameters
1493
+
1494
+ ##### node
1495
+
1496
+ [`NodeSvg`](NodeSvg.md)
1497
+
1498
+ The node to render/rerender
1499
+
1500
+ #### Returns
1501
+
1502
+ `G` \| `null` \| `undefined`
1503
+
1504
+ SVG group of the node.
1505
+
1506
+ ***
1507
+
1508
+ ### resolveConnectable()
1509
+
1510
+ > **resolveConnectable**(`connectable`, `fromConn`): [`Connection`](Connection.md) \| `null` \| `undefined`
1511
+
1512
+ Defined in: [renderers/renderer.ts:1098](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1098)
1513
+
1514
+ Resolves the connectable to the appropriate connection based on the originating connection.
1515
+
1516
+ #### Parameters
1517
+
1518
+ ##### connectable
1519
+
1520
+ [`Connectable`](../type-aliases/Connectable.md)
1521
+
1522
+ The connectable entity (NodeSvg or Field).
1523
+
1524
+ ##### fromConn
1525
+
1526
+ [`Connection`](Connection.md)
1527
+
1528
+ The originating connection.
1529
+
1530
+ #### Returns
1531
+
1532
+ [`Connection`](Connection.md) \| `null` \| `undefined`
1533
+
1534
+ ***
1535
+
1536
+ ### setConnect()
1537
+
1538
+ > **setConnect**(`c`): `void`
1539
+
1540
+ Defined in: [renderers/renderer.ts:168](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L168)
1541
+
1542
+ Sets the connection to be processed.
1543
+
1544
+ #### Parameters
1545
+
1546
+ ##### c
1547
+
1548
+ [`ConnectorToFrom`](../interfaces/ConnectorToFrom.md)
1549
+
1550
+ The connection to set.
1551
+
1552
+ #### Returns
1553
+
1554
+ `void`
1555
+
1556
+ ***
1557
+
1558
+ ### setConstants()
1559
+
1560
+ > **setConstants**(`c`): [`RendererConstants`](RendererConstants.md) & `Partial`\<[`RendererConstants`](RendererConstants.md)\>
1561
+
1562
+ Defined in: [renderers/renderer.ts:176](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L176)
1563
+
1564
+ Sets the renderer constants.
1565
+
1566
+ #### Parameters
1567
+
1568
+ ##### c
1569
+
1570
+ `Partial`\<[`RendererConstants`](RendererConstants.md)\> = `{}`
1571
+
1572
+ Partial constants to override.
1573
+
1574
+ #### Returns
1575
+
1576
+ [`RendererConstants`](RendererConstants.md) & `Partial`\<[`RendererConstants`](RendererConstants.md)\>
1577
+
1578
+ The updated constants.
1579
+
1580
+ ***
1581
+
1582
+ ### startNode()
1583
+
1584
+ > **startNode**(`nodeIdOrNode`): `void`
1585
+
1586
+ Defined in: [renderers/renderer.ts:485](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L485)
1587
+
1588
+ Starts rendering the specified node.
1589
+
1590
+ #### Parameters
1591
+
1592
+ ##### nodeIdOrNode
1593
+
1594
+ The node or node ID to start rendering.
1595
+
1596
+ `string` | [`NodeSvg`](NodeSvg.md)
1597
+
1598
+ #### Returns
1599
+
1600
+ `void`
1601
+
1602
+ ***
1603
+
1604
+ ### storeState()
1605
+
1606
+ > **storeState**(): `void`
1607
+
1608
+ Defined in: [renderers/renderer.ts:516](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L516)
1609
+
1610
+ Stores the current draw state.
1611
+
1612
+ #### Returns
1613
+
1614
+ `void`
1615
+
1616
+ ***
1617
+
1618
+ ### undoPendingConnsFor()
1619
+
1620
+ > **undoPendingConnsFor**(`conn`): `void`
1621
+
1622
+ Defined in: [renderers/renderer.ts:1244](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/renderers/renderer.ts#L1244)
1623
+
1624
+ Remove pending connections for a specific connection
1625
+
1626
+ #### Parameters
1627
+
1628
+ ##### conn
1629
+
1630
+ [`ConnectorToFrom`](../interfaces/ConnectorToFrom.md)
1631
+
1632
+ The connection
1633
+
1634
+ #### Returns
1635
+
1636
+ `void`