@neo4j-nvl/base 1.2.1 → 2.0.0-41738c4a

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 (74) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/base.mjs +1 -1
  3. package/dist/types/index.d.ts +21 -16
  4. package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +2 -2
  5. package/dist/types/layouts/d3forcelayout/constants.d.ts +0 -1
  6. package/dist/types/layouts/d3forcelayout/d3ForceLayout.d.ts +3 -3
  7. package/dist/types/layouts/forcedirectedlayout/PhysLayout.d.ts +275 -0
  8. package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.d.ts +62 -0
  9. package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.d.ts +56 -0
  10. package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.d.ts +143 -0
  11. package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.test.d.ts +1 -0
  12. package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger → clustering}/types.d.ts +11 -1
  13. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-fragment.d.ts +2 -0
  14. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-repulsive-fragment.d.ts +2 -0
  15. package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-update-fragment.d.ts +2 -0
  16. package/dist/types/layouts/forcedirectedlayout/shaders/sim-vertex.d.ts +2 -0
  17. package/dist/types/layouts/freeLayout/FreeLayout.d.ts +2 -4
  18. package/dist/types/layouts/gridLayout/GridLayout.d.ts +2 -6
  19. package/dist/types/layouts/hierarchicallayout/HierarchicalLayout.d.ts +5 -0
  20. package/dist/types/modules/ExternalCallbackHandler.d.ts +3 -3
  21. package/dist/types/modules/NvlController.d.ts +85 -5
  22. package/dist/types/modules/Shader.d.ts +1 -1
  23. package/dist/types/modules/dataset.d.ts +4 -2
  24. package/dist/types/modules/state/types.d.ts +125 -25
  25. package/dist/types/modules/state/utils.d.ts +2 -2
  26. package/dist/types/renderers/ClusterOverlay.d.ts +73 -0
  27. package/dist/types/renderers/ClusterOverlay.test.d.ts +1 -0
  28. package/dist/types/renderers/domrenderer/shared/ImageCache.d.ts +1 -0
  29. package/dist/types/renderers/domrenderer/shared/types.d.ts +1 -2
  30. package/dist/types/renderers/webglrenderer/Controller.d.ts +27 -6
  31. package/dist/types/renderers/webglrenderer/IconLayerRegistry.d.ts +14 -0
  32. package/dist/types/renderers/webglrenderer/IconLayerRegistry.test.d.ts +1 -0
  33. package/dist/types/renderers/webglrenderer/Renderer.d.ts +43 -3
  34. package/dist/types/renderers/webglrenderer/node-animation-fragment.d.ts +1 -1
  35. package/dist/types/renderers/webglrenderer/node-animation-vertex.d.ts +1 -1
  36. package/dist/types/renderers/webglrenderer/node-fragment-point.d.ts +1 -1
  37. package/dist/types/renderers/webglrenderer/node-vertex-point.d.ts +1 -1
  38. package/dist/types/renderers/webglrenderer/rel-fragment-line.d.ts +1 -1
  39. package/dist/types/renderers/webglrenderer/rel-glsl-utils.d.ts +1 -0
  40. package/dist/types/renderers/webglrenderer/rel-vertex-arrow.d.ts +2 -0
  41. package/dist/types/renderers/webglrenderer/rel-vertex-line.d.ts +1 -1
  42. package/dist/types/renderers/webglrenderer/viewport-box-fragment.d.ts +1 -1
  43. package/dist/types/renderers/webglrenderer/viewport-box-vertex.d.ts +1 -1
  44. package/dist/types/types/graph-element.d.ts +9 -1
  45. package/dist/types/types/nvl-window-functions.d.ts +2 -2
  46. package/dist/types/utils/canvasManagement.d.ts +1 -1
  47. package/dist/types/utils/clusterGeometry.d.ts +14 -0
  48. package/dist/types/utils/clusterGeometry.test.d.ts +1 -0
  49. package/dist/types/utils/clusterHitRegions.d.ts +42 -0
  50. package/dist/types/utils/clusterHitRegions.test.d.ts +1 -0
  51. package/dist/types/utils/constants.d.ts +6 -0
  52. package/dist/types/utils/geometry.d.ts +44 -1
  53. package/dist/types/utils/hittest.d.ts +30 -4
  54. package/dist/types/utils/jsDriverResultTransformer.d.ts +11 -9
  55. package/dist/types/utils/layoutSeeding.d.ts +7 -0
  56. package/dist/types/utils/layoutSeeding.test.d.ts +1 -0
  57. package/dist/types/utils/webWorkerUtils.d.ts +1 -1
  58. package/dist/types/utils/zoomFunctions.d.ts +9 -2
  59. package/package.json +5 -4
  60. package/dist/types/layouts/forcedirectedlayout/ForceCytoLayout.d.ts +0 -22
  61. package/dist/types/layouts/forcedirectedlayout/cosebilkentlayout/CoseBilkentLayout.d.ts +0 -33
  62. package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.d.ts +0 -174
  63. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-fragment.d.ts +0 -2
  64. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-repulsive-fragment.d.ts +0 -2
  65. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-update-fragment.d.ts +0 -2
  66. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/sim-vertex.d.ts +0 -2
  67. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/workaround-fragment.d.ts +0 -2
  68. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.d.ts +0 -21
  69. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.d.ts +0 -2
  70. /package/dist/types/layouts/forcedirectedlayout/{physlayout/PhysLayout.test.d.ts → PhysLayout.test.d.ts} +0 -0
  71. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/SolarMerger.bench.d.ts → clustering/ClusterByMerger.test.d.ts} +0 -0
  72. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/SolarMerger.test.d.ts → clustering/SolarMerger.bench.d.ts} +0 -0
  73. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/solar-placer.test.d.ts → clustering/SolarMerger.test.d.ts} +0 -0
  74. /package/dist/types/layouts/forcedirectedlayout/{physlayout/glwrapper.d.ts → glwrapper.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,49 @@
2
2
 
3
3
  All notable changes to NVL will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
4
4
 
5
+ ## [2.0.0] - 2026-09-15
6
+
7
+ This 2.0.0 major release upgrades NVL to WebGL2 for both the renderer and physics engine, unlocking major performance improvements. It also adds new clustering capabilities with visual decorations to the force directed and hierarchical layouts.
8
+
9
+ ### Added
10
+
11
+ * `clusterBy` layout option for both force-directed and hierarchical layouts.
12
+ * Cluster interaction API for handling events on clustered elements.
13
+ * Support for rendering icons and arrowheads in the WebGL renderer.
14
+ * Configurable minimum and maximum FPS caps for the rendering loop.
15
+ * Circle seeding option for the physics layout.
16
+
17
+ ### Changed
18
+
19
+ * Upgraded the WebGL renderer and physics engine to use WebGL2.
20
+ * Migrated the hierarchical layout engine dependency to `@dagrejs/dagre` 3.1.1.
21
+ * Greatly optimized physics layout performance and stabalisation speed.
22
+ * Improved rendering performance.
23
+
24
+ ### Fixed
25
+
26
+ * Added safety guards to harden the renderer against missing X/Y coordinate data.
27
+
28
+ ### Removed
29
+
30
+ * **BREAKING:** Removed deprecated Cytoscape support settings.
31
+ * **BREAKING:** Removed deprecated standalone `layout` and `layoutOptions` props from the React wrappers in favour of the same props inside `NvlOptions`.
32
+ * **BREAKING:** Removed deprecated `intelWorkaround` layout setting APIs.
33
+ * **BREAKING:** Removed deprecated `onZoom` callback in favour of `onZoomAndPan`.
34
+
35
+ ## [1.2.2] - 2026-09-11
36
+
37
+ This 1.2.2 patch release adds migration warnings for breaking changes planned for the next major release.
38
+
39
+ ### Added
40
+ * `styling.overlayLineColor` for overlay UI stroke color (e.g. minimap viewport box).
41
+ * Note in documentation on changes to client/screen coordinates on `NVL.getNodes()` and `onLayoutStep` `x`/`y`, moving screen coordinates to `clientPosition`.
42
+
43
+ ### Deprecated
44
+ * `styling.minimapViewportBoxColor` in favour of `styling.overlayLineColor` (old option still works as a fallback).
45
+ * `ForceDirectedOptions.intelWorkaround` (upgrade to WebGL2 in the next major release removes the need for it).
46
+ * Top-level React wrapper `layout` / `layoutOptions` props in favour of `nvlOptions.layout` / `nvlOptions.layoutOptions`.
47
+
5
48
  ## [1.2.1] - 2026-07-28
6
49
 
7
50
  This 1.2.1 patch release contains several fixes and accessibility improvements.