semiotic 3.7.5 → 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 (481) hide show
  1. package/CLAUDE.md +54 -12
  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 +1651 -154
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2733 -536
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +18 -3
  11. package/dist/components/CategoryColors.d.ts +1 -1
  12. package/dist/components/ChartContainer.d.ts +91 -0
  13. package/dist/components/ChartGrid.d.ts +11 -1
  14. package/dist/components/CircularBrush.d.ts +61 -0
  15. package/dist/components/ContextLayout.d.ts +5 -1
  16. package/dist/components/DirectManipulationControl.d.ts +63 -0
  17. package/dist/components/LinkedCharts.d.ts +3 -1
  18. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  19. package/dist/components/MobileChartContainer.d.ts +51 -0
  20. package/dist/components/MobileStandardControls.d.ts +68 -0
  21. package/dist/components/SmallMultipleChart.d.ts +84 -0
  22. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  23. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  24. package/dist/components/ai/IntentMark.d.ts +15 -0
  25. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  26. package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
  27. package/dist/components/ai/chartClinic.d.ts +91 -0
  28. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  29. package/dist/components/ai/chartRecipes.d.ts +278 -0
  30. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  31. package/dist/components/ai/describeChart.d.ts +7 -0
  32. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  33. package/dist/components/ai/generativeChart.d.ts +28 -3
  34. package/dist/components/ai/intentManifest.d.ts +62 -0
  35. package/dist/components/ai/navigationTree.d.ts +3 -0
  36. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  37. package/dist/components/ai/readerGrounding.d.ts +83 -0
  38. package/dist/components/ai/recipeCapability.d.ts +8 -0
  39. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  40. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  41. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  42. package/dist/components/ai/suggestCharts.d.ts +11 -1
  43. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  44. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  45. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  46. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  47. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  48. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  49. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  50. package/dist/components/charts/geo/index.d.ts +2 -0
  51. package/dist/components/charts/index.d.ts +29 -1
  52. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  53. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  54. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  55. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  57. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  58. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/Treemap.d.ts +1 -1
  60. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  61. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  62. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  63. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  64. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  65. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  66. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  68. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  70. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  71. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  72. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  73. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  74. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  75. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  76. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  77. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  78. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  79. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  80. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  81. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  83. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  85. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  86. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  88. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  89. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  90. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  91. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  92. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  93. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  94. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  95. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  96. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  97. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  98. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  99. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  100. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  101. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  102. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  103. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  104. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  105. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  106. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  107. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  108. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  109. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  110. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  111. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  112. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  113. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  114. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  115. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  116. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  117. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  118. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  119. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  120. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  121. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  122. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  123. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  124. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  125. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  126. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  127. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  128. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  130. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  131. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  132. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  133. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  134. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  135. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  136. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  137. package/dist/components/charts/shared/hooks.d.ts +28 -5
  138. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  139. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  140. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  141. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  142. package/dist/components/charts/shared/types.d.ts +49 -1
  143. package/dist/components/charts/shared/useChartSetup.d.ts +9 -2
  144. package/dist/components/charts/shared/useCustomChartSetup.d.ts +14 -5
  145. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  146. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  147. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  148. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  149. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  150. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  151. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  152. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  153. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  154. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  155. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  156. package/dist/components/charts/xy/Scatterplot.d.ts +1 -1
  157. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  158. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  159. package/dist/components/controls/controlAudit.d.ts +24 -0
  160. package/dist/components/controls/controlContract.d.ts +57 -0
  161. package/dist/components/data/fromFlintChart.d.ts +74 -0
  162. package/dist/components/data/fromVegaLite.d.ts +27 -0
  163. package/dist/components/data/portability/index.d.ts +6 -3
  164. package/dist/components/data/portability/result.d.ts +52 -0
  165. package/dist/components/data/portability/spec.d.ts +31 -0
  166. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  167. package/dist/components/export/chartConfig.d.ts +11 -0
  168. package/dist/components/realtime/types.d.ts +11 -0
  169. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  170. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  171. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  172. package/dist/components/recipes/cyclical.d.ts +39 -0
  173. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  174. package/dist/components/recipes/forceLayout.d.ts +48 -0
  175. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  176. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  177. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  178. package/dist/components/recipes/gofishIR.d.ts +178 -132
  179. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  180. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  181. package/dist/components/recipes/intervals.d.ts +80 -0
  182. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  183. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  184. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  185. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  186. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  187. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  188. package/dist/components/recipes/physics.d.ts +122 -0
  189. package/dist/components/recipes/physicsReference.d.ts +102 -0
  190. package/dist/components/recipes/processAggregates.d.ts +32 -0
  191. package/dist/components/recipes/processChrome.d.ts +67 -0
  192. package/dist/components/recipes/processJourney.d.ts +54 -0
  193. package/dist/components/recipes/processPhysics.d.ts +300 -0
  194. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  195. package/dist/components/recipes/radialCoords.d.ts +69 -0
  196. package/dist/components/recipes/random.d.ts +2 -0
  197. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  198. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  199. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  200. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  201. package/dist/components/recipes/runs.d.ts +59 -0
  202. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  203. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  204. package/dist/components/recipes/unitize.d.ts +108 -0
  205. package/dist/components/recipes/vector.d.ts +28 -0
  206. package/dist/components/recipes/waffle.d.ts +43 -0
  207. package/dist/components/semiotic-ai-core.d.ts +47 -0
  208. package/dist/components/semiotic-ai.d.ts +50 -8
  209. package/dist/components/semiotic-controls.d.ts +18 -0
  210. package/dist/components/semiotic-experimental.d.ts +38 -9
  211. package/dist/components/semiotic-geo.d.ts +11 -0
  212. package/dist/components/semiotic-network.d.ts +11 -0
  213. package/dist/components/semiotic-ordinal.d.ts +8 -0
  214. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  215. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  216. package/dist/components/semiotic-physics.d.ts +56 -0
  217. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  218. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  219. package/dist/components/semiotic-realtime.d.ts +4 -30
  220. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  221. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  222. package/dist/components/semiotic-recipes.d.ts +4 -43
  223. package/dist/components/semiotic-server-edge.d.ts +8 -0
  224. package/dist/components/semiotic-server-node.d.ts +5 -0
  225. package/dist/components/semiotic-server.d.ts +2 -2
  226. package/dist/components/semiotic-themes-core.d.ts +53 -0
  227. package/dist/components/semiotic-themes-react.d.ts +4 -0
  228. package/dist/components/semiotic-themes.d.ts +6 -76
  229. package/dist/components/semiotic-utils-core.d.ts +46 -0
  230. package/dist/components/semiotic-utils-react.d.ts +5 -0
  231. package/dist/components/semiotic-utils.d.ts +3 -39
  232. package/dist/components/semiotic-xy.d.ts +8 -0
  233. package/dist/components/semiotic.d.ts +35 -7
  234. package/dist/components/server/animatedGif.d.ts +36 -0
  235. package/dist/components/server/renderEvidence.d.ts +1 -1
  236. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  237. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  238. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  239. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  240. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  241. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  242. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  243. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  244. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  245. package/dist/components/server/staticGeo.d.ts +4 -0
  246. package/dist/components/server/staticLegend.d.ts +1 -1
  247. package/dist/components/server/staticNetwork.d.ts +8 -0
  248. package/dist/components/server/staticOrdinal.d.ts +11 -0
  249. package/dist/components/server/staticPhysics.d.ts +3 -0
  250. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  251. package/dist/components/server/staticXY.d.ts +4 -0
  252. package/dist/components/store/ObservationStore.d.ts +3 -2
  253. package/dist/components/store/themeSerialization.d.ts +32 -0
  254. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  255. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  256. package/dist/components/stream/FocusRing.d.ts +4 -2
  257. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  258. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  259. package/dist/components/stream/NetworkPipelineStore.d.ts +31 -26
  260. package/dist/components/stream/NetworkSVGOverlay.d.ts +4 -1
  261. package/dist/components/stream/OrdinalPipelineStore.d.ts +46 -2
  262. package/dist/components/stream/PipelineStore.d.ts +81 -170
  263. package/dist/components/stream/SceneGraph.d.ts +9 -1
  264. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  265. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  266. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  267. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  268. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  269. package/dist/components/stream/accessorUtils.d.ts +23 -10
  270. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  271. package/dist/components/stream/canvasBackground.d.ts +24 -0
  272. package/dist/components/stream/canvasSetup.d.ts +4 -1
  273. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  274. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  275. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  276. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  277. package/dist/components/stream/geoCartogram.d.ts +17 -0
  278. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  279. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  280. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  281. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  282. package/dist/components/stream/geoTypes.d.ts +56 -7
  283. package/dist/components/stream/glyphDef.d.ts +98 -0
  284. package/dist/components/stream/hitTarget.d.ts +170 -0
  285. package/dist/components/stream/hoverUtils.d.ts +3 -0
  286. package/dist/components/stream/keyboardNav.d.ts +4 -1
  287. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  288. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  289. package/dist/components/stream/networkBezier.d.ts +10 -0
  290. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  291. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  292. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  293. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  294. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  295. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  296. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  297. package/dist/components/stream/networkTypes.d.ts +76 -5
  298. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  299. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  300. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  301. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  302. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  303. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  304. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  305. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  306. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  307. package/dist/components/stream/ordinalTypes.d.ts +40 -8
  308. package/dist/components/stream/paintNeeds.d.ts +31 -0
  309. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  310. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  311. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  312. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  313. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  314. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  315. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  316. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  317. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  318. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  319. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  320. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  321. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  322. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  323. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  324. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  325. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  326. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  327. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  328. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  329. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  330. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  331. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  332. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  333. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  334. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  335. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  336. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  337. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  338. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  339. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  340. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  341. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  342. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  343. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  344. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  345. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  346. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  347. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  348. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  349. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  350. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  351. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  352. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  353. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  354. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  355. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  356. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  357. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  358. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  359. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  360. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  361. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  362. package/dist/components/stream/types.d.ts +135 -7
  363. package/dist/components/stream/useFrame.d.ts +21 -2
  364. package/dist/components/stream/useHydration.d.ts +6 -0
  365. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  366. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  367. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  368. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  370. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  371. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  372. package/dist/components/stream/xySceneBuilders/types.d.ts +4 -4
  373. package/dist/controls.min.js +2 -0
  374. package/dist/controls.module.min.js +2 -0
  375. package/dist/forceLayoutWorker.js +1 -0
  376. package/dist/geo.min.js +1 -1
  377. package/dist/geo.module.min.js +1 -1
  378. package/dist/network.min.js +1 -1
  379. package/dist/network.module.min.js +1 -1
  380. package/dist/ordinal.min.js +1 -1
  381. package/dist/ordinal.module.min.js +1 -1
  382. package/dist/physics-matter.min.js +1 -0
  383. package/dist/physics-matter.module.min.js +1 -0
  384. package/dist/physics-rapier.min.js +1 -0
  385. package/dist/physics-rapier.module.min.js +1 -0
  386. package/dist/physics.min.js +2 -0
  387. package/dist/physics.module.min.js +2 -0
  388. package/dist/physicsWorker.js +1 -0
  389. package/dist/realtime.min.js +1 -1
  390. package/dist/realtime.module.min.js +1 -1
  391. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  392. package/dist/semiotic-ai-core.d.ts +47 -0
  393. package/dist/semiotic-ai-core.min.js +1 -0
  394. package/dist/semiotic-ai-core.module.min.js +1 -0
  395. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  396. package/dist/semiotic-ai.d.ts +50 -8
  397. package/dist/semiotic-ai.min.js +1 -1
  398. package/dist/semiotic-ai.module.min.js +1 -1
  399. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  400. package/dist/semiotic-controls.d.ts +18 -0
  401. package/dist/semiotic-data.min.js +1 -1
  402. package/dist/semiotic-data.module.min.js +1 -1
  403. package/dist/semiotic-experimental.d.ts +38 -9
  404. package/dist/semiotic-experimental.min.js +1 -1
  405. package/dist/semiotic-experimental.module.min.js +1 -1
  406. package/dist/semiotic-geo.d.ts +11 -0
  407. package/dist/semiotic-network.d.ts +11 -0
  408. package/dist/semiotic-ordinal.d.ts +8 -0
  409. package/dist/semiotic-physics-matter.d.ts +10 -0
  410. package/dist/semiotic-physics-rapier.d.ts +9 -0
  411. package/dist/semiotic-physics.d.ts +56 -0
  412. package/dist/semiotic-realtime-core.d.ts +34 -0
  413. package/dist/semiotic-realtime-core.min.js +1 -0
  414. package/dist/semiotic-realtime-core.module.min.js +1 -0
  415. package/dist/semiotic-realtime-react.d.ts +10 -0
  416. package/dist/semiotic-realtime-react.min.js +2 -0
  417. package/dist/semiotic-realtime-react.module.min.js +2 -0
  418. package/dist/semiotic-realtime.d.ts +4 -30
  419. package/dist/semiotic-recipes-core.d.ts +92 -0
  420. package/dist/semiotic-recipes-core.min.js +1 -0
  421. package/dist/semiotic-recipes-core.module.min.js +1 -0
  422. package/dist/semiotic-recipes-react.d.ts +7 -0
  423. package/dist/semiotic-recipes-react.min.js +2 -0
  424. package/dist/semiotic-recipes-react.module.min.js +2 -0
  425. package/dist/semiotic-recipes.d.ts +4 -43
  426. package/dist/semiotic-recipes.min.js +1 -1
  427. package/dist/semiotic-recipes.module.min.js +1 -1
  428. package/dist/semiotic-server-edge.d.ts +8 -0
  429. package/dist/semiotic-server-edge.min.js +1 -0
  430. package/dist/semiotic-server-edge.module.min.js +1 -0
  431. package/dist/semiotic-server-node.d.ts +5 -0
  432. package/dist/semiotic-server-node.min.js +1 -0
  433. package/dist/semiotic-server-node.module.min.js +1 -0
  434. package/dist/semiotic-server.d.ts +2 -2
  435. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  436. package/dist/semiotic-themes-core.d.ts +53 -0
  437. package/dist/semiotic-themes-core.min.js +1 -0
  438. package/dist/semiotic-themes-core.module.min.js +1 -0
  439. package/dist/semiotic-themes-react.d.ts +4 -0
  440. package/dist/semiotic-themes-react.min.js +2 -0
  441. package/dist/semiotic-themes-react.module.min.js +2 -0
  442. package/dist/semiotic-themes.d.ts +6 -76
  443. package/dist/semiotic-themes.min.js +1 -2
  444. package/dist/semiotic-themes.module.min.js +1 -2
  445. package/dist/semiotic-utils-core.d.ts +46 -0
  446. package/dist/semiotic-utils-core.min.js +1 -0
  447. package/dist/semiotic-utils-core.module.min.js +1 -0
  448. package/dist/semiotic-utils-react.d.ts +5 -0
  449. package/dist/semiotic-utils-react.min.js +2 -0
  450. package/dist/semiotic-utils-react.module.min.js +2 -0
  451. package/dist/semiotic-utils.d.ts +3 -39
  452. package/dist/semiotic-utils.min.js +1 -2
  453. package/dist/semiotic-utils.module.min.js +1 -2
  454. package/dist/semiotic-value.min.js +1 -1
  455. package/dist/semiotic-value.module.min.js +1 -1
  456. package/dist/semiotic-xy.d.ts +8 -0
  457. package/dist/semiotic.d.ts +35 -7
  458. package/dist/semiotic.min.js +1 -1
  459. package/dist/semiotic.module.min.js +1 -1
  460. package/dist/server.min.js +1 -1
  461. package/dist/server.module.min.js +1 -1
  462. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  463. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  464. package/dist/xy.min.js +1 -1
  465. package/dist/xy.module.min.js +1 -1
  466. package/package.json +239 -87
  467. package/spec/README.md +152 -0
  468. package/spec/bindings/README.md +35 -0
  469. package/spec/bindings/vega-lite.mjs +112 -0
  470. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  471. package/spec/v0.1/audience-profile.schema.json +67 -0
  472. package/spec/v0.1/chart-capability.schema.json +186 -0
  473. package/dist/components/recipes/gofish.d.ts +0 -207
  474. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  475. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  476. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  477. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  478. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  479. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  480. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  481. package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
@@ -40,6 +40,12 @@ export interface ChartReaderGroundingOptions {
40
40
  maxLeaves?: number;
41
41
  /** Skip the navigation structure (e.g. to save tokens). Default false. */
42
42
  includeStructure?: boolean;
43
+ /**
44
+ * Include physics runtime grounding for StreamPhysicsFrame/physics HOCs.
45
+ * Default: auto-detect from physics chart props. Pass false to omit, true to
46
+ * force extraction from props, or an object to supply snapshot/evidence rows.
47
+ */
48
+ physics?: boolean | PhysicsReaderGroundingInput;
43
49
  }
44
50
  export interface ChartReaderGroundingIntent {
45
51
  /** The communicative act the chart performs. */
@@ -51,6 +57,81 @@ export interface ChartReaderGroundingIntent {
51
57
  /** Resolved per-intent scores, when the caller passed them (not from a raw descriptor). */
52
58
  intentScores?: Partial<Record<IntentId, number>>;
53
59
  }
60
+ export interface PhysicsReaderGroundingAggregate {
61
+ id?: string;
62
+ label: string;
63
+ count: number;
64
+ secondary?: number;
65
+ secondaryLabel?: string;
66
+ observed?: number;
67
+ }
68
+ export interface PhysicsReaderGroundingAggregates {
69
+ rows: PhysicsReaderGroundingAggregate[];
70
+ totalCount: number;
71
+ populatedCount: number;
72
+ leader?: PhysicsReaderGroundingAggregate;
73
+ }
74
+ export interface PhysicsReaderGroundingSimulation {
75
+ state?: string;
76
+ settled?: boolean;
77
+ elapsedSeconds?: number;
78
+ paused?: boolean;
79
+ visible?: boolean;
80
+ seed?: number;
81
+ gravity?: {
82
+ x: number;
83
+ y: number;
84
+ };
85
+ fixedDt?: number;
86
+ timeScale?: number;
87
+ maxSubsteps?: number;
88
+ liveBodies?: number;
89
+ sleepingBodies?: number;
90
+ queued?: number;
91
+ bodyLimit?: number;
92
+ eviction?: string;
93
+ }
94
+ export interface PhysicsReaderGroundingGeometry {
95
+ colliders?: number;
96
+ sensors?: number;
97
+ springs?: number;
98
+ activeSensorPairs?: number;
99
+ }
100
+ export interface PhysicsReaderGroundingSediment {
101
+ bins: number;
102
+ count: number;
103
+ total?: number;
104
+ leader?: {
105
+ id?: string;
106
+ label: string;
107
+ count: number;
108
+ total?: number;
109
+ };
110
+ }
111
+ export interface PhysicsReaderGroundingInput {
112
+ /** PhysicsPipelineSnapshot or a structurally equivalent object. */
113
+ snapshot?: unknown;
114
+ /** PhysicsSettledEvidence or a structurally equivalent object. */
115
+ evidence?: unknown;
116
+ /** PhysicsPipelineConfig or equivalent runtime config. */
117
+ config?: unknown;
118
+ /** Settled projection rows / evidence bin counts. */
119
+ projectionRows?: readonly unknown[];
120
+ /** Alias for projectionRows when callers already name the rows aggregates. */
121
+ aggregates?: readonly unknown[];
122
+ /** Physics sediment bin snapshots. */
123
+ sediment?: readonly unknown[];
124
+ /** Precomputed sediment totals, if available. */
125
+ sedimentTotals?: unknown;
126
+ }
127
+ export interface PhysicsReaderGrounding {
128
+ simulation: PhysicsReaderGroundingSimulation;
129
+ geometry?: PhysicsReaderGroundingGeometry;
130
+ aggregates?: PhysicsReaderGroundingAggregates;
131
+ sediment?: PhysicsReaderGroundingSediment;
132
+ /** Compact prose appended to `ChartReaderGrounding.text`. */
133
+ text: string;
134
+ }
54
135
  export interface ChartReaderGrounding {
55
136
  component: string;
56
137
  /** Layered L1–L3 description ({ text, levels }). */
@@ -59,6 +140,8 @@ export interface ChartReaderGrounding {
59
140
  intent?: ChartReaderGroundingIntent;
60
141
  /** Structured navigation tree (chart → axes/series → datum). Omitted when `includeStructure: false`. */
61
142
  structure?: NavTreeNode;
143
+ /** Physics-specific runtime grounding for simulation charts. */
144
+ physics?: PhysicsReaderGrounding;
62
145
  /** L1–L4 joined into one prose blob an LLM can read directly. */
63
146
  text: string;
64
147
  }
@@ -0,0 +1,8 @@
1
+ import type { ChartCapability, ChartDataProfile } from "./chartCapabilityTypes";
2
+ import type { ChartRecipe, DataRoleDefinition } from "./chartRecipes";
3
+ export declare function resolveRecipeRoleField(recipe: ChartRecipe, role: DataRoleDefinition, profile: ChartDataProfile): string | undefined;
4
+ /**
5
+ * Adapt a declarative recipe into the existing capability engine. Raw custom
6
+ * frame HOCs remain excluded; named recipes participate as distinct candidates.
7
+ */
8
+ export declare function recipeToChartCapability(recipe: ChartRecipe): ChartCapability;
@@ -0,0 +1,13 @@
1
+ import type { Datum } from "../charts/shared/datumTypes";
2
+ import type { ChartRecipe } from "./chartRecipes";
3
+ import type { NavTreeNode } from "./navigationTree";
4
+ export interface RecipeNavigationOptions {
5
+ maxLeaves?: number;
6
+ locale?: string;
7
+ }
8
+ /**
9
+ * Build navigation from a recipe strategy, or from its declared data roles
10
+ * when no strategy exists. The fallback always produces data leaves rather
11
+ * than collapsing an unfamiliar custom chart to a root-only node.
12
+ */
13
+ export declare function buildRecipeNavigationTree(recipe: ChartRecipe, props: Datum, options?: RecipeNavigationOptions): NavTreeNode;
@@ -0,0 +1,11 @@
1
+ import type { Datum } from "../charts/shared/datumTypes";
2
+ import type { ChartRecipe, DataRoleDefinition, IntentDefinition } from "./chartRecipes";
3
+ export declare function recipeIntentId(intent: IntentDefinition): string | undefined;
4
+ export declare function recipeConfig(props: Datum): Record<string, unknown>;
5
+ export declare function recipeData(props: Datum): Datum[];
6
+ export declare function resolveRecipeForChart(component: string, props: Datum, explicit?: ChartRecipe): ChartRecipe | undefined;
7
+ export declare function fieldForRole(role: DataRoleDefinition, config: Record<string, unknown>, data?: ReadonlyArray<Datum>): string | undefined;
8
+ export declare function roleByName(recipe: ChartRecipe, name: string): DataRoleDefinition | undefined;
9
+ export declare function firstRole(recipe: ChartRecipe, semanticTypes: DataRoleDefinition["semanticType"][]): DataRoleDefinition | undefined;
10
+ export declare function roleValue(datum: Datum, role: DataRoleDefinition | undefined, config: Record<string, unknown>, data: ReadonlyArray<Datum>): unknown;
11
+ export declare function fillRecipeTemplate(template: string, datum: Datum | undefined, recipe: ChartRecipe, config: Record<string, unknown>, data: ReadonlyArray<Datum>, extra?: Record<string, string | number>): string;
@@ -1,6 +1,7 @@
1
1
  import type { Datum } from "../charts/shared/datumTypes";
2
2
  import type { ChartDataProfile, Suggestion } from "./chartCapabilityTypes";
3
3
  import type { IntentId } from "./intents";
4
+ import type { ObservedSceneAuditResult } from "./observedSceneAudit";
4
5
  /**
5
6
  * Repair result when the chosen chart fits the data — nothing to fix.
6
7
  */
@@ -9,6 +10,8 @@ export interface RepairOkResult {
9
10
  component: string;
10
11
  /** The same data profile that was evaluated. */
11
12
  profile: ChartDataProfile;
13
+ /** Recipe-specific reception/accessibility repairs, even when data shape fits. */
14
+ repairs?: string[];
12
15
  }
13
16
  /**
14
17
  * Repair result when the chosen chart doesn't fit. Carries the diagnostic
@@ -24,6 +27,7 @@ export interface RepairAlternativeResult {
24
27
  /** Whether the caller intended one of the alternatives anyway. */
25
28
  alternatives: Suggestion[];
26
29
  profile: ChartDataProfile;
30
+ repairs?: string[];
27
31
  }
28
32
  /**
29
33
  * Repair result when no capability is registered for the asked component.
@@ -34,6 +38,7 @@ export interface RepairUnknownResult {
34
38
  /** Closest matches by family/intent — best effort. */
35
39
  alternatives: Suggestion[];
36
40
  profile: ChartDataProfile;
41
+ repairs?: string[];
37
42
  }
38
43
  export type RepairResult = RepairOkResult | RepairAlternativeResult | RepairUnknownResult;
39
44
  export interface RepairOptions {
@@ -45,6 +50,10 @@ export interface RepairOptions {
45
50
  maxAlternatives?: number;
46
51
  /** Pre-computed profile, avoids recomputation. */
47
52
  profile?: ChartDataProfile;
53
+ /** Current rendered props, used for recipe-specific repair guidance. */
54
+ props?: Datum;
55
+ /** Optional observed-scene evidence from auditObservedScene(). */
56
+ observedSceneAudit?: ObservedSceneAuditResult;
48
57
  }
49
58
  /**
50
59
  * Validate that a chart component is a sensible choice for a dataset, and
@@ -2,7 +2,7 @@ import type { Datum } from "../charts/shared/datumTypes";
2
2
  import { type ProfileDataOptions } from "./profileData";
3
3
  import type { ChartCapability, ChartDataProfile, ScaledSuggestionGroups, Suggestion } from "./chartCapabilityTypes";
4
4
  import type { IntentId } from "./intents";
5
- import { type AudienceProfile } from "./audienceProfile";
5
+ import { type AudienceProfile, type ReceptionModality } from "./audienceProfile";
6
6
  import { type DataQualityProfile, type DataScaleProfile } from "./dataScaleProfile";
7
7
  export interface SuggestChartsOptions extends ProfileDataOptions {
8
8
  /** Ranking intent(s). When omitted, suggestions are ranked by mean intent score. */
@@ -39,6 +39,12 @@ export interface SuggestChartsOptions extends ProfileDataOptions {
39
39
  * `dataScaleProfile.ts`.
40
40
  */
41
41
  quality?: DataQualityProfile;
42
+ /** Restrict recipe candidates by portability tier. Built-ins are unaffected. */
43
+ portability?: "portable" | "local";
44
+ /** Controls how strongly declared recipe reception risks affect ranking. */
45
+ riskTolerance?: "low" | "medium" | "high";
46
+ /** Explicit reception channel when no full AudienceProfile is available. */
47
+ receptionChannel?: ReceptionModality;
42
48
  }
43
49
  /**
44
50
  * Suggest charts for a dataset, ranked by intent suitability.
@@ -85,6 +91,10 @@ export declare function scoreChart(component: string, data: ReadonlyArray<Datum>
85
91
  intent?: IntentId | IntentId[];
86
92
  variantKey?: string;
87
93
  profile?: ChartDataProfile;
94
+ audience?: AudienceProfile;
95
+ portability?: "portable" | "local";
96
+ riskTolerance?: "low" | "medium" | "high";
97
+ receptionChannel?: ReceptionModality;
88
98
  }): Suggestion | {
89
99
  reason: string;
90
100
  };
@@ -0,0 +1,48 @@
1
+ import * as React from "react";
2
+ import type { ProjectionProp, StreamGeoFrameProps } from "../../stream/geoTypes";
3
+ import type { GeoCustomLayout } from "../../stream/geoCustomLayout";
4
+ import type { ChartRecipe } from "../../ai/chartRecipes";
5
+ import type { RealtimeFrameHandle } from "../../realtime/types";
6
+ import type { Datum } from "../shared/datumTypes";
7
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
8
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
9
+ export interface GeoCustomChartProps<TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>> extends BaseChartProps {
10
+ /** Geographic point data supplied to `GeoLayoutContext.points`. */
11
+ points?: TDatum[];
12
+ /** Geographic areas supplied to `GeoLayoutContext.areas`. */
13
+ areas?: GeoJSON.Feature[];
14
+ /** Geographic line/flow records supplied to `GeoLayoutContext.lines`. */
15
+ lines?: TDatum[];
16
+ /** Layout function that emits GeoFrame scene nodes and optional overlays. */
17
+ layout: GeoCustomLayout<TConfig>;
18
+ /** User configuration threaded to `GeoLayoutContext.config`. */
19
+ layoutConfig?: TConfig;
20
+ /** Receives a structured diagnostic if the layout throws. */
21
+ onLayoutError?: StreamGeoFrameProps["onLayoutError"];
22
+ recipe?: ChartRecipe<TDatum, TConfig>;
23
+ recipeId?: string;
24
+ /** Projection resolved before the custom layout runs. @default "equirectangular" */
25
+ projection?: ProjectionProp;
26
+ xAccessor?: StreamGeoFrameProps<TDatum>["xAccessor"];
27
+ yAccessor?: StreamGeoFrameProps<TDatum>["yAccessor"];
28
+ lineDataAccessor?: StreamGeoFrameProps<TDatum>["lineDataAccessor"];
29
+ /** Field or function that declares the semantic category used for custom-layout color. */
30
+ colorBy?: ChartAccessor<TDatum, string>;
31
+ colorScheme?: string | string[] | Record<string, string>;
32
+ enableHover?: boolean;
33
+ tooltip?: TooltipProp;
34
+ annotations?: Datum[];
35
+ /** Additional StreamGeoFrame props excluding fields controlled by this HOC. */
36
+ frameProps?: Partial<Omit<StreamGeoFrameProps, "areas" | "points" | "lines" | "projection" | "size" | "customLayout" | "layoutConfig" | "layoutSelection" | "xAccessor" | "yAccessor" | "lineDataAccessor">>;
37
+ }
38
+ /**
39
+ * GeoCustomChart — escape hatch for bespoke geographic geometry.
40
+ *
41
+ * The frame resolves the projection and continues to own canvas rendering,
42
+ * polygon/point/line hit-testing, accessibility, tooltips, selection, and SSR.
43
+ * The supplied layout owns only the scene geometry and SVG overlays.
44
+ */
45
+ export declare const GeoCustomChart: {
46
+ <TDatum extends Datum = Datum, TConfig extends object = Record<string, unknown>>(props: GeoCustomChartProps<TDatum, TConfig> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
47
+ displayName?: string;
48
+ };
@@ -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,7 +25,8 @@ 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;
25
31
  /**
26
32
  * Annotations rendered over the chart. A custom network layout's marks are
@@ -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
  *