@neo4j-nvl/base 1.2.2 → 2.0.0-2b04269b

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 (81) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/README.md +8 -0
  3. package/dist/base.mjs +39758 -2
  4. package/dist/types/index.d.ts +21 -20
  5. package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +2 -2
  6. package/dist/types/layouts/d3forcelayout/constants.d.ts +0 -1
  7. package/dist/types/layouts/d3forcelayout/d3ForceLayout.d.ts +3 -3
  8. package/dist/types/layouts/forcedirectedlayout/PhysLayout.d.ts +275 -0
  9. package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.d.ts +62 -0
  10. package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.d.ts +56 -0
  11. package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.d.ts +143 -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 +4 -10
  21. package/dist/types/modules/NvlController.d.ts +87 -7
  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 +114 -23
  25. package/dist/types/renderers/ClusterOverlay.d.ts +73 -0
  26. package/dist/types/renderers/ClusterOverlay.test.d.ts +1 -0
  27. package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.d.ts +1 -1
  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 +7 -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 → hitTest.d.ts} +30 -4
  54. package/dist/types/utils/hitTest.test.d.ts +1 -0
  55. package/dist/types/utils/jsDriverResultTransformer.d.ts +11 -9
  56. package/dist/types/utils/layoutSeeding.d.ts +7 -0
  57. package/dist/types/utils/layoutSeeding.test.d.ts +1 -0
  58. package/dist/types/utils/webWorkerUtils.d.ts +1 -1
  59. package/dist/types/utils/zoomFunctions.d.ts +9 -2
  60. package/package.json +13 -15
  61. package/skills/neo4j-nvl-skill/README.md +39 -0
  62. package/skills/neo4j-nvl-skill/SKILL.md +456 -0
  63. package/skills/neo4j-nvl-skill/references/api-surface.md +596 -0
  64. package/skills/neo4j-nvl-skill/references/troubleshooting.md +317 -0
  65. package/dist/base.mjs.LICENSE.txt +0 -21
  66. package/dist/types/layouts/forcedirectedlayout/ForceCytoLayout.d.ts +0 -22
  67. package/dist/types/layouts/forcedirectedlayout/cosebilkentlayout/CoseBilkentLayout.d.ts +0 -33
  68. package/dist/types/layouts/forcedirectedlayout/physlayout/PhysLayout.d.ts +0 -174
  69. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-fragment.d.ts +0 -2
  70. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-repulsive-fragment.d.ts +0 -2
  71. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/multilevel-update-fragment.d.ts +0 -2
  72. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/sim-vertex.d.ts +0 -2
  73. package/dist/types/layouts/forcedirectedlayout/physlayout/shaders/workaround-fragment.d.ts +0 -2
  74. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/SolarMerger.d.ts +0 -21
  75. package/dist/types/layouts/forcedirectedlayout/physlayout/solarmerger/solar-placer.d.ts +0 -2
  76. /package/dist/types/layouts/forcedirectedlayout/{physlayout/PhysLayout.test.d.ts → PhysLayout.test.d.ts} +0 -0
  77. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/SolarMerger.bench.d.ts → clustering/ClusterByMerger.test.d.ts} +0 -0
  78. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/SolarMerger.test.d.ts → clustering/SolarMerger.bench.d.ts} +0 -0
  79. /package/dist/types/layouts/forcedirectedlayout/{physlayout/solarmerger/solar-placer.test.d.ts → clustering/SolarMerger.test.d.ts} +0 -0
  80. /package/dist/types/{utils/hittest.test.d.ts → layouts/forcedirectedlayout/clustering/clustering-utils.test.d.ts} +0 -0
  81. /package/dist/types/layouts/forcedirectedlayout/{physlayout/glwrapper.d.ts → glwrapper.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,7 +2,37 @@
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
- ## [1.2.2] - 2026-09-07
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
6
36
 
7
37
  This 1.2.2 patch release adds migration warnings for breaking changes planned for the next major release.
8
38
 
package/README.md CHANGED
@@ -36,6 +36,14 @@ const nvl = new NVL(document.getElementById('frame'), nodes, relationships, opti
36
36
 
37
37
  You can find more instructions and examples on how to use NVL in the [docs](https://neo4j.com/docs/nvl/current/).
38
38
 
39
+ ### Agent skills
40
+
41
+ This package ships an agent skill for NVL (`neo4j-nvl-skill`) that helps AI coding assistants write correct NVL code for the version you have installed. To make the skill available to your agent, run:
42
+
43
+ ```bash
44
+ npx skills experimental_sync
45
+ ```
46
+
39
47
  ### Product analytics
40
48
 
41
49
  In order to improve the library we are collecting some information about the usage of NVL. If you prefer to disable this behavior set the parameter `disableTelemetry=true` as a parameter in `nvlOptions`.