semiotic 3.0.0-beta.2 → 3.0.0-beta.4

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 (342) hide show
  1. package/CLAUDE.md +93 -753
  2. package/README.md +92 -7
  3. package/ai/dist/componentRegistry.js +26 -0
  4. package/ai/dist/{ai/mcp-server.js → mcp-server.js} +1 -1
  5. package/ai/dist/{ai/renderHOCToSVG.js → renderHOCToSVG.js} +2 -2
  6. package/dist/ChartContainer.d.ts +60 -0
  7. package/dist/DetailsPanel.d.ts +37 -0
  8. package/dist/LinkedCharts.d.ts +2 -0
  9. package/dist/Tooltip/Tooltip.d.ts +2 -2
  10. package/dist/charts/index.d.ts +1 -1
  11. package/dist/charts/ordinal/BarChart.d.ts +1 -0
  12. package/dist/charts/ordinal/BoxPlot.d.ts +1 -0
  13. package/dist/charts/ordinal/DonutChart.d.ts +1 -0
  14. package/dist/charts/ordinal/DotPlot.d.ts +1 -0
  15. package/dist/charts/ordinal/GroupedBarChart.d.ts +1 -0
  16. package/dist/charts/ordinal/Histogram.d.ts +1 -0
  17. package/dist/charts/ordinal/PieChart.d.ts +1 -0
  18. package/dist/charts/ordinal/RidgelinePlot.d.ts +1 -0
  19. package/dist/charts/ordinal/StackedBarChart.d.ts +1 -0
  20. package/dist/charts/ordinal/SwarmPlot.d.ts +1 -0
  21. package/dist/charts/ordinal/ViolinPlot.d.ts +1 -0
  22. package/dist/charts/realtime/RealtimeHeatmap.d.ts +11 -0
  23. package/dist/charts/realtime/RealtimeHistogram.d.ts +15 -1
  24. package/dist/charts/realtime/RealtimeLineChart.d.ts +6 -0
  25. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +6 -0
  26. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +6 -0
  27. package/dist/charts/shared/annotationRules.d.ts +3 -0
  28. package/dist/charts/shared/colorUtils.d.ts +17 -11
  29. package/dist/charts/shared/hooks.d.ts +96 -1
  30. package/dist/charts/shared/loess.d.ts +13 -0
  31. package/dist/charts/shared/networkUtils.d.ts +31 -0
  32. package/dist/charts/shared/tooltipUtils.d.ts +16 -0
  33. package/dist/charts/shared/types.d.ts +17 -2
  34. package/dist/charts/shared/validateChartData.d.ts +2 -3
  35. package/dist/charts/shared/validateProps.d.ts +18 -0
  36. package/dist/charts/xy/AreaChart.d.ts +4 -0
  37. package/dist/charts/xy/BubbleChart.d.ts +6 -0
  38. package/dist/charts/xy/Heatmap.d.ts +4 -0
  39. package/dist/charts/xy/LineChart.d.ts +6 -0
  40. package/dist/charts/xy/Scatterplot.d.ts +4 -0
  41. package/dist/charts/xy/StackedAreaChart.d.ts +4 -0
  42. package/dist/data/fromVegaLite.d.ts +48 -0
  43. package/dist/export/chartConfig.d.ts +29 -0
  44. package/dist/export/selectionSerializer.d.ts +20 -0
  45. package/dist/geometry/sankeyLinks.d.ts +1 -1
  46. package/dist/network.min.js +1 -1
  47. package/dist/network.module.min.js +1 -1
  48. package/dist/ordinal.min.js +1 -1
  49. package/dist/ordinal.module.min.js +1 -1
  50. package/dist/realtime/types.d.ts +20 -6
  51. package/dist/realtime.min.js +1 -1
  52. package/dist/realtime.module.min.js +1 -1
  53. package/dist/semiotic-ai.d.ts +14 -0
  54. package/dist/semiotic-ai.min.js +1 -1
  55. package/dist/semiotic-ai.module.min.js +1 -1
  56. package/dist/semiotic-data.d.ts +2 -0
  57. package/dist/semiotic-data.min.js +1 -1
  58. package/dist/semiotic-data.module.min.js +1 -1
  59. package/dist/semiotic-network.d.ts +9 -19
  60. package/dist/semiotic-ordinal.d.ts +12 -14
  61. package/dist/semiotic-xy.d.ts +12 -18
  62. package/dist/semiotic.d.ts +16 -13
  63. package/dist/semiotic.min.js +1 -1
  64. package/dist/semiotic.module.min.js +1 -1
  65. package/dist/server.min.js +1 -1
  66. package/dist/server.module.min.js +1 -1
  67. package/dist/store/ObservationStore.d.ts +61 -0
  68. package/dist/store/SelectionStore.d.ts +9 -1
  69. package/dist/store/ThemeStore.d.ts +6 -1
  70. package/dist/store/TooltipStore.d.ts +3 -1
  71. package/dist/store/createStore.d.ts +4 -1
  72. package/dist/store/useObservation.d.ts +18 -0
  73. package/dist/stream/MarginalGraphics.d.ts +1 -1
  74. package/dist/stream/NetworkPipelineStore.d.ts +44 -0
  75. package/dist/stream/OrdinalCanvasHitTester.d.ts +1 -0
  76. package/dist/stream/OrdinalSVGOverlay.d.ts +6 -2
  77. package/dist/stream/ParticlePool.d.ts +2 -1
  78. package/dist/stream/PipelineStore.d.ts +11 -0
  79. package/dist/stream/SVGOverlay.d.ts +21 -2
  80. package/dist/stream/SceneGraph.d.ts +1 -1
  81. package/dist/stream/networkTypes.d.ts +58 -1
  82. package/dist/stream/ordinalTypes.d.ts +13 -0
  83. package/dist/stream/types.d.ts +14 -0
  84. package/dist/types/annotationTypes.d.ts +10 -0
  85. package/dist/types/networkTypes.d.ts +1 -2
  86. package/dist/xy.min.js +1 -1
  87. package/dist/xy.module.min.js +1 -1
  88. package/package.json +30 -42
  89. package/ai/dist/ai/componentRegistry.js +0 -45
  90. package/ai/dist/src/components/Annotation.js +0 -358
  91. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +0 -369
  92. package/ai/dist/src/components/Axis/Axis.js +0 -374
  93. package/ai/dist/src/components/Axis/axisTitle.js +0 -14
  94. package/ai/dist/src/components/Axis/index.js +0 -7
  95. package/ai/dist/src/components/Axis/summaryGraphic.js +0 -37
  96. package/ai/dist/src/components/Brush.js +0 -84
  97. package/ai/dist/src/components/ChartErrorBoundary.js +0 -91
  98. package/ai/dist/src/components/DividedLine.js +0 -65
  99. package/ai/dist/src/components/Legend.js +0 -140
  100. package/ai/dist/src/components/LinkedCharts.js +0 -95
  101. package/ai/dist/src/components/ThemeProvider.js +0 -79
  102. package/ai/dist/src/components/Tooltip/Tooltip.js +0 -309
  103. package/ai/dist/src/components/TooltipPositioner/index.js +0 -132
  104. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +0 -73
  105. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +0 -254
  106. package/ai/dist/src/components/annotationRules/baseRules.js +0 -150
  107. package/ai/dist/src/components/annotationRules/networkframeRules.js +0 -196
  108. package/ai/dist/src/components/annotationRules/xyframeRules.js +0 -297
  109. package/ai/dist/src/components/batchWork.js +0 -35
  110. package/ai/dist/src/components/charts/index.js +0 -109
  111. package/ai/dist/src/components/charts/network/ChordDiagram.js +0 -142
  112. package/ai/dist/src/components/charts/network/CirclePack.js +0 -108
  113. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +0 -121
  114. package/ai/dist/src/components/charts/network/SankeyDiagram.js +0 -155
  115. package/ai/dist/src/components/charts/network/TreeDiagram.js +0 -110
  116. package/ai/dist/src/components/charts/network/Treemap.js +0 -106
  117. package/ai/dist/src/components/charts/ordinal/BarChart.js +0 -156
  118. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +0 -139
  119. package/ai/dist/src/components/charts/ordinal/DonutChart.js +0 -130
  120. package/ai/dist/src/components/charts/ordinal/DotPlot.js +0 -126
  121. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +0 -129
  122. package/ai/dist/src/components/charts/ordinal/Histogram.js +0 -132
  123. package/ai/dist/src/components/charts/ordinal/PieChart.js +0 -128
  124. package/ai/dist/src/components/charts/ordinal/RidgelinePlot.js +0 -130
  125. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +0 -130
  126. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +0 -147
  127. package/ai/dist/src/components/charts/ordinal/ViolinPlot.js +0 -138
  128. package/ai/dist/src/components/charts/realtime/RealtimeHeatmap.js +0 -79
  129. package/ai/dist/src/components/charts/realtime/RealtimeHistogram.js +0 -114
  130. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +0 -93
  131. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +0 -105
  132. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +0 -106
  133. package/ai/dist/src/components/charts/shared/ChartError.js +0 -72
  134. package/ai/dist/src/components/charts/shared/colorUtils.js +0 -138
  135. package/ai/dist/src/components/charts/shared/formatUtils.js +0 -213
  136. package/ai/dist/src/components/charts/shared/hooks.js +0 -49
  137. package/ai/dist/src/components/charts/shared/legendUtils.js +0 -57
  138. package/ai/dist/src/components/charts/shared/selectionUtils.js +0 -67
  139. package/ai/dist/src/components/charts/shared/tooltipUtils.js +0 -79
  140. package/ai/dist/src/components/charts/shared/types.js +0 -2
  141. package/ai/dist/src/components/charts/shared/validateChartData.js +0 -82
  142. package/ai/dist/src/components/charts/shared/validateProps.js +0 -736
  143. package/ai/dist/src/components/charts/xy/AreaChart.js +0 -230
  144. package/ai/dist/src/components/charts/xy/BubbleChart.js +0 -251
  145. package/ai/dist/src/components/charts/xy/Heatmap.js +0 -235
  146. package/ai/dist/src/components/charts/xy/LineChart.js +0 -307
  147. package/ai/dist/src/components/charts/xy/MinimapChart.js +0 -298
  148. package/ai/dist/src/components/charts/xy/Scatterplot.js +0 -172
  149. package/ai/dist/src/components/charts/xy/ScatterplotMatrix.js +0 -426
  150. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +0 -231
  151. package/ai/dist/src/components/constants/coordinateNames.js +0 -11
  152. package/ai/dist/src/components/constants/frame_props.js +0 -251
  153. package/ai/dist/src/components/data/dataFunctions.js +0 -487
  154. package/ai/dist/src/components/data/multiAccessorUtils.js +0 -14
  155. package/ai/dist/src/components/data/transforms.js +0 -143
  156. package/ai/dist/src/components/data/unflowedFunctions.js +0 -5
  157. package/ai/dist/src/components/export/exportChart.js +0 -121
  158. package/ai/dist/src/components/generic_utilities/functions.js +0 -5
  159. package/ai/dist/src/components/geometry/areaDrawing.js +0 -312
  160. package/ai/dist/src/components/geometry/contourLayout.js +0 -73
  161. package/ai/dist/src/components/geometry/hexbinLayout.js +0 -163
  162. package/ai/dist/src/components/geometry/lineDrawing.js +0 -356
  163. package/ai/dist/src/components/geometry/sankeyLinks.js +0 -331
  164. package/ai/dist/src/components/geometry/summaryLayouts.js +0 -136
  165. package/ai/dist/src/components/index.js +0 -18
  166. package/ai/dist/src/components/processing/InteractionItems.js +0 -223
  167. package/ai/dist/src/components/processing/hierarchyUtils.js +0 -104
  168. package/ai/dist/src/components/processing/layouts/chordLayout.js +0 -58
  169. package/ai/dist/src/components/processing/layouts/forceLayout.js +0 -142
  170. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +0 -31
  171. package/ai/dist/src/components/processing/layouts/index.js +0 -32
  172. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +0 -96
  173. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +0 -34
  174. package/ai/dist/src/components/processing/layouts/types.js +0 -2
  175. package/ai/dist/src/components/processing/networkDefaults.js +0 -39
  176. package/ai/dist/src/components/realtime/BinAccumulator.js +0 -36
  177. package/ai/dist/src/components/realtime/IncrementalExtent.js +0 -55
  178. package/ai/dist/src/components/realtime/RingBuffer.js +0 -104
  179. package/ai/dist/src/components/realtime/renderers/barRenderer.js +0 -133
  180. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +0 -7
  181. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +0 -164
  182. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +0 -91
  183. package/ai/dist/src/components/realtime/renderers/types.js +0 -2
  184. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +0 -163
  185. package/ai/dist/src/components/realtime/types.js +0 -2
  186. package/ai/dist/src/components/semiotic-ai.js +0 -89
  187. package/ai/dist/src/components/semiotic-data.js +0 -12
  188. package/ai/dist/src/components/semiotic-network.js +0 -38
  189. package/ai/dist/src/components/semiotic-ordinal.js +0 -28
  190. package/ai/dist/src/components/semiotic-realtime.js +0 -30
  191. package/ai/dist/src/components/semiotic-server.js +0 -8
  192. package/ai/dist/src/components/semiotic-xy.js +0 -35
  193. package/ai/dist/src/components/semiotic.js +0 -109
  194. package/ai/dist/src/components/server/renderToStaticSVG.js +0 -594
  195. package/ai/dist/src/components/store/SelectionStore.js +0 -91
  196. package/ai/dist/src/components/store/ThemeStore.js +0 -78
  197. package/ai/dist/src/components/store/TooltipStore.js +0 -13
  198. package/ai/dist/src/components/store/createStore.js +0 -81
  199. package/ai/dist/src/components/store/useSelection.js +0 -133
  200. package/ai/dist/src/components/stream/CanvasHitTester.js +0 -164
  201. package/ai/dist/src/components/stream/DataSourceAdapter.js +0 -99
  202. package/ai/dist/src/components/stream/MarginalGraphics.js +0 -266
  203. package/ai/dist/src/components/stream/NetworkCanvasHitTester.js +0 -228
  204. package/ai/dist/src/components/stream/NetworkPipelineStore.js +0 -498
  205. package/ai/dist/src/components/stream/NetworkSVGOverlay.js +0 -70
  206. package/ai/dist/src/components/stream/NetworkSceneGraph.js +0 -38
  207. package/ai/dist/src/components/stream/OrdinalCanvasHitTester.js +0 -146
  208. package/ai/dist/src/components/stream/OrdinalPipelineStore.js +0 -786
  209. package/ai/dist/src/components/stream/OrdinalSVGOverlay.js +0 -130
  210. package/ai/dist/src/components/stream/ParticlePool.js +0 -174
  211. package/ai/dist/src/components/stream/PipelineStore.js +0 -1243
  212. package/ai/dist/src/components/stream/SVGOverlay.js +0 -129
  213. package/ai/dist/src/components/stream/SceneGraph.js +0 -132
  214. package/ai/dist/src/components/stream/StreamNetworkFrame.js +0 -561
  215. package/ai/dist/src/components/stream/StreamOrdinalFrame.js +0 -492
  216. package/ai/dist/src/components/stream/StreamXYFrame.js +0 -590
  217. package/ai/dist/src/components/stream/accessorUtils.js +0 -20
  218. package/ai/dist/src/components/stream/index.js +0 -32
  219. package/ai/dist/src/components/stream/layouts/chordLayoutPlugin.js +0 -352
  220. package/ai/dist/src/components/stream/layouts/forceLayoutPlugin.js +0 -230
  221. package/ai/dist/src/components/stream/layouts/hierarchyLayoutPlugin.js +0 -568
  222. package/ai/dist/src/components/stream/layouts/index.js +0 -28
  223. package/ai/dist/src/components/stream/layouts/sankeyLayoutPlugin.js +0 -245
  224. package/ai/dist/src/components/stream/networkTypes.js +0 -17
  225. package/ai/dist/src/components/stream/ordinalSceneBuilders/barScene.js +0 -126
  226. package/ai/dist/src/components/stream/ordinalSceneBuilders/connectorScene.js +0 -62
  227. package/ai/dist/src/components/stream/ordinalSceneBuilders/pieScene.js +0 -33
  228. package/ai/dist/src/components/stream/ordinalSceneBuilders/pointScene.js +0 -63
  229. package/ai/dist/src/components/stream/ordinalSceneBuilders/statisticalScene.js +0 -278
  230. package/ai/dist/src/components/stream/ordinalSceneBuilders/timelineScene.js +0 -30
  231. package/ai/dist/src/components/stream/ordinalSceneBuilders/types.js +0 -2
  232. package/ai/dist/src/components/stream/ordinalTypes.js +0 -2
  233. package/ai/dist/src/components/stream/renderers/areaCanvasRenderer.js +0 -48
  234. package/ai/dist/src/components/stream/renderers/barCanvasRenderer.js +0 -70
  235. package/ai/dist/src/components/stream/renderers/boxplotCanvasRenderer.js +0 -75
  236. package/ai/dist/src/components/stream/renderers/candlestickCanvasRenderer.js +0 -28
  237. package/ai/dist/src/components/stream/renderers/connectorCanvasRenderer.js +0 -47
  238. package/ai/dist/src/components/stream/renderers/heatmapCanvasRenderer.js +0 -31
  239. package/ai/dist/src/components/stream/renderers/lineCanvasRenderer.js +0 -140
  240. package/ai/dist/src/components/stream/renderers/networkArcRenderer.js +0 -38
  241. package/ai/dist/src/components/stream/renderers/networkCircleRenderer.js +0 -37
  242. package/ai/dist/src/components/stream/renderers/networkEdgeRenderer.js +0 -102
  243. package/ai/dist/src/components/stream/renderers/networkParticleRenderer.js +0 -63
  244. package/ai/dist/src/components/stream/renderers/networkRectRenderer.js +0 -35
  245. package/ai/dist/src/components/stream/renderers/pointCanvasRenderer.js +0 -38
  246. package/ai/dist/src/components/stream/renderers/swarmCanvasRenderer.js +0 -10
  247. package/ai/dist/src/components/stream/renderers/types.js +0 -2
  248. package/ai/dist/src/components/stream/renderers/violinCanvasRenderer.js +0 -47
  249. package/ai/dist/src/components/stream/renderers/waterfallCanvasRenderer.js +0 -38
  250. package/ai/dist/src/components/stream/renderers/wedgeCanvasRenderer.js +0 -33
  251. package/ai/dist/src/components/stream/types.js +0 -2
  252. package/ai/dist/src/components/types/annotationTypes.js +0 -2
  253. package/ai/dist/src/components/types/canvasTypes.js +0 -2
  254. package/ai/dist/src/components/types/generalTypes.js +0 -2
  255. package/ai/dist/src/components/types/interactionTypes.js +0 -2
  256. package/ai/dist/src/components/types/legendTypes.js +0 -2
  257. package/ai/dist/src/components/types/networkTypes.js +0 -2
  258. package/ai/dist/src/components/types/ordinalTypes.js +0 -2
  259. package/ai/dist/src/components/types/xyTypes.js +0 -2
  260. package/ai/dist/src/components/useBoundingRect.js +0 -24
  261. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +0 -301
  262. package/ai/dist/src/components/visualizationLayerBehavior/general.js +0 -435
  263. package/ai/dist/src/setupTests.js +0 -4
  264. package/dist/AnnotationLayer/AnnotationLayer.d.ts +0 -25
  265. package/dist/Axis/Axis.d.ts +0 -7
  266. package/dist/Axis/axisTitle.d.ts +0 -10
  267. package/dist/Axis/index.d.ts +0 -2
  268. package/dist/Axis/summaryGraphic.d.ts +0 -17
  269. package/dist/Brush.d.ts +0 -12
  270. package/dist/DividedLine.d.ts +0 -16
  271. package/dist/TooltipPositioner/index.d.ts +0 -7
  272. package/dist/annotationLayerBehavior/annotationHandling.d.ts +0 -19
  273. package/dist/annotationLayerBehavior/d3labeler.d.ts +0 -9
  274. package/dist/annotationRules/baseRules.d.ts +0 -25
  275. package/dist/annotationRules/networkframeRules.d.ts +0 -48
  276. package/dist/annotationRules/xyframeRules.d.ts +0 -117
  277. package/dist/batchWork.d.ts +0 -6
  278. package/dist/constants/coordinateNames.d.ts +0 -8
  279. package/dist/constants/frame_props.d.ts +0 -13
  280. package/dist/data/dataFunctions.d.ts +0 -45
  281. package/dist/data/multiAccessorUtils.d.ts +0 -1
  282. package/dist/data/unflowedFunctions.d.ts +0 -1
  283. package/dist/generic_utilities/functions.d.ts +0 -1
  284. package/dist/geometry/areaDrawing.d.ts +0 -21
  285. package/dist/geometry/contourLayout.d.ts +0 -6
  286. package/dist/geometry/hexbinLayout.d.ts +0 -7
  287. package/dist/geometry/lineDrawing.d.ts +0 -71
  288. package/dist/geometry/summaryLayouts.d.ts +0 -45
  289. package/dist/index.d.ts +0 -1
  290. package/dist/network.js +0 -7495
  291. package/dist/network.js.map +0 -1
  292. package/dist/network.module.js +0 -7458
  293. package/dist/network.module.js.map +0 -1
  294. package/dist/ordinal.js +0 -6497
  295. package/dist/ordinal.js.map +0 -1
  296. package/dist/ordinal.module.js +0 -6465
  297. package/dist/ordinal.module.js.map +0 -1
  298. package/dist/processing/InteractionItems.d.ts +0 -13
  299. package/dist/processing/hierarchyUtils.d.ts +0 -16
  300. package/dist/processing/layouts/chordLayout.d.ts +0 -2
  301. package/dist/processing/layouts/forceLayout.d.ts +0 -3
  302. package/dist/processing/layouts/hierarchyLayout.d.ts +0 -10
  303. package/dist/processing/layouts/index.d.ts +0 -8
  304. package/dist/processing/layouts/sankeyLayout.d.ts +0 -8
  305. package/dist/processing/layouts/simpleLayouts.d.ts +0 -7
  306. package/dist/processing/layouts/types.d.ts +0 -17
  307. package/dist/processing/networkDefaults.d.ts +0 -36
  308. package/dist/realtime/renderers/barRenderer.d.ts +0 -2
  309. package/dist/realtime/renderers/candlestickRenderer.d.ts +0 -2
  310. package/dist/realtime/renderers/lineRenderer.d.ts +0 -2
  311. package/dist/realtime/renderers/swarmRenderer.d.ts +0 -2
  312. package/dist/realtime.js +0 -7072
  313. package/dist/realtime.js.map +0 -1
  314. package/dist/realtime.module.js +0 -7043
  315. package/dist/realtime.module.js.map +0 -1
  316. package/dist/semiotic-ai.js +0 -13323
  317. package/dist/semiotic-ai.js.map +0 -1
  318. package/dist/semiotic-ai.module.js +0 -13264
  319. package/dist/semiotic-ai.module.js.map +0 -1
  320. package/dist/semiotic-data.js +0 -141
  321. package/dist/semiotic-data.js.map +0 -1
  322. package/dist/semiotic-data.module.js +0 -136
  323. package/dist/semiotic-data.module.js.map +0 -1
  324. package/dist/semiotic.js +0 -16351
  325. package/dist/semiotic.js.map +0 -1
  326. package/dist/semiotic.module.js +0 -16265
  327. package/dist/semiotic.module.js.map +0 -1
  328. package/dist/server.js +0 -5191
  329. package/dist/server.js.map +0 -1
  330. package/dist/server.module.js +0 -5166
  331. package/dist/server.module.js.map +0 -1
  332. package/dist/stream/NetworkSceneGraph.d.ts +0 -14
  333. package/dist/stream/index.d.ts +0 -16
  334. package/dist/types/canvasTypes.d.ts +0 -9
  335. package/dist/types/xyTypes.d.ts +0 -24
  336. package/dist/useBoundingRect.d.ts +0 -2
  337. package/dist/visualizationLayerBehavior/axis.d.ts +0 -36
  338. package/dist/visualizationLayerBehavior/general.d.ts +0 -80
  339. package/dist/xy.js +0 -6993
  340. package/dist/xy.js.map +0 -1
  341. package/dist/xy.module.js +0 -6957
  342. package/dist/xy.module.js.map +0 -1
@@ -1 +1,4 @@
1
- export declare function createStore(fn: any): ((selector: any) => any)[];
1
+ import * as React from "react";
2
+ export declare function createStore<T>(fn: (set: (updater: (current: T) => Partial<T>) => void) => T): [React.FC<{
3
+ children: React.ReactNode;
4
+ }>, <R>(selector: (state: T) => R) => R];
@@ -0,0 +1,18 @@
1
+ import type { ChartObservation } from "./ObservationStore";
2
+ export interface UseChartObserverOptions {
3
+ /** Max observations to return (default 50) */
4
+ limit?: number;
5
+ /** Filter by observation type(s) */
6
+ types?: ChartObservation["type"][];
7
+ /** Filter by chart instance id */
8
+ chartId?: string;
9
+ }
10
+ export interface UseChartObserverResult {
11
+ /** Recent observations (newest last), filtered by options */
12
+ observations: ChartObservation[];
13
+ /** Latest observation matching the filter, or null */
14
+ latest: ChartObservation | null;
15
+ /** Clear all observations in the store */
16
+ clear: () => void;
17
+ }
18
+ export declare function useChartObserver(options?: UseChartObserverOptions): UseChartObserverResult;
@@ -16,4 +16,4 @@ export interface MarginalGraphicsProps {
16
16
  }
17
17
  /** Resolve a string shorthand or full config into a MarginalConfig */
18
18
  export declare function normalizeMarginalConfig(input: MarginalConfig | MarginalType): MarginalConfig;
19
- export declare function MarginalGraphics({ orient, config: rawConfig, values, scale, size, length }: MarginalGraphicsProps): React.JSX.Element;
19
+ export declare function MarginalGraphics({ orient, config: rawConfig, values, scale, size, length }: MarginalGraphicsProps): React.JSX.Element | null;
@@ -24,6 +24,21 @@ export declare class NetworkPipelineStore {
24
24
  startTime: number;
25
25
  duration: number;
26
26
  } | null;
27
+ lastIngestTime: number;
28
+ private nodeTimestamps;
29
+ private edgeTimestamps;
30
+ /** Node IDs added in the most recent layout */
31
+ addedNodes: Set<string>;
32
+ /** Node IDs removed in the most recent layout */
33
+ removedNodes: Set<string>;
34
+ /** Edge keys added in the most recent layout */
35
+ addedEdges: Set<string>;
36
+ /** Edge keys removed in the most recent layout */
37
+ removedEdges: Set<string>;
38
+ /** Timestamp of last topology change */
39
+ lastTopologyChangeTime: number;
40
+ private previousNodeIds;
41
+ private previousEdgeKeys;
27
42
  constructor(config: NetworkPipelineConfig);
28
43
  updateConfig(config: NetworkPipelineConfig): void;
29
44
  /**
@@ -66,6 +81,35 @@ export declare class NetworkPipelineStore {
66
81
  private buildStandardBezier;
67
82
  private buildCircularBezier;
68
83
  rebuildAllBeziers(): void;
84
+ /**
85
+ * Apply pulse glow to scene nodes/edges based on their creation timestamps.
86
+ */
87
+ applyPulse(now: number): void;
88
+ /**
89
+ * Apply decay opacity to scene nodes based on topology age order.
90
+ * Older nodes (created earlier) are more faded.
91
+ */
92
+ applyDecay(): void;
93
+ /**
94
+ * Apply topology diff highlight — newly added nodes glow briefly.
95
+ * Duration: 2 seconds from lastTopologyChangeTime.
96
+ */
97
+ applyTopologyDiff(now: number): void;
98
+ /** Whether there is an active topology diff animation */
99
+ get hasActiveTopologyDiff(): boolean;
100
+ /**
101
+ * Apply threshold alerting to scene nodes.
102
+ * Overrides fill color and adds pulse for nodes exceeding thresholds.
103
+ */
104
+ applyThresholds(now: number): void;
105
+ /**
106
+ * Whether there are active threshold alerts on any node.
107
+ */
108
+ get hasActiveThresholds(): boolean;
109
+ /**
110
+ * Whether there are active pulse animations (recent ingests within pulse duration).
111
+ */
112
+ get hasActivePulses(): boolean;
69
113
  getLayoutData(): {
70
114
  nodes: RealtimeNode[];
71
115
  edges: RealtimeEdge[];
@@ -5,5 +5,6 @@ export interface OrdinalHitResult {
5
5
  y: number;
6
6
  distance: number;
7
7
  category?: string;
8
+ stats?: import("./ordinalTypes").DistributionStats;
8
9
  }
9
10
  export declare function findNearestOrdinalNode(scene: OrdinalSceneNode[], px: number, py: number, maxDistance?: number): OrdinalHitResult | null;
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import type { OrdinalScales, AnnotationContext } from "./ordinalTypes";
2
+ import type { OrdinalScales } from "./ordinalTypes";
3
+ import type { AnnotationContext } from "../realtime/types";
3
4
  import type { ReactNode } from "react";
4
5
  import type { LegendGroup } from "../types/legendTypes";
5
6
  interface OrdinalSVGOverlayProps {
@@ -28,7 +29,10 @@ interface OrdinalSVGOverlayProps {
28
29
  annotations?: Record<string, any>[];
29
30
  svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
30
31
  annotationFrame?: number;
32
+ xAccessor?: string;
33
+ yAccessor?: string;
34
+ annotationData?: Record<string, any>[];
31
35
  children?: ReactNode;
32
36
  }
33
- export declare function OrdinalSVGOverlay(props: OrdinalSVGOverlayProps): React.JSX.Element;
37
+ export declare function OrdinalSVGOverlay(props: OrdinalSVGOverlayProps): React.JSX.Element | null;
34
38
  export {};
@@ -17,8 +17,9 @@ export declare class ParticlePool {
17
17
  /**
18
18
  * Advance all active particles by deltaTime.
19
19
  * Recycles particles that have completed their journey (t >= 1).
20
+ * @param edgeSpeedMultipliers - optional per-edge speed scaling (for proportional flow rate)
20
21
  */
21
- step(deltaTime: number, speed: number, edges: RealtimeEdge[]): void;
22
+ step(deltaTime: number, speed: number, edges: RealtimeEdge[], edgeSpeedMultipliers?: number[]): void;
22
23
  /** Count active particles for a specific edge index */
23
24
  countForEdge(edgeIndex: number): number;
24
25
  /** Deactivate all particles */
@@ -40,6 +40,15 @@ export interface PipelineConfig {
40
40
  stroke?: string;
41
41
  strokeWidth?: number;
42
42
  };
43
+ waterfallStyle?: {
44
+ positiveColor?: string;
45
+ negativeColor?: string;
46
+ connectorStroke?: string;
47
+ connectorWidth?: number;
48
+ gap?: number;
49
+ stroke?: string;
50
+ strokeWidth?: number;
51
+ };
43
52
  colorScheme?: string | string[];
44
53
  barColors?: Record<string, string>;
45
54
  annotations?: Record<string, any>[];
@@ -50,6 +59,7 @@ export interface PipelineConfig {
50
59
  heatmapAggregation?: "count" | "sum" | "mean";
51
60
  heatmapXBins?: number;
52
61
  heatmapYBins?: number;
62
+ pointIdAccessor?: string | ((d: any) => string);
53
63
  }
54
64
  export declare class PipelineStore {
55
65
  private buffer;
@@ -68,6 +78,7 @@ export declare class PipelineStore {
68
78
  private getHigh;
69
79
  private getLow;
70
80
  private getClose;
81
+ private getPointId;
71
82
  private timestampBuffer;
72
83
  activeTransition: {
73
84
  startTime: number;
@@ -1,7 +1,16 @@
1
1
  import * as React from "react";
2
- import type { StreamScales, AnnotationContext, MarginalGraphicsConfig } from "./types";
2
+ import type { StreamScales, MarginalGraphicsConfig } from "./types";
3
+ import type { AnnotationContext } from "../realtime/types";
3
4
  import type { ReactNode } from "react";
4
5
  import type { LegendGroup } from "../types/legendTypes";
6
+ export interface AxisConfig {
7
+ orient: "left" | "right" | "top" | "bottom";
8
+ label?: string;
9
+ ticks?: number;
10
+ tickFormat?: (d: any) => string;
11
+ baseline?: boolean | "under";
12
+ jaggedBase?: boolean;
13
+ }
5
14
  interface SVGOverlayProps {
6
15
  width: number;
7
16
  height: number;
@@ -15,6 +24,7 @@ interface SVGOverlayProps {
15
24
  };
16
25
  scales: StreamScales | null;
17
26
  showAxes?: boolean;
27
+ axes?: AxisConfig[];
18
28
  xLabel?: string;
19
29
  yLabel?: string;
20
30
  xFormat?: (d: any) => string;
@@ -31,7 +41,16 @@ interface SVGOverlayProps {
31
41
  annotations?: Record<string, any>[];
32
42
  svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
33
43
  annotationFrame?: number;
44
+ xAccessor?: string;
45
+ yAccessor?: string;
46
+ annotationData?: Record<string, any>[];
47
+ pointNodes?: {
48
+ pointId?: string;
49
+ x: number;
50
+ y: number;
51
+ r: number;
52
+ }[];
34
53
  children?: ReactNode;
35
54
  }
36
- export declare function SVGOverlay(props: SVGOverlayProps): React.JSX.Element;
55
+ export declare function SVGOverlay(props: SVGOverlayProps): React.JSX.Element | null;
37
56
  export {};
@@ -5,7 +5,7 @@ export declare function buildStackedAreaNodes(groups: {
5
5
  key: string;
6
6
  data: Record<string, any>[];
7
7
  }[], scales: StreamScales, xGet: (d: Record<string, any>) => number, yGet: (d: Record<string, any>) => number, styleFn: (group: string, sampleDatum?: Record<string, any>) => Style, normalize?: boolean): AreaSceneNode[];
8
- export declare function buildPointNode(datum: Record<string, any>, scales: StreamScales, xGet: (d: Record<string, any>) => number, yGet: (d: Record<string, any>) => number, r: number, style: Style): PointSceneNode | null;
8
+ export declare function buildPointNode(datum: Record<string, any>, scales: StreamScales, xGet: (d: Record<string, any>) => number, yGet: (d: Record<string, any>) => number, r: number, style: Style, pointId?: string): PointSceneNode | null;
9
9
  export declare function buildRectNode(x: number, y: number, w: number, h: number, style: Style, datum: any, group?: string): RectSceneNode;
10
10
  export declare function buildHeatcellNode(x: number, y: number, w: number, h: number, fill: string, datum: any): HeatcellSceneNode;
11
11
  export interface SceneGraphData {
@@ -1,7 +1,8 @@
1
1
  import type { ReactNode } from "react";
2
+ import type { OnObservationCallback } from "../store/ObservationStore";
2
3
  import type { HoverData, AnnotationContext } from "../realtime/types";
3
4
  import type { LegendGroup } from "../types/legendTypes";
4
- import type { Style } from "./types";
5
+ import type { Style, DecayConfig, PulseConfig, StalenessConfig } from "./types";
5
6
  export interface TensionConfig {
6
7
  weightChange: number;
7
8
  newEdge: number;
@@ -81,6 +82,8 @@ export interface ParticleStyle {
81
82
  speedMultiplier?: number;
82
83
  maxPerEdge?: number;
83
84
  spawnRate?: number;
85
+ /** Scale particle speed proportional to edge value (higher value = faster). Default: false */
86
+ proportionalSpeed?: boolean;
84
87
  }
85
88
  export declare const DEFAULT_PARTICLE_STYLE: Required<Pick<ParticleStyle, "radius" | "opacity" | "speedMultiplier" | "maxPerEdge" | "spawnRate">>;
86
89
  export interface EdgePush {
@@ -133,6 +136,9 @@ export interface NetworkCircleNode {
133
136
  id?: string;
134
137
  label?: string;
135
138
  depth?: number;
139
+ _pulseIntensity?: number;
140
+ _pulseColor?: string;
141
+ _pulseGlowRadius?: number;
136
142
  }
137
143
  /** Rect node — used by sankey, treemap, partition */
138
144
  export interface NetworkRectNode {
@@ -146,6 +152,9 @@ export interface NetworkRectNode {
146
152
  id?: string;
147
153
  label?: string;
148
154
  depth?: number;
155
+ _pulseIntensity?: number;
156
+ _pulseColor?: string;
157
+ _pulseGlowRadius?: number;
149
158
  }
150
159
  /** Arc node — used by chord */
151
160
  export interface NetworkArcNode {
@@ -170,6 +179,8 @@ export interface NetworkLineEdge {
170
179
  y2: number;
171
180
  style: Style;
172
181
  datum: any;
182
+ _pulseIntensity?: number;
183
+ _pulseColor?: string;
173
184
  }
174
185
  /** Bezier band edge — used by sankey */
175
186
  export interface NetworkBezierEdge {
@@ -178,6 +189,8 @@ export interface NetworkBezierEdge {
178
189
  bezierCache?: BezierCache;
179
190
  style: Style;
180
191
  datum: any;
192
+ _pulseIntensity?: number;
193
+ _pulseColor?: string;
181
194
  }
182
195
  /** Ribbon edge — used by chord */
183
196
  export interface NetworkRibbonEdge {
@@ -228,6 +241,20 @@ export interface NetworkLayoutPlugin {
228
241
  /** Whether this layout uses hierarchical (tree) input instead of nodes+edges */
229
242
  hierarchical: boolean;
230
243
  }
244
+ /** Threshold alerting configuration for streaming network nodes */
245
+ export interface ThresholdAlertConfig {
246
+ /** Function that extracts the metric value from a node for threshold comparison */
247
+ metric: (node: RealtimeNode) => number;
248
+ /** Warning threshold — node enters "warning" state when metric >= this value */
249
+ warning?: number;
250
+ /** Critical threshold — node enters "critical" state when metric >= this value */
251
+ critical?: number;
252
+ /** Colors for threshold states */
253
+ warningColor?: string;
254
+ criticalColor?: string;
255
+ /** Whether to pulse nodes that cross a threshold. Default: true */
256
+ pulse?: boolean;
257
+ }
231
258
  export interface NetworkPipelineConfig {
232
259
  chartType: NetworkChartType;
233
260
  nodeIDAccessor?: string | ((d: any) => string);
@@ -264,6 +291,10 @@ export interface NetworkPipelineConfig {
264
291
  colorByDepth?: boolean;
265
292
  nodeSize?: number | string | ((d: any) => number);
266
293
  nodeSizeRange?: [number, number];
294
+ decay?: DecayConfig;
295
+ pulse?: PulseConfig;
296
+ staleness?: StalenessConfig;
297
+ thresholds?: ThresholdAlertConfig;
267
298
  }
268
299
  export interface StreamNetworkFrameProps<T = Record<string, any>> {
269
300
  chartType: NetworkChartType;
@@ -322,6 +353,22 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
322
353
  x: number;
323
354
  y: number;
324
355
  }) => ReactNode;
356
+ customHoverBehavior?: (d: {
357
+ type: "node" | "edge";
358
+ data: any;
359
+ x: number;
360
+ y: number;
361
+ } | null) => void;
362
+ customClickBehavior?: (d: {
363
+ type: "node" | "edge";
364
+ data: any;
365
+ x: number;
366
+ y: number;
367
+ } | null) => void;
368
+ /** Observation callback — emits hover/click events to the ObservationStore and this callback */
369
+ onObservation?: OnObservationCallback;
370
+ /** Chart instance identifier for observation filtering */
371
+ chartId?: string;
325
372
  onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
326
373
  annotations?: Record<string, any>[];
327
374
  svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
@@ -331,6 +378,10 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
331
378
  title?: string | ReactNode;
332
379
  foregroundGraphics?: ReactNode;
333
380
  backgroundGraphics?: ReactNode;
381
+ decay?: DecayConfig;
382
+ pulse?: PulseConfig;
383
+ staleness?: StalenessConfig;
384
+ thresholds?: ThresholdAlertConfig;
334
385
  }
335
386
  export interface StreamNetworkFrameHandle {
336
387
  push(edge: EdgePush): void;
@@ -340,6 +391,12 @@ export interface StreamNetworkFrameHandle {
340
391
  nodes: RealtimeNode[];
341
392
  edges: RealtimeEdge[];
342
393
  };
394
+ getTopologyDiff(): {
395
+ addedNodes: string[];
396
+ removedNodes: string[];
397
+ addedEdges: string[];
398
+ removedEdges: string[];
399
+ };
343
400
  relayout(): void;
344
401
  getTension(): number;
345
402
  }
@@ -52,6 +52,15 @@ export interface BoxplotSceneNode {
52
52
  datum: any;
53
53
  }[];
54
54
  }
55
+ export interface DistributionStats {
56
+ n: number;
57
+ min: number;
58
+ q1: number;
59
+ median: number;
60
+ q3: number;
61
+ max: number;
62
+ mean: number;
63
+ }
55
64
  export interface ViolinSceneNode {
56
65
  type: "violin";
57
66
  /** Pre-computed SVG path string for Path2D */
@@ -71,7 +80,11 @@ export interface ViolinSceneNode {
71
80
  q1Pos: number;
72
81
  medianPos: number;
73
82
  q3Pos: number;
83
+ centerPos: number;
84
+ isVertical: boolean;
74
85
  };
86
+ /** Pre-computed distribution statistics for tooltips */
87
+ stats?: DistributionStats;
75
88
  style: Style;
76
89
  datum: any;
77
90
  category?: string;
@@ -102,10 +102,14 @@ export interface PointSceneNode {
102
102
  r: number;
103
103
  style: Style;
104
104
  datum: any;
105
+ /** Optional unique identifier for point-anchored annotations */
106
+ pointId?: string;
105
107
  /** Pulse glow intensity 0–1 (set by PipelineStore when pulse is active) */
106
108
  _pulseIntensity?: number;
107
109
  /** Pulse glow color */
108
110
  _pulseColor?: string;
111
+ /** Pulse glow radius in px (default: 4) */
112
+ _pulseGlowRadius?: number;
109
113
  /** Animation target fields (set during transitions) */
110
114
  _targetX?: number;
111
115
  _targetY?: number;
@@ -243,6 +247,14 @@ export interface StreamXYFrameProps<T = Record<string, any>> {
243
247
  barColors?: Record<string, string>;
244
248
  colorScheme?: string | string[];
245
249
  showAxes?: boolean;
250
+ axes?: Array<{
251
+ orient: "left" | "right" | "top" | "bottom";
252
+ label?: string;
253
+ ticks?: number;
254
+ tickFormat?: (d: any) => string;
255
+ baseline?: boolean | "under";
256
+ jaggedBase?: boolean;
257
+ }>;
246
258
  xLabel?: string;
247
259
  yLabel?: string;
248
260
  xFormat?: (d: any) => string;
@@ -263,6 +275,8 @@ export interface StreamXYFrameProps<T = Record<string, any>> {
263
275
  x: [number, number];
264
276
  y: [number, number];
265
277
  } | null) => void;
278
+ /** Accessor for unique point IDs used by point-anchored annotations */
279
+ pointIdAccessor?: string | ((d: T) => string);
266
280
  annotations?: Record<string, any>[];
267
281
  svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
268
282
  showGrid?: boolean;
@@ -71,10 +71,20 @@ export interface AnnotationProps {
71
71
  note: {
72
72
  label?: string;
73
73
  title?: string;
74
+ wrap?: number;
75
+ orientation?: string;
76
+ align?: string;
77
+ noWrap?: boolean;
74
78
  };
75
79
  i?: number;
76
80
  fixedPosition?: boolean;
77
81
  label?: string;
82
+ connector?: any;
83
+ subject?: any;
84
+ color?: string;
85
+ className?: string;
86
+ disable?: string[];
87
+ [key: string]: any;
78
88
  };
79
89
  }
80
90
  type GlyphProps = {
@@ -1,6 +1,5 @@
1
1
  import { RenderPipelineType, DataAccessor } from "./generalTypes";
2
2
  import { GeneralFrameProps, GeneralFrameState } from "./generalTypes";
3
- import { NetworkLayoutMap } from "../processing/layouts/types";
4
3
  export interface NodeType {
5
4
  degree: number;
6
5
  inDegree: number;
@@ -171,5 +170,5 @@ export interface NetworkFrameProps<TNode = Record<string, any>, TEdge = Record<s
171
170
  renderOrder?: ReadonlyArray<"edges" | "nodes">;
172
171
  filterRenderedNodes?: (value?: NodeType, index?: number, array?: NodeType[]) => any;
173
172
  /** @internal Layout map for tree-shaking optimization. Do not use directly. */
174
- _layoutMap?: NetworkLayoutMap;
173
+ _layoutMap?: Record<string, any>;
175
174
  }