@kortexya/nodus 0.1.0

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 (252) hide show
  1. package/LICENSE +37 -0
  2. package/README.md +60 -0
  3. package/__vite-plugin-wasm-helper-1Aiokjk5.js +24 -0
  4. package/assets/hypergraphWorker-DV0aFI3L.js +1 -0
  5. package/assets/layoutWorker-DwDJwbgr.js +285 -0
  6. package/assets/nodus_wasm-C0vDfO5K.js +1 -0
  7. package/chunk-DmhlhrBa.js +11 -0
  8. package/nodus.src.bundle.js +33577 -0
  9. package/nodus_render_wasm-Bs6hlsx-.js +2617 -0
  10. package/nodus_wasm-DKYQVSUZ.js +2789 -0
  11. package/package.json +61 -0
  12. package/types/Nodus.d.ts +100 -0
  13. package/types/algorithms/concentric/index.d.ts +29 -0
  14. package/types/algorithms/concentricFactory.d.ts +43 -0
  15. package/types/algorithms/force/Alea.d.ts +13 -0
  16. package/types/algorithms/force/BVH.d.ts +35 -0
  17. package/types/algorithms/force/LayoutData.d.ts +40 -0
  18. package/types/algorithms/force/Packing.d.ts +31 -0
  19. package/types/algorithms/force/Physics.d.ts +61 -0
  20. package/types/algorithms/force/SEC.d.ts +14 -0
  21. package/types/algorithms/force/Topology.d.ts +3 -0
  22. package/types/algorithms/force/index.d.ts +54 -0
  23. package/types/algorithms/force-gpu/ParticleSystem.d.ts +45 -0
  24. package/types/algorithms/force-gpu/Settings.d.ts +60 -0
  25. package/types/algorithms/force-gpu/Simulation.d.ts +7 -0
  26. package/types/algorithms/force-gpu/getGlContext.d.ts +10 -0
  27. package/types/algorithms/force-gpu/gpuLayout.d.ts +14 -0
  28. package/types/algorithms/force-gpu/index.d.ts +2 -0
  29. package/types/algorithms/force-gpu/kernels/index.d.ts +176 -0
  30. package/types/algorithms/force-gpu/kernels/utils.d.ts +31 -0
  31. package/types/algorithms/force-gpu/shaders/aabb.d.ts +2 -0
  32. package/types/algorithms/force-gpu/shaders/bhExpand.d.ts +2 -0
  33. package/types/algorithms/force-gpu/shaders/bhTranslate.d.ts +2 -0
  34. package/types/algorithms/force-gpu/shaders/cellLookup.d.ts +2 -0
  35. package/types/algorithms/force-gpu/shaders/index.d.ts +9 -0
  36. package/types/algorithms/force-gpu/shaders/integrate.d.ts +2 -0
  37. package/types/algorithms/force-gpu/shaders/morton.d.ts +2 -0
  38. package/types/algorithms/force-gpu/shaders/sortIntervals.d.ts +2 -0
  39. package/types/algorithms/force-gpu/shaders/sortKeys.d.ts +2 -0
  40. package/types/algorithms/force-gpu/shaders/types.d.ts +10 -0
  41. package/types/algorithms/force-gpu/webgl/helpers.d.ts +24 -0
  42. package/types/algorithms/force-gpu/webgl/index.d.ts +4 -0
  43. package/types/algorithms/force-gpu/webgl/program.d.ts +15 -0
  44. package/types/algorithms/forceFactory.d.ts +55 -0
  45. package/types/algorithms/forceLinkFactory.d.ts +40 -0
  46. package/types/algorithms/grid/index.d.ts +26 -0
  47. package/types/algorithms/gridFactory.d.ts +30 -0
  48. package/types/algorithms/hierarchical/index.d.ts +80 -0
  49. package/types/algorithms/hierarchical/sugiyama.d.ts +144 -0
  50. package/types/algorithms/hierarchicalFactory.d.ts +49 -0
  51. package/types/algorithms/index.d.ts +13 -0
  52. package/types/algorithms/radial/index.d.ts +33 -0
  53. package/types/algorithms/radialFactory.d.ts +54 -0
  54. package/types/algorithms/sequential/index.d.ts +37 -0
  55. package/types/algorithms/sequentialFactory.d.ts +37 -0
  56. package/types/core/Edge.d.ts +67 -0
  57. package/types/core/EdgeList.d.ts +86 -0
  58. package/types/core/Node.d.ts +89 -0
  59. package/types/core/NodeList.d.ts +105 -0
  60. package/types/core/Transformation.d.ts +108 -0
  61. package/types/core/enums.d.ts +16 -0
  62. package/types/geometry/BoundingBox.d.ts +41 -0
  63. package/types/geometry/index.d.ts +276 -0
  64. package/types/geometry/types.d.ts +27 -0
  65. package/types/hypergraph/Hypergraph.d.ts +74 -0
  66. package/types/hypergraph/KoenigGraph.d.ts +29 -0
  67. package/types/hypergraph/Simplifier.d.ts +39 -0
  68. package/types/hypergraph/Statistics.d.ts +55 -0
  69. package/types/hypergraph/forbidden/StrangledHyperedge.d.ts +12 -0
  70. package/types/hypergraph/forbidden/StrangledVertex.d.ts +16 -0
  71. package/types/hypergraph/forbidden/ThreeAdjacentCluster2.d.ts +10 -0
  72. package/types/hypergraph/forbidden/TwoAdjacentCluster3.d.ts +14 -0
  73. package/types/hypergraph/forbidden/index.d.ts +22 -0
  74. package/types/hypergraph/index.d.ts +21 -0
  75. package/types/hypergraph/layout/Adam.d.ts +12 -0
  76. package/types/hypergraph/layout/Energy.d.ts +55 -0
  77. package/types/hypergraph/layout/LBFGS.d.ts +32 -0
  78. package/types/hypergraph/layout/Optimizer.d.ts +60 -0
  79. package/types/hypergraph/layout/Reverser.d.ts +42 -0
  80. package/types/hypergraph/operations/AtomicOperation.d.ts +54 -0
  81. package/types/hypergraph/operations/HyperedgeMerger.d.ts +30 -0
  82. package/types/hypergraph/operations/HyperedgeRemoval.d.ts +27 -0
  83. package/types/hypergraph/operations/VertexMerger.d.ts +32 -0
  84. package/types/hypergraph/operations/VertexRemoval.d.ts +30 -0
  85. package/types/hypergraph/operations/index.d.ts +19 -0
  86. package/types/hypergraph/osfkb/adapter.d.ts +315 -0
  87. package/types/hypergraph/render/Interaction.d.ts +40 -0
  88. package/types/hypergraph/render/PolygonRenderer.d.ts +50 -0
  89. package/types/hypergraph/render/SVGPolygonRenderer.d.ts +7 -0
  90. package/types/hypergraph/types.d.ts +170 -0
  91. package/types/index.d.ts +21 -0
  92. package/types/internals/Algorithms.d.ts +68 -0
  93. package/types/internals/AlgorithmsPrimitives.d.ts +18 -0
  94. package/types/internals/Animations.d.ts +39 -0
  95. package/types/internals/AttributePathPrimitives.d.ts +2 -0
  96. package/types/internals/Brand.d.ts +22 -0
  97. package/types/internals/Camera.d.ts +115 -0
  98. package/types/internals/CameraInteractions.d.ts +15 -0
  99. package/types/internals/CameraInteractionsPrimitives.d.ts +18 -0
  100. package/types/internals/Captor.d.ts +56 -0
  101. package/types/internals/CaptorPrimitives.d.ts +9 -0
  102. package/types/internals/ClassModule.d.ts +42 -0
  103. package/types/internals/ConnectNodes.d.ts +23 -0
  104. package/types/internals/CurvatureManager.d.ts +14 -0
  105. package/types/internals/DataModule.d.ts +29 -0
  106. package/types/internals/Disabled.d.ts +27 -0
  107. package/types/internals/DomModule.d.ts +87 -0
  108. package/types/internals/DragModule.d.ts +14 -0
  109. package/types/internals/ElementSet.d.ts +17 -0
  110. package/types/internals/EventsModule.d.ts +41 -0
  111. package/types/internals/FlexArray.d.ts +54 -0
  112. package/types/internals/Geo.d.ts +127 -0
  113. package/types/internals/Graph.d.ts +109 -0
  114. package/types/internals/Graphics.d.ts +112 -0
  115. package/types/internals/GraphicsEngine.d.ts +96 -0
  116. package/types/internals/Hover.d.ts +32 -0
  117. package/types/internals/Hypergraph.d.ts +112 -0
  118. package/types/internals/IndexList.d.ts +28 -0
  119. package/types/internals/IndividualAttributes.d.ts +27 -0
  120. package/types/internals/Interactions.d.ts +45 -0
  121. package/types/internals/Keyboard.d.ts +25 -0
  122. package/types/internals/LabelManager.d.ts +56 -0
  123. package/types/internals/Lasso.d.ts +22 -0
  124. package/types/internals/Layers.d.ts +79 -0
  125. package/types/internals/LayersPrimitives.d.ts +5 -0
  126. package/types/internals/Layouts.d.ts +35 -0
  127. package/types/internals/LayoutsInternal.d.ts +37 -0
  128. package/types/internals/LayoutsPrimitives.d.ts +23 -0
  129. package/types/internals/Legend.d.ts +33 -0
  130. package/types/internals/LegendPrimitives.d.ts +3 -0
  131. package/types/internals/Locate.d.ts +43 -0
  132. package/types/internals/LocatePrimitives.d.ts +20 -0
  133. package/types/internals/MappingManager.d.ts +27 -0
  134. package/types/internals/MappingPrimitives.d.ts +29 -0
  135. package/types/internals/Module.d.ts +23 -0
  136. package/types/internals/Mouse.d.ts +42 -0
  137. package/types/internals/NodusModules.d.ts +99 -0
  138. package/types/internals/PositionModule.d.ts +10 -0
  139. package/types/internals/PulseModule.d.ts +29 -0
  140. package/types/internals/Quadtree.d.ts +100 -0
  141. package/types/internals/RectangleSelect.d.ts +18 -0
  142. package/types/internals/Resizing.d.ts +48 -0
  143. package/types/internals/Rewiring.d.ts +64 -0
  144. package/types/internals/SchemaWatchPrimitives.d.ts +75 -0
  145. package/types/internals/Selection.d.ts +52 -0
  146. package/types/internals/SelectionModule.d.ts +27 -0
  147. package/types/internals/Settings.d.ts +20 -0
  148. package/types/internals/Snapping.d.ts +54 -0
  149. package/types/internals/Spatial.d.ts +50 -0
  150. package/types/internals/SpatialPrimitives.d.ts +75 -0
  151. package/types/internals/Storage.d.ts +46 -0
  152. package/types/internals/StyleRulesModule.d.ts +21 -0
  153. package/types/internals/Synchronizer.d.ts +17 -0
  154. package/types/internals/Tooltip.d.ts +25 -0
  155. package/types/internals/TooltipPrimitives.d.ts +21 -0
  156. package/types/internals/Topology.d.ts +50 -0
  157. package/types/internals/Touch.d.ts +16 -0
  158. package/types/internals/Transformations.d.ts +36 -0
  159. package/types/internals/VirtualMouse.d.ts +52 -0
  160. package/types/internals/WasmHGrid.d.ts +25 -0
  161. package/types/internals/WatcherModule.d.ts +25 -0
  162. package/types/internals/Workers.d.ts +79 -0
  163. package/types/internals/algorithmExports.d.ts +333 -0
  164. package/types/internals/algorithmHelpers.d.ts +36 -0
  165. package/types/internals/attributes/AttributesManager.d.ts +216 -0
  166. package/types/internals/attributes/ElementAttributesManager.d.ts +119 -0
  167. package/types/internals/attributes/attributeHelpers.d.ts +70 -0
  168. package/types/internals/attributes/flexArrayFactories.d.ts +277 -0
  169. package/types/internals/easing.d.ts +15 -0
  170. package/types/internals/helpers.d.ts +79 -0
  171. package/types/internals/hypergraphWorker.d.ts +37 -0
  172. package/types/internals/hypergraphWorkerHost.d.ts +40 -0
  173. package/types/internals/labels/SpatialGrid.d.ts +29 -0
  174. package/types/internals/labels/fillEdgeTexts.d.ts +25 -0
  175. package/types/internals/labels/fillNodeTexts.d.ts +24 -0
  176. package/types/internals/labels/helpers.d.ts +180 -0
  177. package/types/internals/layoutWorker.d.ts +21 -0
  178. package/types/internals/rendering/BoundariesManager.d.ts +53 -0
  179. package/types/internals/rendering/Buffer2.d.ts +91 -0
  180. package/types/internals/rendering/BufferList.d.ts +86 -0
  181. package/types/internals/rendering/CpuRenderer.d.ts +128 -0
  182. package/types/internals/rendering/EasingManager.d.ts +40 -0
  183. package/types/internals/rendering/EdgeDrawer.d.ts +54 -0
  184. package/types/internals/rendering/ElementGroup.d.ts +66 -0
  185. package/types/internals/rendering/MemoryManager.d.ts +71 -0
  186. package/types/internals/rendering/NodeDrawer.d.ts +49 -0
  187. package/types/internals/rendering/PatternManager.d.ts +29 -0
  188. package/types/internals/rendering/RENDER_MAPPING.d.ts +5 -0
  189. package/types/internals/rendering/RendererBase.d.ts +127 -0
  190. package/types/internals/rendering/ShapeManager.d.ts +46 -0
  191. package/types/internals/rendering/TextManager.d.ts +112 -0
  192. package/types/internals/rendering/canvasHelpers.d.ts +5 -0
  193. package/types/internals/rendering/constants.d.ts +125 -0
  194. package/types/internals/rendering/curveHelpers.d.ts +96 -0
  195. package/types/internals/rendering/drawerHelpers.d.ts +32 -0
  196. package/types/internals/rendering/float16.d.ts +25 -0
  197. package/types/internals/rendering/hitDetection.d.ts +89 -0
  198. package/types/internals/rendering/loadGraph.d.ts +103 -0
  199. package/types/internals/rendering/objectInfo.d.ts +46 -0
  200. package/types/internals/rendering/packing.d.ts +46 -0
  201. package/types/internals/rendering/shapeHelpers.d.ts +26 -0
  202. package/types/internals/rendering/types.d.ts +143 -0
  203. package/types/internals/renderingBinaryPrimitives.d.ts +110 -0
  204. package/types/internals/utilsExports.d.ts +408 -0
  205. package/types/internals/wasmBackend.d.ts +38 -0
  206. package/types/internals/wasmColumns.d.ts +61 -0
  207. package/types/internals/wasmInit.d.ts +1 -0
  208. package/types/modules/APIModule.d.ts +8 -0
  209. package/types/modules/AlgorithmsAPI.d.ts +15 -0
  210. package/types/modules/BrandAPI.d.ts +6 -0
  211. package/types/modules/CaptorAPI.d.ts +9 -0
  212. package/types/modules/ClassesAPI.d.ts +9 -0
  213. package/types/modules/DebugAPI.d.ts +18 -0
  214. package/types/modules/DisabledAPI.d.ts +11 -0
  215. package/types/modules/DomAPI.d.ts +9 -0
  216. package/types/modules/EventsAPI.d.ts +16 -0
  217. package/types/modules/ExportAPI.d.ts +23 -0
  218. package/types/modules/GeneratorsAPI.d.ts +12 -0
  219. package/types/modules/GeoAPI.d.ts +20 -0
  220. package/types/modules/GraphAPI.d.ts +26 -0
  221. package/types/modules/GraphicsAPI.d.ts +8 -0
  222. package/types/modules/HypergraphAPI.d.ts +71 -0
  223. package/types/modules/KeyboardAPI.d.ts +6 -0
  224. package/types/modules/LayersAPI.d.ts +7 -0
  225. package/types/modules/LayoutsAPI.d.ts +25 -0
  226. package/types/modules/LegendAPI.d.ts +9 -0
  227. package/types/modules/MouseAPI.d.ts +16 -0
  228. package/types/modules/ParseAPI.d.ts +83 -0
  229. package/types/modules/RulesAPI.d.ts +7 -0
  230. package/types/modules/SchemaAPI.d.ts +9 -0
  231. package/types/modules/SelectionAPI.d.ts +12 -0
  232. package/types/modules/SettingsAPI.d.ts +9 -0
  233. package/types/modules/StylesAPI.d.ts +64 -0
  234. package/types/modules/ToolsAPI.d.ts +68 -0
  235. package/types/modules/TransformationsAPI.d.ts +30 -0
  236. package/types/modules/ViewAPI.d.ts +52 -0
  237. package/types/publicTypes.d.ts +56 -0
  238. package/types/renderers/CanvasRenderer.d.ts +86 -0
  239. package/types/renderers/Renderer.d.ts +13 -0
  240. package/types/renderers/SVGRenderer.d.ts +57 -0
  241. package/types/renderers/WasmGraphRenderer.d.ts +118 -0
  242. package/types/renderers/WasmRendererAdapter.d.ts +38 -0
  243. package/types/tools/ConnectNodesAPI.d.ts +42 -0
  244. package/types/tools/LassoAPI.d.ts +78 -0
  245. package/types/tools/RectangleSelectAPI.d.ts +51 -0
  246. package/types/tools/ResizingAPI.d.ts +62 -0
  247. package/types/tools/RewiringAPI.d.ts +78 -0
  248. package/types/tools/SnappingAPI.d.ts +71 -0
  249. package/types/tools/ToolsAPI.d.ts +46 -0
  250. package/types/tools/TooltipAPI.d.ts +141 -0
  251. package/types/transformations/TransformationsEngine.d.ts +602 -0
  252. package/types/utils/index.d.ts +6 -0
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Keyboard — key press/release tracking and binding system.
3
+ *
4
+ * Tracks which keys are currently held, dispatches `keydown`/`keyup` events,
5
+ * and lets callers register key-combination handlers via `onKeyPress`. Also
6
+ * wires up the built-in pan/zoom keyboard controls and resets stuck keys when
7
+ * the window loses focus or after an idle period.
8
+ */
9
+ import { Module } from './Module';
10
+ export declare class Keyboard extends Module {
11
+ private _pressed;
12
+ private _binds;
13
+ private _idleTimeout;
14
+ private _prevEventTimeStamp;
15
+ private _onKeyPress;
16
+ private _onBlur;
17
+ private _onKeyUp;
18
+ private _onKeyDown;
19
+ onMounted(): void;
20
+ private _setupManualControls;
21
+ setIdleTimeout(ms: number): void;
22
+ resetKeys(): void;
23
+ onKeyPress(key: number | string | Array<number | string>, handler: (e: any) => void): this;
24
+ isPressed(key: number | string): boolean;
25
+ }
@@ -0,0 +1,56 @@
1
+ import { Module } from './Module';
2
+ declare class BoundingBox {
3
+ minX: number;
4
+ minY: number;
5
+ maxX: number;
6
+ maxY: number;
7
+ cx: number;
8
+ cy: number;
9
+ addPoint(x: number, y: number): this;
10
+ }
11
+ export declare class LabelManager extends Module {
12
+ private _textBBoxes;
13
+ private _rects;
14
+ private _enabled;
15
+ private _forceEnabled;
16
+ private _geoEnabled;
17
+ private _intersects;
18
+ private _textDisplacement;
19
+ private _textDisplacementUpdate;
20
+ private _skipFrames;
21
+ private _engine;
22
+ private _layer;
23
+ private _canvas;
24
+ private _concealed;
25
+ private _prevInsertedNodes;
26
+ private _prevInsertedEdges;
27
+ private _updateDebounced;
28
+ private _output;
29
+ private _onZoomStart;
30
+ private _onLayoutEnd;
31
+ private _onAttributesChanged;
32
+ private _onToggle;
33
+ private _update;
34
+ private _toggleDebug;
35
+ private _measureText;
36
+ constructor(nodus: any, options?: any);
37
+ onMounted(): void;
38
+ getCachedBB(index: number): BoundingBox;
39
+ getTextsBoundingBox(nodes?: any, edges?: any): BoundingBox;
40
+ setRate(rate: number): void;
41
+ forceEnable(): void;
42
+ update(): void;
43
+ forceUpdate(camera?: any): void;
44
+ query(x: number, y: number, w: number, h: number, result: {
45
+ nodes: number[];
46
+ edges: number[];
47
+ }): void;
48
+ private _enable;
49
+ private _disable;
50
+ private _updateLabels;
51
+ private _clearOverlaps;
52
+ private _resetOutput;
53
+ private _reset;
54
+ destroy(_nodus?: any): void;
55
+ }
56
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Module } from './Module';
2
+ import { BoundingBox } from '../geometry';
3
+ export declare class Lasso extends Module {
4
+ protected _enabled: boolean;
5
+ protected _points: Array<{
6
+ x: number;
7
+ y: number;
8
+ }>;
9
+ protected _bbox: BoundingBox;
10
+ protected _layer: any;
11
+ protected _options: any;
12
+ protected _interaction: any;
13
+ protected _cachedCursor: string;
14
+ protected _onStart: ({ x: e, y: t }: any) => void;
15
+ protected _onStop: () => void;
16
+ onMounted(): void;
17
+ enable(e?: Record<string, any>): this;
18
+ disable(): this;
19
+ enabled(): boolean;
20
+ savePoint(e: number, t: number, s: boolean): void;
21
+ filterByExtremities(e: any[], t: Record<number, boolean>): any[];
22
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Layers — manages the stack of canvas, SVG and overlay layers rendered on top
3
+ * of the Nodus viewport. Each layer is kept in sync with the camera view (pan,
4
+ * zoom and rotation) and can be reordered, hidden, styled or exported.
5
+ */
6
+ import { Module } from './Module';
7
+ export interface LayerHandle {
8
+ element: HTMLElement | null;
9
+ type: string;
10
+ getLevel: () => number;
11
+ moveTo: (level: number) => LayerHandle;
12
+ moveUp: () => LayerHandle;
13
+ moveDown: () => LayerHandle;
14
+ moveToTop: () => LayerHandle;
15
+ moveToBottom: () => LayerHandle;
16
+ destroy: () => LayerHandle;
17
+ hide: () => LayerHandle;
18
+ show: () => LayerHandle;
19
+ isHidden: () => boolean;
20
+ setOpacity: (v: number) => LayerHandle;
21
+ getOpacity: () => number;
22
+ setPosition: (pt: {
23
+ x: number;
24
+ y: number;
25
+ }) => LayerHandle;
26
+ setSize: (sz: {
27
+ width: number;
28
+ height: number;
29
+ }) => LayerHandle;
30
+ refresh?: (fn?: any) => void;
31
+ clear?: () => void;
32
+ draw?: any;
33
+ options?: any;
34
+ _onViewChange?: (view?: any) => void;
35
+ _onDestroy?: () => void;
36
+ }
37
+ export declare class Layers extends Module {
38
+ private _elements;
39
+ private _layers;
40
+ readyCallbacks: Array<() => void>;
41
+ nodusLayer: LayerHandle | null;
42
+ private _updateDom;
43
+ private render;
44
+ private createCanvas;
45
+ private createSVG;
46
+ private _createOverlay;
47
+ addLayer: (el: HTMLElement | string, type?: string, level?: number) => LayerHandle;
48
+ addCanvasLayer: (drawFn: (ctx: CanvasRenderingContext2D) => void, opts?: {
49
+ isStatic?: boolean;
50
+ noClear?: boolean;
51
+ }, level?: number) => LayerHandle;
52
+ addOverlay: (opts: {
53
+ element: HTMLElement | string;
54
+ position: {
55
+ x: number;
56
+ y: number;
57
+ };
58
+ scaled?: boolean;
59
+ size?: any;
60
+ }, level?: number) => LayerHandle;
61
+ addSVGLayer: (opts: {
62
+ element: SVGElement;
63
+ draw: (el: SVGElement) => void;
64
+ }, level?: number) => LayerHandle;
65
+ canvasToImage(layer: LayerHandle, view: any): SVGImageElement;
66
+ exportPNG(ctx: CanvasRenderingContext2D, layers: LayerHandle[], view: any): Promise<void>;
67
+ exportSVG(svgRoot: SVGElement, layers: LayerHandle[], view: any, below: boolean): Promise<void>;
68
+ export(opts: {
69
+ canvas?: CanvasRenderingContext2D;
70
+ svg?: SVGElement;
71
+ view: any;
72
+ below?: boolean;
73
+ }): Promise<void>;
74
+ onMounted(): void;
75
+ runCallbacks(): void;
76
+ whenReady(cb: () => void): void;
77
+ private _removeLayer;
78
+ destroy(): void;
79
+ }
@@ -0,0 +1,5 @@
1
+ export declare function createCanvas(width: number, height: number): HTMLCanvasElement;
2
+ export declare function useDomLayers(container: HTMLElement): (elements: HTMLElement[]) => void;
3
+ export declare function stopPropagation(e: Event): void;
4
+ export declare function createSvgElement(tag: string, attrs?: Record<string, string | number>): SVGElement;
5
+ export declare function svgToCanvas(svg: SVGElement, ctx: CanvasRenderingContext2D): Promise<void>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Layouts — layout algorithm runner using workers.
3
+ * Faithfully translated from /tmp/nodus_extracted/Layouts.js
4
+ */
5
+ import { Module } from './Module';
6
+ export declare class Layouts extends Module {
7
+ resolves: Map<any, any>;
8
+ _batchMode: boolean;
9
+ _batchStarted: boolean;
10
+ _batches: Map<string, any>;
11
+ _running: any[];
12
+ _textsHidden: boolean;
13
+ _layouts: Record<string, any>;
14
+ timers: Map<any, any>;
15
+ private onInteractionStart;
16
+ private onViewChanged;
17
+ private onVisibilityChange;
18
+ private _onWorkerUpdate;
19
+ private _onWorkerComplete;
20
+ private _onWorkerStart;
21
+ constructor(nodus: any);
22
+ onMounted(): void;
23
+ setWorkersIdle(e: boolean): void;
24
+ register(e: any): void;
25
+ getAvailableLayouts(): string[];
26
+ enableBatching(): void;
27
+ runBatch(): Promise<any>;
28
+ _addToBatch(e: string, t: any, s: (result: any) => void): void;
29
+ start(e: string, t?: any): Promise<any>;
30
+ _animateCamera(e: any, t: any, s: number): Promise<any>;
31
+ stop(): Promise<any>;
32
+ isRunning(): boolean;
33
+ _assignNodePositions(e: any, t: number, s: boolean, o?: string): Promise<any>;
34
+ collectNodesData(e: any): any;
35
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Layouts — runs registered layout algorithms on the graph via the worker pool.
3
+ *
4
+ * Coordinates worker lifecycle (start/configure/update/complete), animates the
5
+ * resulting node positions, supports batching of compatible layouts (e.g. force),
6
+ * and emits layout lifecycle events. Implemented as a Module.
7
+ */
8
+ import { Module } from './Module';
9
+ export declare class LayoutsInternal extends Module {
10
+ resolves: Map<any, any>;
11
+ private _batchMode;
12
+ private _batchStarted;
13
+ private _batches;
14
+ private _running;
15
+ private _textsHidden;
16
+ private _layouts;
17
+ timers: Map<any, any>;
18
+ private onInteractionStart;
19
+ private onViewChanged;
20
+ private onVisibilityChange;
21
+ private _onWorkerUpdate;
22
+ private _onWorkerComplete;
23
+ private _onWorkerStart;
24
+ onMounted(): void;
25
+ setWorkersIdle(idle: boolean): void;
26
+ register(layout: any): void;
27
+ getAvailableLayouts(): string[];
28
+ enableBatching(): void;
29
+ runBatch(): Promise<any>;
30
+ private _addToBatch;
31
+ start(name: string, opts?: any): Promise<any>;
32
+ private _animateCamera;
33
+ stop(): Promise<void>;
34
+ isRunning(): boolean;
35
+ private _assignNodePositions;
36
+ collectNodesData(nodes: any): any;
37
+ }
@@ -0,0 +1,23 @@
1
+ import { getCurrentTime } from './helpers';
2
+ export declare const DEFAULT_EASING3 = "cubicOut";
3
+ export declare const DEFAULT_OPTIONS4: {
4
+ duration: number;
5
+ skipTextDrawing: boolean;
6
+ locate: boolean;
7
+ useWebWorker: boolean;
8
+ easing: string;
9
+ };
10
+ export declare const MIN_UPDATE_INTERVAL = 16;
11
+ export declare const WORKER_START = "worker_start";
12
+ export declare const WORKER_CONFIGURE = "worker_configure";
13
+ export declare const WORKER_UPDATE = "worker_update";
14
+ export declare const canBeBatched: Set<string>;
15
+ export { getCurrentTime };
16
+ export declare function getDocument(): Document | {
17
+ hidden: boolean;
18
+ };
19
+ export declare function getPositionsFromData(data: any, offset?: number): Array<{
20
+ x: number;
21
+ y: number;
22
+ }>;
23
+ export declare function ensureGraphItems(graph: any, opts: any, includeEdges: boolean): any;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Legend — draws an attribute-mapping legend on a canvas overlay.
3
+ *
4
+ * Renders a legend layer that summarizes the active style rules (node and edge
5
+ * attribute mappings) into per-property widgets, so users can read how data
6
+ * values map to visual styles such as color, shape, radius, icon, and width.
7
+ */
8
+ import { Module } from './Module';
9
+ export declare class Legend extends Module {
10
+ private _enabled;
11
+ private _mustRefresh;
12
+ private _promises;
13
+ private _settings;
14
+ private _layer;
15
+ onMounted(): void;
16
+ enable(opts?: any): Promise<void>;
17
+ private _afterNextUpdate;
18
+ private _formatSettings;
19
+ disable(): Promise<void>;
20
+ enabled(): boolean;
21
+ refresh(): Promise<void>;
22
+ destroy(): void;
23
+ getOptions(): any;
24
+ getCurrentOptions(): any;
25
+ private _sameOptions;
26
+ private _drawOnCanvas;
27
+ exportOnCanvas(canvas: HTMLCanvasElement, opts: any, ratio: number): void;
28
+ export(opts?: any): Promise<HTMLCanvasElement>;
29
+ private _computeWidgetList;
30
+ private _computeWidget;
31
+ private _computePropertyMapping;
32
+ private _getRulesForAttribute;
33
+ }
@@ -0,0 +1,3 @@
1
+ export declare function computeWidgetHeight(mapping: any, _prop: string, _isNode: boolean, settings: any): number;
2
+ export declare const idenitity: (x: any) => any;
3
+ export declare function drawWidgetList(settings: any, canvas: HTMLCanvasElement, widgets: any[]): boolean;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Locate — view location utilities: locateGraph, locateElements, getBoundingBox, etc.
3
+ * Faithfully translated from /tmp/nodus_extracted/Locate.js
4
+ */
5
+ import { Module } from './Module';
6
+ export declare class Locate extends Module {
7
+ private _isLocating;
8
+ private _cacheValid;
9
+ private _cachedGraphBoundingBox;
10
+ private _onLocateStart;
11
+ private _onLocated;
12
+ private _invalidCache;
13
+ onMounted(): void;
14
+ onReady(_params: any): void;
15
+ locateGraph(opts: any, force?: boolean): Promise<any>;
16
+ private _locateGraph;
17
+ locateElements(elements: any, opts: any): Promise<any>;
18
+ locateRawGraph(rawGraph: any, opts: any): Promise<any>;
19
+ isLocating(): boolean;
20
+ getGraphBoundingBox(includeText?: boolean): any;
21
+ forceInvalidCache(): void;
22
+ private _updateCache;
23
+ getBoundingBox(elements: any, withSize?: boolean, withText?: boolean, overrideX?: any): any;
24
+ private _getNodesBoundingBox;
25
+ private _getEdgesBoundingBox;
26
+ private _getEdgesBoundingBoxInternal;
27
+ getRawGraphBoundingBox(rawGraph: any): any;
28
+ private _locateBoundingBox;
29
+ private _moveCamera;
30
+ computeConfigForBounds(bbox: any, opts?: any): any;
31
+ layoutDataBoundingBox({ x, y, indexes }: {
32
+ x: any;
33
+ y: any;
34
+ indexes: any;
35
+ }): any;
36
+ isEdgeInPolygon(edge: any, polygon: any): boolean;
37
+ isElementInView(element: any, { margin }?: {
38
+ margin?: number | undefined;
39
+ }): boolean;
40
+ isNodeInRectangle(node: any, rect: any): boolean;
41
+ isNodeInPolygon(node: any, polygon: any): boolean;
42
+ isEdgeInRectangle(edge: any, rect: any): boolean;
43
+ }
@@ -0,0 +1,20 @@
1
+ import { getBezierCurveBoundingBox, getQuadraticCurveBoundingBox, isPointInPolygon } from '../geometry/index';
2
+ export declare const DEFAULT_EASING2 = "cubicOut";
3
+ export declare const DEFAULT_MAX_NODE_SIZE_ON_SCREEN = 200;
4
+ export declare function computeCameraConfig(bbox: any, dimensions: any, padding: any, maxNodeSize: number): {
5
+ x: number;
6
+ y: number;
7
+ zoom: number;
8
+ };
9
+ export { getBezierCurveBoundingBox };
10
+ export { getQuadraticCurveBoundingBox };
11
+ export declare function getSelfLoopControlPoints2(x: number, y: number, curvature: number, radius: number, offset: number, out: any): void;
12
+ export declare function getQuadraticCurveControlPoint2(x0: number, y0: number, x1: number, y1: number, curvature: number, out: any): void;
13
+ export declare function isCircleInRectangle(x: number, y: number, r: number, rect: any): boolean;
14
+ export declare function isNodeInRectangle(node: any, rect: any, zoom: number): boolean;
15
+ export declare function isEdgeInRectangle(edge: any, rect: any, zoom: number): boolean;
16
+ export { isPointInPolygon };
17
+ export declare function isEdgeInPolygon(edge: any, polygon: Array<{
18
+ x: number;
19
+ y: number;
20
+ }>, zoom: number): boolean;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * MappingManager — creates qualitative/quantitative mappings and templates for style rules.
3
+ * Faithfully translated from /tmp/nodus_extracted/MappingManager.js
4
+ */
5
+ import { Module } from './Module';
6
+ export declare class MappingManager extends Module {
7
+ private _mappingList;
8
+ private _onStyleRuleRemoved;
9
+ private _onStyleRuleAdded;
10
+ private _refreshRulesAndLegend;
11
+ onMounted(): void;
12
+ private _recursiveGetMapping;
13
+ createMapping({ field, values, fallback }?: {
14
+ field?: any;
15
+ values?: any;
16
+ fallback?: any;
17
+ }): any;
18
+ createSlices({ field, fallback, stops, values, reverse, }?: {
19
+ field?: any;
20
+ fallback?: any;
21
+ stops?: any;
22
+ values?: any;
23
+ reverse?: boolean;
24
+ }): any;
25
+ private _createMappingFunction;
26
+ createTemplate(template: string): (element: any) => string;
27
+ }
@@ -0,0 +1,29 @@
1
+ export declare function getValues(obj: any): any[];
2
+ export declare function isRawObject(v: any): v is Record<string, any>;
3
+ interface PropertyPathAccessor {
4
+ field: string[];
5
+ getValue: (element: any) => any;
6
+ }
7
+ export declare function toPropertyPath(field: any): PropertyPathAccessor;
8
+ export declare function createQualitativeMapping(_graph: any, field: PropertyPathAccessor, opts: any, element: any): any;
9
+ export declare function createQuantitativeMapping(graph: any, field: PropertyPathAccessor, opts: any, element: any): any;
10
+ export declare class Mapping {
11
+ private readonly _createFn;
12
+ private readonly _evaluateFn;
13
+ private readonly _field;
14
+ private readonly _opts;
15
+ private readonly _graph;
16
+ private _invalid;
17
+ private _assignedRules;
18
+ private _nodeValues;
19
+ private _edgeValues;
20
+ constructor(createFn: any, evaluateFn: (element: any, extra?: any) => any, field?: PropertyPathAccessor, opts?: any, graph?: any);
21
+ assignTo(ruleId: any): void;
22
+ unAssignTo(ruleId: any): void;
23
+ getAssignedRules(): any[];
24
+ markAsInvalid(): void;
25
+ getField(): string[];
26
+ getValue(element: any, extra?: any): any;
27
+ getValues(isNode: boolean): Record<string, any> | null;
28
+ }
29
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Base class for all internal Nodus modules.
3
+ * Each module holds a reference to the owning Nodus instance and gains access
4
+ * to its sibling modules once construction completes. Subclasses override the
5
+ * lifecycle hooks (`onMounted`, `onReady`, `destroy`) as needed.
6
+ */
7
+ export declare class Module {
8
+ _nodus: any;
9
+ _modules: any;
10
+ constructor(nodus: any);
11
+ /** Called by NodusModules after all modules are constructed. */
12
+ _setModules(modules: any): void;
13
+ /** Called after all modules have been constructed and `_setModules` called. */
14
+ onMounted(): void;
15
+ /** Called when Nodus instance is ready (after constructor options applied). */
16
+ onReady(_params: any): void;
17
+ /** Called when Nodus is destroyed. */
18
+ destroy(_nodus?: any): void;
19
+ /** Compatibility getter: old stub code used `this.modules` instead of `this._nodus.modules`. */
20
+ get modules(): any;
21
+ /** Compatibility getter: old stub code used `this.nodus` instead of `this._nodus`. */
22
+ get nodus(): any;
23
+ }
@@ -0,0 +1,42 @@
1
+ import { Module } from './Module';
2
+ export declare class Mouse extends Module {
3
+ private _px;
4
+ private _py;
5
+ private _pressX;
6
+ private _pressY;
7
+ private _left;
8
+ private _middle;
9
+ private _right;
10
+ private _clickCounter;
11
+ private _buttons;
12
+ private _skipNextMove;
13
+ private _domElt;
14
+ private _bounds;
15
+ private _evt;
16
+ private _button;
17
+ private _dbclickTimer;
18
+ private _lastMouseDownTarget;
19
+ private _onMove;
20
+ private _onEnd;
21
+ private _onMouseWheel;
22
+ private _onMouseMove;
23
+ private _onDocumentMouseMove;
24
+ private _onMouseUp;
25
+ private _onDocumentMouseup;
26
+ private _onMouseDown;
27
+ private _onDrop;
28
+ onMounted(): void;
29
+ get x(): number;
30
+ get y(): number;
31
+ get left(): boolean;
32
+ get right(): boolean;
33
+ get middle(): boolean;
34
+ _isEnabled(): boolean;
35
+ _isWheelEnabled(): boolean;
36
+ _disableWheelUntilMouseDown(): boolean;
37
+ _getDoubleClickTimer(): number;
38
+ _resetClickCounter(e?: string, value?: number): void;
39
+ _setXY(e: any): boolean;
40
+ _applyMouseWheelZoom(e: any): void;
41
+ _initializeListeners(): void;
42
+ }
@@ -0,0 +1,99 @@
1
+ import { Settings } from './Settings';
2
+ import { EventsModule } from './EventsModule';
3
+ import { DomModule } from './DomModule';
4
+ import { Animations } from './Animations';
5
+ import { Camera } from './Camera';
6
+ import { Graph2 } from './Graph';
7
+ import { DataModule } from './DataModule';
8
+ import { IndividualAttributes } from './IndividualAttributes';
9
+ import { Algorithms } from './Algorithms';
10
+ import { Position } from './PositionModule';
11
+ import { Mouse } from './Mouse';
12
+ import { VirtualMouse } from './VirtualMouse';
13
+ import { Touch } from './Touch';
14
+ import { ClassModule } from './ClassModule';
15
+ import { Hover } from './Hover';
16
+ import { Disabled } from './Disabled';
17
+ import { Keyboard } from './Keyboard';
18
+ import { Selection } from './SelectionModule';
19
+ import { StyleRulesModule } from './StyleRulesModule';
20
+ import { Synchronizer } from './Synchronizer';
21
+ import { MappingManager } from './MappingManager';
22
+ import { Locate } from './Locate';
23
+ import { CurvatureManager } from './CurvatureManager';
24
+ import { Workers } from './Workers';
25
+ import { WatcherModule } from './WatcherModule';
26
+ import { LabelManager } from './LabelManager';
27
+ import { Brand } from './Brand';
28
+ import { Snapping } from './Snapping';
29
+ import { Rewiring } from './Rewiring';
30
+ import { Resizing } from './Resizing';
31
+ import { Geo } from './Geo';
32
+ import { Hypergraph } from './Hypergraph';
33
+ import { PulseModule } from './PulseModule';
34
+ import { Captor } from './Captor';
35
+ import { Interactions } from './Interactions';
36
+ import { CameraInteractions } from './CameraInteractions';
37
+ import { DragModule } from './DragModule';
38
+ import { RectangleSelect } from './RectangleSelect';
39
+ import { Lasso } from './Lasso';
40
+ import { Tooltip } from './Tooltip';
41
+ import { ConnectNodes } from './ConnectNodes';
42
+ import { Layers } from './Layers';
43
+ import { Legend } from './Legend';
44
+ import { Transformations } from './Transformations';
45
+ import { Layouts } from './Layouts';
46
+ import { Spatial } from './Spatial';
47
+ import { Graphics } from './Graphics';
48
+ export declare class NodusModules {
49
+ _nodus: any;
50
+ settings: Settings;
51
+ events: EventsModule;
52
+ dom: DomModule;
53
+ animations: Animations;
54
+ camera: Camera;
55
+ graph: Graph2;
56
+ data: DataModule;
57
+ graphics: Graphics;
58
+ layers: Layers;
59
+ individualAttributes: IndividualAttributes;
60
+ algorithms: Algorithms;
61
+ position: Position;
62
+ touch: Touch;
63
+ mouse: Mouse;
64
+ virtualMouse: VirtualMouse;
65
+ spatial: Spatial;
66
+ captor: Captor;
67
+ interactions: Interactions;
68
+ classes: ClassModule;
69
+ cameraInteractions: CameraInteractions;
70
+ hover: Hover;
71
+ disabled: Disabled;
72
+ keyboard: Keyboard;
73
+ selection: Selection;
74
+ styleRules: StyleRulesModule;
75
+ legend: Legend;
76
+ sync: Synchronizer;
77
+ rules: MappingManager;
78
+ transformations: Transformations;
79
+ locate: Locate;
80
+ drag: DragModule;
81
+ pulses: PulseModule;
82
+ curvatureManager: CurvatureManager;
83
+ workers: Workers;
84
+ layouts: Layouts;
85
+ watcher: WatcherModule;
86
+ rectangleSelect: RectangleSelect;
87
+ labels: LabelManager;
88
+ brand: Brand;
89
+ lasso: Lasso;
90
+ rewiring: Rewiring;
91
+ resizing: Resizing;
92
+ snapping: Snapping;
93
+ connectNodes: ConnectNodes;
94
+ tooltip: Tooltip;
95
+ geo: Geo;
96
+ hypergraph: Hypergraph;
97
+ constructor(nodus: any, params: any);
98
+ destroy(): void;
99
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Position — a minimal module that stores an item's x/y coordinates.
3
+ * Both coordinates default to 0 and are updated by layout routines.
4
+ */
5
+ import { Module } from './Module';
6
+ export declare class PositionModule extends Module {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export { PositionModule as Position };
@@ -0,0 +1,29 @@
1
+ import { Module } from './Module';
2
+ export declare class PulseModule extends Module {
3
+ private _nodePromiseMap;
4
+ private _edgePromiseMap;
5
+ private _engine;
6
+ private _group;
7
+ private _nodePulses;
8
+ private _edgePulses;
9
+ private _nodeNbPulsesRemaining;
10
+ private _edgeNbPulsesRemaining;
11
+ private _nodeFlexArrays;
12
+ private _edgeFlexArrays;
13
+ private _edgeSourceList;
14
+ private _edgeTargetList;
15
+ private _hasPulses;
16
+ private _nodePulseTheme;
17
+ private _edgePulseTheme;
18
+ private _onAttributeChange;
19
+ private _refreshPulses;
20
+ onMounted(): void;
21
+ private _onElementsAttributeChange;
22
+ private _removePulses;
23
+ private _refreshElementsPulses;
24
+ private _createNodePulseBlock;
25
+ private _createEdgePulseBlock;
26
+ pulse(element: any, options?: any): Promise<any>;
27
+ private _setPromise;
28
+ setTheme(nodeTheme: any, edgeTheme: any): void;
29
+ }