semiotic 2.0.3 → 3.0.0-beta.2

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 (508) hide show
  1. package/CLAUDE.md +828 -0
  2. package/README.md +215 -37
  3. package/ai/cli.js +48 -0
  4. package/ai/dist/ai/componentRegistry.js +45 -0
  5. package/ai/dist/ai/mcp-server.js +99 -0
  6. package/ai/dist/ai/renderHOCToSVG.js +77 -0
  7. package/ai/dist/src/components/Annotation.js +358 -0
  8. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
  9. package/ai/dist/src/components/Axis/Axis.js +374 -0
  10. package/ai/dist/src/components/Axis/axisTitle.js +14 -0
  11. package/ai/dist/src/components/Axis/index.js +7 -0
  12. package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
  13. package/ai/dist/src/components/Brush.js +84 -0
  14. package/ai/dist/src/components/ChartErrorBoundary.js +91 -0
  15. package/ai/dist/src/components/DividedLine.js +65 -0
  16. package/ai/dist/src/components/Legend.js +140 -0
  17. package/ai/dist/src/components/LinkedCharts.js +95 -0
  18. package/ai/dist/src/components/ThemeProvider.js +79 -0
  19. package/ai/dist/src/components/Tooltip/Tooltip.js +309 -0
  20. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  21. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  22. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  23. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  24. package/ai/dist/src/components/annotationRules/networkframeRules.js +196 -0
  25. package/ai/dist/src/components/annotationRules/xyframeRules.js +297 -0
  26. package/ai/dist/src/components/batchWork.js +35 -0
  27. package/ai/dist/src/components/charts/index.js +109 -0
  28. package/ai/dist/src/components/charts/network/ChordDiagram.js +142 -0
  29. package/ai/dist/src/components/charts/network/CirclePack.js +108 -0
  30. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +121 -0
  31. package/ai/dist/src/components/charts/network/SankeyDiagram.js +155 -0
  32. package/ai/dist/src/components/charts/network/TreeDiagram.js +110 -0
  33. package/ai/dist/src/components/charts/network/Treemap.js +106 -0
  34. package/ai/dist/src/components/charts/ordinal/BarChart.js +156 -0
  35. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +139 -0
  36. package/ai/dist/src/components/charts/ordinal/DonutChart.js +130 -0
  37. package/ai/dist/src/components/charts/ordinal/DotPlot.js +126 -0
  38. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +129 -0
  39. package/ai/dist/src/components/charts/ordinal/Histogram.js +132 -0
  40. package/ai/dist/src/components/charts/ordinal/PieChart.js +128 -0
  41. package/ai/dist/src/components/charts/ordinal/RidgelinePlot.js +130 -0
  42. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +130 -0
  43. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +147 -0
  44. package/ai/dist/src/components/charts/ordinal/ViolinPlot.js +138 -0
  45. package/ai/dist/src/components/charts/realtime/RealtimeHeatmap.js +79 -0
  46. package/ai/dist/src/components/charts/realtime/RealtimeHistogram.js +114 -0
  47. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +93 -0
  48. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +105 -0
  49. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +106 -0
  50. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  51. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  52. package/ai/dist/src/components/charts/shared/formatUtils.js +213 -0
  53. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  54. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  55. package/ai/dist/src/components/charts/shared/selectionUtils.js +67 -0
  56. package/ai/dist/src/components/charts/shared/tooltipUtils.js +79 -0
  57. package/ai/dist/src/components/charts/shared/types.js +2 -0
  58. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  59. package/ai/dist/src/components/charts/shared/validateProps.js +736 -0
  60. package/ai/dist/src/components/charts/xy/AreaChart.js +230 -0
  61. package/ai/dist/src/components/charts/xy/BubbleChart.js +251 -0
  62. package/ai/dist/src/components/charts/xy/Heatmap.js +235 -0
  63. package/ai/dist/src/components/charts/xy/LineChart.js +307 -0
  64. package/ai/dist/src/components/charts/xy/MinimapChart.js +298 -0
  65. package/ai/dist/src/components/charts/xy/Scatterplot.js +172 -0
  66. package/ai/dist/src/components/charts/xy/ScatterplotMatrix.js +426 -0
  67. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +231 -0
  68. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  69. package/ai/dist/src/components/constants/frame_props.js +251 -0
  70. package/ai/dist/src/components/data/dataFunctions.js +487 -0
  71. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  72. package/ai/dist/src/components/data/transforms.js +143 -0
  73. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  74. package/ai/dist/src/components/export/exportChart.js +121 -0
  75. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  76. package/ai/dist/src/components/geometry/areaDrawing.js +312 -0
  77. package/ai/dist/src/components/geometry/contourLayout.js +73 -0
  78. package/ai/dist/src/components/geometry/hexbinLayout.js +163 -0
  79. package/ai/dist/src/components/geometry/lineDrawing.js +356 -0
  80. package/ai/dist/src/components/geometry/sankeyLinks.js +331 -0
  81. package/ai/dist/src/components/geometry/summaryLayouts.js +136 -0
  82. package/ai/dist/src/components/index.js +18 -0
  83. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  84. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  85. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  86. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  87. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  88. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  89. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  90. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  91. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  92. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  93. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  94. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  95. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  96. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  97. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  98. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  99. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  100. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  101. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  102. package/ai/dist/src/components/realtime/types.js +2 -0
  103. package/ai/dist/src/components/semiotic-ai.js +89 -0
  104. package/ai/dist/src/components/semiotic-data.js +12 -0
  105. package/ai/dist/src/components/semiotic-network.js +38 -0
  106. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  107. package/ai/dist/src/components/semiotic-realtime.js +30 -0
  108. package/ai/dist/src/components/semiotic-server.js +8 -0
  109. package/ai/dist/src/components/semiotic-xy.js +35 -0
  110. package/ai/dist/src/components/semiotic.js +109 -0
  111. package/ai/dist/src/components/server/renderToStaticSVG.js +594 -0
  112. package/ai/dist/src/components/store/SelectionStore.js +91 -0
  113. package/ai/dist/src/components/store/ThemeStore.js +78 -0
  114. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  115. package/ai/dist/src/components/store/createStore.js +81 -0
  116. package/ai/dist/src/components/store/useSelection.js +133 -0
  117. package/ai/dist/src/components/stream/CanvasHitTester.js +164 -0
  118. package/ai/dist/src/components/stream/DataSourceAdapter.js +99 -0
  119. package/ai/dist/src/components/stream/MarginalGraphics.js +266 -0
  120. package/ai/dist/src/components/stream/NetworkCanvasHitTester.js +228 -0
  121. package/ai/dist/src/components/stream/NetworkPipelineStore.js +498 -0
  122. package/ai/dist/src/components/stream/NetworkSVGOverlay.js +70 -0
  123. package/ai/dist/src/components/stream/NetworkSceneGraph.js +38 -0
  124. package/ai/dist/src/components/stream/OrdinalCanvasHitTester.js +146 -0
  125. package/ai/dist/src/components/stream/OrdinalPipelineStore.js +786 -0
  126. package/ai/dist/src/components/stream/OrdinalSVGOverlay.js +130 -0
  127. package/ai/dist/src/components/stream/ParticlePool.js +174 -0
  128. package/ai/dist/src/components/stream/PipelineStore.js +1243 -0
  129. package/ai/dist/src/components/stream/SVGOverlay.js +129 -0
  130. package/ai/dist/src/components/stream/SceneGraph.js +132 -0
  131. package/ai/dist/src/components/stream/StreamNetworkFrame.js +561 -0
  132. package/ai/dist/src/components/stream/StreamOrdinalFrame.js +492 -0
  133. package/ai/dist/src/components/stream/StreamXYFrame.js +590 -0
  134. package/ai/dist/src/components/stream/accessorUtils.js +20 -0
  135. package/ai/dist/src/components/stream/index.js +32 -0
  136. package/ai/dist/src/components/stream/layouts/chordLayoutPlugin.js +352 -0
  137. package/ai/dist/src/components/stream/layouts/forceLayoutPlugin.js +230 -0
  138. package/ai/dist/src/components/stream/layouts/hierarchyLayoutPlugin.js +568 -0
  139. package/ai/dist/src/components/stream/layouts/index.js +28 -0
  140. package/ai/dist/src/components/stream/layouts/sankeyLayoutPlugin.js +245 -0
  141. package/ai/dist/src/components/stream/networkTypes.js +17 -0
  142. package/ai/dist/src/components/stream/ordinalSceneBuilders/barScene.js +126 -0
  143. package/ai/dist/src/components/stream/ordinalSceneBuilders/connectorScene.js +62 -0
  144. package/ai/dist/src/components/stream/ordinalSceneBuilders/pieScene.js +33 -0
  145. package/ai/dist/src/components/stream/ordinalSceneBuilders/pointScene.js +63 -0
  146. package/ai/dist/src/components/stream/ordinalSceneBuilders/statisticalScene.js +278 -0
  147. package/ai/dist/src/components/stream/ordinalSceneBuilders/timelineScene.js +30 -0
  148. package/ai/dist/src/components/stream/ordinalSceneBuilders/types.js +2 -0
  149. package/ai/dist/src/components/stream/ordinalTypes.js +2 -0
  150. package/ai/dist/src/components/stream/renderers/areaCanvasRenderer.js +48 -0
  151. package/ai/dist/src/components/stream/renderers/barCanvasRenderer.js +70 -0
  152. package/ai/dist/src/components/stream/renderers/boxplotCanvasRenderer.js +75 -0
  153. package/ai/dist/src/components/stream/renderers/candlestickCanvasRenderer.js +28 -0
  154. package/ai/dist/src/components/stream/renderers/connectorCanvasRenderer.js +47 -0
  155. package/ai/dist/src/components/stream/renderers/heatmapCanvasRenderer.js +31 -0
  156. package/ai/dist/src/components/stream/renderers/lineCanvasRenderer.js +140 -0
  157. package/ai/dist/src/components/stream/renderers/networkArcRenderer.js +38 -0
  158. package/ai/dist/src/components/stream/renderers/networkCircleRenderer.js +37 -0
  159. package/ai/dist/src/components/stream/renderers/networkEdgeRenderer.js +102 -0
  160. package/ai/dist/src/components/stream/renderers/networkParticleRenderer.js +63 -0
  161. package/ai/dist/src/components/stream/renderers/networkRectRenderer.js +35 -0
  162. package/ai/dist/src/components/stream/renderers/pointCanvasRenderer.js +38 -0
  163. package/ai/dist/src/components/stream/renderers/swarmCanvasRenderer.js +10 -0
  164. package/ai/dist/src/components/stream/renderers/types.js +2 -0
  165. package/ai/dist/src/components/stream/renderers/violinCanvasRenderer.js +47 -0
  166. package/ai/dist/src/components/stream/renderers/waterfallCanvasRenderer.js +38 -0
  167. package/ai/dist/src/components/stream/renderers/wedgeCanvasRenderer.js +33 -0
  168. package/ai/dist/src/components/stream/types.js +2 -0
  169. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  170. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  171. package/ai/dist/src/components/types/generalTypes.js +2 -0
  172. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  173. package/ai/dist/src/components/types/legendTypes.js +2 -0
  174. package/ai/dist/src/components/types/networkTypes.js +2 -0
  175. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  176. package/ai/dist/src/components/types/xyTypes.js +2 -0
  177. package/ai/dist/src/components/useBoundingRect.js +24 -0
  178. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +301 -0
  179. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  180. package/ai/dist/src/setupTests.js +4 -0
  181. package/ai/examples.md +489 -0
  182. package/ai/schema.json +1338 -0
  183. package/ai/system-prompt.md +41 -0
  184. package/dist/AnnotationLayer/AnnotationLayer.d.ts +0 -1
  185. package/dist/Axis/axisTitle.d.ts +3 -3
  186. package/dist/Axis/summaryGraphic.d.ts +1 -1
  187. package/dist/ChartErrorBoundary.d.ts +39 -0
  188. package/dist/LinkedCharts.d.ts +42 -0
  189. package/dist/ThemeProvider.d.ts +12 -0
  190. package/dist/Tooltip/Tooltip.d.ts +141 -0
  191. package/dist/TooltipPositioner/index.d.ts +1 -1
  192. package/dist/annotationLayerBehavior/annotationHandling.d.ts +2 -2
  193. package/dist/annotationRules/networkframeRules.d.ts +2 -2
  194. package/dist/annotationRules/xyframeRules.d.ts +2 -2
  195. package/dist/batchWork.d.ts +1 -1
  196. package/dist/charts/index.d.ts +74 -0
  197. package/dist/charts/network/ChordDiagram.d.ts +36 -0
  198. package/dist/charts/network/CirclePack.d.ts +32 -0
  199. package/dist/charts/network/ForceDirectedGraph.d.ts +38 -0
  200. package/dist/charts/network/SankeyDiagram.d.ts +38 -0
  201. package/dist/charts/network/TreeDiagram.d.ts +34 -0
  202. package/dist/charts/network/Treemap.d.ts +33 -0
  203. package/dist/charts/ordinal/BarChart.d.ts +32 -0
  204. package/dist/charts/ordinal/BoxPlot.d.ts +27 -0
  205. package/dist/charts/ordinal/DonutChart.d.ts +23 -0
  206. package/dist/charts/ordinal/DotPlot.d.ts +27 -0
  207. package/dist/charts/ordinal/GroupedBarChart.d.ts +26 -0
  208. package/dist/charts/ordinal/Histogram.d.ts +26 -0
  209. package/dist/charts/ordinal/PieChart.d.ts +21 -0
  210. package/dist/charts/ordinal/RidgelinePlot.d.ts +34 -0
  211. package/dist/charts/ordinal/StackedBarChart.d.ts +27 -0
  212. package/dist/charts/ordinal/SwarmPlot.d.ts +29 -0
  213. package/dist/charts/ordinal/ViolinPlot.d.ts +28 -0
  214. package/dist/charts/realtime/RealtimeHeatmap.d.ts +95 -0
  215. package/dist/charts/realtime/RealtimeHistogram.d.ts +119 -0
  216. package/dist/charts/realtime/RealtimeLineChart.d.ts +98 -0
  217. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +100 -0
  218. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +97 -0
  219. package/dist/charts/shared/ChartError.d.ts +19 -0
  220. package/dist/charts/shared/colorUtils.d.ts +62 -0
  221. package/dist/charts/shared/formatUtils.d.ts +94 -0
  222. package/dist/charts/shared/hooks.d.ts +20 -0
  223. package/dist/charts/shared/legendUtils.d.ts +32 -0
  224. package/dist/charts/shared/selectionUtils.d.ts +51 -0
  225. package/dist/charts/shared/tooltipUtils.d.ts +18 -0
  226. package/dist/charts/shared/types.d.ts +97 -0
  227. package/dist/charts/shared/validateChartData.d.ts +41 -0
  228. package/dist/charts/shared/validateProps.d.ts +18 -0
  229. package/dist/charts/xy/AreaChart.d.ts +130 -0
  230. package/dist/charts/xy/BubbleChart.d.ts +164 -0
  231. package/dist/charts/xy/Heatmap.d.ts +156 -0
  232. package/dist/charts/xy/LineChart.d.ts +196 -0
  233. package/dist/charts/xy/MinimapChart.d.ts +73 -0
  234. package/dist/charts/xy/Scatterplot.d.ts +55 -0
  235. package/dist/charts/xy/ScatterplotMatrix.d.ts +71 -0
  236. package/dist/charts/xy/StackedAreaChart.d.ts +134 -0
  237. package/dist/constants/frame_props.d.ts +9 -0
  238. package/dist/data/dataFunctions.d.ts +10 -11
  239. package/dist/data/transforms.d.ts +45 -0
  240. package/dist/export/exportChart.d.ts +16 -0
  241. package/dist/{svg → geometry}/areaDrawing.d.ts +3 -13
  242. package/dist/geometry/contourLayout.d.ts +6 -0
  243. package/dist/geometry/hexbinLayout.d.ts +7 -0
  244. package/dist/{svg → geometry}/lineDrawing.d.ts +7 -35
  245. package/dist/geometry/sankeyLinks.d.ts +2 -0
  246. package/dist/geometry/summaryLayouts.d.ts +45 -0
  247. package/dist/index.d.ts +1 -125
  248. package/dist/network.js +7495 -0
  249. package/dist/network.js.map +1 -0
  250. package/dist/network.min.js +1 -0
  251. package/dist/network.module.js +7458 -0
  252. package/dist/network.module.js.map +1 -0
  253. package/dist/network.module.min.js +1 -0
  254. package/dist/ordinal.js +6497 -0
  255. package/dist/ordinal.js.map +1 -0
  256. package/dist/ordinal.min.js +1 -0
  257. package/dist/ordinal.module.js +6465 -0
  258. package/dist/ordinal.module.js.map +1 -0
  259. package/dist/ordinal.module.min.js +1 -0
  260. package/dist/processing/InteractionItems.d.ts +5 -4
  261. package/dist/processing/hierarchyUtils.d.ts +16 -0
  262. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  263. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  264. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  265. package/dist/processing/layouts/index.d.ts +8 -0
  266. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  267. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  268. package/dist/processing/layouts/types.d.ts +17 -0
  269. package/dist/processing/networkDefaults.d.ts +36 -0
  270. package/dist/realtime/BinAccumulator.d.ts +8 -0
  271. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  272. package/dist/realtime/RingBuffer.d.ts +19 -0
  273. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  274. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  275. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  276. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  277. package/dist/realtime/renderers/types.d.ts +9 -0
  278. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  279. package/dist/realtime/types.d.ts +113 -0
  280. package/dist/realtime.js +7072 -0
  281. package/dist/realtime.js.map +1 -0
  282. package/dist/realtime.min.js +1 -0
  283. package/dist/realtime.module.js +7043 -0
  284. package/dist/realtime.module.js.map +1 -0
  285. package/dist/realtime.module.min.js +1 -0
  286. package/dist/semiotic-ai.d.ts +36 -0
  287. package/dist/semiotic-ai.js +13323 -0
  288. package/dist/semiotic-ai.js.map +1 -0
  289. package/dist/semiotic-ai.min.js +1 -0
  290. package/dist/semiotic-ai.module.js +13264 -0
  291. package/dist/semiotic-ai.module.js.map +1 -0
  292. package/dist/semiotic-ai.module.min.js +1 -0
  293. package/dist/semiotic-data.d.ts +5 -0
  294. package/dist/semiotic-data.js +141 -0
  295. package/dist/semiotic-data.js.map +1 -0
  296. package/dist/semiotic-data.min.js +1 -0
  297. package/dist/semiotic-data.module.js +136 -0
  298. package/dist/semiotic-data.module.js.map +1 -0
  299. package/dist/semiotic-data.module.min.js +1 -0
  300. package/dist/semiotic-network.d.ts +23 -0
  301. package/dist/semiotic-ordinal.d.ts +19 -0
  302. package/dist/semiotic-realtime.d.ts +22 -0
  303. package/dist/semiotic-server.d.ts +1 -0
  304. package/dist/semiotic-xy.d.ts +21 -0
  305. package/dist/semiotic.d.ts +41 -28
  306. package/dist/semiotic.js +16257 -13130
  307. package/dist/semiotic.js.map +1 -0
  308. package/dist/semiotic.min.js +1 -0
  309. package/dist/semiotic.module.js +16198 -13100
  310. package/dist/semiotic.module.js.map +1 -0
  311. package/dist/semiotic.module.min.js +1 -0
  312. package/dist/server/renderToStaticSVG.d.ts +9 -0
  313. package/dist/server.js +5191 -0
  314. package/dist/server.js.map +1 -0
  315. package/dist/server.min.js +1 -0
  316. package/dist/server.module.js +5166 -0
  317. package/dist/server.module.js.map +1 -0
  318. package/dist/server.module.min.js +1 -0
  319. package/dist/store/SelectionStore.d.ts +29 -0
  320. package/dist/store/ThemeStore.d.ts +26 -0
  321. package/dist/store/useSelection.d.ts +66 -0
  322. package/dist/stream/CanvasHitTester.d.ts +18 -0
  323. package/dist/stream/DataSourceAdapter.d.ts +32 -0
  324. package/dist/stream/MarginalGraphics.d.ts +19 -0
  325. package/dist/stream/NetworkCanvasHitTester.d.ts +14 -0
  326. package/dist/stream/NetworkPipelineStore.d.ts +74 -0
  327. package/dist/stream/NetworkSVGOverlay.d.ts +40 -0
  328. package/dist/stream/NetworkSceneGraph.d.ts +14 -0
  329. package/dist/stream/OrdinalCanvasHitTester.d.ts +9 -0
  330. package/dist/stream/OrdinalPipelineStore.d.ts +65 -0
  331. package/dist/stream/OrdinalSVGOverlay.d.ts +34 -0
  332. package/dist/stream/ParticlePool.d.ts +28 -0
  333. package/dist/stream/PipelineStore.d.ts +161 -0
  334. package/dist/stream/SVGOverlay.d.ts +37 -0
  335. package/dist/stream/SceneGraph.d.ts +16 -0
  336. package/dist/stream/StreamNetworkFrame.d.ts +4 -0
  337. package/dist/stream/StreamOrdinalFrame.d.ts +4 -0
  338. package/dist/stream/StreamXYFrame.d.ts +4 -0
  339. package/dist/stream/accessorUtils.d.ts +2 -0
  340. package/dist/stream/index.d.ts +16 -0
  341. package/dist/stream/layouts/chordLayoutPlugin.d.ts +8 -0
  342. package/dist/stream/layouts/forceLayoutPlugin.d.ts +9 -0
  343. package/dist/stream/layouts/hierarchyLayoutPlugin.d.ts +17 -0
  344. package/dist/stream/layouts/index.d.ts +11 -0
  345. package/dist/stream/layouts/sankeyLayoutPlugin.d.ts +8 -0
  346. package/dist/stream/networkTypes.d.ts +346 -0
  347. package/dist/stream/ordinalSceneBuilders/barScene.d.ts +4 -0
  348. package/dist/stream/ordinalSceneBuilders/connectorScene.d.ts +3 -0
  349. package/dist/stream/ordinalSceneBuilders/pieScene.d.ts +3 -0
  350. package/dist/stream/ordinalSceneBuilders/pointScene.d.ts +4 -0
  351. package/dist/stream/ordinalSceneBuilders/statisticalScene.d.ts +6 -0
  352. package/dist/stream/ordinalSceneBuilders/timelineScene.d.ts +3 -0
  353. package/dist/stream/ordinalSceneBuilders/types.d.ts +21 -0
  354. package/dist/stream/ordinalTypes.d.ts +225 -0
  355. package/dist/stream/renderers/areaCanvasRenderer.d.ts +7 -0
  356. package/dist/stream/renderers/barCanvasRenderer.d.ts +7 -0
  357. package/dist/stream/renderers/boxplotCanvasRenderer.d.ts +2 -0
  358. package/dist/stream/renderers/candlestickCanvasRenderer.d.ts +2 -0
  359. package/dist/stream/renderers/connectorCanvasRenderer.d.ts +2 -0
  360. package/dist/stream/renderers/heatmapCanvasRenderer.d.ts +6 -0
  361. package/dist/stream/renderers/lineCanvasRenderer.d.ts +8 -0
  362. package/dist/stream/renderers/networkArcRenderer.d.ts +5 -0
  363. package/dist/stream/renderers/networkCircleRenderer.d.ts +5 -0
  364. package/dist/stream/renderers/networkEdgeRenderer.d.ts +10 -0
  365. package/dist/stream/renderers/networkParticleRenderer.d.ts +11 -0
  366. package/dist/stream/renderers/networkRectRenderer.d.ts +5 -0
  367. package/dist/stream/renderers/pointCanvasRenderer.d.ts +7 -0
  368. package/dist/stream/renderers/swarmCanvasRenderer.d.ts +7 -0
  369. package/dist/stream/renderers/types.d.ts +7 -0
  370. package/dist/stream/renderers/violinCanvasRenderer.d.ts +2 -0
  371. package/dist/stream/renderers/waterfallCanvasRenderer.d.ts +8 -0
  372. package/dist/stream/renderers/wedgeCanvasRenderer.d.ts +2 -0
  373. package/dist/stream/types.d.ts +307 -0
  374. package/dist/types/annotationTypes.d.ts +13 -18
  375. package/dist/types/canvasTypes.d.ts +1 -1
  376. package/dist/types/generalTypes.d.ts +41 -36
  377. package/dist/types/interactionTypes.d.ts +7 -9
  378. package/dist/types/legendTypes.d.ts +2 -2
  379. package/dist/types/networkTypes.d.ts +40 -30
  380. package/dist/types/ordinalTypes.d.ts +27 -18
  381. package/dist/types/xyTypes.d.ts +1 -95
  382. package/dist/visualizationLayerBehavior/axis.d.ts +3 -5
  383. package/dist/visualizationLayerBehavior/general.d.ts +8 -12
  384. package/dist/xy.js +6993 -0
  385. package/dist/xy.js.map +1 -0
  386. package/dist/xy.min.js +1 -0
  387. package/dist/xy.module.js +6957 -0
  388. package/dist/xy.module.js.map +1 -0
  389. package/dist/xy.module.min.js +1 -0
  390. package/package.json +123 -67
  391. package/dist/AnnotationLayer/helpers.d.ts +0 -6
  392. package/dist/AnnotationLayer/index.d.ts +0 -2
  393. package/dist/FacetController.d.ts +0 -12
  394. package/dist/Frame.d.ts +0 -2
  395. package/dist/InteractionLayer.d.ts +0 -3
  396. package/dist/Mark/Mark.d.ts +0 -3
  397. package/dist/Mark/Mark.types.d.ts +0 -10
  398. package/dist/Mark/constants/markTransition.d.ts +0 -10
  399. package/dist/Mark/markBehavior/drawing.d.ts +0 -13
  400. package/dist/MiniMap.d.ts +0 -14
  401. package/dist/MinimapXYFrame.d.ts +0 -10
  402. package/dist/NetworkFrame.d.ts +0 -4
  403. package/dist/OrdinalFrame.d.ts +0 -4
  404. package/dist/ResponsiveFrame.d.ts +0 -22
  405. package/dist/ResponsiveMinimapXYFrame.d.ts +0 -6
  406. package/dist/ResponsiveNetworkFrame.d.ts +0 -6
  407. package/dist/ResponsiveOrdinalFrame.d.ts +0 -6
  408. package/dist/ResponsiveXYFrame.d.ts +0 -6
  409. package/dist/SpanOrDiv.d.ts +0 -10
  410. package/dist/SparkFrame.d.ts +0 -14
  411. package/dist/SparkNetworkFrame.d.ts +0 -5
  412. package/dist/SparkOrdinalFrame.d.ts +0 -5
  413. package/dist/SparkXYFrame.d.ts +0 -5
  414. package/dist/VisualizationLayer.d.ts +0 -33
  415. package/dist/XYFrame.d.ts +0 -4
  416. package/dist/annotationRules/orframeRules.d.ts +0 -105
  417. package/dist/components/Annotation.d.ts +0 -3
  418. package/dist/components/AnnotationLayer/AnnotationLayer.d.ts +0 -26
  419. package/dist/components/Axis/Axis.d.ts +0 -7
  420. package/dist/components/Axis/axisTitle.d.ts +0 -10
  421. package/dist/components/Axis/index.d.ts +0 -2
  422. package/dist/components/Axis/summaryGraphic.d.ts +0 -17
  423. package/dist/components/Brush.d.ts +0 -12
  424. package/dist/components/DividedLine.d.ts +0 -16
  425. package/dist/components/FacetController.d.ts +0 -12
  426. package/dist/components/Frame.d.ts +0 -2
  427. package/dist/components/InteractionLayer.d.ts +0 -3
  428. package/dist/components/Legend.d.ts +0 -3
  429. package/dist/components/Mark/Mark.d.ts +0 -3
  430. package/dist/components/Mark/Mark.types.d.ts +0 -10
  431. package/dist/components/Mark/markBehavior/drawing.d.ts +0 -13
  432. package/dist/components/MiniMap.d.ts +0 -14
  433. package/dist/components/MinimapXYFrame.d.ts +0 -10
  434. package/dist/components/NetworkFrame.d.ts +0 -4
  435. package/dist/components/OrdinalFrame.d.ts +0 -4
  436. package/dist/components/ResponsiveFrame.d.ts +0 -22
  437. package/dist/components/ResponsiveMinimapXYFrame.d.ts +0 -6
  438. package/dist/components/ResponsiveNetworkFrame.d.ts +0 -6
  439. package/dist/components/ResponsiveOrdinalFrame.d.ts +0 -6
  440. package/dist/components/ResponsiveXYFrame.d.ts +0 -6
  441. package/dist/components/SpanOrDiv.d.ts +0 -10
  442. package/dist/components/SparkFrame.d.ts +0 -14
  443. package/dist/components/SparkNetworkFrame.d.ts +0 -5
  444. package/dist/components/SparkOrdinalFrame.d.ts +0 -5
  445. package/dist/components/SparkXYFrame.d.ts +0 -5
  446. package/dist/components/TooltipPositioner/index.d.ts +0 -7
  447. package/dist/components/VisualizationLayer.d.ts +0 -33
  448. package/dist/components/XYFrame.d.ts +0 -4
  449. package/dist/components/annotationLayerBehavior/annotationHandling.d.ts +0 -19
  450. package/dist/components/annotationLayerBehavior/d3labeler.d.ts +0 -9
  451. package/dist/components/annotationRules/baseRules.d.ts +0 -25
  452. package/dist/components/annotationRules/networkframeRules.d.ts +0 -48
  453. package/dist/components/annotationRules/orframeRules.d.ts +0 -105
  454. package/dist/components/annotationRules/xyframeRules.d.ts +0 -117
  455. package/dist/components/batchWork.d.ts +0 -6
  456. package/dist/components/constants/coordinateNames.d.ts +0 -8
  457. package/dist/components/constants/frame_props.d.ts +0 -4
  458. package/dist/components/constants/jsx.d.ts +0 -19
  459. package/dist/components/data/dataFunctions.d.ts +0 -46
  460. package/dist/components/data/multiAccessorUtils.d.ts +0 -1
  461. package/dist/components/data/unflowedFunctions.d.ts +0 -1
  462. package/dist/components/generic_utilities/functions.d.ts +0 -1
  463. package/dist/components/index.d.ts +0 -125
  464. package/dist/components/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
  465. package/dist/components/processing/InteractionItems.d.ts +0 -12
  466. package/dist/components/processing/network.d.ts +0 -114
  467. package/dist/components/processing/ordinal.d.ts +0 -102
  468. package/dist/components/processing/xyDrawing.d.ts +0 -135
  469. package/dist/components/semiotic.d.ts +0 -35
  470. package/dist/components/store/TooltipStore.d.ts +0 -2
  471. package/dist/components/store/createStore.d.ts +0 -1
  472. package/dist/components/svg/SvgHelper.d.ts +0 -37
  473. package/dist/components/svg/areaDrawing.d.ts +0 -31
  474. package/dist/components/svg/ckmeans.d.ts +0 -69
  475. package/dist/components/svg/frameFunctions.d.ts +0 -119
  476. package/dist/components/svg/lineDrawing.d.ts +0 -99
  477. package/dist/components/svg/networkDrawing.d.ts +0 -134
  478. package/dist/components/svg/pieceDrawing.d.ts +0 -13
  479. package/dist/components/svg/pieceLayouts.d.ts +0 -71
  480. package/dist/components/svg/summaryLayouts.d.ts +0 -74
  481. package/dist/components/types/annotationTypes.d.ts +0 -140
  482. package/dist/components/types/canvasTypes.d.ts +0 -9
  483. package/dist/components/types/generalTypes.d.ts +0 -236
  484. package/dist/components/types/interactionTypes.d.ts +0 -74
  485. package/dist/components/types/legendTypes.d.ts +0 -20
  486. package/dist/components/types/networkTypes.d.ts +0 -165
  487. package/dist/components/types/ordinalTypes.d.ts +0 -103
  488. package/dist/components/types/xyTypes.d.ts +0 -118
  489. package/dist/components/useBoundingRect.d.ts +0 -2
  490. package/dist/components/useDerivedStateFromProps.d.ts +0 -1
  491. package/dist/components/useLegacyUnmountCallback.d.ts +0 -1
  492. package/dist/components/visualizationLayerBehavior/axis.d.ts +0 -38
  493. package/dist/components/visualizationLayerBehavior/general.d.ts +0 -84
  494. package/dist/constants/jsx.d.ts +0 -19
  495. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
  496. package/dist/processing/network.d.ts +0 -114
  497. package/dist/processing/ordinal.d.ts +0 -102
  498. package/dist/processing/xyDrawing.d.ts +0 -135
  499. package/dist/setupTests.d.ts +0 -1
  500. package/dist/svg/SvgHelper.d.ts +0 -37
  501. package/dist/svg/ckmeans.d.ts +0 -69
  502. package/dist/svg/frameFunctions.d.ts +0 -119
  503. package/dist/svg/networkDrawing.d.ts +0 -134
  504. package/dist/svg/pieceDrawing.d.ts +0 -13
  505. package/dist/svg/pieceLayouts.d.ts +0 -71
  506. package/dist/svg/summaryLayouts.d.ts +0 -74
  507. package/dist/useDerivedStateFromProps.d.ts +0 -1
  508. package/dist/useLegacyUnmountCallback.d.ts +0 -1
package/ai/schema.json ADDED
@@ -0,0 +1,1338 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "name": "semiotic",
4
+ "version": "3.0.0",
5
+ "description": "React data visualization library for charts, networks, and beyond",
6
+ "tools": [
7
+ {
8
+ "type": "function",
9
+ "function": {
10
+ "name": "LineChart",
11
+ "description": "Line traces with curve interpolation, area fill, and point markers. Use for time series, trends, and continuous data.",
12
+ "parameters": {
13
+ "type": "object",
14
+ "properties": {
15
+ "data": {
16
+ "type": "array",
17
+ "items": { "type": "object" },
18
+ "description": "Array of data objects"
19
+ },
20
+ "xAccessor": {
21
+ "type": "string",
22
+ "description": "Key or accessor function for x-axis values",
23
+ "default": "x"
24
+ },
25
+ "yAccessor": {
26
+ "type": "string",
27
+ "description": "Key or accessor function for y-axis values",
28
+ "default": "y"
29
+ },
30
+ "lineBy": {
31
+ "type": "string",
32
+ "description": "Key to group data into separate lines"
33
+ },
34
+ "lineDataAccessor": {
35
+ "type": "string",
36
+ "description": "Key for the coordinates array within each line object",
37
+ "default": "coordinates"
38
+ },
39
+ "colorBy": {
40
+ "type": "string",
41
+ "description": "Key to determine color encoding per line/group"
42
+ },
43
+ "colorScheme": {
44
+ "type": ["string", "array"],
45
+ "description": "Named d3 color scheme or array of color strings",
46
+ "default": "category10"
47
+ },
48
+ "curve": {
49
+ "type": "string",
50
+ "enum": ["linear", "monotoneX", "monotoneY", "step", "stepAfter", "stepBefore", "basis", "cardinal", "catmullRom"],
51
+ "description": "Curve interpolation method",
52
+ "default": "linear"
53
+ },
54
+ "lineWidth": {
55
+ "type": "number",
56
+ "description": "Stroke width of the line",
57
+ "default": 2
58
+ },
59
+ "showPoints": {
60
+ "type": "boolean",
61
+ "description": "Show data point markers on the line",
62
+ "default": false
63
+ },
64
+ "pointRadius": {
65
+ "type": "number",
66
+ "description": "Radius of point markers when showPoints is true",
67
+ "default": 3
68
+ },
69
+ "fillArea": {
70
+ "type": "boolean",
71
+ "description": "Fill the area under the line",
72
+ "default": false
73
+ },
74
+ "areaOpacity": {
75
+ "type": "number",
76
+ "description": "Opacity of the filled area (0-1)",
77
+ "default": 0.3
78
+ },
79
+ "xLabel": {
80
+ "type": "string",
81
+ "description": "Label for the x-axis"
82
+ },
83
+ "yLabel": {
84
+ "type": "string",
85
+ "description": "Label for the y-axis"
86
+ },
87
+ "title": {
88
+ "type": "string",
89
+ "description": "Chart title"
90
+ },
91
+ "width": {
92
+ "type": "number",
93
+ "description": "Chart width in pixels",
94
+ "default": 600
95
+ },
96
+ "height": {
97
+ "type": "number",
98
+ "description": "Chart height in pixels",
99
+ "default": 400
100
+ },
101
+ "enableHover": {
102
+ "type": "boolean",
103
+ "description": "Enable hover interactions",
104
+ "default": true
105
+ },
106
+ "showLegend": {
107
+ "type": "boolean",
108
+ "description": "Show color legend"
109
+ },
110
+ "showGrid": {
111
+ "type": "boolean",
112
+ "description": "Show grid lines",
113
+ "default": false
114
+ },
115
+ "margin": {
116
+ "type": "object",
117
+ "description": "Chart margins {top, right, bottom, left}"
118
+ },
119
+ "className": {
120
+ "type": "string",
121
+ "description": "CSS class name"
122
+ }
123
+ },
124
+ "required": ["data"]
125
+ }
126
+ }
127
+ },
128
+ {
129
+ "type": "function",
130
+ "function": {
131
+ "name": "AreaChart",
132
+ "description": "Filled area chart with optional stroke line. Use for showing volume or magnitude over time.",
133
+ "parameters": {
134
+ "type": "object",
135
+ "properties": {
136
+ "data": {
137
+ "type": "array",
138
+ "items": { "type": "object" },
139
+ "description": "Array of data objects"
140
+ },
141
+ "xAccessor": {
142
+ "type": "string",
143
+ "description": "Key for x-axis values",
144
+ "default": "x"
145
+ },
146
+ "yAccessor": {
147
+ "type": "string",
148
+ "description": "Key for y-axis values",
149
+ "default": "y"
150
+ },
151
+ "areaBy": {
152
+ "type": "string",
153
+ "description": "Key to group data into separate areas"
154
+ },
155
+ "lineDataAccessor": {
156
+ "type": "string",
157
+ "description": "Key for the coordinates array within each area object",
158
+ "default": "coordinates"
159
+ },
160
+ "colorBy": {
161
+ "type": "string",
162
+ "description": "Key to determine color encoding"
163
+ },
164
+ "colorScheme": {
165
+ "type": ["string", "array"],
166
+ "description": "Named d3 color scheme or array of color strings",
167
+ "default": "category10"
168
+ },
169
+ "curve": {
170
+ "type": "string",
171
+ "enum": ["linear", "monotoneX", "monotoneY", "step", "stepAfter", "stepBefore", "basis", "cardinal", "catmullRom"],
172
+ "default": "monotoneX"
173
+ },
174
+ "areaOpacity": {
175
+ "type": "number",
176
+ "description": "Area fill opacity (0-1)",
177
+ "default": 0.7
178
+ },
179
+ "showLine": {
180
+ "type": "boolean",
181
+ "description": "Show stroke line on top of area",
182
+ "default": true
183
+ },
184
+ "lineWidth": {
185
+ "type": "number",
186
+ "default": 2
187
+ },
188
+ "xLabel": { "type": "string" },
189
+ "yLabel": { "type": "string" },
190
+ "title": { "type": "string" },
191
+ "width": { "type": "number", "default": 600 },
192
+ "height": { "type": "number", "default": 400 },
193
+ "enableHover": { "type": "boolean", "default": true },
194
+ "showLegend": { "type": "boolean" },
195
+ "showGrid": { "type": "boolean", "default": false },
196
+ "margin": { "type": "object" },
197
+ "className": { "type": "string" }
198
+ },
199
+ "required": ["data"]
200
+ }
201
+ }
202
+ },
203
+ {
204
+ "type": "function",
205
+ "function": {
206
+ "name": "StackedAreaChart",
207
+ "description": "Stacked area chart with optional normalization to 100%. Use for part-to-whole trends over time.",
208
+ "parameters": {
209
+ "type": "object",
210
+ "properties": {
211
+ "data": {
212
+ "type": "array",
213
+ "items": { "type": "object" },
214
+ "description": "Array of data objects"
215
+ },
216
+ "xAccessor": { "type": "string", "default": "x" },
217
+ "yAccessor": { "type": "string", "default": "y" },
218
+ "areaBy": {
219
+ "type": "string",
220
+ "description": "Key to group data into stacked areas"
221
+ },
222
+ "lineDataAccessor": { "type": "string", "default": "coordinates" },
223
+ "colorBy": { "type": "string" },
224
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
225
+ "curve": {
226
+ "type": "string",
227
+ "enum": ["linear", "monotoneX", "monotoneY", "step", "stepAfter", "stepBefore", "basis", "cardinal", "catmullRom"],
228
+ "default": "monotoneX"
229
+ },
230
+ "areaOpacity": { "type": "number", "default": 0.7 },
231
+ "showLine": { "type": "boolean", "default": true },
232
+ "lineWidth": { "type": "number", "default": 2 },
233
+ "normalize": {
234
+ "type": "boolean",
235
+ "description": "Normalize stacks to 100%",
236
+ "default": false
237
+ },
238
+ "xLabel": { "type": "string" },
239
+ "yLabel": { "type": "string" },
240
+ "title": { "type": "string" },
241
+ "width": { "type": "number", "default": 600 },
242
+ "height": { "type": "number", "default": 400 },
243
+ "enableHover": { "type": "boolean", "default": true },
244
+ "showLegend": { "type": "boolean" },
245
+ "showGrid": { "type": "boolean", "default": false },
246
+ "margin": { "type": "object" },
247
+ "className": { "type": "string" }
248
+ },
249
+ "required": ["data"]
250
+ }
251
+ }
252
+ },
253
+ {
254
+ "type": "function",
255
+ "function": {
256
+ "name": "Scatterplot",
257
+ "description": "Individual data points plotted by x/y position with optional size and color encoding.",
258
+ "parameters": {
259
+ "type": "object",
260
+ "properties": {
261
+ "data": {
262
+ "type": "array",
263
+ "items": { "type": "object" },
264
+ "description": "Array of data objects"
265
+ },
266
+ "xAccessor": { "type": "string", "default": "x" },
267
+ "yAccessor": { "type": "string", "default": "y" },
268
+ "colorBy": { "type": "string", "description": "Key to determine point color" },
269
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
270
+ "sizeBy": {
271
+ "type": "string",
272
+ "description": "Key for variable point sizing"
273
+ },
274
+ "sizeRange": {
275
+ "type": "array",
276
+ "items": { "type": "number" },
277
+ "description": "Min and max radius for sizeBy scaling",
278
+ "default": [3, 15]
279
+ },
280
+ "pointRadius": { "type": "number", "description": "Fixed point radius", "default": 5 },
281
+ "pointOpacity": { "type": "number", "default": 0.8 },
282
+ "xLabel": { "type": "string" },
283
+ "yLabel": { "type": "string" },
284
+ "title": { "type": "string" },
285
+ "width": { "type": "number", "default": 600 },
286
+ "height": { "type": "number", "default": 400 },
287
+ "enableHover": { "type": "boolean", "default": true },
288
+ "showLegend": { "type": "boolean" },
289
+ "showGrid": { "type": "boolean", "default": false },
290
+ "margin": { "type": "object" },
291
+ "className": { "type": "string" }
292
+ },
293
+ "required": ["data"]
294
+ }
295
+ }
296
+ },
297
+ {
298
+ "type": "function",
299
+ "function": {
300
+ "name": "BubbleChart",
301
+ "description": "Scatterplot with required size dimension for three-variable comparison. Bubble area encodes a numeric value.",
302
+ "parameters": {
303
+ "type": "object",
304
+ "properties": {
305
+ "data": {
306
+ "type": "array",
307
+ "items": { "type": "object" },
308
+ "description": "Array of data objects"
309
+ },
310
+ "sizeBy": {
311
+ "type": "string",
312
+ "description": "Key for bubble size (required)"
313
+ },
314
+ "xAccessor": { "type": "string", "default": "x" },
315
+ "yAccessor": { "type": "string", "default": "y" },
316
+ "sizeRange": {
317
+ "type": "array",
318
+ "items": { "type": "number" },
319
+ "default": [5, 40]
320
+ },
321
+ "colorBy": { "type": "string" },
322
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
323
+ "bubbleOpacity": { "type": "number", "default": 0.6 },
324
+ "bubbleStrokeWidth": { "type": "number", "default": 1 },
325
+ "bubbleStrokeColor": { "type": "string", "default": "white" },
326
+ "xLabel": { "type": "string" },
327
+ "yLabel": { "type": "string" },
328
+ "title": { "type": "string" },
329
+ "width": { "type": "number", "default": 600 },
330
+ "height": { "type": "number", "default": 400 },
331
+ "enableHover": { "type": "boolean", "default": true },
332
+ "showLegend": { "type": "boolean" },
333
+ "showGrid": { "type": "boolean", "default": false },
334
+ "margin": { "type": "object" },
335
+ "className": { "type": "string" }
336
+ },
337
+ "required": ["data", "sizeBy"]
338
+ }
339
+ }
340
+ },
341
+ {
342
+ "type": "function",
343
+ "function": {
344
+ "name": "Heatmap",
345
+ "description": "Grid/matrix visualization with color-encoded cell values. Use for correlation matrices, time-frequency analysis.",
346
+ "parameters": {
347
+ "type": "object",
348
+ "properties": {
349
+ "data": {
350
+ "type": "array",
351
+ "items": { "type": "object" },
352
+ "description": "Array of data objects with x, y, and value"
353
+ },
354
+ "xAccessor": { "type": "string", "default": "x" },
355
+ "yAccessor": { "type": "string", "default": "y" },
356
+ "valueAccessor": {
357
+ "type": "string",
358
+ "description": "Key for the cell value",
359
+ "default": "value"
360
+ },
361
+ "colorScheme": {
362
+ "type": "string",
363
+ "enum": ["blues", "reds", "greens", "viridis", "custom"],
364
+ "default": "blues"
365
+ },
366
+ "showValues": {
367
+ "type": "boolean",
368
+ "description": "Display numeric values in cells",
369
+ "default": false
370
+ },
371
+ "cellBorderColor": { "type": "string", "default": "#fff" },
372
+ "cellBorderWidth": { "type": "number", "default": 1 },
373
+ "xLabel": { "type": "string" },
374
+ "yLabel": { "type": "string" },
375
+ "title": { "type": "string" },
376
+ "width": { "type": "number", "default": 600 },
377
+ "height": { "type": "number", "default": 400 },
378
+ "enableHover": { "type": "boolean", "default": true },
379
+ "margin": { "type": "object" },
380
+ "className": { "type": "string" }
381
+ },
382
+ "required": ["data"]
383
+ }
384
+ }
385
+ },
386
+ {
387
+ "type": "function",
388
+ "function": {
389
+ "name": "BarChart",
390
+ "description": "Vertical or horizontal bars for categorical comparisons.",
391
+ "parameters": {
392
+ "type": "object",
393
+ "properties": {
394
+ "data": {
395
+ "type": "array",
396
+ "items": { "type": "object" },
397
+ "description": "Array of data objects"
398
+ },
399
+ "categoryAccessor": {
400
+ "type": "string",
401
+ "description": "Key for category labels",
402
+ "default": "category"
403
+ },
404
+ "valueAccessor": {
405
+ "type": "string",
406
+ "description": "Key for bar values",
407
+ "default": "value"
408
+ },
409
+ "orientation": {
410
+ "type": "string",
411
+ "enum": ["vertical", "horizontal"],
412
+ "default": "vertical"
413
+ },
414
+ "colorBy": { "type": "string" },
415
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
416
+ "sort": {
417
+ "type": ["boolean", "string"],
418
+ "description": "Sort bars: false, true, 'asc', 'desc', or comparator function",
419
+ "default": false
420
+ },
421
+ "barPadding": { "type": "number", "default": 5 },
422
+ "categoryLabel": { "type": "string" },
423
+ "valueLabel": { "type": "string" },
424
+ "title": { "type": "string" },
425
+ "width": { "type": "number", "default": 600 },
426
+ "height": { "type": "number", "default": 400 },
427
+ "enableHover": { "type": "boolean", "default": true },
428
+ "showLegend": { "type": "boolean" },
429
+ "showGrid": { "type": "boolean", "default": false },
430
+ "margin": { "type": "object" },
431
+ "className": { "type": "string" }
432
+ },
433
+ "required": ["data"]
434
+ }
435
+ }
436
+ },
437
+ {
438
+ "type": "function",
439
+ "function": {
440
+ "name": "StackedBarChart",
441
+ "description": "Stacked bars for part-to-whole comparisons across categories. Requires stackBy to define the stacking dimension.",
442
+ "parameters": {
443
+ "type": "object",
444
+ "properties": {
445
+ "data": {
446
+ "type": "array",
447
+ "items": { "type": "object" },
448
+ "description": "Array of data objects"
449
+ },
450
+ "stackBy": {
451
+ "type": "string",
452
+ "description": "Key to define the stacking dimension (required)"
453
+ },
454
+ "categoryAccessor": { "type": "string", "default": "category" },
455
+ "valueAccessor": { "type": "string", "default": "value" },
456
+ "orientation": {
457
+ "type": "string",
458
+ "enum": ["vertical", "horizontal"],
459
+ "default": "vertical"
460
+ },
461
+ "colorBy": { "type": "string" },
462
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
463
+ "normalize": {
464
+ "type": "boolean",
465
+ "description": "Normalize stacks to 100%",
466
+ "default": false
467
+ },
468
+ "barPadding": { "type": "number", "default": 5 },
469
+ "categoryLabel": { "type": "string" },
470
+ "valueLabel": { "type": "string" },
471
+ "title": { "type": "string" },
472
+ "width": { "type": "number", "default": 600 },
473
+ "height": { "type": "number", "default": 400 },
474
+ "enableHover": { "type": "boolean", "default": true },
475
+ "showLegend": { "type": "boolean", "default": true },
476
+ "showGrid": { "type": "boolean", "default": false },
477
+ "margin": { "type": "object" },
478
+ "className": { "type": "string" }
479
+ },
480
+ "required": ["data", "stackBy"]
481
+ }
482
+ }
483
+ },
484
+ {
485
+ "type": "function",
486
+ "function": {
487
+ "name": "GroupedBarChart",
488
+ "description": "Side-by-side bars for comparing sub-categories within categories. Requires groupBy to define grouping.",
489
+ "parameters": {
490
+ "type": "object",
491
+ "properties": {
492
+ "data": {
493
+ "type": "array",
494
+ "items": { "type": "object" },
495
+ "description": "Array of data objects"
496
+ },
497
+ "groupBy": {
498
+ "type": "string",
499
+ "description": "Key to define the grouping dimension (required)"
500
+ },
501
+ "categoryAccessor": { "type": "string", "default": "category" },
502
+ "valueAccessor": { "type": "string", "default": "value" },
503
+ "orientation": {
504
+ "type": "string",
505
+ "enum": ["vertical", "horizontal"],
506
+ "default": "vertical"
507
+ },
508
+ "colorBy": { "type": "string" },
509
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
510
+ "barPadding": { "type": "number", "default": 5 },
511
+ "categoryLabel": { "type": "string" },
512
+ "valueLabel": { "type": "string" },
513
+ "title": { "type": "string" },
514
+ "width": { "type": "number", "default": 600 },
515
+ "height": { "type": "number", "default": 400 },
516
+ "enableHover": { "type": "boolean", "default": true },
517
+ "showLegend": { "type": "boolean", "default": true },
518
+ "showGrid": { "type": "boolean", "default": false },
519
+ "margin": { "type": "object" },
520
+ "className": { "type": "string" }
521
+ },
522
+ "required": ["data", "groupBy"]
523
+ }
524
+ }
525
+ },
526
+ {
527
+ "type": "function",
528
+ "function": {
529
+ "name": "SwarmPlot",
530
+ "description": "Beeswarm/jittered dot plot showing individual data points within categories. Good for distributions.",
531
+ "parameters": {
532
+ "type": "object",
533
+ "properties": {
534
+ "data": {
535
+ "type": "array",
536
+ "items": { "type": "object" },
537
+ "description": "Array of data objects"
538
+ },
539
+ "categoryAccessor": { "type": "string", "default": "category" },
540
+ "valueAccessor": { "type": "string", "default": "value" },
541
+ "orientation": {
542
+ "type": "string",
543
+ "enum": ["vertical", "horizontal"],
544
+ "default": "vertical"
545
+ },
546
+ "colorBy": { "type": "string" },
547
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
548
+ "sizeBy": { "type": "string", "description": "Key for variable point sizing" },
549
+ "sizeRange": {
550
+ "type": "array",
551
+ "items": { "type": "number" },
552
+ "default": [3, 8]
553
+ },
554
+ "pointRadius": { "type": "number", "default": 4 },
555
+ "pointOpacity": { "type": "number", "default": 0.7 },
556
+ "categoryPadding": { "type": "number", "default": 20 },
557
+ "categoryLabel": { "type": "string" },
558
+ "valueLabel": { "type": "string" },
559
+ "title": { "type": "string" },
560
+ "width": { "type": "number", "default": 600 },
561
+ "height": { "type": "number", "default": 400 },
562
+ "enableHover": { "type": "boolean", "default": true },
563
+ "showLegend": { "type": "boolean" },
564
+ "showGrid": { "type": "boolean", "default": false },
565
+ "margin": { "type": "object" },
566
+ "className": { "type": "string" }
567
+ },
568
+ "required": ["data"]
569
+ }
570
+ }
571
+ },
572
+ {
573
+ "type": "function",
574
+ "function": {
575
+ "name": "BoxPlot",
576
+ "description": "Box-and-whisker plots showing statistical distribution (median, quartiles, outliers) per category.",
577
+ "parameters": {
578
+ "type": "object",
579
+ "properties": {
580
+ "data": {
581
+ "type": "array",
582
+ "items": { "type": "object" },
583
+ "description": "Array of data objects"
584
+ },
585
+ "categoryAccessor": { "type": "string", "default": "category" },
586
+ "valueAccessor": { "type": "string", "default": "value" },
587
+ "orientation": {
588
+ "type": "string",
589
+ "enum": ["vertical", "horizontal"],
590
+ "default": "vertical"
591
+ },
592
+ "colorBy": { "type": "string" },
593
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
594
+ "showOutliers": {
595
+ "type": "boolean",
596
+ "description": "Show outlier points",
597
+ "default": true
598
+ },
599
+ "outlierRadius": { "type": "number", "default": 3 },
600
+ "categoryPadding": { "type": "number", "default": 20 },
601
+ "categoryLabel": { "type": "string" },
602
+ "valueLabel": { "type": "string" },
603
+ "title": { "type": "string" },
604
+ "width": { "type": "number", "default": 600 },
605
+ "height": { "type": "number", "default": 400 },
606
+ "enableHover": { "type": "boolean", "default": true },
607
+ "showLegend": { "type": "boolean" },
608
+ "showGrid": { "type": "boolean", "default": false },
609
+ "margin": { "type": "object" },
610
+ "className": { "type": "string" }
611
+ },
612
+ "required": ["data"]
613
+ }
614
+ }
615
+ },
616
+ {
617
+ "type": "function",
618
+ "function": {
619
+ "name": "Histogram",
620
+ "description": "Binned frequency distribution chart. Shows how data values are distributed across bins within categories.",
621
+ "parameters": {
622
+ "type": "object",
623
+ "properties": {
624
+ "data": {
625
+ "type": "array",
626
+ "items": { "type": "object" },
627
+ "description": "Array of data objects"
628
+ },
629
+ "categoryAccessor": { "type": "string", "default": "category" },
630
+ "valueAccessor": { "type": "string", "default": "value" },
631
+ "bins": {
632
+ "type": "number",
633
+ "description": "Number of bins for the histogram",
634
+ "default": 25
635
+ },
636
+ "relative": {
637
+ "type": "boolean",
638
+ "description": "Normalize counts per category to show relative frequency",
639
+ "default": false
640
+ },
641
+ "colorBy": { "type": "string" },
642
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
643
+ "categoryPadding": { "type": "number", "default": 20 },
644
+ "categoryLabel": { "type": "string" },
645
+ "valueLabel": { "type": "string" },
646
+ "title": { "type": "string" },
647
+ "width": { "type": "number", "default": 600 },
648
+ "height": { "type": "number", "default": 400 },
649
+ "enableHover": { "type": "boolean", "default": true },
650
+ "showLegend": { "type": "boolean" },
651
+ "showGrid": { "type": "boolean", "default": false },
652
+ "margin": { "type": "object" },
653
+ "className": { "type": "string" }
654
+ },
655
+ "required": ["data"]
656
+ }
657
+ }
658
+ },
659
+ {
660
+ "type": "function",
661
+ "function": {
662
+ "name": "ViolinPlot",
663
+ "description": "Violin plots showing the full distribution shape (kernel density) per category. Combines density estimation with optional IQR lines.",
664
+ "parameters": {
665
+ "type": "object",
666
+ "properties": {
667
+ "data": {
668
+ "type": "array",
669
+ "items": { "type": "object" },
670
+ "description": "Array of data objects"
671
+ },
672
+ "categoryAccessor": { "type": "string", "default": "category" },
673
+ "valueAccessor": { "type": "string", "default": "value" },
674
+ "orientation": {
675
+ "type": "string",
676
+ "enum": ["vertical", "horizontal"],
677
+ "default": "vertical"
678
+ },
679
+ "bins": {
680
+ "type": "number",
681
+ "description": "Number of bins for density estimation",
682
+ "default": 25
683
+ },
684
+ "curve": {
685
+ "type": "string",
686
+ "description": "Interpolation curve for the violin shape",
687
+ "default": "catmullRom"
688
+ },
689
+ "showIQR": {
690
+ "type": "boolean",
691
+ "description": "Show interquartile range lines",
692
+ "default": true
693
+ },
694
+ "colorBy": { "type": "string" },
695
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
696
+ "categoryPadding": { "type": "number", "default": 20 },
697
+ "categoryLabel": { "type": "string" },
698
+ "valueLabel": { "type": "string" },
699
+ "title": { "type": "string" },
700
+ "width": { "type": "number", "default": 600 },
701
+ "height": { "type": "number", "default": 400 },
702
+ "enableHover": { "type": "boolean", "default": true },
703
+ "showLegend": { "type": "boolean" },
704
+ "showGrid": { "type": "boolean", "default": false },
705
+ "margin": { "type": "object" },
706
+ "className": { "type": "string" }
707
+ },
708
+ "required": ["data"]
709
+ }
710
+ }
711
+ },
712
+ {
713
+ "type": "function",
714
+ "function": {
715
+ "name": "DotPlot",
716
+ "description": "Cleveland-style dot plot for comparing values across categories. Sorted by default.",
717
+ "parameters": {
718
+ "type": "object",
719
+ "properties": {
720
+ "data": {
721
+ "type": "array",
722
+ "items": { "type": "object" },
723
+ "description": "Array of data objects"
724
+ },
725
+ "categoryAccessor": { "type": "string", "default": "category" },
726
+ "valueAccessor": { "type": "string", "default": "value" },
727
+ "orientation": {
728
+ "type": "string",
729
+ "enum": ["vertical", "horizontal"],
730
+ "default": "horizontal"
731
+ },
732
+ "colorBy": { "type": "string" },
733
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
734
+ "sort": {
735
+ "type": ["boolean", "string"],
736
+ "description": "Sort dots: true, false, 'asc', 'desc'",
737
+ "default": true
738
+ },
739
+ "dotRadius": { "type": "number", "default": 5 },
740
+ "categoryPadding": { "type": "number", "default": 10 },
741
+ "categoryLabel": { "type": "string" },
742
+ "valueLabel": { "type": "string" },
743
+ "title": { "type": "string" },
744
+ "width": { "type": "number", "default": 600 },
745
+ "height": { "type": "number", "default": 400 },
746
+ "enableHover": { "type": "boolean", "default": true },
747
+ "showLegend": { "type": "boolean" },
748
+ "showGrid": { "type": "boolean", "default": true },
749
+ "margin": { "type": "object" },
750
+ "className": { "type": "string" }
751
+ },
752
+ "required": ["data"]
753
+ }
754
+ }
755
+ },
756
+ {
757
+ "type": "function",
758
+ "function": {
759
+ "name": "PieChart",
760
+ "description": "Proportional slices in a circle for part-to-whole relationships.",
761
+ "parameters": {
762
+ "type": "object",
763
+ "properties": {
764
+ "data": {
765
+ "type": "array",
766
+ "items": { "type": "object" },
767
+ "description": "Array of data objects"
768
+ },
769
+ "categoryAccessor": { "type": "string", "default": "category" },
770
+ "valueAccessor": { "type": "string", "default": "value" },
771
+ "colorBy": { "type": "string" },
772
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
773
+ "startAngle": {
774
+ "type": "number",
775
+ "description": "Starting angle in radians",
776
+ "default": 0
777
+ },
778
+ "slicePadding": { "type": "number", "default": 2 },
779
+ "title": { "type": "string" },
780
+ "width": { "type": "number", "default": 400 },
781
+ "height": { "type": "number", "default": 400 },
782
+ "enableHover": { "type": "boolean", "default": true },
783
+ "showLegend": { "type": "boolean", "default": true },
784
+ "margin": { "type": "object" },
785
+ "className": { "type": "string" }
786
+ },
787
+ "required": ["data"]
788
+ }
789
+ }
790
+ },
791
+ {
792
+ "type": "function",
793
+ "function": {
794
+ "name": "DonutChart",
795
+ "description": "Pie chart with a hole in the center. Supports center content like summary statistics.",
796
+ "parameters": {
797
+ "type": "object",
798
+ "properties": {
799
+ "data": {
800
+ "type": "array",
801
+ "items": { "type": "object" },
802
+ "description": "Array of data objects"
803
+ },
804
+ "categoryAccessor": { "type": "string", "default": "category" },
805
+ "valueAccessor": { "type": "string", "default": "value" },
806
+ "innerRadius": {
807
+ "type": "number",
808
+ "description": "Inner radius of the donut hole in pixels",
809
+ "default": 60
810
+ },
811
+ "centerContent": {
812
+ "type": "string",
813
+ "description": "React node to render in the center of the donut (accepts string key or JSX)"
814
+ },
815
+ "colorBy": { "type": "string" },
816
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
817
+ "startAngle": { "type": "number", "default": 0 },
818
+ "slicePadding": { "type": "number", "default": 2 },
819
+ "title": { "type": "string" },
820
+ "width": { "type": "number", "default": 400 },
821
+ "height": { "type": "number", "default": 400 },
822
+ "enableHover": { "type": "boolean", "default": true },
823
+ "showLegend": { "type": "boolean", "default": true },
824
+ "margin": { "type": "object" },
825
+ "className": { "type": "string" }
826
+ },
827
+ "required": ["data"]
828
+ }
829
+ }
830
+ },
831
+ {
832
+ "type": "function",
833
+ "function": {
834
+ "name": "ForceDirectedGraph",
835
+ "description": "Physics-based node-link diagram. Use for relationships, social networks, knowledge graphs.",
836
+ "parameters": {
837
+ "type": "object",
838
+ "properties": {
839
+ "nodes": {
840
+ "type": "array",
841
+ "items": { "type": "object" },
842
+ "description": "Array of node objects"
843
+ },
844
+ "edges": {
845
+ "type": "array",
846
+ "items": { "type": "object" },
847
+ "description": "Array of edge objects with source and target"
848
+ },
849
+ "nodeIDAccessor": {
850
+ "type": "string",
851
+ "description": "Key for node unique identifier",
852
+ "default": "id"
853
+ },
854
+ "sourceAccessor": {
855
+ "type": "string",
856
+ "description": "Key for edge source node ID",
857
+ "default": "source"
858
+ },
859
+ "targetAccessor": {
860
+ "type": "string",
861
+ "description": "Key for edge target node ID",
862
+ "default": "target"
863
+ },
864
+ "nodeLabel": {
865
+ "type": "string",
866
+ "description": "Key or accessor for node labels"
867
+ },
868
+ "colorBy": { "type": "string" },
869
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
870
+ "nodeSize": {
871
+ "type": ["number", "string"],
872
+ "description": "Fixed node radius or key for variable sizing",
873
+ "default": 8
874
+ },
875
+ "nodeSizeRange": {
876
+ "type": "array",
877
+ "items": { "type": "number" },
878
+ "default": [5, 20]
879
+ },
880
+ "edgeWidth": {
881
+ "type": ["number", "string"],
882
+ "description": "Fixed edge width or key for variable width",
883
+ "default": 1
884
+ },
885
+ "edgeColor": { "type": "string", "default": "#999" },
886
+ "edgeOpacity": { "type": "number", "default": 0.6 },
887
+ "iterations": {
888
+ "type": "number",
889
+ "description": "Force simulation iterations",
890
+ "default": 300
891
+ },
892
+ "forceStrength": { "type": "number", "default": 0.1 },
893
+ "showLabels": { "type": "boolean", "default": false },
894
+ "title": { "type": "string" },
895
+ "width": { "type": "number", "default": 600 },
896
+ "height": { "type": "number", "default": 600 },
897
+ "enableHover": { "type": "boolean", "default": true },
898
+ "showLegend": { "type": "boolean", "default": true },
899
+ "margin": { "type": "object" },
900
+ "className": { "type": "string" }
901
+ },
902
+ "required": ["nodes", "edges"]
903
+ }
904
+ }
905
+ },
906
+ {
907
+ "type": "function",
908
+ "function": {
909
+ "name": "SankeyDiagram",
910
+ "description": "Flow diagram showing weighted connections between nodes. Use for flows, budgets, process mapping.",
911
+ "parameters": {
912
+ "type": "object",
913
+ "properties": {
914
+ "edges": {
915
+ "type": "array",
916
+ "items": { "type": "object" },
917
+ "description": "Array of edge objects with source, target, and value"
918
+ },
919
+ "nodes": {
920
+ "type": "array",
921
+ "items": { "type": "object" },
922
+ "description": "Optional array of node objects (auto-derived from edges if omitted)"
923
+ },
924
+ "sourceAccessor": { "type": "string", "default": "source" },
925
+ "targetAccessor": { "type": "string", "default": "target" },
926
+ "valueAccessor": {
927
+ "type": "string",
928
+ "description": "Key for edge flow value",
929
+ "default": "value"
930
+ },
931
+ "nodeIdAccessor": { "type": "string", "default": "id" },
932
+ "colorBy": { "type": "string" },
933
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
934
+ "edgeColorBy": {
935
+ "type": "string",
936
+ "enum": ["source", "target", "gradient"],
937
+ "description": "How to color edges",
938
+ "default": "source"
939
+ },
940
+ "orientation": {
941
+ "type": "string",
942
+ "enum": ["horizontal", "vertical"],
943
+ "default": "horizontal"
944
+ },
945
+ "nodeAlign": {
946
+ "type": "string",
947
+ "enum": ["justify", "left", "right", "center"],
948
+ "default": "justify"
949
+ },
950
+ "nodePaddingRatio": { "type": "number", "default": 0.05 },
951
+ "nodeWidth": { "type": "number", "default": 15 },
952
+ "nodeLabel": { "type": "string", "description": "Key for node labels" },
953
+ "showLabels": { "type": "boolean", "default": true },
954
+ "edgeOpacity": { "type": "number", "default": 0.5 },
955
+ "title": { "type": "string" },
956
+ "width": { "type": "number", "default": 800 },
957
+ "height": { "type": "number", "default": 600 },
958
+ "enableHover": { "type": "boolean", "default": true },
959
+ "margin": { "type": "object" },
960
+ "className": { "type": "string" }
961
+ },
962
+ "required": ["edges"]
963
+ }
964
+ }
965
+ },
966
+ {
967
+ "type": "function",
968
+ "function": {
969
+ "name": "ChordDiagram",
970
+ "description": "Circular diagram showing inter-relationships and flow volumes between groups.",
971
+ "parameters": {
972
+ "type": "object",
973
+ "properties": {
974
+ "edges": {
975
+ "type": "array",
976
+ "items": { "type": "object" },
977
+ "description": "Array of edge objects with source, target, and value"
978
+ },
979
+ "nodes": {
980
+ "type": "array",
981
+ "items": { "type": "object" },
982
+ "description": "Optional array of node objects"
983
+ },
984
+ "sourceAccessor": { "type": "string", "default": "source" },
985
+ "targetAccessor": { "type": "string", "default": "target" },
986
+ "valueAccessor": { "type": "string", "default": "value" },
987
+ "nodeIdAccessor": { "type": "string", "default": "id" },
988
+ "colorBy": { "type": "string" },
989
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
990
+ "edgeColorBy": {
991
+ "type": "string",
992
+ "enum": ["source", "target"],
993
+ "default": "source"
994
+ },
995
+ "padAngle": { "type": "number", "default": 0.01 },
996
+ "groupWidth": { "type": "number", "default": 20 },
997
+ "nodeLabel": { "type": "string" },
998
+ "showLabels": { "type": "boolean", "default": true },
999
+ "edgeOpacity": { "type": "number", "default": 0.5 },
1000
+ "title": { "type": "string" },
1001
+ "width": { "type": "number", "default": 600 },
1002
+ "height": { "type": "number", "default": 600 },
1003
+ "enableHover": { "type": "boolean", "default": true },
1004
+ "margin": { "type": "object" },
1005
+ "className": { "type": "string" }
1006
+ },
1007
+ "required": ["edges"]
1008
+ }
1009
+ }
1010
+ },
1011
+ {
1012
+ "type": "function",
1013
+ "function": {
1014
+ "name": "TreeDiagram",
1015
+ "description": "Hierarchical tree layout. Supports tree, cluster, partition, and radial orientations. Data is a single root node with children.",
1016
+ "parameters": {
1017
+ "type": "object",
1018
+ "properties": {
1019
+ "data": {
1020
+ "type": "object",
1021
+ "description": "Root node object with nested children"
1022
+ },
1023
+ "layout": {
1024
+ "type": "string",
1025
+ "enum": ["tree", "cluster", "partition", "treemap", "circlepack"],
1026
+ "default": "tree"
1027
+ },
1028
+ "orientation": {
1029
+ "type": "string",
1030
+ "enum": ["vertical", "horizontal", "radial"],
1031
+ "default": "vertical"
1032
+ },
1033
+ "childrenAccessor": {
1034
+ "type": "string",
1035
+ "description": "Key for the children array in each node",
1036
+ "default": "children"
1037
+ },
1038
+ "valueAccessor": { "type": "string", "default": "value" },
1039
+ "nodeIdAccessor": { "type": "string", "default": "name" },
1040
+ "colorBy": { "type": "string" },
1041
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
1042
+ "colorByDepth": {
1043
+ "type": "boolean",
1044
+ "description": "Color nodes by their depth in the hierarchy",
1045
+ "default": false
1046
+ },
1047
+ "edgeStyle": {
1048
+ "type": "string",
1049
+ "enum": ["line", "curve"],
1050
+ "default": "curve"
1051
+ },
1052
+ "nodeLabel": { "type": "string" },
1053
+ "showLabels": { "type": "boolean", "default": true },
1054
+ "nodeSize": { "type": "number", "default": 5 },
1055
+ "title": { "type": "string" },
1056
+ "width": { "type": "number", "default": 600 },
1057
+ "height": { "type": "number", "default": 600 },
1058
+ "enableHover": { "type": "boolean", "default": true },
1059
+ "margin": { "type": "object" },
1060
+ "className": { "type": "string" }
1061
+ },
1062
+ "required": ["data"]
1063
+ }
1064
+ }
1065
+ },
1066
+ {
1067
+ "type": "function",
1068
+ "function": {
1069
+ "name": "Treemap",
1070
+ "description": "Space-filling rectangular hierarchy visualization. Data is a single root node with nested children.",
1071
+ "parameters": {
1072
+ "type": "object",
1073
+ "properties": {
1074
+ "data": {
1075
+ "type": "object",
1076
+ "description": "Root node object with nested children"
1077
+ },
1078
+ "childrenAccessor": { "type": "string", "default": "children" },
1079
+ "valueAccessor": { "type": "string", "default": "value" },
1080
+ "nodeIdAccessor": { "type": "string", "default": "name" },
1081
+ "colorBy": { "type": "string" },
1082
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
1083
+ "colorByDepth": { "type": "boolean", "default": false },
1084
+ "showLabels": { "type": "boolean", "default": true },
1085
+ "nodeLabel": { "type": "string" },
1086
+ "title": { "type": "string" },
1087
+ "width": { "type": "number", "default": 600 },
1088
+ "height": { "type": "number", "default": 600 },
1089
+ "enableHover": { "type": "boolean", "default": true },
1090
+ "margin": { "type": "object" },
1091
+ "className": { "type": "string" }
1092
+ },
1093
+ "required": ["data"]
1094
+ }
1095
+ }
1096
+ },
1097
+ {
1098
+ "type": "function",
1099
+ "function": {
1100
+ "name": "CirclePack",
1101
+ "description": "Nested circles representing hierarchical data. Data is a single root node with nested children.",
1102
+ "parameters": {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "data": {
1106
+ "type": "object",
1107
+ "description": "Root node object with nested children"
1108
+ },
1109
+ "childrenAccessor": { "type": "string", "default": "children" },
1110
+ "valueAccessor": { "type": "string", "default": "value" },
1111
+ "nodeIdAccessor": { "type": "string", "default": "name" },
1112
+ "colorBy": { "type": "string" },
1113
+ "colorScheme": { "type": ["string", "array"], "default": "category10" },
1114
+ "colorByDepth": { "type": "boolean", "default": false },
1115
+ "showLabels": { "type": "boolean", "default": true },
1116
+ "nodeLabel": { "type": "string" },
1117
+ "circleOpacity": { "type": "number", "default": 0.7 },
1118
+ "title": { "type": "string" },
1119
+ "width": { "type": "number", "default": 600 },
1120
+ "height": { "type": "number", "default": 600 },
1121
+ "enableHover": { "type": "boolean", "default": true },
1122
+ "margin": { "type": "object" },
1123
+ "className": { "type": "string" }
1124
+ },
1125
+ "required": ["data"]
1126
+ }
1127
+ }
1128
+ },
1129
+ {
1130
+ "type": "function",
1131
+ "function": {
1132
+ "name": "RealtimeLineChart",
1133
+ "description": "Streaming line chart rendered on canvas. Uses ref-based push API for high-frequency data.",
1134
+ "parameters": {
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "size": {
1138
+ "type": "array",
1139
+ "items": { "type": "number" },
1140
+ "description": "[width, height] in pixels",
1141
+ "default": [500, 300]
1142
+ },
1143
+ "timeAccessor": { "type": "string", "description": "Key for time/x values" },
1144
+ "valueAccessor": { "type": "string", "description": "Key for y values" },
1145
+ "windowSize": {
1146
+ "type": "number",
1147
+ "description": "Number of data points visible",
1148
+ "default": 200
1149
+ },
1150
+ "windowMode": {
1151
+ "type": "string",
1152
+ "enum": ["sliding", "stepping"],
1153
+ "default": "sliding"
1154
+ },
1155
+ "arrowOfTime": {
1156
+ "type": "string",
1157
+ "enum": ["left", "right"],
1158
+ "default": "right"
1159
+ },
1160
+ "stroke": { "type": "string", "default": "#007bff" },
1161
+ "strokeWidth": { "type": "number", "default": 2 },
1162
+ "showAxes": { "type": "boolean", "default": true },
1163
+ "background": { "type": "string" },
1164
+ "margin": { "type": "object" },
1165
+ "className": { "type": "string" },
1166
+ "width": { "type": "number", "description": "Alias for size[0]" },
1167
+ "height": { "type": "number", "description": "Alias for size[1]" },
1168
+ "tooltip": { "type": ["function", "object"], "description": "Tooltip content function or config" },
1169
+ "decay": { "type": "object", "description": "Decay config: { type, halfLife, minOpacity }" },
1170
+ "pulse": { "type": "object", "description": "Pulse config: { duration, color, glowRadius }" },
1171
+ "staleness": { "type": "object", "description": "Staleness config: { threshold, dimOpacity, showBadge }" },
1172
+ "transition": { "type": "object", "description": "Transition config: { duration, easing }" }
1173
+ },
1174
+ "required": []
1175
+ }
1176
+ }
1177
+ },
1178
+ {
1179
+ "type": "function",
1180
+ "function": {
1181
+ "name": "RealtimeHistogram",
1182
+ "description": "Streaming bar chart with binned aggregation. Uses ref-based push API.",
1183
+ "parameters": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "binSize": {
1187
+ "type": "number",
1188
+ "description": "Time bin size in milliseconds (required)"
1189
+ },
1190
+ "size": {
1191
+ "type": "array",
1192
+ "items": { "type": "number" },
1193
+ "default": [500, 300]
1194
+ },
1195
+ "timeAccessor": { "type": "string" },
1196
+ "valueAccessor": { "type": "string" },
1197
+ "categoryAccessor": { "type": "string", "description": "Key for category grouping" },
1198
+ "colors": { "type": "object", "description": "Map of category to color string" },
1199
+ "windowSize": { "type": "number", "default": 200 },
1200
+ "windowMode": { "type": "string", "enum": ["sliding", "stepping"], "default": "sliding" },
1201
+ "arrowOfTime": { "type": "string", "enum": ["left", "right"], "default": "right" },
1202
+ "fill": { "type": "string" },
1203
+ "stroke": { "type": "string" },
1204
+ "gap": { "type": "number" },
1205
+ "showAxes": { "type": "boolean", "default": true },
1206
+ "background": { "type": "string" },
1207
+ "margin": { "type": "object" },
1208
+ "className": { "type": "string" },
1209
+ "width": { "type": "number", "description": "Alias for size[0]" },
1210
+ "height": { "type": "number", "description": "Alias for size[1]" },
1211
+ "tooltip": { "type": ["function", "object"], "description": "Tooltip content function or config" },
1212
+ "decay": { "type": "object", "description": "Decay config: { type, halfLife, minOpacity }" },
1213
+ "pulse": { "type": "object", "description": "Pulse config: { duration, color, glowRadius }" },
1214
+ "staleness": { "type": "object", "description": "Staleness config: { threshold, dimOpacity, showBadge }" },
1215
+ "transition": { "type": "object", "description": "Transition config: { duration, easing }" }
1216
+ },
1217
+ "required": ["binSize"]
1218
+ }
1219
+ }
1220
+ },
1221
+ {
1222
+ "type": "function",
1223
+ "function": {
1224
+ "name": "RealtimeSwarmChart",
1225
+ "description": "Streaming swarm/scatter chart showing individual data points over time.",
1226
+ "parameters": {
1227
+ "type": "object",
1228
+ "properties": {
1229
+ "size": {
1230
+ "type": "array",
1231
+ "items": { "type": "number" },
1232
+ "default": [500, 300]
1233
+ },
1234
+ "timeAccessor": { "type": "string" },
1235
+ "valueAccessor": { "type": "string" },
1236
+ "categoryAccessor": { "type": "string" },
1237
+ "colors": { "type": "object" },
1238
+ "windowSize": { "type": "number", "default": 200 },
1239
+ "windowMode": { "type": "string", "enum": ["sliding", "stepping"], "default": "sliding" },
1240
+ "arrowOfTime": { "type": "string", "enum": ["left", "right"], "default": "right" },
1241
+ "radius": { "type": "number" },
1242
+ "fill": { "type": "string" },
1243
+ "opacity": { "type": "number" },
1244
+ "stroke": { "type": "string" },
1245
+ "showAxes": { "type": "boolean", "default": true },
1246
+ "background": { "type": "string" },
1247
+ "margin": { "type": "object" },
1248
+ "className": { "type": "string" },
1249
+ "width": { "type": "number", "description": "Alias for size[0]" },
1250
+ "height": { "type": "number", "description": "Alias for size[1]" },
1251
+ "tooltip": { "type": ["function", "object"], "description": "Tooltip content function or config" },
1252
+ "decay": { "type": "object", "description": "Decay config: { type, halfLife, minOpacity }" },
1253
+ "pulse": { "type": "object", "description": "Pulse config: { duration, color, glowRadius }" },
1254
+ "staleness": { "type": "object", "description": "Staleness config: { threshold, dimOpacity, showBadge }" },
1255
+ "transition": { "type": "object", "description": "Transition config: { duration, easing }" }
1256
+ },
1257
+ "required": []
1258
+ }
1259
+ }
1260
+ },
1261
+ {
1262
+ "type": "function",
1263
+ "function": {
1264
+ "name": "RealtimeWaterfallChart",
1265
+ "description": "Streaming waterfall chart showing positive/negative changes over time.",
1266
+ "parameters": {
1267
+ "type": "object",
1268
+ "properties": {
1269
+ "size": {
1270
+ "type": "array",
1271
+ "items": { "type": "number" },
1272
+ "default": [500, 300]
1273
+ },
1274
+ "timeAccessor": { "type": "string" },
1275
+ "valueAccessor": { "type": "string" },
1276
+ "windowSize": { "type": "number", "default": 200 },
1277
+ "windowMode": { "type": "string", "enum": ["sliding", "stepping"], "default": "sliding" },
1278
+ "arrowOfTime": { "type": "string", "enum": ["left", "right"], "default": "right" },
1279
+ "positiveColor": { "type": "string" },
1280
+ "negativeColor": { "type": "string" },
1281
+ "connectorStroke": { "type": "string" },
1282
+ "connectorWidth": { "type": "number" },
1283
+ "gap": { "type": "number" },
1284
+ "stroke": { "type": "string" },
1285
+ "showAxes": { "type": "boolean", "default": true },
1286
+ "background": { "type": "string" },
1287
+ "margin": { "type": "object" },
1288
+ "className": { "type": "string" },
1289
+ "width": { "type": "number", "description": "Alias for size[0]" },
1290
+ "height": { "type": "number", "description": "Alias for size[1]" },
1291
+ "tooltip": { "type": ["function", "object"], "description": "Tooltip content function or config" },
1292
+ "decay": { "type": "object", "description": "Decay config: { type, halfLife, minOpacity }" },
1293
+ "pulse": { "type": "object", "description": "Pulse config: { duration, color, glowRadius }" },
1294
+ "staleness": { "type": "object", "description": "Staleness config: { threshold, dimOpacity, showBadge }" },
1295
+ "transition": { "type": "object", "description": "Transition config: { duration, easing }" }
1296
+ },
1297
+ "required": []
1298
+ }
1299
+ }
1300
+ },
1301
+ {
1302
+ "type": "function",
1303
+ "function": {
1304
+ "name": "RealtimeHeatmap",
1305
+ "description": "Streaming 2D heatmap with grid binning and configurable aggregation (count, sum, mean). Uses ref-based push API.",
1306
+ "parameters": {
1307
+ "type": "object",
1308
+ "properties": {
1309
+ "size": {
1310
+ "type": "array",
1311
+ "items": { "type": "number" },
1312
+ "default": [500, 300]
1313
+ },
1314
+ "timeAccessor": { "type": "string" },
1315
+ "valueAccessor": { "type": "string" },
1316
+ "heatmapXBins": { "type": "number", "default": 20, "description": "Number of horizontal bins" },
1317
+ "heatmapYBins": { "type": "number", "default": 20, "description": "Number of vertical bins" },
1318
+ "aggregation": { "type": "string", "enum": ["count", "sum", "mean"], "default": "count" },
1319
+ "windowSize": { "type": "number", "default": 200 },
1320
+ "windowMode": { "type": "string", "enum": ["sliding", "stepping"], "default": "sliding" },
1321
+ "arrowOfTime": { "type": "string", "enum": ["left", "right"], "default": "right" },
1322
+ "showAxes": { "type": "boolean", "default": true },
1323
+ "background": { "type": "string" },
1324
+ "margin": { "type": "object" },
1325
+ "className": { "type": "string" },
1326
+ "width": { "type": "number", "description": "Alias for size[0]" },
1327
+ "height": { "type": "number", "description": "Alias for size[1]" },
1328
+ "tooltip": { "type": ["function", "object"], "description": "Tooltip content function or config" },
1329
+ "decay": { "type": "object", "description": "Decay config: { type, halfLife, minOpacity }" },
1330
+ "pulse": { "type": "object", "description": "Pulse config: { duration, color, glowRadius }" },
1331
+ "staleness": { "type": "object", "description": "Staleness config: { threshold, dimOpacity, showBadge }" }
1332
+ },
1333
+ "required": []
1334
+ }
1335
+ }
1336
+ }
1337
+ ]
1338
+ }