semiotic 3.7.4 → 3.8.0

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 (517) hide show
  1. package/CLAUDE.md +60 -15
  2. package/README.md +135 -24
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1651 -154
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2934 -517
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +19 -3
  11. package/dist/components/Annotation.d.ts +4 -0
  12. package/dist/components/CategoryColors.d.ts +1 -1
  13. package/dist/components/ChartContainer.d.ts +91 -0
  14. package/dist/components/ChartGrid.d.ts +11 -1
  15. package/dist/components/CircularBrush.d.ts +61 -0
  16. package/dist/components/ContextLayout.d.ts +5 -1
  17. package/dist/components/DataSummaryContext.d.ts +1 -0
  18. package/dist/components/DirectManipulationControl.d.ts +63 -0
  19. package/dist/components/LinkedCharts.d.ts +3 -1
  20. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  21. package/dist/components/MobileChartContainer.d.ts +51 -0
  22. package/dist/components/MobileStandardControls.d.ts +68 -0
  23. package/dist/components/SmallMultipleChart.d.ts +84 -0
  24. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  25. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  26. package/dist/components/ai/IntentMark.d.ts +15 -0
  27. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  28. package/dist/components/ai/chartCapabilityTypes.d.ts +42 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  31. package/dist/components/ai/chartRecipes.d.ts +278 -0
  32. package/dist/components/ai/dataPitfallsBridge.d.ts +203 -0
  33. package/dist/components/ai/dataQualityBridge.d.ts +201 -0
  34. package/dist/components/ai/describeChart.d.ts +9 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +170 -0
  37. package/dist/components/ai/intentManifest.d.ts +62 -0
  38. package/dist/components/ai/navigationTree.d.ts +3 -0
  39. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  40. package/dist/components/ai/readerGrounding.d.ts +83 -0
  41. package/dist/components/ai/recipeCapability.d.ts +8 -0
  42. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  43. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  44. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  45. package/dist/components/ai/suggestCharts.d.ts +11 -1
  46. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  47. package/dist/components/charts/custom/NetworkCustomChart.d.ts +22 -3
  48. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  49. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  50. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  51. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  52. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  53. package/dist/components/charts/geo/index.d.ts +2 -0
  54. package/dist/components/charts/index.d.ts +29 -1
  55. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  57. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  58. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  60. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  61. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/Treemap.d.ts +1 -1
  63. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  64. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  65. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  66. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  68. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  71. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  73. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  74. package/dist/components/charts/ordinal/SwarmPlot.d.ts +8 -1
  75. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  76. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  77. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  78. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  79. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  80. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  81. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  82. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  83. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  84. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  85. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  86. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  88. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  89. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  91. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  92. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  93. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  94. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  95. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  96. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  97. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  98. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  99. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  100. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  101. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  102. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  103. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  104. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  105. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  106. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  107. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  108. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  109. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  110. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  111. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  112. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  113. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  114. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  115. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  116. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  117. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  118. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +30 -1
  119. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  120. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  121. package/dist/components/charts/realtime/aggregate.d.ts +51 -0
  122. package/dist/components/charts/realtime/eventTime.d.ts +26 -0
  123. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  124. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  125. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  126. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  127. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  128. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  130. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  131. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  132. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  133. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  134. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  135. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  136. package/dist/components/charts/shared/colorPalettes.d.ts +2 -0
  137. package/dist/components/charts/shared/colorUtils.d.ts +17 -13
  138. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  139. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  140. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  141. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  142. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  143. package/dist/components/charts/shared/hooks.d.ts +28 -5
  144. package/dist/components/charts/shared/minMax.d.ts +3 -0
  145. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  146. package/dist/components/charts/shared/radialGeometry.d.ts +0 -18
  147. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  148. package/dist/components/charts/shared/smartTooltip.d.ts +27 -0
  149. package/dist/components/charts/shared/statisticalOverlays.d.ts +35 -0
  150. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  151. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  152. package/dist/components/charts/shared/tooltipUtils.d.ts +2 -0
  153. package/dist/components/charts/shared/types.d.ts +49 -1
  154. package/dist/components/charts/shared/useChartSetup.d.ts +10 -3
  155. package/dist/components/charts/shared/useCustomChartSetup.d.ts +15 -6
  156. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  157. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  158. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  159. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  160. package/dist/components/charts/shared/validateChartData.d.ts +1 -1
  161. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  162. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  163. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  164. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  165. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  166. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  167. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  168. package/dist/components/charts/xy/Scatterplot.d.ts +10 -1
  169. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  170. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  171. package/dist/components/controls/controlAudit.d.ts +24 -0
  172. package/dist/components/controls/controlContract.d.ts +57 -0
  173. package/dist/components/data/fromArrow.d.ts +54 -0
  174. package/dist/components/data/fromFlintChart.d.ts +74 -0
  175. package/dist/components/data/fromMermaid.d.ts +47 -0
  176. package/dist/components/data/fromObservablePlot.d.ts +69 -0
  177. package/dist/components/data/fromVegaLite.d.ts +27 -0
  178. package/dist/components/data/portability/index.d.ts +17 -0
  179. package/dist/components/data/portability/result.d.ts +52 -0
  180. package/dist/components/data/portability/spec.d.ts +160 -0
  181. package/dist/components/data/portability/vegaLite.d.ts +80 -0
  182. package/dist/components/export/chartConfig.d.ts +11 -0
  183. package/dist/components/realtime/ReorderBuffer.d.ts +54 -0
  184. package/dist/components/realtime/RunningStats.d.ts +66 -0
  185. package/dist/components/realtime/WindowAccumulator.d.ts +105 -0
  186. package/dist/components/realtime/parseWindowDuration.d.ts +12 -0
  187. package/dist/components/realtime/types.d.ts +11 -0
  188. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  189. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  190. package/dist/components/recipes/boba.d.ts +23 -0
  191. package/dist/components/recipes/customTooltip.d.ts +31 -0
  192. package/dist/components/recipes/cyclical.d.ts +39 -0
  193. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  194. package/dist/components/recipes/forceLayout.d.ts +48 -0
  195. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  196. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  197. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  198. package/dist/components/recipes/gofishIR.d.ts +215 -0
  199. package/dist/components/recipes/gofishIRExamples.d.ts +38 -0
  200. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  201. package/dist/components/recipes/intervals.d.ts +80 -0
  202. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  203. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  204. package/dist/components/recipes/mermaidDag.d.ts +44 -0
  205. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  206. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  207. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  208. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  209. package/dist/components/recipes/packedClusterMatrix.d.ts +166 -0
  210. package/dist/components/recipes/physics.d.ts +122 -0
  211. package/dist/components/recipes/physicsReference.d.ts +102 -0
  212. package/dist/components/recipes/processAggregates.d.ts +32 -0
  213. package/dist/components/recipes/processChrome.d.ts +67 -0
  214. package/dist/components/recipes/processJourney.d.ts +54 -0
  215. package/dist/components/recipes/processPhysics.d.ts +300 -0
  216. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  217. package/dist/components/recipes/radialCoords.d.ts +69 -0
  218. package/dist/components/recipes/random.d.ts +2 -0
  219. package/dist/components/recipes/recipeChrome.d.ts +191 -0
  220. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  221. package/dist/components/recipes/recipeLegend.d.ts +109 -0
  222. package/dist/components/recipes/recipeUtils.d.ts +157 -0
  223. package/dist/components/recipes/runs.d.ts +59 -0
  224. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  225. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  226. package/dist/components/recipes/unitize.d.ts +108 -0
  227. package/dist/components/recipes/vector.d.ts +28 -0
  228. package/dist/components/recipes/waffle.d.ts +43 -0
  229. package/dist/components/semiotic-ai-core.d.ts +47 -0
  230. package/dist/components/semiotic-ai.d.ts +52 -4
  231. package/dist/components/semiotic-controls.d.ts +18 -0
  232. package/dist/components/semiotic-data.d.ts +2 -0
  233. package/dist/components/semiotic-experimental.d.ts +49 -0
  234. package/dist/components/semiotic-geo.d.ts +11 -0
  235. package/dist/components/semiotic-network.d.ts +14 -1
  236. package/dist/components/semiotic-ordinal.d.ts +10 -0
  237. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  238. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  239. package/dist/components/semiotic-physics.d.ts +56 -0
  240. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  241. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  242. package/dist/components/semiotic-realtime.d.ts +4 -22
  243. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  244. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  245. package/dist/components/semiotic-recipes.d.ts +4 -26
  246. package/dist/components/semiotic-server-edge.d.ts +8 -0
  247. package/dist/components/semiotic-server-node.d.ts +5 -0
  248. package/dist/components/semiotic-server.d.ts +2 -2
  249. package/dist/components/semiotic-themes-core.d.ts +53 -0
  250. package/dist/components/semiotic-themes-react.d.ts +4 -0
  251. package/dist/components/semiotic-themes.d.ts +6 -74
  252. package/dist/components/semiotic-utils-core.d.ts +46 -0
  253. package/dist/components/semiotic-utils-react.d.ts +5 -0
  254. package/dist/components/semiotic-utils.d.ts +3 -39
  255. package/dist/components/semiotic-xy.d.ts +10 -0
  256. package/dist/components/semiotic.d.ts +39 -7
  257. package/dist/components/server/animatedGif.d.ts +36 -0
  258. package/dist/components/server/renderEvidence.d.ts +1 -1
  259. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  260. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  261. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  262. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  263. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  264. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  265. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  266. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  267. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  268. package/dist/components/server/staticGeo.d.ts +4 -0
  269. package/dist/components/server/staticLegend.d.ts +1 -1
  270. package/dist/components/server/staticNetwork.d.ts +8 -0
  271. package/dist/components/server/staticOrdinal.d.ts +11 -0
  272. package/dist/components/server/staticPhysics.d.ts +3 -0
  273. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  274. package/dist/components/server/staticXY.d.ts +4 -0
  275. package/dist/components/store/ObservationStore.d.ts +23 -3
  276. package/dist/components/store/SelectionStore.d.ts +1 -1
  277. package/dist/components/store/ThemeStore.d.ts +1 -1
  278. package/dist/components/store/TooltipStore.d.ts +1 -1
  279. package/dist/components/store/createStore.d.ts +1 -1
  280. package/dist/components/store/designTokens.d.ts +15 -0
  281. package/dist/components/store/themeSerialization.d.ts +32 -0
  282. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  283. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  284. package/dist/components/stream/FocusRing.d.ts +4 -2
  285. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  286. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  287. package/dist/components/stream/NetworkHtmlMarksLayer.d.ts +44 -0
  288. package/dist/components/stream/NetworkPipelineStore.d.ts +62 -25
  289. package/dist/components/stream/NetworkSVGOverlay.d.ts +15 -0
  290. package/dist/components/stream/OrdinalPipelineStore.d.ts +64 -2
  291. package/dist/components/stream/PipelineStore.d.ts +100 -162
  292. package/dist/components/stream/SceneGraph.d.ts +14 -2
  293. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  294. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  295. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  296. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  297. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  298. package/dist/components/stream/accessorUtils.d.ts +23 -10
  299. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  300. package/dist/components/stream/canvasBackground.d.ts +24 -0
  301. package/dist/components/stream/canvasSetup.d.ts +4 -1
  302. package/dist/components/stream/customLayout.d.ts +20 -0
  303. package/dist/components/stream/customLayoutDiagnostics.d.ts +11 -0
  304. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  305. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  306. package/dist/components/stream/customLayoutSelection.d.ts +52 -0
  307. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  308. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  309. package/dist/components/stream/geoCartogram.d.ts +17 -0
  310. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  311. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  312. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  313. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  314. package/dist/components/stream/geoTypes.d.ts +56 -7
  315. package/dist/components/stream/glyphDef.d.ts +98 -0
  316. package/dist/components/stream/hitTarget.d.ts +170 -0
  317. package/dist/components/stream/hoverUtils.d.ts +3 -0
  318. package/dist/components/stream/keyboardNav.d.ts +4 -1
  319. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  320. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  321. package/dist/components/stream/networkBezier.d.ts +10 -0
  322. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  323. package/dist/components/stream/networkCustomLayout.d.ts +66 -1
  324. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  325. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  326. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  327. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  328. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  329. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  330. package/dist/components/stream/networkTypes.d.ts +104 -5
  331. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  332. package/dist/components/stream/ordinalCustomLayout.d.ts +17 -1
  333. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  334. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  335. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  336. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  337. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  338. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  339. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  340. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -0
  341. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  342. package/dist/components/stream/ordinalTypes.d.ts +56 -8
  343. package/dist/components/stream/paintNeeds.d.ts +31 -0
  344. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  345. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  346. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  347. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  348. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  349. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  350. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  351. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  352. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  353. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  354. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  355. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  356. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  357. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  358. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  359. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  360. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  361. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  362. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  363. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  364. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  365. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  366. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  367. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  368. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  369. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  370. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  371. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  372. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  373. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  374. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  375. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  376. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  377. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  378. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  379. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  380. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  381. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  382. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  383. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  384. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  385. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  386. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  387. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  388. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  389. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  390. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  391. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  392. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  393. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  394. package/dist/components/stream/renderers/networkSymbolRenderer.d.ts +2 -0
  395. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  396. package/dist/components/stream/renderers/symbolCanvasRenderer.d.ts +2 -0
  397. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  398. package/dist/components/stream/stalenessBands.d.ts +28 -0
  399. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  400. package/dist/components/stream/symbolPath.d.ts +24 -0
  401. package/dist/components/stream/types.d.ts +206 -9
  402. package/dist/components/stream/useFrame.d.ts +21 -2
  403. package/dist/components/stream/useHydration.d.ts +6 -0
  404. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  405. package/dist/components/stream/useStalenessCheck.d.ts +6 -1
  406. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  407. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  408. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  409. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  410. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  411. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  412. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
  413. package/dist/components/stream/xySceneBuilders/types.d.ts +9 -4
  414. package/dist/controls.min.js +2 -0
  415. package/dist/controls.module.min.js +2 -0
  416. package/dist/forceLayoutWorker.js +1 -0
  417. package/dist/geo.min.js +1 -1
  418. package/dist/geo.module.min.js +1 -1
  419. package/dist/network.min.js +1 -1
  420. package/dist/network.module.min.js +1 -1
  421. package/dist/ordinal.min.js +1 -1
  422. package/dist/ordinal.module.min.js +1 -1
  423. package/dist/physics-matter.min.js +1 -0
  424. package/dist/physics-matter.module.min.js +1 -0
  425. package/dist/physics-rapier.min.js +1 -0
  426. package/dist/physics-rapier.module.min.js +1 -0
  427. package/dist/physics.min.js +2 -0
  428. package/dist/physics.module.min.js +2 -0
  429. package/dist/physicsWorker.js +1 -0
  430. package/dist/realtime.min.js +1 -1
  431. package/dist/realtime.module.min.js +1 -1
  432. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  433. package/dist/semiotic-ai-core.d.ts +47 -0
  434. package/dist/semiotic-ai-core.min.js +1 -0
  435. package/dist/semiotic-ai-core.module.min.js +1 -0
  436. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  437. package/dist/semiotic-ai.d.ts +52 -4
  438. package/dist/semiotic-ai.min.js +1 -1
  439. package/dist/semiotic-ai.module.min.js +1 -1
  440. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  441. package/dist/semiotic-controls.d.ts +18 -0
  442. package/dist/semiotic-data.d.ts +2 -0
  443. package/dist/semiotic-data.min.js +1 -1
  444. package/dist/semiotic-data.module.min.js +1 -1
  445. package/dist/semiotic-experimental.d.ts +49 -0
  446. package/dist/semiotic-experimental.min.js +1 -0
  447. package/dist/semiotic-experimental.module.min.js +1 -0
  448. package/dist/semiotic-geo.d.ts +11 -0
  449. package/dist/semiotic-network.d.ts +14 -1
  450. package/dist/semiotic-ordinal.d.ts +10 -0
  451. package/dist/semiotic-physics-matter.d.ts +10 -0
  452. package/dist/semiotic-physics-rapier.d.ts +9 -0
  453. package/dist/semiotic-physics.d.ts +56 -0
  454. package/dist/semiotic-realtime-core.d.ts +34 -0
  455. package/dist/semiotic-realtime-core.min.js +1 -0
  456. package/dist/semiotic-realtime-core.module.min.js +1 -0
  457. package/dist/semiotic-realtime-react.d.ts +10 -0
  458. package/dist/semiotic-realtime-react.min.js +2 -0
  459. package/dist/semiotic-realtime-react.module.min.js +2 -0
  460. package/dist/semiotic-realtime.d.ts +4 -22
  461. package/dist/semiotic-recipes-core.d.ts +92 -0
  462. package/dist/semiotic-recipes-core.min.js +1 -0
  463. package/dist/semiotic-recipes-core.module.min.js +1 -0
  464. package/dist/semiotic-recipes-react.d.ts +7 -0
  465. package/dist/semiotic-recipes-react.min.js +2 -0
  466. package/dist/semiotic-recipes-react.module.min.js +2 -0
  467. package/dist/semiotic-recipes.d.ts +4 -26
  468. package/dist/semiotic-recipes.min.js +1 -1
  469. package/dist/semiotic-recipes.module.min.js +1 -1
  470. package/dist/semiotic-server-edge.d.ts +8 -0
  471. package/dist/semiotic-server-edge.min.js +1 -0
  472. package/dist/semiotic-server-edge.module.min.js +1 -0
  473. package/dist/semiotic-server-node.d.ts +5 -0
  474. package/dist/semiotic-server-node.min.js +1 -0
  475. package/dist/semiotic-server-node.module.min.js +1 -0
  476. package/dist/semiotic-server.d.ts +2 -2
  477. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  478. package/dist/semiotic-themes-core.d.ts +53 -0
  479. package/dist/semiotic-themes-core.min.js +1 -0
  480. package/dist/semiotic-themes-core.module.min.js +1 -0
  481. package/dist/semiotic-themes-react.d.ts +4 -0
  482. package/dist/semiotic-themes-react.min.js +2 -0
  483. package/dist/semiotic-themes-react.module.min.js +2 -0
  484. package/dist/semiotic-themes.d.ts +6 -74
  485. package/dist/semiotic-themes.min.js +1 -2
  486. package/dist/semiotic-themes.module.min.js +1 -2
  487. package/dist/semiotic-utils-core.d.ts +46 -0
  488. package/dist/semiotic-utils-core.min.js +1 -0
  489. package/dist/semiotic-utils-core.module.min.js +1 -0
  490. package/dist/semiotic-utils-react.d.ts +5 -0
  491. package/dist/semiotic-utils-react.min.js +2 -0
  492. package/dist/semiotic-utils-react.module.min.js +2 -0
  493. package/dist/semiotic-utils.d.ts +3 -39
  494. package/dist/semiotic-utils.min.js +1 -2
  495. package/dist/semiotic-utils.module.min.js +1 -2
  496. package/dist/semiotic-value.min.js +1 -1
  497. package/dist/semiotic-value.module.min.js +1 -1
  498. package/dist/semiotic-xy.d.ts +10 -0
  499. package/dist/semiotic.d.ts +39 -7
  500. package/dist/semiotic.min.js +1 -1
  501. package/dist/semiotic.module.min.js +1 -1
  502. package/dist/server.min.js +1 -1
  503. package/dist/server.module.min.js +1 -1
  504. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  505. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  506. package/dist/xy.min.js +1 -1
  507. package/dist/xy.module.min.js +1 -1
  508. package/package.json +246 -86
  509. package/spec/README.md +152 -0
  510. package/spec/bindings/README.md +35 -0
  511. package/spec/bindings/vega-lite.mjs +112 -0
  512. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  513. package/spec/v0.1/audience-profile.schema.json +67 -0
  514. package/spec/v0.1/chart-capability.schema.json +186 -0
  515. package/dist/semiotic-ai-statisticalOverlays-C2PPlmXv.js +0 -1
  516. package/dist/semiotic-statisticalOverlays-C3DsOgr_.js +0 -1
  517. package/dist/xy-statisticalOverlays-C2PPlmXv.js +0 -1
@@ -3,7 +3,8 @@ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { NetworkCustomLayout } from "../../stream/networkCustomLayout";
5
5
  import type { Datum } from "../shared/datumTypes";
6
- import type { BaseChartProps } from "../shared/types";
6
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
7
+ import type { ChartRecipe } from "../../ai/chartRecipes";
7
8
  export interface NetworkCustomChartProps<TNode extends Datum = Datum, TEdge extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends BaseChartProps {
8
9
  /** Node objects with at least an `id` field. Positions are typically pre-computed by the user (e.g. from dagre / d3-flextree) and read by the layout. */
9
10
  nodes?: TNode[];
@@ -13,6 +14,10 @@ export interface NetworkCustomChartProps<TNode extends Datum = Datum, TEdge exte
13
14
  layout: NetworkCustomLayout<TConfig>;
14
15
  /** Config blob threaded through to NetworkLayoutContext.config. */
15
16
  layoutConfig?: TConfig;
17
+ /** Receives a structured diagnostic if the layout throws. */
18
+ onLayoutError?: StreamNetworkFrameProps["onLayoutError"];
19
+ recipe?: ChartRecipe<TNode, TConfig>;
20
+ recipeId?: string;
16
21
  /** Field name (or function) for the node id. @default "id" */
17
22
  nodeIDAccessor?: StreamNetworkFrameProps["nodeIDAccessor"];
18
23
  /** Field name for the edge source id. @default "source" */
@@ -20,13 +25,27 @@ export interface NetworkCustomChartProps<TNode extends Datum = Datum, TEdge exte
20
25
  /** Field name for the edge target id. @default "target" */
21
26
  targetAccessor?: StreamNetworkFrameProps["targetAccessor"];
22
27
  /** Color scheme threaded into the layout's `resolveColor` helper. */
23
- colorScheme?: string | string[];
28
+ colorBy?: ChartAccessor<TNode, string | number>;
29
+ colorScheme?: string | string[] | Record<string, string>;
24
30
  enableHover?: boolean;
31
+ /**
32
+ * Annotations rendered over the chart. A custom network layout's marks are
33
+ * anchorable by id: emit a scene node with `id: <foo>` and an annotation with
34
+ * `pointId: "<foo>"` resolves to that mark's center (the editorial-callout
35
+ * story, now unified with the built-in network charts). Data-coordinate
36
+ * anchoring doesn't apply — custom layouts own their own geometry — so anchor
37
+ * by `pointId`, or draw bespoke callouts with the recipe chrome kit's
38
+ * `markCallout`.
39
+ */
40
+ annotations?: StreamNetworkFrameProps["annotations"];
41
+ /** Collision-avoiding auto-placement for the annotations above. */
42
+ autoPlaceAnnotations?: StreamNetworkFrameProps["autoPlaceAnnotations"];
25
43
  /**
26
44
  * Custom layouts own their own color resolution (the layout function
27
45
  * decides what each node looks like), so the auto-legend infrastructure
28
46
  * the built-in network HOCs use can't run. To render a legend, build a
29
- * `legendGroups` array yourself and pass it through `frameProps.legend`.
47
+ * `legendGroups` array yourself (see `legendGroupsFrom`) and pass it through
48
+ * `frameProps.legend`.
30
49
  */
31
50
  /** Additional StreamNetworkFrame props for advanced customization. */
32
51
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "nodes" | "edges" | "chartType" | "size" | "customNetworkLayout" | "layoutConfig" | "layoutSelection">>;
@@ -3,7 +3,8 @@ import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { OrdinalCustomLayout } from "../../stream/ordinalCustomLayout";
5
5
  import type { Datum } from "../shared/datumTypes";
6
- import type { BaseChartProps } from "../shared/types";
6
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
7
+ import type { ChartRecipe } from "../../ai/chartRecipes";
7
8
  export interface OrdinalCustomChartProps<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends BaseChartProps {
8
9
  /** Data passed through to OrdinalLayoutContext.data. */
9
10
  data?: TDatum[];
@@ -11,6 +12,10 @@ export interface OrdinalCustomChartProps<TDatum extends Datum = Datum, TConfig e
11
12
  layout: OrdinalCustomLayout<TConfig>;
12
13
  /** Config blob threaded through to OrdinalLayoutContext.config. */
13
14
  layoutConfig?: TConfig;
15
+ /** Receives a structured diagnostic if the layout throws. */
16
+ onLayoutError?: StreamOrdinalFrameProps["onLayoutError"];
17
+ recipe?: ChartRecipe<TDatum, TConfig>;
18
+ recipeId?: string;
14
19
  /** Field name (or function) for the category. The frame builds the o-scale from these. */
15
20
  categoryAccessor?: StreamOrdinalFrameProps["categoryAccessor"];
16
21
  /** Field name (or function) for the value. The frame builds the r-scale from these. */
@@ -25,7 +30,8 @@ export interface OrdinalCustomChartProps<TDatum extends Datum = Datum, TConfig e
25
30
  /** Vertical / horizontal / radial. Default vertical. */
26
31
  projection?: StreamOrdinalFrameProps["projection"];
27
32
  /** Color scheme threaded into the layout's `resolveColor` helper. */
28
- colorScheme?: string | string[];
33
+ colorBy?: ChartAccessor<TDatum, string>;
34
+ colorScheme?: string | string[] | Record<string, string>;
29
35
  enableHover?: boolean;
30
36
  showAxes?: boolean;
31
37
  showGrid?: boolean;
@@ -3,8 +3,9 @@ import type { StreamXYFrameProps } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { CustomLayout } from "../../stream/customLayout";
5
5
  import type { Datum } from "../shared/datumTypes";
6
- import type { BaseChartProps, AxisConfig } from "../shared/types";
6
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
7
7
  import type { TooltipProp } from "../../Tooltip/Tooltip";
8
+ import type { ChartRecipe } from "../../ai/chartRecipes";
8
9
  export interface XYCustomChartProps<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends BaseChartProps, AxisConfig {
9
10
  /** Data passed through to LayoutContext.data. */
10
11
  data?: TDatum[];
@@ -12,6 +13,12 @@ export interface XYCustomChartProps<TDatum extends Datum = Datum, TConfig extend
12
13
  layout: CustomLayout<TConfig>;
13
14
  /** Config blob threaded through to LayoutContext.config. */
14
15
  layoutConfig?: TConfig;
16
+ /** Receives a structured diagnostic if the layout throws. */
17
+ onLayoutError?: StreamXYFrameProps["onLayoutError"];
18
+ /** Optional meaning/intelligence contract for description, navigation, and audit surfaces. */
19
+ recipe?: ChartRecipe<TDatum, TConfig>;
20
+ /** Registered recipe id; portable alternative to embedding the manifest object. */
21
+ recipeId?: string;
15
22
  /**
16
23
  * Optional fixed extents — flow into scale construction *before* the layout
17
24
  * runs, so scales reflect the layout's intended domain. Layouts that don't
@@ -25,7 +32,9 @@ export interface XYCustomChartProps<TDatum extends Datum = Datum, TConfig extend
25
32
  enableHover?: boolean;
26
33
  showLegend?: boolean;
27
34
  annotations?: Datum[];
28
- colorScheme?: string | string[];
35
+ /** Field or function that declares the semantic category used for custom-layout color. */
36
+ colorBy?: ChartAccessor<TDatum, string>;
37
+ colorScheme?: string | string[] | Record<string, string>;
29
38
  tooltip?: TooltipProp;
30
39
  /** Additional StreamXYFrame props for advanced customization, excluding XYCustomChart-controlled fields. */
31
40
  frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size" | "customLayout" | "layoutConfig">>;
@@ -37,7 +37,7 @@ export interface DistanceCartogramProps<TDatum extends Datum = Datum> extends Ba
37
37
  /** Field to determine point color */
38
38
  colorBy?: ChartAccessor<TDatum, string>;
39
39
  /** Color scheme @default "category10" */
40
- colorScheme?: string | string[];
40
+ colorScheme?: string | string[] | Record<string, string>;
41
41
  /** Point radius @default 5 */
42
42
  pointRadius?: number;
43
43
  /** Tooltip */
@@ -47,7 +47,7 @@ export interface FlowMapProps<TDatum extends Datum = Datum> extends BaseChartPro
47
47
  /** Line cap style for flow edges @default "round" */
48
48
  edgeLinecap?: "butt" | "round" | "square";
49
49
  /** Color scheme for edges @default "category10" */
50
- colorScheme?: string | string[];
50
+ colorScheme?: string | string[] | Record<string, string>;
51
51
  /** Show animated particles along flow lines */
52
52
  showParticles?: boolean;
53
53
  /** Particle appearance and behavior */
@@ -21,7 +21,7 @@ export interface ProportionalSymbolMapProps<TDatum extends Datum = Datum> extend
21
21
  /** Field to determine point color */
22
22
  colorBy?: ChartAccessor<TDatum, string>;
23
23
  /** Color scheme @default "category10" */
24
- colorScheme?: string | string[];
24
+ colorScheme?: string | string[] | Record<string, string>;
25
25
  /** Geographic projection @default "equalEarth" */
26
26
  projection?: ProjectionProp;
27
27
  /** Show graticule grid lines */
@@ -6,3 +6,5 @@ export { FlowMap } from "./FlowMap";
6
6
  export type { FlowMapProps } from "./FlowMap";
7
7
  export { DistanceCartogram } from "./DistanceCartogram";
8
8
  export type { DistanceCartogramProps } from "./DistanceCartogram";
9
+ export { GeoCustomChart } from "../custom/GeoCustomChart";
10
+ export type { GeoCustomChartProps } from "../custom/GeoCustomChart";
@@ -96,7 +96,35 @@ export { RealtimeWaterfallChart } from "./realtime/RealtimeWaterfallChart";
96
96
  export type { RealtimeWaterfallChartProps } from "./realtime/RealtimeWaterfallChart";
97
97
  export { RealtimeHeatmap } from "./realtime/RealtimeHeatmap";
98
98
  export type { RealtimeHeatmapProps } from "./realtime/RealtimeHeatmap";
99
- export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode } from "./shared/types";
99
+ export { GaltonBoardChart } from "./physics/GaltonBoardChart";
100
+ export type { GaltonBoardChartProps, GaltonBoardReferenceLine } from "./physics/GaltonBoardChart";
101
+ export { EventDropChart } from "./physics/EventDropChart";
102
+ export type { EventDropChartProps } from "./physics/EventDropChart";
103
+ export { PhysicsPileChart } from "./physics/PhysicsPileChart";
104
+ export type { PhysicsPileChartProps } from "./physics/PhysicsPileChart";
105
+ export { CollisionSwarmChart } from "./physics/CollisionSwarmChart";
106
+ export type { CollisionSwarmChartProps } from "./physics/CollisionSwarmChart";
107
+ export { GauntletChart, GuantletChart, planGauntletPropertyWork, replaceGauntletNegative } from "./physics/GauntletChart";
108
+ export type { GauntletChartProps, GauntletEffect, GauntletEvent, GauntletEventContext, GauntletEventLogItem, GauntletGate, GauntletLayout, GauntletNegativeReplacementOptions, GauntletPopSpec, GauntletProjectPlacement, GauntletProjectState, GauntletPropertyForceContext, GauntletPropertyDefinition, GauntletPropertyWorkPlan, GauntletPropertyWorkPlanOptions } from "./physics/GauntletChart";
109
+ export { physicsProcessBoundaryColliders, physicsProcessGroupSemanticItems, physicsProcessRegionSemanticItem, physicsProcessStageSemanticItems } from "./physics/physicsProcessPrimitives";
110
+ export type { PhysicsProcessBodyGroup, PhysicsProcessBoundaryOptions, PhysicsProcessStage } from "./physics/physicsProcessPrimitives";
111
+ export { absorbRegion, bodyGroupSpec, capacitatedRegion, chargeGateRegion, forceFieldRegion, membraneRegion, portalRegion, pressureFieldRegion, processLaneWalls, processStageLayout, processStageRegions, routeSurfaceRegion, stageTargetInVolume } from "../recipes/processPhysics";
112
+ export { aggregateRegionCounts, groupCompletionRows, regionCountsToProjectionRows } from "../recipes/processAggregates";
113
+ export { processVolumePolygons } from "../recipes/processVolumeGeometry";
114
+ export { createProcessJourneyLedger, processJourneyRows, updateProcessJourney } from "../recipes/processJourney";
115
+ export type { BodyGroupSpec, BodyGroupSpecOptions, ProcessMembraneDef, ProcessRegionBaseOptions, ProcessStageRegionOptions, ProcessStageDef, ProcessVolumeLayout, ProcessVolumeLayoutOptions, ProcessVolumeMembraneBand, ProcessVolumeShape, ProcessVolumeStageBand } from "../recipes/processPhysics";
116
+ export type { RegionCountBucket, RegionCountMap } from "../recipes/processAggregates";
117
+ export type { ProcessVolumePoint, ProcessVolumePolygon, ProcessVolumePolygonRole } from "../recipes/processVolumeGeometry";
118
+ export type { ProcessJourneyEntityState, ProcessJourneyLedger, ProcessJourneyRow, ProcessJourneyStage, ProcessJourneyUpdateOptions } from "../recipes/processJourney";
119
+ export { PhysicalFlowChart } from "./physics/PhysicalFlowChart";
120
+ export type { PhysicalFlowChartProps } from "./physics/PhysicalFlowChart";
121
+ export { ProcessFlowChart } from "./physics/ProcessFlowChart";
122
+ export type { ProcessFlowChartProps, ProcessFlowProjectionMetadata, ProcessFlowStageDef } from "./physics/ProcessFlowChart";
123
+ export { PhysicsCustomChart } from "./physics/PhysicsCustomChart";
124
+ export type { PhysicsCustomChartProps, PhysicsCustomLayout, PhysicsCustomLayoutContext, PhysicsCustomLayoutResult, PhysicsCustomSpawnDatumResult } from "./physics/PhysicsCustomChart";
125
+ export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode, MobileClearSelectionBehavior, MobileSnapBehavior, MobileInteractionConfig, MobileInteractionProp, MobileStandardControlsMode, ResolvedMobileInteractionConfig, } from "./shared/types";
126
+ export { responsiveRuleMatches, resolveResponsiveRules } from "./shared/responsiveRules";
127
+ export type { ResponsiveOrientation, ResponsiveRuleCondition, ResponsiveRuleContext, ResponsiveRule, ResponsiveRuleMatch, ResponsiveRuleResult, } from "./shared/responsiveRules";
100
128
  export { useColorScale, useSortedData, DEFAULT_COLOR } from "./shared/hooks";
101
129
  export { COLOR_SCHEMES, DEFAULT_COLORS, getColor, createColorScale, getSize } from "./shared/colorUtils";
102
130
  export { formatNumber, formatDate, formatAxis, createTooltip, formatLargeNumber, truncateText, adaptiveTimeTicks } from "./shared/formatUtils";
@@ -16,7 +16,7 @@ export interface ChordDiagramProps<TNode extends Datum = Datum, TEdge extends Da
16
16
  valueAccessor?: ChartAccessor<TEdge, number>;
17
17
  nodeIdAccessor?: ChartAccessor<TNode, string>;
18
18
  colorBy?: ChartAccessor<TNode, string>;
19
- colorScheme?: string | string[];
19
+ colorScheme?: string | string[] | Record<string, string>;
20
20
  edgeColorBy?: "source" | "target" | ((d: Datum) => string);
21
21
  padAngle?: number;
22
22
  groupWidth?: number;
@@ -13,7 +13,7 @@ export interface CirclePackProps<TNode extends Datum = Datum> extends BaseChartP
13
13
  valueAccessor?: ChartAccessor<TNode, number>;
14
14
  nodeIdAccessor?: ChartAccessor<TNode, string>;
15
15
  colorBy?: ChartAccessor<TNode, string | number>;
16
- colorScheme?: string | string[];
16
+ colorScheme?: string | string[] | Record<string, string>;
17
17
  colorByDepth?: boolean;
18
18
  showLabels?: boolean;
19
19
  nodeLabel?: ChartAccessor<TNode, string>;
@@ -67,7 +67,7 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
67
67
  */
68
68
  colorBy?: ChartAccessor<TNode, string>;
69
69
  /** d3 scheme name or explicit color array; falls back to theme. */
70
- colorScheme?: string | string[];
70
+ colorScheme?: string | string[] | Record<string, string>;
71
71
  /**
72
72
  * Constant pixel radius, or a function/field returning a numeric value
73
73
  * scaled into `nodeSizeRange`.
@@ -93,11 +93,21 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
93
93
  */
94
94
  iterations?: number;
95
95
  /**
96
- * Magnitude of the repulsion force between nodes; higher values spread
97
- * the graph more.
96
+ * Link-attraction multiplier. Lower values produce a looser, more
97
+ * spread-out graph; higher values pull connected nodes together.
98
98
  * @default 0.1
99
99
  */
100
100
  forceStrength?: number;
101
+ /**
102
+ * Execute layout synchronously, in a Web Worker, or automatically choose
103
+ * based on estimated graph cost.
104
+ * @default "auto"
105
+ */
106
+ layoutExecution?: "auto" | "worker" | "sync";
107
+ /** Content rendered in the chart slot while worker layout is pending. */
108
+ layoutLoadingContent?: React.ReactNode | false;
109
+ /** Called when internally-managed worker layout changes state. */
110
+ onLayoutStateChange?: (state: "pending" | "ready" | "error") => void;
101
111
  /**
102
112
  * Render labels next to nodes. Uses `nodeLabel` accessor (defaulting to
103
113
  * `nodeIdAccessor`).
@@ -113,8 +123,8 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
113
123
  /**
114
124
  * ForceDirectedGraph - Visualize network relationships with a force-directed layout.
115
125
  *
116
- * Nodes are positioned by simulating attraction along edges and repulsion
117
- * between unconnected nodes; the layout settles after `iterations` ticks.
126
+ * Nodes are positioned by simulating degree-aware attraction and repulsion
127
+ * with radius-aware collision; the layout settles after `iterations` ticks.
118
128
  * Wraps {@link StreamNetworkFrame} (canvas-first rendering for large graphs).
119
129
  *
120
130
  * For ordered hierarchical data prefer {@link TreeDiagram}; for flow
@@ -25,7 +25,7 @@ export interface OrbitDiagramProps<TDatum extends Datum = Datum> extends BaseCha
25
25
  /** Field or function for node color */
26
26
  colorBy?: string | ((d: Datum) => string);
27
27
  /** Color scheme @default "category10" */
28
- colorScheme?: string | string[];
28
+ colorScheme?: string | string[] | Record<string, string>;
29
29
  /** Color by hierarchy depth instead of field @default false */
30
30
  colorByDepth?: boolean;
31
31
  /**
@@ -48,7 +48,7 @@ export interface ProcessSankeyProps<TNode extends Datum = Datum, TEdge extends D
48
48
  xExtentAccessor?: ChartAccessor<TNode, [TimeLike, TimeLike]>;
49
49
  edgeIdAccessor?: ChartAccessor<TEdge, string>;
50
50
  colorBy?: ChartAccessor<TNode, string>;
51
- colorScheme?: string | string[];
51
+ colorScheme?: string | string[] | Record<string, string>;
52
52
  /** Show a swatch + label legend. Defaults to `true` when `colorBy` is set. */
53
53
  showLegend?: boolean;
54
54
  /** Legend position. Default `"right"`. */
@@ -16,7 +16,7 @@ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends D
16
16
  valueAccessor?: ChartAccessor<TEdge, number>;
17
17
  nodeIdAccessor?: ChartAccessor<TNode, string>;
18
18
  colorBy?: ChartAccessor<TNode, string>;
19
- colorScheme?: string | string[];
19
+ colorScheme?: string | string[] | Record<string, string>;
20
20
  edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
21
21
  orientation?: "horizontal" | "vertical";
22
22
  nodeAlign?: "justify" | "left" | "right" | "center";
@@ -15,7 +15,7 @@ export interface TreeDiagramProps<TNode extends Datum = Datum> extends BaseChart
15
15
  valueAccessor?: ChartAccessor<TNode, number>;
16
16
  nodeIdAccessor?: ChartAccessor<TNode, string>;
17
17
  colorBy?: ChartAccessor<TNode, string | number>;
18
- colorScheme?: string | string[];
18
+ colorScheme?: string | string[] | Record<string, string>;
19
19
  colorByDepth?: boolean;
20
20
  edgeStyle?: "line" | "curve";
21
21
  nodeLabel?: ChartAccessor<TNode, string>;
@@ -13,7 +13,7 @@ export interface TreemapProps<TNode extends Datum = Datum> extends BaseChartProp
13
13
  valueAccessor?: ChartAccessor<TNode, number>;
14
14
  nodeIdAccessor?: ChartAccessor<TNode, string>;
15
15
  colorBy?: ChartAccessor<TNode, string | number>;
16
- colorScheme?: string | string[];
16
+ colorScheme?: string | string[] | Record<string, string>;
17
17
  colorByDepth?: boolean;
18
18
  showLabels?: boolean;
19
19
  labelMode?: "leaf" | "parent" | "all";
@@ -0,0 +1,17 @@
1
+ import { type ForceLayoutAsyncOptions } from "../../recipes/forceLayoutAsync";
2
+ import type { GraphEdge, GraphNode, Point } from "../../recipes/networkAnalysis";
3
+ export type ForceLayoutStatus = "pending" | "ready" | "error";
4
+ export interface UseForceLayoutResult {
5
+ positions: Record<string, Point> | null;
6
+ status: ForceLayoutStatus;
7
+ error: Error | null;
8
+ }
9
+ /**
10
+ * React lifecycle wrapper for deterministic force layout. Direct SSR and the
11
+ * first hydration render stay synchronous so markup matches; client-side mounts
12
+ * and subsequent graph changes use {@link forceLayoutAsync}. Settled positions
13
+ * are memoized by node/edge array identity + options, so remounting with the
14
+ * same module-constant graph resolves "ready" immediately instead of
15
+ * re-flashing a pending state.
16
+ */
17
+ export declare function useForceLayout(nodes: ReadonlyArray<GraphNode>, edges: ReadonlyArray<GraphEdge>, options?: Omit<ForceLayoutAsyncOptions, "signal">): UseForceLayoutResult;
@@ -51,7 +51,7 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
51
51
  * `"set2"`, etc.) or an explicit array of colors. Falls back to the
52
52
  * theme's categorical palette when omitted.
53
53
  */
54
- colorScheme?: string | string[];
54
+ colorScheme?: string | string[] | Record<string, string>;
55
55
  /** Category ordering. `false` (default) = insertion order. `"asc"` /
56
56
  * `"desc"` sorts by total value. `"auto"` preserves insertion order
57
57
  * while streaming and falls through to value-desc on static data.
@@ -14,7 +14,7 @@ export interface BoxPlotProps<TDatum extends Datum = Datum> extends BaseChartPro
14
14
  valueLabel?: string;
15
15
  valueFormat?: (d: number | string) => string;
16
16
  colorBy?: ChartAccessor<TDatum, string>;
17
- colorScheme?: string | string[];
17
+ colorScheme?: string | string[] | Record<string, string>;
18
18
  showOutliers?: boolean;
19
19
  outlierRadius?: number;
20
20
  categoryPadding?: number;
@@ -12,7 +12,7 @@ export interface DonutChartProps<TDatum extends Datum = Datum> extends BaseChart
12
12
  innerRadius?: number;
13
13
  centerContent?: React.ReactNode;
14
14
  colorBy?: ChartAccessor<TDatum, string>;
15
- colorScheme?: string | string[];
15
+ colorScheme?: string | string[] | Record<string, string>;
16
16
  startAngle?: number;
17
17
  /** Rounded corner radius on wedge arcs */
18
18
  cornerRadius?: number;
@@ -15,7 +15,7 @@ export interface DotPlotProps<TDatum extends Datum = Datum> extends BaseChartPro
15
15
  valueLabel?: string;
16
16
  valueFormat?: (d: number | string) => string;
17
17
  colorBy?: ChartAccessor<TDatum, string>;
18
- colorScheme?: string | string[];
18
+ colorScheme?: string | string[] | Record<string, string>;
19
19
  /** Category ordering. Default (`undefined`) resolves to `"auto"`, which
20
20
  * preserves insertion order while streaming and falls through to
21
21
  * value-desc on static data — the recommended choice when using the
@@ -17,7 +17,7 @@ export interface FunnelChartProps<TDatum extends Datum = Datum> extends BaseChar
17
17
  /** Accessor for splitting into mirrored categories (e.g., "control" vs "treatment") */
18
18
  categoryAccessor?: ChartAccessor<TDatum, string>;
19
19
  colorBy?: ChartAccessor<TDatum, string>;
20
- colorScheme?: string | string[];
20
+ colorScheme?: string | string[] | Record<string, string>;
21
21
  /**
22
22
  * Funnel orientation.
23
23
  *
@@ -15,7 +15,7 @@ export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends Base
15
15
  valueLabel?: string;
16
16
  valueFormat?: (d: number | string) => string;
17
17
  colorBy?: ChartAccessor<TDatum, string>;
18
- colorScheme?: string | string[];
18
+ colorScheme?: string | string[] | Record<string, string>;
19
19
  /** Category sort order. Default: `false` (data insertion order). `"asc"`/`"desc"` sorts by total grouped value. `"auto"` preserves insertion order while streaming and falls through to value-desc on static data. Custom comparators receive category keys. */
20
20
  sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
21
21
  barPadding?: number;
@@ -51,7 +51,7 @@ export interface HistogramProps<TDatum extends Datum = Datum> extends BaseChartP
51
51
  valueLabel?: string;
52
52
  valueFormat?: (d: number | string) => string;
53
53
  colorBy?: ChartAccessor<TDatum, string>;
54
- colorScheme?: string | string[];
54
+ colorScheme?: string | string[] | Record<string, string>;
55
55
  categoryPadding?: number;
56
56
  enableHover?: boolean;
57
57
  showGrid?: boolean;
@@ -41,7 +41,7 @@ export interface PieChartProps<TDatum extends Datum = Datum> extends BaseChartPr
41
41
  * `"set2"`, etc.) or an explicit array of colors. Falls back to the
42
42
  * theme's categorical palette when omitted.
43
43
  */
44
- colorScheme?: string | string[];
44
+ colorScheme?: string | string[] | Record<string, string>;
45
45
  /**
46
46
  * Rotation in **degrees** applied to the first wedge. `0` starts at 12
47
47
  * o'clock and proceeds clockwise; `90` starts at 3 o'clock, `180` at 6
@@ -17,7 +17,7 @@ export interface RidgelinePlotProps<TDatum extends Datum = Datum> extends BaseCh
17
17
  valueLabel?: string;
18
18
  valueFormat?: (d: number | string) => string;
19
19
  colorBy?: ChartAccessor<TDatum, string>;
20
- colorScheme?: string | string[];
20
+ colorScheme?: string | string[] | Record<string, string>;
21
21
  categoryPadding?: number;
22
22
  enableHover?: boolean;
23
23
  showGrid?: boolean;
@@ -15,7 +15,7 @@ export interface StackedBarChartProps<TDatum extends Datum = Datum> extends Base
15
15
  valueLabel?: string;
16
16
  valueFormat?: (d: number | string) => string;
17
17
  colorBy?: ChartAccessor<TDatum, string>;
18
- colorScheme?: string | string[];
18
+ colorScheme?: string | string[] | Record<string, string>;
19
19
  normalize?: boolean;
20
20
  /** Category sort order. Default: `false` (data insertion order). `"asc"`/`"desc"` sorts by total stacked value. `"auto"` preserves insertion order while streaming and falls through to value-desc on static data. Custom comparators receive category keys. */
21
21
  sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
@@ -1,6 +1,7 @@
1
1
  import type { Datum } from "../shared/datumTypes";
2
2
  import * as React from "react";
3
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
4
+ import type { SymbolName } from "../../stream/symbolPath";
4
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
5
6
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
6
7
  import { type TooltipProp } from "../../Tooltip/Tooltip";
@@ -14,9 +15,15 @@ export interface SwarmPlotProps<TDatum extends Datum = Datum> extends BaseChartP
14
15
  valueLabel?: string;
15
16
  valueFormat?: (d: number | string) => string;
16
17
  colorBy?: ChartAccessor<TDatum, string>;
17
- colorScheme?: string | string[];
18
+ colorScheme?: string | string[] | Record<string, string>;
18
19
  sizeBy?: ChartAccessor<TDatum, number>;
19
20
  sizeRange?: [number, number];
21
+ /** Field name or function → glyph **shape**: each point renders as a d3-shape
22
+ * glyph instead of a circle. Pair with `symbolMap` for stable, legend-matchable
23
+ * shapes; unmapped categories auto-assign. Size still tracks `sizeBy`/`pointRadius`. */
24
+ symbolBy?: ChartAccessor<TDatum, string>;
25
+ /** Explicit `{category → shape}` map for `symbolBy`; unmapped auto-assign. */
26
+ symbolMap?: Record<string, SymbolName>;
20
27
  pointRadius?: number;
21
28
  pointOpacity?: number;
22
29
  categoryPadding?: number;
@@ -25,7 +25,7 @@ export interface SwimlaneChartProps<TDatum extends Datum = Datum> extends BaseCh
25
25
  /** Color accessor — defaults to subcategoryAccessor */
26
26
  colorBy?: ChartAccessor<TDatum, string>;
27
27
  /** Color scheme for subcategories */
28
- colorScheme?: string | string[];
28
+ colorScheme?: string | string[] | Record<string, string>;
29
29
  /** Padding between lanes in pixels */
30
30
  barPadding?: number;
31
31
  /** Enable hover annotations */
@@ -17,7 +17,7 @@ export interface ViolinPlotProps<TDatum extends Datum = Datum> extends BaseChart
17
17
  valueLabel?: string;
18
18
  valueFormat?: (d: number | string) => string;
19
19
  colorBy?: ChartAccessor<TDatum, string>;
20
- colorScheme?: string | string[];
20
+ colorScheme?: string | string[] | Record<string, string>;
21
21
  categoryPadding?: number;
22
22
  enableHover?: boolean;
23
23
  showGrid?: boolean;
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../shared/datumTypes";
3
+ import type { ChainReactionChartHandle, ChainReactionChartProps } from "./chainReactionTypes";
4
+ export type * from "./chainReactionTypes";
5
+ export declare const ChainReactionChart: {
6
+ <TDatum extends Datum = Datum>(props: ChainReactionChartProps<TDatum> & React.RefAttributes<ChainReactionChartHandle>): React.ReactElement | null;
7
+ displayName?: string;
8
+ };
9
+ export default ChainReactionChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const CollisionSwarmChartCapability: ChartCapability;
@@ -0,0 +1,47 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../shared/datumTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type PhysicsFrameHandle } from "./physicsHocHandle";
5
+ import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
6
+ export interface CollisionSwarmChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
7
+ data?: TDatum[];
8
+ size?: [number, number];
9
+ xAccessor?: ChartAccessor<TDatum, number>;
10
+ groupAccessor?: ChartAccessor<TDatum, string>;
11
+ radiusAccessor?: ChartAccessor<TDatum, number>;
12
+ pointRadius?: number;
13
+ colorBy?: ChartAccessor<TDatum, string>;
14
+ seed?: number;
15
+ xExtent?: [number, number];
16
+ collisionIterations?: number;
17
+ settle?: boolean;
18
+ showProjection?: boolean;
19
+ tooltip?: TooltipProp;
20
+ paused?: boolean;
21
+ frameProps?: PhysicsHocFrameProps<"config">;
22
+ }
23
+ /**
24
+ * Physics-backed collision swarm chart that preserves a quantitative x position while separating overlapping bodies.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <CollisionSwarmChart
29
+ * data={[{ id: "a", x: 12, group: "East" }, { id: "b", x: 14, group: "East" }]}
30
+ * xAccessor="x"
31
+ * groupAccessor="group"
32
+ * />
33
+ * ```
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <CollisionSwarmChart
38
+ * data={samples}
39
+ * xAccessor={(d) => d.score}
40
+ * radiusAccessor="weight"
41
+ * collisionIterations={180}
42
+ * settle
43
+ * />
44
+ * ```
45
+ */
46
+ export declare const CollisionSwarmChart: React.ForwardRefExoticComponent<CollisionSwarmChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
47
+ export default CollisionSwarmChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const EventDropChartCapability: ChartCapability;
@@ -0,0 +1,53 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../shared/datumTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type EventDropWindowOptions } from "./physicsChartUtils";
5
+ import { type PhysicsFrameHandle } from "./physicsHocHandle";
6
+ import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
7
+ export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
8
+ data?: TDatum[];
9
+ size?: [number, number];
10
+ timeAccessor?: ChartAccessor<TDatum, number>;
11
+ arrivalAccessor?: ChartAccessor<TDatum, number>;
12
+ windows?: EventDropWindowOptions;
13
+ watermark?: {
14
+ delay?: number;
15
+ value?: number;
16
+ } | ((latestEventTime: number) => number);
17
+ ballRadius?: number;
18
+ colorBy?: ChartAccessor<TDatum, string>;
19
+ seed?: number;
20
+ timeExtent?: [number, number];
21
+ timeScale?: number;
22
+ showProjection?: boolean;
23
+ tooltip?: TooltipProp;
24
+ paused?: boolean;
25
+ frameProps?: PhysicsHocFrameProps<"config">;
26
+ }
27
+ /**
28
+ * Physics-backed event drop chart for replaying arrivals against event-time windows and watermarks.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <EventDropChart
33
+ * data={[{ id: "a", time: 4, arrivalTime: 8 }, { id: "b", time: 18, arrivalTime: 12 }]}
34
+ * timeAccessor="time"
35
+ * arrivalAccessor="arrivalTime"
36
+ * windows={{ size: 10 }}
37
+ * watermark={{ delay: 5 }}
38
+ * />
39
+ * ```
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <EventDropChart
44
+ * data={events}
45
+ * windows={{ size: 60_000 }}
46
+ * watermark={{ value: Date.now() - 120_000 }}
47
+ * timeScale={4}
48
+ * timeExtent={[start, end]}
49
+ * />
50
+ * ```
51
+ */
52
+ export declare const EventDropChart: React.ForwardRefExoticComponent<EventDropChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
53
+ export default EventDropChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const GaltonBoardChartCapability: ChartCapability;