semiotic 3.7.5 → 3.8.1

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 (575) hide show
  1. package/CLAUDE.md +63 -18
  2. package/README.md +121 -27
  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 +1741 -163
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2733 -536
  9. package/ai/surface-manifest.json +201 -0
  10. package/ai/system-prompt.md +20 -4
  11. package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
  12. package/dist/components/AccessibleNavTree.d.ts +7 -1
  13. package/dist/components/CategoryColors.d.ts +1 -1
  14. package/dist/components/ChartContainer.d.ts +91 -0
  15. package/dist/components/ChartGrid.d.ts +11 -1
  16. package/dist/components/CircularBrush.d.ts +61 -0
  17. package/dist/components/ContextLayout.d.ts +5 -1
  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 +26 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
  31. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  32. package/dist/components/ai/chartRecipes.d.ts +278 -0
  33. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  34. package/dist/components/ai/describeChart.d.ts +7 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +28 -3
  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/ai/useNavigationSync.d.ts +17 -2
  47. package/dist/components/chartContainerMobile.d.ts +9 -0
  48. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  49. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  50. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  51. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  52. package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
  53. package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
  54. package/dist/components/charts/geo/FlowMap.d.ts +11 -7
  55. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
  56. package/dist/components/charts/geo/index.d.ts +2 -0
  57. package/dist/components/charts/index.d.ts +35 -1
  58. package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
  59. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  60. package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
  61. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  63. package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
  64. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  65. package/dist/components/charts/network/Treemap.d.ts +1 -1
  66. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  67. package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
  68. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  69. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  71. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
  73. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  74. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  75. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  76. package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
  77. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  78. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  79. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  80. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  81. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
  83. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
  85. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  86. package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
  87. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  88. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  89. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  91. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
  92. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  93. package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
  94. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  95. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  96. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  97. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  98. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  99. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  100. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  101. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  102. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  103. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  104. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  105. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  106. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  107. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  108. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  109. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  110. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  111. package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
  112. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  113. package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
  114. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  115. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  116. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  117. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  118. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  119. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  120. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  121. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  122. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  123. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  124. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  125. package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
  126. package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
  127. package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
  128. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  129. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  130. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  131. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  132. package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
  133. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  134. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  135. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  136. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  137. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  138. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  139. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  140. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  141. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  142. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  143. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  144. package/dist/components/charts/shared/datumTypes.d.ts +2 -0
  145. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
  146. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  147. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  148. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  149. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  150. package/dist/components/charts/shared/formatUtils.d.ts +3 -3
  151. package/dist/components/charts/shared/hatchFill.d.ts +87 -0
  152. package/dist/components/charts/shared/hooks.d.ts +34 -10
  153. package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
  154. package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
  155. package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
  156. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  157. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  158. package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
  159. package/dist/components/charts/shared/sparseArray.d.ts +1 -1
  160. package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
  161. package/dist/components/charts/shared/styleRules.d.ts +205 -0
  162. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  163. package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
  164. package/dist/components/charts/shared/types.d.ts +58 -7
  165. package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
  166. package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
  167. package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
  168. package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
  169. package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
  170. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  171. package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
  172. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
  173. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
  174. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  175. package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
  176. package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
  177. package/dist/components/charts/shared/validateChartData.d.ts +7 -5
  178. package/dist/components/charts/shared/validationMap.d.ts +7 -9
  179. package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
  180. package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
  181. package/dist/components/charts/value/targetPresentation.d.ts +22 -0
  182. package/dist/components/charts/value/types.d.ts +5 -6
  183. package/dist/components/charts/xy/AreaChart.d.ts +9 -1
  184. package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
  185. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
  186. package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
  187. package/dist/components/charts/xy/Heatmap.d.ts +2 -2
  188. package/dist/components/charts/xy/LineChart.d.ts +12 -1
  189. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  190. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  191. package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
  192. package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
  193. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  194. package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
  195. package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
  196. package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
  197. package/dist/components/controls/SentenceFilter.d.ts +97 -0
  198. package/dist/components/controls/controlAudit.d.ts +24 -0
  199. package/dist/components/controls/controlContract.d.ts +57 -0
  200. package/dist/components/data/fromFlintChart.d.ts +74 -0
  201. package/dist/components/data/fromVegaLite.d.ts +46 -9
  202. package/dist/components/data/portability/index.d.ts +6 -3
  203. package/dist/components/data/portability/result.d.ts +52 -0
  204. package/dist/components/data/portability/spec.d.ts +31 -0
  205. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  206. package/dist/components/export/chartConfig.d.ts +11 -0
  207. package/dist/components/realtime/types.d.ts +11 -0
  208. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  209. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  210. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  211. package/dist/components/recipes/cyclical.d.ts +39 -0
  212. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  213. package/dist/components/recipes/forceLayout.d.ts +48 -0
  214. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  215. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  216. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  217. package/dist/components/recipes/gofishIR.d.ts +178 -132
  218. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  219. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  220. package/dist/components/recipes/intervals.d.ts +80 -0
  221. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  222. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  223. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  224. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  225. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  226. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  227. package/dist/components/recipes/physics.d.ts +122 -0
  228. package/dist/components/recipes/physicsReference.d.ts +102 -0
  229. package/dist/components/recipes/processAggregates.d.ts +32 -0
  230. package/dist/components/recipes/processChrome.d.ts +67 -0
  231. package/dist/components/recipes/processJourney.d.ts +54 -0
  232. package/dist/components/recipes/processPhysics.d.ts +300 -0
  233. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  234. package/dist/components/recipes/radialCoords.d.ts +69 -0
  235. package/dist/components/recipes/random.d.ts +2 -0
  236. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  237. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  238. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  239. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  240. package/dist/components/recipes/runs.d.ts +59 -0
  241. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  242. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  243. package/dist/components/recipes/unitize.d.ts +108 -0
  244. package/dist/components/recipes/vector.d.ts +28 -0
  245. package/dist/components/recipes/waffle.d.ts +43 -0
  246. package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
  247. package/dist/components/semiotic-ai-core.d.ts +47 -0
  248. package/dist/components/semiotic-ai.d.ts +53 -9
  249. package/dist/components/semiotic-controls.d.ts +20 -0
  250. package/dist/components/semiotic-experimental.d.ts +38 -9
  251. package/dist/components/semiotic-geo.d.ts +15 -0
  252. package/dist/components/semiotic-network.d.ts +15 -0
  253. package/dist/components/semiotic-ordinal.d.ts +14 -0
  254. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  255. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  256. package/dist/components/semiotic-physics.d.ts +60 -0
  257. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  258. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  259. package/dist/components/semiotic-realtime.d.ts +4 -30
  260. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  261. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  262. package/dist/components/semiotic-recipes.d.ts +4 -43
  263. package/dist/components/semiotic-rough.d.ts +4 -0
  264. package/dist/components/semiotic-server-edge.d.ts +8 -0
  265. package/dist/components/semiotic-server-node.d.ts +5 -0
  266. package/dist/components/semiotic-server.d.ts +2 -2
  267. package/dist/components/semiotic-themes-core.d.ts +53 -0
  268. package/dist/components/semiotic-themes-react.d.ts +4 -0
  269. package/dist/components/semiotic-themes.d.ts +6 -76
  270. package/dist/components/semiotic-utils-core.d.ts +50 -0
  271. package/dist/components/semiotic-utils-react.d.ts +5 -0
  272. package/dist/components/semiotic-utils.d.ts +3 -39
  273. package/dist/components/semiotic-xy.d.ts +12 -0
  274. package/dist/components/semiotic.d.ts +44 -8
  275. package/dist/components/server/animatedGif.d.ts +36 -0
  276. package/dist/components/server/optionalImageTypes.d.ts +37 -0
  277. package/dist/components/server/renderEvidence.d.ts +1 -1
  278. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  279. package/dist/components/server/serverChartConfigShared.d.ts +21 -0
  280. package/dist/components/server/serverChartConfigs.d.ts +22 -12
  281. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  282. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  283. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  284. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  285. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  286. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  287. package/dist/components/server/staticAnnotations.d.ts +6 -3
  288. package/dist/components/server/staticGeo.d.ts +4 -0
  289. package/dist/components/server/staticLegend.d.ts +2 -2
  290. package/dist/components/server/staticNetwork.d.ts +8 -0
  291. package/dist/components/server/staticOrdinal.d.ts +11 -0
  292. package/dist/components/server/staticPhysics.d.ts +3 -0
  293. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  294. package/dist/components/server/staticXY.d.ts +4 -0
  295. package/dist/components/store/ObservationStore.d.ts +23 -2
  296. package/dist/components/store/themeSerialization.d.ts +32 -0
  297. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  298. package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
  299. package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
  300. package/dist/components/stream/CanvasHitTester.d.ts +4 -4
  301. package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
  302. package/dist/components/stream/FocusRing.d.ts +4 -2
  303. package/dist/components/stream/FrameRuntime.d.ts +57 -0
  304. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  305. package/dist/components/stream/GeoParticlePool.d.ts +1 -1
  306. package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
  307. package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
  308. package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
  309. package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
  310. package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
  311. package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
  312. package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
  313. package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
  314. package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
  315. package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
  316. package/dist/components/stream/ParticlePool.d.ts +1 -1
  317. package/dist/components/stream/PipelineStore.d.ts +81 -174
  318. package/dist/components/stream/SVGOverlay.d.ts +6 -0
  319. package/dist/components/stream/SceneGraph.d.ts +12 -4
  320. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  321. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  322. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  323. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  324. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  325. package/dist/components/stream/accessorUtils.d.ts +25 -12
  326. package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
  327. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  328. package/dist/components/stream/canvasBackground.d.ts +24 -0
  329. package/dist/components/stream/canvasSetup.d.ts +4 -1
  330. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  331. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  332. package/dist/components/stream/frameGraphics.d.ts +4 -0
  333. package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
  334. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  335. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  336. package/dist/components/stream/geoCartogram.d.ts +17 -0
  337. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  338. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  339. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  340. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  341. package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
  342. package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
  343. package/dist/components/stream/geoTypes.d.ts +97 -15
  344. package/dist/components/stream/glyphDef.d.ts +98 -0
  345. package/dist/components/stream/hitTarget.d.ts +170 -0
  346. package/dist/components/stream/hitTestUtils.d.ts +2 -2
  347. package/dist/components/stream/hoverUtils.d.ts +7 -2
  348. package/dist/components/stream/keyboardNav.d.ts +4 -1
  349. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  350. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
  351. package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
  352. package/dist/components/stream/networkBezier.d.ts +10 -0
  353. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  354. package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
  355. package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
  356. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  357. package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
  358. package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
  359. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  360. package/dist/components/stream/networkFrameObservations.d.ts +15 -0
  361. package/dist/components/stream/networkFramePaint.d.ts +52 -0
  362. package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
  363. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  364. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  365. package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
  366. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  367. package/dist/components/stream/networkTypes.d.ts +103 -51
  368. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  370. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  371. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  372. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
  373. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  374. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  375. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  376. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
  377. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  378. package/dist/components/stream/ordinalTypes.d.ts +68 -9
  379. package/dist/components/stream/paintNeeds.d.ts +31 -0
  380. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  381. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  382. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  383. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  384. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  385. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  386. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  387. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  388. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  389. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  390. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  391. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  392. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  393. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  394. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
  395. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  396. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
  397. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  398. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  399. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  400. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  401. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  402. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  403. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  404. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  405. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  406. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  407. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
  408. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  409. package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
  410. package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
  411. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  412. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  413. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  414. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
  415. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  416. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  417. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
  418. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  419. package/dist/components/stream/pipelineConfig.d.ts +179 -0
  420. package/dist/components/stream/pipelineDecay.d.ts +21 -3
  421. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  422. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  423. package/dist/components/stream/pipelinePulse.d.ts +17 -3
  424. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  425. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  426. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
  427. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  428. package/dist/components/stream/pipelineTransitions.d.ts +3 -1
  429. package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
  430. package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
  431. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  432. package/dist/components/stream/renderBackend.d.ts +27 -0
  433. package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
  434. package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
  435. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  436. package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
  437. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  438. package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
  439. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
  440. package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
  441. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  442. package/dist/components/stream/streamThemeTypes.d.ts +14 -0
  443. package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
  444. package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
  445. package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
  446. package/dist/components/stream/titleLayout.d.ts +31 -0
  447. package/dist/components/stream/types.d.ts +165 -72
  448. package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
  449. package/dist/components/stream/useFrame.d.ts +44 -2
  450. package/dist/components/stream/useHydration.d.ts +6 -0
  451. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  452. package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
  453. package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
  454. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  455. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  456. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  457. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  458. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  459. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  460. package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
  461. package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
  462. package/dist/controls.min.js +2 -0
  463. package/dist/controls.module.min.js +2 -0
  464. package/dist/forceLayoutWorker.js +1 -0
  465. package/dist/geo.min.js +1 -1
  466. package/dist/geo.module.min.js +1 -1
  467. package/dist/network.min.js +1 -1
  468. package/dist/network.module.min.js +1 -1
  469. package/dist/ordinal.min.js +1 -1
  470. package/dist/ordinal.module.min.js +1 -1
  471. package/dist/physics-matter.min.js +1 -0
  472. package/dist/physics-matter.module.min.js +1 -0
  473. package/dist/physics-rapier.min.js +1 -0
  474. package/dist/physics-rapier.module.min.js +1 -0
  475. package/dist/physics.min.js +2 -0
  476. package/dist/physics.module.min.js +2 -0
  477. package/dist/physicsWorker.js +1 -0
  478. package/dist/realtime.min.js +1 -1
  479. package/dist/realtime.module.min.js +1 -1
  480. package/dist/rough.min.js +1 -0
  481. package/dist/rough.module.min.js +1 -0
  482. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  483. package/dist/semiotic-ai-core.d.ts +47 -0
  484. package/dist/semiotic-ai-core.min.js +1 -0
  485. package/dist/semiotic-ai-core.module.min.js +1 -0
  486. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  487. package/dist/semiotic-ai.d.ts +53 -9
  488. package/dist/semiotic-ai.min.js +1 -1
  489. package/dist/semiotic-ai.module.min.js +1 -1
  490. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  491. package/dist/semiotic-controls.d.ts +20 -0
  492. package/dist/semiotic-data.min.js +1 -1
  493. package/dist/semiotic-data.module.min.js +1 -1
  494. package/dist/semiotic-experimental.d.ts +38 -9
  495. package/dist/semiotic-experimental.min.js +1 -1
  496. package/dist/semiotic-experimental.module.min.js +1 -1
  497. package/dist/semiotic-geo.d.ts +15 -0
  498. package/dist/semiotic-network.d.ts +15 -0
  499. package/dist/semiotic-ordinal.d.ts +14 -0
  500. package/dist/semiotic-physics-matter.d.ts +10 -0
  501. package/dist/semiotic-physics-rapier.d.ts +9 -0
  502. package/dist/semiotic-physics.d.ts +60 -0
  503. package/dist/semiotic-realtime-core.d.ts +34 -0
  504. package/dist/semiotic-realtime-core.min.js +1 -0
  505. package/dist/semiotic-realtime-core.module.min.js +1 -0
  506. package/dist/semiotic-realtime-react.d.ts +10 -0
  507. package/dist/semiotic-realtime-react.min.js +2 -0
  508. package/dist/semiotic-realtime-react.module.min.js +2 -0
  509. package/dist/semiotic-realtime.d.ts +4 -30
  510. package/dist/semiotic-recipes-core.d.ts +92 -0
  511. package/dist/semiotic-recipes-core.min.js +1 -0
  512. package/dist/semiotic-recipes-core.module.min.js +1 -0
  513. package/dist/semiotic-recipes-react.d.ts +7 -0
  514. package/dist/semiotic-recipes-react.min.js +2 -0
  515. package/dist/semiotic-recipes-react.module.min.js +2 -0
  516. package/dist/semiotic-recipes.d.ts +4 -43
  517. package/dist/semiotic-recipes.min.js +1 -1
  518. package/dist/semiotic-recipes.module.min.js +1 -1
  519. package/dist/semiotic-rough.d.ts +4 -0
  520. package/dist/semiotic-server-edge.d.ts +8 -0
  521. package/dist/semiotic-server-edge.min.js +1 -0
  522. package/dist/semiotic-server-edge.module.min.js +1 -0
  523. package/dist/semiotic-server-node.d.ts +5 -0
  524. package/dist/semiotic-server-node.min.js +1 -0
  525. package/dist/semiotic-server-node.module.min.js +1 -0
  526. package/dist/semiotic-server.d.ts +2 -2
  527. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  528. package/dist/semiotic-themes-core.d.ts +53 -0
  529. package/dist/semiotic-themes-core.min.js +1 -0
  530. package/dist/semiotic-themes-core.module.min.js +1 -0
  531. package/dist/semiotic-themes-react.d.ts +4 -0
  532. package/dist/semiotic-themes-react.min.js +2 -0
  533. package/dist/semiotic-themes-react.module.min.js +2 -0
  534. package/dist/semiotic-themes.d.ts +6 -76
  535. package/dist/semiotic-themes.min.js +1 -2
  536. package/dist/semiotic-themes.module.min.js +1 -2
  537. package/dist/semiotic-utils-core.d.ts +50 -0
  538. package/dist/semiotic-utils-core.min.js +1 -0
  539. package/dist/semiotic-utils-core.module.min.js +1 -0
  540. package/dist/semiotic-utils-react.d.ts +5 -0
  541. package/dist/semiotic-utils-react.min.js +2 -0
  542. package/dist/semiotic-utils-react.module.min.js +2 -0
  543. package/dist/semiotic-utils.d.ts +3 -39
  544. package/dist/semiotic-utils.min.js +1 -2
  545. package/dist/semiotic-utils.module.min.js +1 -2
  546. package/dist/semiotic-value.min.js +1 -1
  547. package/dist/semiotic-value.module.min.js +1 -1
  548. package/dist/semiotic-xy.d.ts +12 -0
  549. package/dist/semiotic.d.ts +44 -8
  550. package/dist/semiotic.min.js +1 -1
  551. package/dist/semiotic.module.min.js +1 -1
  552. package/dist/server.min.js +1 -1
  553. package/dist/server.module.min.js +1 -1
  554. package/dist/test-utils/capturedFrameProps.d.ts +67 -0
  555. package/dist/test-utils/frameMock.d.ts +12 -9
  556. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  557. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  558. package/dist/xy.min.js +1 -1
  559. package/dist/xy.module.min.js +1 -1
  560. package/package.json +259 -88
  561. package/spec/README.md +152 -0
  562. package/spec/bindings/README.md +35 -0
  563. package/spec/bindings/vega-lite.mjs +112 -0
  564. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  565. package/spec/v0.1/audience-profile.schema.json +67 -0
  566. package/spec/v0.1/chart-capability.schema.json +186 -0
  567. package/dist/components/recipes/gofish.d.ts +0 -207
  568. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  569. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  570. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  571. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  572. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  573. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  574. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  575. package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
5
5
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
7
  import type { LegendInteractionMode } from "../shared/hooks";
8
+ import { type StyleRule } from "../shared/styleRules";
8
9
  /**
9
10
  * ChordDiagram component props
10
11
  */
@@ -16,11 +17,18 @@ export interface ChordDiagramProps<TNode extends Datum = Datum, TEdge extends Da
16
17
  valueAccessor?: ChartAccessor<TEdge, number>;
17
18
  nodeIdAccessor?: ChartAccessor<TNode, string>;
18
19
  colorBy?: ChartAccessor<TNode, string>;
19
- colorScheme?: string | string[];
20
+ colorScheme?: string | string[] | Record<string, string>;
21
+ /**
22
+ * Declarative, threshold-aware node styling (see ForceDirectedGraph).
23
+ * Ordered `{ when, style }` rules; last applicable rule wins. Rules see the
24
+ * raw node object. A rule `fill` may be a color or a HatchFill.
25
+ */
26
+ styleRules?: StyleRule[];
20
27
  edgeColorBy?: "source" | "target" | ((d: Datum) => string);
21
28
  padAngle?: number;
22
29
  groupWidth?: number;
23
- sortGroups?: (a: any, b: any) => number;
30
+ /** Compare D3 chord group indices to control their angular order. */
31
+ sortGroups?: (a: number, b: number) => number;
24
32
  nodeLabel?: ChartAccessor<TNode, string>;
25
33
  showLabels?: boolean;
26
34
  enableHover?: boolean;
@@ -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>;
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
5
5
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
7
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
8
+ import { type StyleRule } from "../shared/styleRules";
8
9
  /**
9
10
  * ForceDirectedGraph component props
10
11
  */
@@ -67,7 +68,17 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
67
68
  */
68
69
  colorBy?: ChartAccessor<TNode, string>;
69
70
  /** d3 scheme name or explicit color array; falls back to theme. */
70
- colorScheme?: string | string[];
71
+ colorScheme?: string | string[] | Record<string, string>;
72
+ /**
73
+ * Declarative, threshold-aware node styling. Ordered `{ when, style }`
74
+ * rules; the last applicable rule wins per property. `when` accepts a
75
+ * predicate `(node, ctx) => boolean` (rules see the raw node object; `ctx` =
76
+ * `{ value, category }` where `category` is the `colorBy` group), a
77
+ * declarative threshold (`{ field, gt, eq, in, … }`), or `true` — so you can
78
+ * style whole groups of nodes (`{ field: "type", eq: "db" }`). A rule's
79
+ * `fill` may be a color or a HatchFill. Layers over the resolved node color.
80
+ */
81
+ styleRules?: StyleRule[];
71
82
  /**
72
83
  * Constant pixel radius, or a function/field returning a numeric value
73
84
  * scaled into `nodeSizeRange`.
@@ -93,11 +104,21 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
93
104
  */
94
105
  iterations?: number;
95
106
  /**
96
- * Magnitude of the repulsion force between nodes; higher values spread
97
- * the graph more.
107
+ * Link-attraction multiplier. Lower values produce a looser, more
108
+ * spread-out graph; higher values pull connected nodes together.
98
109
  * @default 0.1
99
110
  */
100
111
  forceStrength?: number;
112
+ /**
113
+ * Execute layout synchronously, in a Web Worker, or automatically choose
114
+ * based on estimated graph cost.
115
+ * @default "auto"
116
+ */
117
+ layoutExecution?: "auto" | "worker" | "sync";
118
+ /** Content rendered in the chart slot while worker layout is pending. */
119
+ layoutLoadingContent?: React.ReactNode | false;
120
+ /** Called when internally-managed worker layout changes state. */
121
+ onLayoutStateChange?: (state: "pending" | "ready" | "error") => void;
101
122
  /**
102
123
  * Render labels next to nodes. Uses `nodeLabel` accessor (defaulting to
103
124
  * `nodeIdAccessor`).
@@ -113,8 +134,8 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
113
134
  /**
114
135
  * ForceDirectedGraph - Visualize network relationships with a force-directed layout.
115
136
  *
116
- * Nodes are positioned by simulating attraction along edges and repulsion
117
- * between unconnected nodes; the layout settles after `iterations` ticks.
137
+ * Nodes are positioned by simulating degree-aware attraction and repulsion
138
+ * with radius-aware collision; the layout settles after `iterations` ticks.
118
139
  * Wraps {@link StreamNetworkFrame} (canvas-first rendering for large graphs).
119
140
  *
120
141
  * 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"`. */
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
5
5
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
7
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
8
+ import { type StyleRule } from "../shared/styleRules";
8
9
  /**
9
10
  * SankeyDiagram component props
10
11
  */
@@ -16,7 +17,14 @@ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends D
16
17
  valueAccessor?: ChartAccessor<TEdge, number>;
17
18
  nodeIdAccessor?: ChartAccessor<TNode, string>;
18
19
  colorBy?: ChartAccessor<TNode, string>;
19
- colorScheme?: string | string[];
20
+ colorScheme?: string | string[] | Record<string, string>;
21
+ /**
22
+ * Declarative, threshold-aware node styling (see ForceDirectedGraph).
23
+ * Ordered `{ when, style }` rules; last applicable rule wins. Rules see the
24
+ * raw node object; `ctx` = `{ value, category }`. A rule `fill` may be a
25
+ * color or a HatchFill. Layers over the resolved node color.
26
+ */
27
+ styleRules?: StyleRule[];
20
28
  edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
21
29
  orientation?: "horizontal" | "vertical";
22
30
  nodeAlign?: "justify" | "left" | "right" | "center";
@@ -31,7 +39,7 @@ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends D
31
39
  legendPosition?: LegendPosition;
32
40
  legendInteraction?: LegendInteractionMode;
33
41
  edgeOpacity?: number;
34
- edgeSort?: (a: any, b: any) => number;
42
+ edgeSort?: (a: TEdge, b: TEdge) => number;
35
43
  tooltip?: TooltipProp;
36
44
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
37
45
  }
@@ -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;
@@ -5,6 +5,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
5
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
8
+ import { type StyleRule } from "../shared/styleRules";
8
9
  import { type RegressionProp } from "../shared/regressionUtils";
9
10
  /**
10
11
  * BarChart component props
@@ -51,7 +52,7 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
51
52
  * `"set2"`, etc.) or an explicit array of colors. Falls back to the
52
53
  * theme's categorical palette when omitted.
53
54
  */
54
- colorScheme?: string | string[];
55
+ colorScheme?: string | string[] | Record<string, string>;
55
56
  /** Category ordering. `false` (default) = insertion order. `"asc"` /
56
57
  * `"desc"` sorts by total value. `"auto"` preserves insertion order
57
58
  * while streaming and falls through to value-desc on static data.
@@ -81,6 +82,26 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
81
82
  color: string;
82
83
  }>;
83
84
  };
85
+ /**
86
+ * Declarative, threshold-aware bar styling. An ordered list of
87
+ * `{ when, style }` rules; every rule whose condition matches a bar
88
+ * contributes its style, merged in order so the **last applicable rule
89
+ * wins** per property. `when` accepts a predicate `(datum, ctx) => boolean`,
90
+ * a declarative threshold (`{ gt, lte, within, in, … }` — compares the
91
+ * bar's value unless `field` is set), or `true`/omitted (always applies).
92
+ * A rule's `fill` may be a color string or a declarative
93
+ * {@link HatchFill} for diagonal hatching (renders on canvas and SSR).
94
+ * Rules layer over the resolved base color; `frameProps.pieceStyle` and
95
+ * top-level `stroke`/`strokeWidth`/`opacity` still override them.
96
+ * @example
97
+ * ```tsx
98
+ * styleRules={[
99
+ * { when: { gte: 10 }, style: { fill: "var(--semiotic-warning)" } },
100
+ * { when: { gt: 15 }, style: { fill: { type: "hatch", background: "#e0a92a", stroke: "#fff" } } },
101
+ * ]}
102
+ * ```
103
+ */
104
+ styleRules?: StyleRule[];
84
105
  /** When true, adds padding below the 0 baseline. Default false (bars flush with axis). */
85
106
  baselinePadding?: boolean;
86
107
  enableHover?: boolean;
@@ -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
  *
@@ -4,6 +4,7 @@ import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
4
4
  import type { LegendInteractionMode } from "../shared/hooks";
5
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
+ import { type StyleRule } from "../shared/styleRules";
7
8
  import type { RealtimeFrameHandle } from "../../realtime/types";
8
9
  export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
9
10
  data?: TDatum[];
@@ -15,12 +16,22 @@ export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends Base
15
16
  valueLabel?: string;
16
17
  valueFormat?: (d: number | string) => string;
17
18
  colorBy?: ChartAccessor<TDatum, string>;
18
- colorScheme?: string | string[];
19
+ colorScheme?: string | string[] | Record<string, string>;
19
20
  /** 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
21
  sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
21
22
  barPadding?: number;
22
23
  /** Rounded corner radius on bar ends (away from baseline). */
23
24
  roundedTop?: number;
25
+ /**
26
+ * Declarative, threshold-aware bar styling. Ordered `{ when, style }`
27
+ * rules; the last applicable rule wins per property. `when` accepts a
28
+ * predicate `(datum, ctx) => boolean` (where `ctx.category` is the group
29
+ * series key), a declarative threshold on the bar value
30
+ * (`{ gt, lte, within, in, … }`), or `true`. A rule's `fill` may be a color
31
+ * or a {@link HatchFill}. Layers over the resolved series color;
32
+ * `frameProps.pieceStyle` overrides.
33
+ */
34
+ styleRules?: StyleRule[];
24
35
  baselinePadding?: boolean;
25
36
  enableHover?: boolean;
26
37
  showGrid?: boolean;
@@ -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;
@@ -5,6 +5,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
5
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
6
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
7
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
8
+ import { type StyleRule } from "../shared/styleRules";
8
9
  export interface StackedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
9
10
  data?: TDatum[];
10
11
  categoryAccessor?: ChartAccessor<TDatum, string>;
@@ -15,13 +16,23 @@ export interface StackedBarChartProps<TDatum extends Datum = Datum> extends Base
15
16
  valueLabel?: string;
16
17
  valueFormat?: (d: number | string) => string;
17
18
  colorBy?: ChartAccessor<TDatum, string>;
18
- colorScheme?: string | string[];
19
+ colorScheme?: string | string[] | Record<string, string>;
19
20
  normalize?: boolean;
20
21
  /** 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
22
  sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
22
23
  barPadding?: number;
23
24
  /** Rounded top corner radius. Only the topmost stacked segment gets rounded. */
24
25
  roundedTop?: number;
26
+ /**
27
+ * Declarative, threshold-aware segment styling. Ordered `{ when, style }`
28
+ * rules; the last applicable rule wins per property. `when` accepts a
29
+ * predicate `(datum, ctx) => boolean` (where `ctx.category` is the stack
30
+ * series key), a declarative threshold on the segment value
31
+ * (`{ gt, lte, within, in, … }`), or `true`. A rule's `fill` may be a color
32
+ * or a {@link HatchFill} for hatching a segment (e.g. a "fixed-rate" band).
33
+ * Layers over the resolved series color; `frameProps.pieceStyle` overrides.
34
+ */
35
+ styleRules?: StyleRule[];
25
36
  baselinePadding?: boolean;
26
37
  enableHover?: boolean;
27
38
  showGrid?: boolean;
@@ -15,7 +15,7 @@ export interface SwarmPlotProps<TDatum extends Datum = Datum> extends BaseChartP
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
  sizeBy?: ChartAccessor<TDatum, number>;
20
20
  sizeRange?: [number, number];
21
21
  /** Field name or function → glyph **shape**: each point renders as a d3-shape
@@ -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,54 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../shared/datumTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import type { StyleRule } from "../shared/styleRules";
5
+ import { type PhysicsFrameHandle } from "./physicsHocHandle";
6
+ import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
7
+ export interface CollisionSwarmChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
8
+ data?: TDatum[];
9
+ size?: [number, number];
10
+ xAccessor?: ChartAccessor<TDatum, number>;
11
+ groupAccessor?: ChartAccessor<TDatum, string>;
12
+ radiusAccessor?: ChartAccessor<TDatum, number>;
13
+ pointRadius?: number;
14
+ colorBy?: ChartAccessor<TDatum, string>;
15
+ /**
16
+ * Declarative, threshold-aware dot styling. Ordered `{ when, style }` rules;
17
+ * last applicable rule wins. `ctx` = `{ value, category }` (value = the
18
+ * `xAccessor` position). A rule `fill` may be a color or a HatchFill.
19
+ */
20
+ styleRules?: StyleRule[];
21
+ seed?: number;
22
+ xExtent?: [number, number];
23
+ collisionIterations?: number;
24
+ settle?: boolean;
25
+ showProjection?: boolean;
26
+ tooltip?: TooltipProp;
27
+ paused?: boolean;
28
+ frameProps?: PhysicsHocFrameProps<"config">;
29
+ }
30
+ /**
31
+ * Physics-backed collision swarm chart that preserves a quantitative x position while separating overlapping bodies.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <CollisionSwarmChart
36
+ * data={[{ id: "a", x: 12, group: "East" }, { id: "b", x: 14, group: "East" }]}
37
+ * xAccessor="x"
38
+ * groupAccessor="group"
39
+ * />
40
+ * ```
41
+ *
42
+ * @example
43
+ * ```tsx
44
+ * <CollisionSwarmChart
45
+ * data={samples}
46
+ * xAccessor={(d) => d.score}
47
+ * radiusAccessor="weight"
48
+ * collisionIterations={180}
49
+ * settle
50
+ * />
51
+ * ```
52
+ */
53
+ export declare const CollisionSwarmChart: React.ForwardRefExoticComponent<CollisionSwarmChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
54
+ export default CollisionSwarmChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const EventDropChartCapability: ChartCapability;
@@ -0,0 +1,60 @@
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 { StyleRule } from "../shared/styleRules";
6
+ import { type PhysicsFrameHandle } from "./physicsHocHandle";
7
+ import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
8
+ export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
9
+ data?: TDatum[];
10
+ size?: [number, number];
11
+ timeAccessor?: ChartAccessor<TDatum, number>;
12
+ arrivalAccessor?: ChartAccessor<TDatum, number>;
13
+ windows?: EventDropWindowOptions;
14
+ watermark?: {
15
+ delay?: number;
16
+ value?: number;
17
+ } | ((latestEventTime: number) => number);
18
+ ballRadius?: number;
19
+ colorBy?: ChartAccessor<TDatum, string>;
20
+ /**
21
+ * Declarative, threshold-aware drop styling. Ordered `{ when, style }`
22
+ * rules; last applicable rule wins. `ctx` = `{ value, category }` (value =
23
+ * the event time). A rule `fill` may be a color or a HatchFill.
24
+ */
25
+ styleRules?: StyleRule[];
26
+ seed?: number;
27
+ timeExtent?: [number, number];
28
+ timeScale?: number;
29
+ showProjection?: boolean;
30
+ tooltip?: TooltipProp;
31
+ paused?: boolean;
32
+ frameProps?: PhysicsHocFrameProps<"config">;
33
+ }
34
+ /**
35
+ * Physics-backed event drop chart for replaying arrivals against event-time windows and watermarks.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <EventDropChart
40
+ * data={[{ id: "a", time: 4, arrivalTime: 8 }, { id: "b", time: 18, arrivalTime: 12 }]}
41
+ * timeAccessor="time"
42
+ * arrivalAccessor="arrivalTime"
43
+ * windows={{ size: 10 }}
44
+ * watermark={{ delay: 5 }}
45
+ * />
46
+ * ```
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <EventDropChart
51
+ * data={events}
52
+ * windows={{ size: 60_000 }}
53
+ * watermark={{ value: Date.now() - 120_000 }}
54
+ * timeScale={4}
55
+ * timeExtent={[start, end]}
56
+ * />
57
+ * ```
58
+ */
59
+ export declare const EventDropChart: React.ForwardRefExoticComponent<EventDropChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
60
+ export default EventDropChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const GaltonBoardChartCapability: ChartCapability;
@@ -0,0 +1,74 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../shared/datumTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import type { StyleRule } from "../shared/styleRules";
5
+ import { type PhysicsFrameHandle } from "./physicsHocHandle";
6
+ import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type PhysicsSimulationMode, type TooltipProp } from "./physicsHocUtils";
7
+ import type { ChartMode } from "../shared/types";
8
+ export interface GaltonBoardReferenceLine {
9
+ value: number;
10
+ label?: React.ReactNode;
11
+ color?: string;
12
+ className?: string;
13
+ strokeDasharray?: string;
14
+ strokeWidth?: number;
15
+ labelPosition?: "top" | "bottom";
16
+ }
17
+ export interface GaltonBoardChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode">, PhysicsSharedChartProps {
18
+ data?: TDatum[];
19
+ size?: [number, number];
20
+ valueAccessor?: ChartAccessor<TDatum, number>;
21
+ valueExtent?: [number, number];
22
+ bins?: number;
23
+ /**
24
+ * Chart display mode (`primary`/`context`/`sparkline`/`mobile`) **or**
25
+ * legacy simulation mode (`sample`/`mechanical`). Prefer `simulationMode`
26
+ * for sample vs mechanical; use `mode` for ChartContainer / ChartMode.
27
+ */
28
+ mode?: ChartMode | PhysicsSimulationMode;
29
+ /** Sample data rows vs seeded mechanical demo (no data required). */
30
+ simulationMode?: PhysicsSimulationMode;
31
+ pegRows?: number;
32
+ mechanicalCount?: number;
33
+ branchProbability?: number;
34
+ ballRadius?: number;
35
+ colorBy?: ChartAccessor<TDatum, string>;
36
+ /**
37
+ * Declarative, threshold-aware ball styling. Ordered `{ when, style }`
38
+ * rules; last applicable rule wins. Rules resolve against each ball's datum;
39
+ * `ctx` = `{ value, category }` (category = the colorBy group). A rule `fill`
40
+ * may be a color or a HatchFill. Layers over the colorBy-derived fill.
41
+ */
42
+ styleRules?: StyleRule[];
43
+ referenceLines?: GaltonBoardReferenceLine | GaltonBoardReferenceLine[];
44
+ seed?: number;
45
+ showProjection?: boolean;
46
+ tooltip?: TooltipProp;
47
+ paused?: boolean;
48
+ frameProps?: PhysicsHocFrameProps<"config">;
49
+ }
50
+ /**
51
+ * Physics-backed Galton board chart that drops values through seeded pegs into a settled distribution.
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * <GaltonBoardChart
56
+ * data={[{ id: "a", value: 2 }, { id: "b", value: 7 }]}
57
+ * valueAccessor="value"
58
+ * bins={12}
59
+ * size={[520, 320]}
60
+ * />
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * <GaltonBoardChart
66
+ * mode="mechanical"
67
+ * mechanicalCount={80}
68
+ * branchProbability={0.62}
69
+ * seed={11}
70
+ * />
71
+ * ```
72
+ */
73
+ export declare const GaltonBoardChart: React.ForwardRefExoticComponent<GaltonBoardChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
74
+ export default GaltonBoardChart;
@@ -0,0 +1,2 @@
1
+ import type { ChartCapability } from "../../ai/chartCapabilityTypes";
2
+ export declare const GauntletChartCapability: ChartCapability;