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
package/README.md CHANGED
@@ -69,16 +69,38 @@ Semiotic is for projects that outgrow those libraries — when you need
69
69
  network graphs alongside time series, streaming data alongside static
70
70
  snapshots, or coordinated views across chart types.
71
71
 
72
+ ### Bundle size comparison
73
+
74
+ | Library | Packed | Unpacked | What you get |
75
+ |---|---|---|---|
76
+ | Victory | 393 KB | 2.3 MB | Charts only |
77
+ | Lightweight Charts | 586 KB | 3.0 MB | Financial charts only |
78
+ | **Semiotic** | **668 KB** | **2.5 MB** | **Charts + networks + streaming + coordination** |
79
+ | Recharts | 1.4 MB | 6.4 MB | Charts only |
80
+ | Chart.js | 1.6 MB | 6.2 MB | Charts only, no React |
81
+ | ApexCharts | 1.8 MB | 8.4 MB | Charts only |
82
+ | ECharts | 11.4 MB | 57.6 MB | Everything, no React |
83
+
72
84
  **AI-ready.** Semiotic ships with structured schemas (`ai/schema.json`), an
73
85
  `import from "semiotic/ai"` entry point, and an MCP server — all designed for
74
86
  LLM code generation. AI coding assistants can generate correct Semiotic code on
75
87
  the first try. Run `npx semiotic-ai --help` for CLI options or add `semiotic-mcp`
76
88
  to your MCP client config for tool-based chart rendering.
77
89
 
90
+ **Vega-Lite compatible.** Have existing Vega-Lite specs? `fromVegaLite(spec)`
91
+ translates them to Semiotic chart configs — instant onboarding from notebooks,
92
+ dashboards, or AI-generated specs. Composes with `configToJSX()`,
93
+ `copyConfig()`, and `toURL()` for full round-trip interop.
94
+
95
+ **Streaming system models.** Turn a streaming Sankey into a live system monitor:
96
+ click-to-inspect `DetailsPanel`, particle speed proportional to edge throughput,
97
+ threshold alerting with animated glow, and automatic topology diffing that
98
+ highlights new services as they appear. Visualization as product navigation.
99
+
78
100
  ## Install
79
101
 
80
102
  ```bash
81
- npm install semiotic
103
+ npm install semiotic@3.0.0-beta.4
82
104
  ```
83
105
 
84
106
  Requires React 18.1 or later.
@@ -142,6 +164,31 @@ import { ForceDirectedGraph, SankeyDiagram } from "semiotic"
142
164
  />
143
165
  ```
144
166
 
167
+ ### Streaming System Monitor
168
+
169
+ Live service topology with threshold alerting and click-to-inspect:
170
+
171
+ ```jsx
172
+ import { StreamNetworkFrame, ChartContainer, DetailsPanel, LinkedCharts } from "semiotic"
173
+
174
+ const chartRef = useRef()
175
+ chartRef.current.push({ source: "API", target: "Orders", value: 15 })
176
+
177
+ <LinkedCharts>
178
+ <ChartContainer title="System Monitor" status="live"
179
+ detailsPanel={
180
+ <DetailsPanel position="right" trigger="click">
181
+ {(datum) => <div>{datum.id}: {datum.value} req/s</div>}
182
+ </DetailsPanel>
183
+ }>
184
+ <StreamNetworkFrame ref={chartRef} chartType="sankey"
185
+ showParticles particleStyle={{ proportionalSpeed: true }}
186
+ thresholds={{ metric: n => n.value, warning: 100, critical: 250 }}
187
+ />
188
+ </ChartContainer>
189
+ </LinkedCharts>
190
+ ```
191
+
145
192
  ### Standard Charts
146
193
 
147
194
  Line, bar, scatter, area — all the basics, with sensible defaults:
@@ -173,20 +220,53 @@ import { LineChart, BarChart } from "semiotic"
173
220
  | **Coordination** | `LinkedCharts` `ScatterplotMatrix` |
174
221
  | **Frames** | `StreamXYFrame` `StreamOrdinalFrame` `StreamNetworkFrame` |
175
222
 
223
+ ### Vega-Lite Translation
224
+
225
+ Paste a Vega-Lite spec, get a Semiotic chart:
226
+
227
+ ```jsx
228
+ import { fromVegaLite } from "semiotic/data"
229
+ import { configToJSX, fromConfig } from "semiotic"
230
+
231
+ const config = fromVegaLite({
232
+ mark: "bar",
233
+ data: { values: [{ a: "A", b: 28 }, { a: "B", b: 55 }] },
234
+ encoding: {
235
+ x: { field: "a", type: "nominal" },
236
+ y: { field: "b", type: "quantitative" },
237
+ },
238
+ })
239
+
240
+ // Render directly
241
+ const { componentName, props } = fromConfig(config)
242
+ // → componentName: "BarChart", props: { data, categoryAccessor: "a", valueAccessor: "b" }
243
+
244
+ // Or generate JSX code
245
+ configToJSX(config)
246
+ // → <BarChart data={[...]} categoryAccessor="a" valueAccessor="b" />
247
+ ```
248
+
249
+ Supports bar, line, area, point, rect, arc, tick marks with encoding translation
250
+ for color, size, aggregation, and binning.
251
+
176
252
  ## Smaller Bundles
177
253
 
178
254
  Import only what you need:
179
255
 
180
256
  ```jsx
181
- import { LineChart } from "semiotic/xy" // 125 KB (vs 218 KB full)
182
- import { BarChart } from "semiotic/ordinal" // 140 KB
183
- import { ForceDirectedGraph } from "semiotic/network" // 133 KB
184
- import { LineChart } from "semiotic/ai" // HOC-only surface for AI generation
257
+ import { LineChart } from "semiotic/xy" // 123 KB
258
+ import { BarChart } from "semiotic/ordinal" // 118 KB
259
+ import { ForceDirectedGraph } from "semiotic/network" // 127 KB
260
+ import { LineChart } from "semiotic/ai" // HOC-only surface for AI generation
185
261
  ```
186
262
 
263
+ Granular entry points export only v3 Stream Frames and HOC charts — no legacy
264
+ utilities or backwards-compatibility shims.
265
+
187
266
  ## TypeScript
188
267
 
189
- Full type definitions ship with the package. Generics for type-safe accessors:
268
+ Built with `strict: true`. Full type definitions ship with the package.
269
+ Generics for type-safe accessors:
190
270
 
191
271
  ```tsx
192
272
  interface Sale { month: number; revenue: number }
@@ -222,7 +302,7 @@ Works with Next.js App Router, Remix, and Astro via `"use client"` directives.
222
302
  - [Getting Started](https://semiotic.nteract.io/getting-started)
223
303
  - [Charts](https://semiotic.nteract.io/charts) — all 27 chart types with live examples
224
304
  - [Frames](https://semiotic.nteract.io/frames) — full Frame API reference
225
- - [Features](https://semiotic.nteract.io/features) — axes, annotations, tooltips, styling
305
+ - [Features](https://semiotic.nteract.io/features) — axes, annotations, tooltips, styling, Vega-Lite translator
226
306
  - [Cookbook](https://semiotic.nteract.io/cookbook) — advanced patterns and recipes
227
307
  - [Playground](https://semiotic.nteract.io/playground) — interactive prop exploration
228
308
 
@@ -241,6 +321,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md). Our community follows the nteract
241
321
  Development of this library owes a lot to Susie Lu, Jason Reid, James Womack,
242
322
  Matt Herman, Shelby Sturgis, and Tristan Reid.
243
323
 
324
+ The Sankey layout engine is based on [sankey-plus](https://github.com/tomshanley/sankey-plus)
325
+ by [Tom Shanley](https://github.com/tomshanley), which improved on his earlier
326
+ `d3-sankey-circular` with better cycle detection, hierarchical arc stacking,
327
+ and dynamic extent adjustment.
328
+
244
329
  _Semiotic icon based on an icon by Andre Schauer._
245
330
 
246
331
  ## License
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMPONENT_REGISTRY = void 0;
4
+ const ai_1 = require("semiotic/ai");
5
+ exports.COMPONENT_REGISTRY = {
6
+ LineChart: { component: ai_1.LineChart, category: "xy" },
7
+ AreaChart: { component: ai_1.AreaChart, category: "xy" },
8
+ StackedAreaChart: { component: ai_1.StackedAreaChart, category: "xy" },
9
+ Scatterplot: { component: ai_1.Scatterplot, category: "xy" },
10
+ BubbleChart: { component: ai_1.BubbleChart, category: "xy" },
11
+ Heatmap: { component: ai_1.Heatmap, category: "xy" },
12
+ BarChart: { component: ai_1.BarChart, category: "ordinal" },
13
+ StackedBarChart: { component: ai_1.StackedBarChart, category: "ordinal" },
14
+ GroupedBarChart: { component: ai_1.GroupedBarChart, category: "ordinal" },
15
+ SwarmPlot: { component: ai_1.SwarmPlot, category: "ordinal" },
16
+ BoxPlot: { component: ai_1.BoxPlot, category: "ordinal" },
17
+ DotPlot: { component: ai_1.DotPlot, category: "ordinal" },
18
+ PieChart: { component: ai_1.PieChart, category: "ordinal" },
19
+ DonutChart: { component: ai_1.DonutChart, category: "ordinal" },
20
+ ForceDirectedGraph: { component: ai_1.ForceDirectedGraph, category: "network" },
21
+ ChordDiagram: { component: ai_1.ChordDiagram, category: "network" },
22
+ SankeyDiagram: { component: ai_1.SankeyDiagram, category: "network" },
23
+ TreeDiagram: { component: ai_1.TreeDiagram, category: "network" },
24
+ Treemap: { component: ai_1.Treemap, category: "network" },
25
+ CirclePack: { component: ai_1.CirclePack, category: "network" },
26
+ };
@@ -58,7 +58,7 @@ const path = __importStar(require("path"));
58
58
  const renderHOCToSVG_1 = require("./renderHOCToSVG");
59
59
  const componentRegistry_1 = require("./componentRegistry");
60
60
  // Load schema.json for tool definitions
61
- const schemaPath = path.resolve(__dirname, "schema.json");
61
+ const schemaPath = path.resolve(__dirname, "../schema.json");
62
62
  const schema = JSON.parse(fs.readFileSync(schemaPath, "utf-8"));
63
63
  // Build MCP server
64
64
  const server = new mcp_js_1.McpServer({
@@ -43,7 +43,7 @@ exports.renderHOCToSVG = renderHOCToSVG;
43
43
  const React = __importStar(require("react"));
44
44
  const ReactDOMServer = __importStar(require("react-dom/server"));
45
45
  const componentRegistry_1 = require("./componentRegistry");
46
- const validateProps_1 = require("../src/components/charts/shared/validateProps");
46
+ const ai_1 = require("semiotic/ai");
47
47
  function renderHOCToSVG(componentName, props) {
48
48
  // Look up component
49
49
  const entry = componentRegistry_1.COMPONENT_REGISTRY[componentName];
@@ -54,7 +54,7 @@ function renderHOCToSVG(componentName, props) {
54
54
  };
55
55
  }
56
56
  // Validate props
57
- const validation = (0, validateProps_1.validateProps)(componentName, props);
57
+ const validation = (0, ai_1.validateProps)(componentName, props);
58
58
  if (!validation.valid) {
59
59
  return {
60
60
  svg: null,
@@ -0,0 +1,60 @@
1
+ import * as React from "react";
2
+ import type { ChartConfig, CopyFormat } from "./export/chartConfig";
3
+ export interface ChartContainerProps {
4
+ /** Chart title */
5
+ title?: string;
6
+ /** Subtitle / description */
7
+ subtitle?: string;
8
+ /** Chart children (any Semiotic chart component) */
9
+ children: React.ReactNode;
10
+ /** Width — passed to child chart if not set on child. Default: "100%" */
11
+ width?: number | string;
12
+ /** Height of the chart area (excluding header). Default: 400 */
13
+ height?: number;
14
+ /** Built-in actions. Each can be true (default config), false (hidden), or config object */
15
+ actions?: {
16
+ export?: boolean | {
17
+ format?: "svg" | "png";
18
+ scale?: number;
19
+ filename?: string;
20
+ };
21
+ fullscreen?: boolean;
22
+ /** Enable "Copy Config" action button. Requires chartConfig prop. */
23
+ copyConfig?: boolean | {
24
+ format?: CopyFormat;
25
+ };
26
+ };
27
+ /** Chart configuration for serialization. Enables the "Copy Config" toolbar action. */
28
+ chartConfig?: ChartConfig;
29
+ /** Additional controls rendered in the toolbar after built-in actions */
30
+ controls?: React.ReactNode;
31
+ /** Loading state — shows skeleton placeholder */
32
+ loading?: boolean;
33
+ /** Error state — shows error message (overrides children) */
34
+ error?: string | React.ReactNode;
35
+ /** Wrap children in ChartErrorBoundary */
36
+ errorBoundary?: boolean;
37
+ /** Status indicator (wired to streaming staleness) */
38
+ status?: "live" | "stale" | "paused" | "error" | "static";
39
+ /** Details panel rendered alongside the chart (e.g. DetailsPanel component) */
40
+ detailsPanel?: React.ReactNode;
41
+ /** CSS class for the outer container */
42
+ className?: string;
43
+ /** Inline style overrides */
44
+ style?: React.CSSProperties;
45
+ }
46
+ export interface ChartContainerHandle {
47
+ /** Export chart to SVG or PNG */
48
+ export: (options?: {
49
+ format?: "svg" | "png";
50
+ scale?: number;
51
+ filename?: string;
52
+ }) => Promise<void>;
53
+ /** Toggle fullscreen */
54
+ toggleFullscreen: () => void;
55
+ /** Copy chart config to clipboard */
56
+ copyConfig: (format?: CopyFormat) => Promise<void>;
57
+ /** The chart container DOM element */
58
+ element: HTMLDivElement | null;
59
+ }
60
+ export declare const ChartContainer: React.ForwardRefExoticComponent<ChartContainerProps & React.RefAttributes<ChartContainerHandle>>;
@@ -0,0 +1,37 @@
1
+ import * as React from "react";
2
+ import type { ChartObservation, ClickObservation } from "./store/ObservationStore";
3
+ export interface DetailsPanelProps {
4
+ /**
5
+ * Render function receiving the clicked datum and the full observation.
6
+ * Return null to hide the panel for a given datum.
7
+ */
8
+ children: (datum: Record<string, any>, observation: ClickObservation) => React.ReactNode;
9
+ /** Panel position relative to the chart. Default: "right" */
10
+ position?: "right" | "bottom" | "overlay";
11
+ /** Panel width (for "right" position) or height (for "bottom"). Default: 300 */
12
+ size?: number;
13
+ /** Observation trigger type. Default: "click" */
14
+ trigger?: "click" | "hover";
15
+ /** Filter observations by chart ID */
16
+ chartId?: string;
17
+ /**
18
+ * Direct observation feed — use when the chart pushes observations via
19
+ * onObservation callback rather than through the ObservationStore.
20
+ * When set, bypasses useChartObserver and reacts to this prop directly.
21
+ */
22
+ observation?: ChartObservation | null;
23
+ /** Whether clicking empty space dismisses the panel. Default: true */
24
+ dismissOnEmpty?: boolean;
25
+ /** Custom close button. Set to false to hide. Default: true */
26
+ showClose?: boolean;
27
+ /** Called when the panel opens or closes */
28
+ onToggle?: (open: boolean) => void;
29
+ /** CSS class for the panel container */
30
+ className?: string;
31
+ /** Inline style overrides */
32
+ style?: React.CSSProperties;
33
+ }
34
+ export declare function DetailsPanel({ children, position, size, trigger, chartId, observation: directObservation, dismissOnEmpty, showClose, onToggle, className, style, }: DetailsPanelProps): React.JSX.Element | null;
35
+ export declare namespace DetailsPanel {
36
+ var displayName: string;
37
+ }
@@ -2,6 +2,8 @@ import * as React from "react";
2
2
  import type { ResolutionMode } from "./store/SelectionStore";
3
3
  export { useSelection, useLinkedHover, useBrushSelection, useFilteredData } from "./store/useSelection";
4
4
  export type { UseSelectionOptions, UseSelectionResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./store/useSelection";
5
+ export { useChartObserver } from "./store/useObservation";
6
+ export type { UseChartObserverOptions, UseChartObserverResult } from "./store/useObservation";
5
7
  export interface LinkedChartsProps {
6
8
  children: React.ReactNode;
7
9
  /** Pre-configure selections with resolution modes */
@@ -87,7 +87,7 @@ export declare const defaultTooltipStyle: React.CSSProperties;
87
87
  * />
88
88
  * ```
89
89
  */
90
- export declare function Tooltip(config?: TooltipConfig): (data: Record<string, unknown>) => React.JSX.Element;
90
+ export declare function Tooltip(config?: TooltipConfig): (data: Record<string, unknown>) => React.JSX.Element | null;
91
91
  /**
92
92
  * Create a multi-line tooltip that displays multiple fields
93
93
  *
@@ -130,7 +130,7 @@ export declare function Tooltip(config?: TooltipConfig): (data: Record<string, u
130
130
  * />
131
131
  * ```
132
132
  */
133
- export declare function MultiLineTooltip(config?: MultiLineTooltipConfig): (data: Record<string, unknown>) => React.JSX.Element;
133
+ export declare function MultiLineTooltip(config?: MultiLineTooltipConfig): (data: Record<string, unknown>) => React.JSX.Element | null;
134
134
  /**
135
135
  * Type for tooltip prop that chart components accept
136
136
  */
@@ -66,7 +66,7 @@ export { RealtimeWaterfallChart } from "./realtime/RealtimeWaterfallChart";
66
66
  export type { RealtimeWaterfallChartProps } from "./realtime/RealtimeWaterfallChart";
67
67
  export { RealtimeHeatmap } from "./realtime/RealtimeHeatmap";
68
68
  export type { RealtimeHeatmapProps } from "./realtime/RealtimeHeatmap";
69
- export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor } from "./shared/types";
69
+ export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode } from "./shared/types";
70
70
  export { useColorScale, useSortedData, DEFAULT_COLOR } from "./shared/hooks";
71
71
  export { COLOR_SCHEMES, DEFAULT_COLORS, getColor, createColorScale, getSize } from "./shared/colorUtils";
72
72
  export { formatNumber, formatDate, formatAxis, createTooltip, formatLargeNumber, truncateText } from "./shared/formatUtils";
@@ -21,6 +21,7 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
21
21
  showGrid?: boolean;
22
22
  showLegend?: boolean;
23
23
  tooltip?: TooltipProp;
24
+ annotations?: Record<string, any>[];
24
25
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
25
26
  }
26
27
  /**
@@ -19,6 +19,7 @@ export interface BoxPlotProps<TDatum extends Record<string, any> = Record<string
19
19
  showGrid?: boolean;
20
20
  showLegend?: boolean;
21
21
  tooltip?: TooltipProp;
22
+ annotations?: Record<string, any>[];
22
23
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
23
24
  }
24
25
  export declare function BoxPlot<TDatum extends Record<string, any> = Record<string, any>>(props: BoxPlotProps<TDatum>): React.JSX.Element;
@@ -15,6 +15,7 @@ export interface DonutChartProps<TDatum extends Record<string, any> = Record<str
15
15
  enableHover?: boolean;
16
16
  showLegend?: boolean;
17
17
  tooltip?: TooltipProp;
18
+ annotations?: Record<string, any>[];
18
19
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
19
20
  }
20
21
  export declare function DonutChart<TDatum extends Record<string, any> = Record<string, any>>(props: DonutChartProps<TDatum>): React.JSX.Element;
@@ -19,6 +19,7 @@ export interface DotPlotProps<TDatum extends Record<string, any> = Record<string
19
19
  showGrid?: boolean;
20
20
  showLegend?: boolean;
21
21
  tooltip?: TooltipProp;
22
+ annotations?: Record<string, any>[];
22
23
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
23
24
  }
24
25
  export declare function DotPlot<TDatum extends Record<string, any> = Record<string, any>>(props: DotPlotProps<TDatum>): React.JSX.Element;
@@ -18,6 +18,7 @@ export interface GroupedBarChartProps<TDatum extends Record<string, any> = Recor
18
18
  showGrid?: boolean;
19
19
  showLegend?: boolean;
20
20
  tooltip?: TooltipProp;
21
+ annotations?: Record<string, any>[];
21
22
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
22
23
  }
23
24
  export declare function GroupedBarChart<TDatum extends Record<string, any> = Record<string, any>>(props: GroupedBarChartProps<TDatum>): React.JSX.Element;
@@ -18,6 +18,7 @@ export interface HistogramProps<TDatum extends Record<string, any> = Record<stri
18
18
  showGrid?: boolean;
19
19
  showLegend?: boolean;
20
20
  tooltip?: TooltipProp;
21
+ annotations?: Record<string, any>[];
21
22
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
22
23
  }
23
24
  export declare function Histogram<TDatum extends Record<string, any> = Record<string, any>>(props: HistogramProps<TDatum>): React.JSX.Element;
@@ -13,6 +13,7 @@ export interface PieChartProps<TDatum extends Record<string, any> = Record<strin
13
13
  enableHover?: boolean;
14
14
  showLegend?: boolean;
15
15
  tooltip?: TooltipProp;
16
+ annotations?: Record<string, any>[];
16
17
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
17
18
  }
18
19
  export declare function PieChart<TDatum extends Record<string, any> = Record<string, any>>(props: PieChartProps<TDatum>): React.JSX.Element;
@@ -20,6 +20,7 @@ export interface RidgelinePlotProps<TDatum extends Record<string, any> = Record<
20
20
  showGrid?: boolean;
21
21
  showLegend?: boolean;
22
22
  tooltip?: TooltipProp;
23
+ annotations?: Record<string, any>[];
23
24
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
24
25
  }
25
26
  /**
@@ -19,6 +19,7 @@ export interface StackedBarChartProps<TDatum extends Record<string, any> = Recor
19
19
  showGrid?: boolean;
20
20
  showLegend?: boolean;
21
21
  tooltip?: TooltipProp;
22
+ annotations?: Record<string, any>[];
22
23
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
23
24
  }
24
25
  export declare function StackedBarChart<TDatum extends Record<string, any> = Record<string, any>>(props: StackedBarChartProps<TDatum>): React.JSX.Element;
@@ -21,6 +21,7 @@ export interface SwarmPlotProps<TDatum extends Record<string, any> = Record<stri
21
21
  showGrid?: boolean;
22
22
  showLegend?: boolean;
23
23
  tooltip?: TooltipProp;
24
+ annotations?: Record<string, any>[];
24
25
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
25
26
  }
26
27
  export declare function SwarmPlot<TDatum extends Record<string, any> = Record<string, any>>(props: SwarmPlotProps<TDatum>): React.JSX.Element;
@@ -20,6 +20,7 @@ export interface ViolinPlotProps<TDatum extends Record<string, any> = Record<str
20
20
  showGrid?: boolean;
21
21
  showLegend?: boolean;
22
22
  tooltip?: TooltipProp;
23
+ annotations?: Record<string, any>[];
23
24
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
24
25
  }
25
26
  export declare function ViolinPlot<TDatum extends Record<string, any> = Record<string, any>>(props: ViolinPlotProps<TDatum>): React.JSX.Element;
@@ -2,7 +2,11 @@ import * as React from "react";
2
2
  import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext, DecayConfig, PulseConfig, StalenessConfig } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
+ import type { ChartMode } from "../shared/types";
6
+ import type { OnObservationCallback } from "../../store/ObservationStore";
5
7
  export interface RealtimeHeatmapProps {
8
+ /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
9
+ mode?: ChartMode;
6
10
  /** Chart dimensions as [width, height] */
7
11
  size?: [number, number];
8
12
  /** Chart width (alternative to size) */
@@ -18,6 +22,8 @@ export interface RealtimeHeatmapProps {
18
22
  };
19
23
  /** CSS class name */
20
24
  className?: string;
25
+ onObservation?: OnObservationCallback;
26
+ chartId?: string;
21
27
  /** Direction time flows */
22
28
  arrowOfTime?: ArrowOfTime;
23
29
  /** Data retention strategy */
@@ -70,6 +76,11 @@ export interface RealtimeHeatmapProps {
70
76
  staleness?: StalenessConfig;
71
77
  /** Custom tooltip renderer (alias for tooltipContent) */
72
78
  tooltip?: (d: HoverData) => ReactNode;
79
+ /** Enable linked hover selection events for cross-chart highlighting */
80
+ linkedHover?: boolean | string | {
81
+ name?: string;
82
+ fields: string[];
83
+ };
73
84
  }
74
85
  /**
75
86
  * RealtimeHeatmap - Streaming heatmap with 2D grid binning.
@@ -1,8 +1,12 @@
1
1
  import * as React from "react";
2
- import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../../stream/types";
2
+ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext, DecayConfig, PulseConfig, StalenessConfig, TransitionConfig } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
+ import type { ChartMode } from "../shared/types";
6
+ import type { OnObservationCallback } from "../../store/ObservationStore";
5
7
  export interface RealtimeTemporalHistogramProps {
8
+ /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
9
+ mode?: ChartMode;
6
10
  /** Time interval for binning */
7
11
  binSize: number;
8
12
  /** Chart dimensions as [width, height] */
@@ -20,6 +24,8 @@ export interface RealtimeTemporalHistogramProps {
20
24
  };
21
25
  /** CSS class name */
22
26
  className?: string;
27
+ onObservation?: OnObservationCallback;
28
+ chartId?: string;
23
29
  /** Direction time flows */
24
30
  arrowOfTime?: ArrowOfTime;
25
31
  /** Data retention strategy */
@@ -81,6 +87,14 @@ export interface RealtimeTemporalHistogramProps {
81
87
  name?: string;
82
88
  fields: string[];
83
89
  };
90
+ /** Configurable opacity decay for older data */
91
+ decay?: DecayConfig;
92
+ /** Flash effect on newly inserted data */
93
+ pulse?: PulseConfig;
94
+ /** Frame-level data liveness indicator */
95
+ staleness?: StalenessConfig;
96
+ /** Smooth position interpolation on data change */
97
+ transition?: TransitionConfig;
84
98
  }
85
99
  /**
86
100
  * RealtimeTemporalHistogram - Streaming temporal histogram.
@@ -2,7 +2,11 @@ import * as React from "react";
2
2
  import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext, DecayConfig, PulseConfig, StalenessConfig, TransitionConfig } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
+ import type { ChartMode } from "../shared/types";
6
+ import type { OnObservationCallback } from "../../store/ObservationStore";
5
7
  export interface RealtimeLineChartProps {
8
+ /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
9
+ mode?: ChartMode;
6
10
  /** Chart dimensions as [width, height] */
7
11
  size?: [number, number];
8
12
  /** Chart width (alternative to size) */
@@ -18,6 +22,8 @@ export interface RealtimeLineChartProps {
18
22
  };
19
23
  /** CSS class name */
20
24
  className?: string;
25
+ onObservation?: OnObservationCallback;
26
+ chartId?: string;
21
27
  /** Direction time flows */
22
28
  arrowOfTime?: ArrowOfTime;
23
29
  /** Data retention strategy */
@@ -2,7 +2,11 @@ import * as React from "react";
2
2
  import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
+ import type { ChartMode } from "../shared/types";
6
+ import type { OnObservationCallback } from "../../store/ObservationStore";
5
7
  export interface RealtimeSwarmChartProps {
8
+ /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
9
+ mode?: ChartMode;
6
10
  /** Chart dimensions as [width, height] */
7
11
  size?: [number, number];
8
12
  /** Chart width (alternative to size) */
@@ -18,6 +22,8 @@ export interface RealtimeSwarmChartProps {
18
22
  };
19
23
  /** CSS class name */
20
24
  className?: string;
25
+ onObservation?: OnObservationCallback;
26
+ chartId?: string;
21
27
  /** Direction time flows */
22
28
  arrowOfTime?: ArrowOfTime;
23
29
  /** Data retention strategy */
@@ -2,7 +2,11 @@ import * as React from "react";
2
2
  import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
+ import type { ChartMode } from "../shared/types";
6
+ import type { OnObservationCallback } from "../../store/ObservationStore";
5
7
  export interface RealtimeWaterfallChartProps {
8
+ /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
9
+ mode?: ChartMode;
6
10
  /** Chart dimensions as [width, height] */
7
11
  size?: [number, number];
8
12
  /** Chart width (alternative to size) */
@@ -18,6 +22,8 @@ export interface RealtimeWaterfallChartProps {
18
22
  };
19
23
  /** CSS class name */
20
24
  className?: string;
25
+ onObservation?: OnObservationCallback;
26
+ chartId?: string;
21
27
  /** Direction time flows */
22
28
  arrowOfTime?: ArrowOfTime;
23
29
  /** Data retention strategy */
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ import type { AnnotationContext } from "../../realtime/types";
3
+ export declare function createDefaultAnnotationRules(frameType: "xy" | "ordinal" | "network"): (annotation: Record<string, any>, index: number, context: AnnotationContext) => React.ReactNode | null;
@@ -1,22 +1,28 @@
1
+ import { interpolateBlues, interpolateReds, interpolateGreens, interpolateOranges, interpolatePurples, interpolateViridis, interpolatePlasma } from "d3-scale-chromatic";
1
2
  /**
2
3
  * Predefined color schemes
3
4
  */
4
5
  export declare const COLOR_SCHEMES: {
5
- category10: any;
6
- tableau10: any;
7
- set3: any;
8
- blues: any;
9
- reds: any;
10
- greens: any;
11
- oranges: any;
12
- purples: any;
13
- viridis: any;
14
- plasma: any;
6
+ category10: readonly string[];
7
+ tableau10: readonly string[];
8
+ set3: readonly string[];
9
+ blues: typeof interpolateBlues;
10
+ reds: typeof interpolateReds;
11
+ greens: typeof interpolateGreens;
12
+ oranges: typeof interpolateOranges;
13
+ purples: typeof interpolatePurples;
14
+ viridis: typeof interpolateViridis;
15
+ plasma: typeof interpolatePlasma;
15
16
  };
16
17
  /**
17
18
  * Default colors for charts
18
19
  */
19
- export declare const DEFAULT_COLORS: any;
20
+ export declare const DEFAULT_COLORS: readonly string[];
21
+ /**
22
+ * Pastel palette for depth-based hierarchy coloring (Treemap, CirclePack, TreeDiagram).
23
+ * Index corresponds to hierarchy depth, wraps via modulo.
24
+ */
25
+ export declare const DEPTH_PALETTE_COLORS: string[];
20
26
  /**
21
27
  * Gets a color for a data point based on the colorBy configuration
22
28
  *