semiotic 3.7.4 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/CLAUDE.md +60 -15
  2. package/README.md +135 -24
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1651 -154
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2934 -517
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +19 -3
  11. package/dist/components/Annotation.d.ts +4 -0
  12. package/dist/components/CategoryColors.d.ts +1 -1
  13. package/dist/components/ChartContainer.d.ts +91 -0
  14. package/dist/components/ChartGrid.d.ts +11 -1
  15. package/dist/components/CircularBrush.d.ts +61 -0
  16. package/dist/components/ContextLayout.d.ts +5 -1
  17. package/dist/components/DataSummaryContext.d.ts +1 -0
  18. package/dist/components/DirectManipulationControl.d.ts +63 -0
  19. package/dist/components/LinkedCharts.d.ts +3 -1
  20. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  21. package/dist/components/MobileChartContainer.d.ts +51 -0
  22. package/dist/components/MobileStandardControls.d.ts +68 -0
  23. package/dist/components/SmallMultipleChart.d.ts +84 -0
  24. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  25. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  26. package/dist/components/ai/IntentMark.d.ts +15 -0
  27. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  28. package/dist/components/ai/chartCapabilityTypes.d.ts +42 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  31. package/dist/components/ai/chartRecipes.d.ts +278 -0
  32. package/dist/components/ai/dataPitfallsBridge.d.ts +203 -0
  33. package/dist/components/ai/dataQualityBridge.d.ts +201 -0
  34. package/dist/components/ai/describeChart.d.ts +9 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +170 -0
  37. package/dist/components/ai/intentManifest.d.ts +62 -0
  38. package/dist/components/ai/navigationTree.d.ts +3 -0
  39. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  40. package/dist/components/ai/readerGrounding.d.ts +83 -0
  41. package/dist/components/ai/recipeCapability.d.ts +8 -0
  42. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  43. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  44. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  45. package/dist/components/ai/suggestCharts.d.ts +11 -1
  46. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  47. package/dist/components/charts/custom/NetworkCustomChart.d.ts +22 -3
  48. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  49. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  50. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  51. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  52. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  53. package/dist/components/charts/geo/index.d.ts +2 -0
  54. package/dist/components/charts/index.d.ts +29 -1
  55. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  57. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  58. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  60. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  61. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/Treemap.d.ts +1 -1
  63. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  64. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  65. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  66. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  68. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  71. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  73. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  74. package/dist/components/charts/ordinal/SwarmPlot.d.ts +8 -1
  75. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  76. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  77. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  78. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  79. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  80. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  81. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  82. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  83. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  84. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  85. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  86. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  88. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  89. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  91. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  92. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  93. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  94. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  95. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  96. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  97. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  98. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  99. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  100. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  101. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  102. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  103. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  104. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  105. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  106. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  107. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  108. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  109. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  110. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  111. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  112. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  113. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  114. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  115. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  116. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  117. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  118. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +30 -1
  119. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  120. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  121. package/dist/components/charts/realtime/aggregate.d.ts +51 -0
  122. package/dist/components/charts/realtime/eventTime.d.ts +26 -0
  123. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  124. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  125. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  126. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  127. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  128. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  130. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  131. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  132. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  133. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  134. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  135. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  136. package/dist/components/charts/shared/colorPalettes.d.ts +2 -0
  137. package/dist/components/charts/shared/colorUtils.d.ts +17 -13
  138. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  139. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  140. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  141. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  142. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  143. package/dist/components/charts/shared/hooks.d.ts +28 -5
  144. package/dist/components/charts/shared/minMax.d.ts +3 -0
  145. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  146. package/dist/components/charts/shared/radialGeometry.d.ts +0 -18
  147. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  148. package/dist/components/charts/shared/smartTooltip.d.ts +27 -0
  149. package/dist/components/charts/shared/statisticalOverlays.d.ts +35 -0
  150. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  151. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  152. package/dist/components/charts/shared/tooltipUtils.d.ts +2 -0
  153. package/dist/components/charts/shared/types.d.ts +49 -1
  154. package/dist/components/charts/shared/useChartSetup.d.ts +10 -3
  155. package/dist/components/charts/shared/useCustomChartSetup.d.ts +15 -6
  156. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  157. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  158. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  159. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  160. package/dist/components/charts/shared/validateChartData.d.ts +1 -1
  161. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  162. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  163. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  164. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  165. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  166. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  167. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  168. package/dist/components/charts/xy/Scatterplot.d.ts +10 -1
  169. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  170. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  171. package/dist/components/controls/controlAudit.d.ts +24 -0
  172. package/dist/components/controls/controlContract.d.ts +57 -0
  173. package/dist/components/data/fromArrow.d.ts +54 -0
  174. package/dist/components/data/fromFlintChart.d.ts +74 -0
  175. package/dist/components/data/fromMermaid.d.ts +47 -0
  176. package/dist/components/data/fromObservablePlot.d.ts +69 -0
  177. package/dist/components/data/fromVegaLite.d.ts +27 -0
  178. package/dist/components/data/portability/index.d.ts +17 -0
  179. package/dist/components/data/portability/result.d.ts +52 -0
  180. package/dist/components/data/portability/spec.d.ts +160 -0
  181. package/dist/components/data/portability/vegaLite.d.ts +80 -0
  182. package/dist/components/export/chartConfig.d.ts +11 -0
  183. package/dist/components/realtime/ReorderBuffer.d.ts +54 -0
  184. package/dist/components/realtime/RunningStats.d.ts +66 -0
  185. package/dist/components/realtime/WindowAccumulator.d.ts +105 -0
  186. package/dist/components/realtime/parseWindowDuration.d.ts +12 -0
  187. package/dist/components/realtime/types.d.ts +11 -0
  188. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  189. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  190. package/dist/components/recipes/boba.d.ts +23 -0
  191. package/dist/components/recipes/customTooltip.d.ts +31 -0
  192. package/dist/components/recipes/cyclical.d.ts +39 -0
  193. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  194. package/dist/components/recipes/forceLayout.d.ts +48 -0
  195. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  196. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  197. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  198. package/dist/components/recipes/gofishIR.d.ts +215 -0
  199. package/dist/components/recipes/gofishIRExamples.d.ts +38 -0
  200. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  201. package/dist/components/recipes/intervals.d.ts +80 -0
  202. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  203. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  204. package/dist/components/recipes/mermaidDag.d.ts +44 -0
  205. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  206. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  207. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  208. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  209. package/dist/components/recipes/packedClusterMatrix.d.ts +166 -0
  210. package/dist/components/recipes/physics.d.ts +122 -0
  211. package/dist/components/recipes/physicsReference.d.ts +102 -0
  212. package/dist/components/recipes/processAggregates.d.ts +32 -0
  213. package/dist/components/recipes/processChrome.d.ts +67 -0
  214. package/dist/components/recipes/processJourney.d.ts +54 -0
  215. package/dist/components/recipes/processPhysics.d.ts +300 -0
  216. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  217. package/dist/components/recipes/radialCoords.d.ts +69 -0
  218. package/dist/components/recipes/random.d.ts +2 -0
  219. package/dist/components/recipes/recipeChrome.d.ts +191 -0
  220. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  221. package/dist/components/recipes/recipeLegend.d.ts +109 -0
  222. package/dist/components/recipes/recipeUtils.d.ts +157 -0
  223. package/dist/components/recipes/runs.d.ts +59 -0
  224. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  225. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  226. package/dist/components/recipes/unitize.d.ts +108 -0
  227. package/dist/components/recipes/vector.d.ts +28 -0
  228. package/dist/components/recipes/waffle.d.ts +43 -0
  229. package/dist/components/semiotic-ai-core.d.ts +47 -0
  230. package/dist/components/semiotic-ai.d.ts +52 -4
  231. package/dist/components/semiotic-controls.d.ts +18 -0
  232. package/dist/components/semiotic-data.d.ts +2 -0
  233. package/dist/components/semiotic-experimental.d.ts +49 -0
  234. package/dist/components/semiotic-geo.d.ts +11 -0
  235. package/dist/components/semiotic-network.d.ts +14 -1
  236. package/dist/components/semiotic-ordinal.d.ts +10 -0
  237. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  238. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  239. package/dist/components/semiotic-physics.d.ts +56 -0
  240. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  241. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  242. package/dist/components/semiotic-realtime.d.ts +4 -22
  243. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  244. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  245. package/dist/components/semiotic-recipes.d.ts +4 -26
  246. package/dist/components/semiotic-server-edge.d.ts +8 -0
  247. package/dist/components/semiotic-server-node.d.ts +5 -0
  248. package/dist/components/semiotic-server.d.ts +2 -2
  249. package/dist/components/semiotic-themes-core.d.ts +53 -0
  250. package/dist/components/semiotic-themes-react.d.ts +4 -0
  251. package/dist/components/semiotic-themes.d.ts +6 -74
  252. package/dist/components/semiotic-utils-core.d.ts +46 -0
  253. package/dist/components/semiotic-utils-react.d.ts +5 -0
  254. package/dist/components/semiotic-utils.d.ts +3 -39
  255. package/dist/components/semiotic-xy.d.ts +10 -0
  256. package/dist/components/semiotic.d.ts +39 -7
  257. package/dist/components/server/animatedGif.d.ts +36 -0
  258. package/dist/components/server/renderEvidence.d.ts +1 -1
  259. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  260. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  261. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  262. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  263. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  264. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  265. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  266. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  267. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  268. package/dist/components/server/staticGeo.d.ts +4 -0
  269. package/dist/components/server/staticLegend.d.ts +1 -1
  270. package/dist/components/server/staticNetwork.d.ts +8 -0
  271. package/dist/components/server/staticOrdinal.d.ts +11 -0
  272. package/dist/components/server/staticPhysics.d.ts +3 -0
  273. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  274. package/dist/components/server/staticXY.d.ts +4 -0
  275. package/dist/components/store/ObservationStore.d.ts +23 -3
  276. package/dist/components/store/SelectionStore.d.ts +1 -1
  277. package/dist/components/store/ThemeStore.d.ts +1 -1
  278. package/dist/components/store/TooltipStore.d.ts +1 -1
  279. package/dist/components/store/createStore.d.ts +1 -1
  280. package/dist/components/store/designTokens.d.ts +15 -0
  281. package/dist/components/store/themeSerialization.d.ts +32 -0
  282. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  283. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  284. package/dist/components/stream/FocusRing.d.ts +4 -2
  285. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  286. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  287. package/dist/components/stream/NetworkHtmlMarksLayer.d.ts +44 -0
  288. package/dist/components/stream/NetworkPipelineStore.d.ts +62 -25
  289. package/dist/components/stream/NetworkSVGOverlay.d.ts +15 -0
  290. package/dist/components/stream/OrdinalPipelineStore.d.ts +64 -2
  291. package/dist/components/stream/PipelineStore.d.ts +100 -162
  292. package/dist/components/stream/SceneGraph.d.ts +14 -2
  293. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  294. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  295. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  296. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  297. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  298. package/dist/components/stream/accessorUtils.d.ts +23 -10
  299. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  300. package/dist/components/stream/canvasBackground.d.ts +24 -0
  301. package/dist/components/stream/canvasSetup.d.ts +4 -1
  302. package/dist/components/stream/customLayout.d.ts +20 -0
  303. package/dist/components/stream/customLayoutDiagnostics.d.ts +11 -0
  304. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  305. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  306. package/dist/components/stream/customLayoutSelection.d.ts +52 -0
  307. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  308. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  309. package/dist/components/stream/geoCartogram.d.ts +17 -0
  310. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  311. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  312. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  313. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  314. package/dist/components/stream/geoTypes.d.ts +56 -7
  315. package/dist/components/stream/glyphDef.d.ts +98 -0
  316. package/dist/components/stream/hitTarget.d.ts +170 -0
  317. package/dist/components/stream/hoverUtils.d.ts +3 -0
  318. package/dist/components/stream/keyboardNav.d.ts +4 -1
  319. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  320. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  321. package/dist/components/stream/networkBezier.d.ts +10 -0
  322. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  323. package/dist/components/stream/networkCustomLayout.d.ts +66 -1
  324. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  325. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  326. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  327. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  328. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  329. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  330. package/dist/components/stream/networkTypes.d.ts +104 -5
  331. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  332. package/dist/components/stream/ordinalCustomLayout.d.ts +17 -1
  333. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  334. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  335. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  336. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  337. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  338. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  339. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  340. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -0
  341. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  342. package/dist/components/stream/ordinalTypes.d.ts +56 -8
  343. package/dist/components/stream/paintNeeds.d.ts +31 -0
  344. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  345. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  346. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  347. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  348. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  349. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  350. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  351. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  352. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  353. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  354. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  355. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  356. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  357. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  358. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  359. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  360. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  361. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  362. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  363. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  364. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  365. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  366. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  367. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  368. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  369. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  370. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  371. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  372. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  373. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  374. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  375. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  376. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  377. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  378. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  379. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  380. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  381. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  382. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  383. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  384. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  385. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  386. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  387. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  388. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  389. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  390. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  391. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  392. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  393. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  394. package/dist/components/stream/renderers/networkSymbolRenderer.d.ts +2 -0
  395. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  396. package/dist/components/stream/renderers/symbolCanvasRenderer.d.ts +2 -0
  397. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  398. package/dist/components/stream/stalenessBands.d.ts +28 -0
  399. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  400. package/dist/components/stream/symbolPath.d.ts +24 -0
  401. package/dist/components/stream/types.d.ts +206 -9
  402. package/dist/components/stream/useFrame.d.ts +21 -2
  403. package/dist/components/stream/useHydration.d.ts +6 -0
  404. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  405. package/dist/components/stream/useStalenessCheck.d.ts +6 -1
  406. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  407. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  408. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  409. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  410. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  411. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  412. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
  413. package/dist/components/stream/xySceneBuilders/types.d.ts +9 -4
  414. package/dist/controls.min.js +2 -0
  415. package/dist/controls.module.min.js +2 -0
  416. package/dist/forceLayoutWorker.js +1 -0
  417. package/dist/geo.min.js +1 -1
  418. package/dist/geo.module.min.js +1 -1
  419. package/dist/network.min.js +1 -1
  420. package/dist/network.module.min.js +1 -1
  421. package/dist/ordinal.min.js +1 -1
  422. package/dist/ordinal.module.min.js +1 -1
  423. package/dist/physics-matter.min.js +1 -0
  424. package/dist/physics-matter.module.min.js +1 -0
  425. package/dist/physics-rapier.min.js +1 -0
  426. package/dist/physics-rapier.module.min.js +1 -0
  427. package/dist/physics.min.js +2 -0
  428. package/dist/physics.module.min.js +2 -0
  429. package/dist/physicsWorker.js +1 -0
  430. package/dist/realtime.min.js +1 -1
  431. package/dist/realtime.module.min.js +1 -1
  432. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  433. package/dist/semiotic-ai-core.d.ts +47 -0
  434. package/dist/semiotic-ai-core.min.js +1 -0
  435. package/dist/semiotic-ai-core.module.min.js +1 -0
  436. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  437. package/dist/semiotic-ai.d.ts +52 -4
  438. package/dist/semiotic-ai.min.js +1 -1
  439. package/dist/semiotic-ai.module.min.js +1 -1
  440. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  441. package/dist/semiotic-controls.d.ts +18 -0
  442. package/dist/semiotic-data.d.ts +2 -0
  443. package/dist/semiotic-data.min.js +1 -1
  444. package/dist/semiotic-data.module.min.js +1 -1
  445. package/dist/semiotic-experimental.d.ts +49 -0
  446. package/dist/semiotic-experimental.min.js +1 -0
  447. package/dist/semiotic-experimental.module.min.js +1 -0
  448. package/dist/semiotic-geo.d.ts +11 -0
  449. package/dist/semiotic-network.d.ts +14 -1
  450. package/dist/semiotic-ordinal.d.ts +10 -0
  451. package/dist/semiotic-physics-matter.d.ts +10 -0
  452. package/dist/semiotic-physics-rapier.d.ts +9 -0
  453. package/dist/semiotic-physics.d.ts +56 -0
  454. package/dist/semiotic-realtime-core.d.ts +34 -0
  455. package/dist/semiotic-realtime-core.min.js +1 -0
  456. package/dist/semiotic-realtime-core.module.min.js +1 -0
  457. package/dist/semiotic-realtime-react.d.ts +10 -0
  458. package/dist/semiotic-realtime-react.min.js +2 -0
  459. package/dist/semiotic-realtime-react.module.min.js +2 -0
  460. package/dist/semiotic-realtime.d.ts +4 -22
  461. package/dist/semiotic-recipes-core.d.ts +92 -0
  462. package/dist/semiotic-recipes-core.min.js +1 -0
  463. package/dist/semiotic-recipes-core.module.min.js +1 -0
  464. package/dist/semiotic-recipes-react.d.ts +7 -0
  465. package/dist/semiotic-recipes-react.min.js +2 -0
  466. package/dist/semiotic-recipes-react.module.min.js +2 -0
  467. package/dist/semiotic-recipes.d.ts +4 -26
  468. package/dist/semiotic-recipes.min.js +1 -1
  469. package/dist/semiotic-recipes.module.min.js +1 -1
  470. package/dist/semiotic-server-edge.d.ts +8 -0
  471. package/dist/semiotic-server-edge.min.js +1 -0
  472. package/dist/semiotic-server-edge.module.min.js +1 -0
  473. package/dist/semiotic-server-node.d.ts +5 -0
  474. package/dist/semiotic-server-node.min.js +1 -0
  475. package/dist/semiotic-server-node.module.min.js +1 -0
  476. package/dist/semiotic-server.d.ts +2 -2
  477. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  478. package/dist/semiotic-themes-core.d.ts +53 -0
  479. package/dist/semiotic-themes-core.min.js +1 -0
  480. package/dist/semiotic-themes-core.module.min.js +1 -0
  481. package/dist/semiotic-themes-react.d.ts +4 -0
  482. package/dist/semiotic-themes-react.min.js +2 -0
  483. package/dist/semiotic-themes-react.module.min.js +2 -0
  484. package/dist/semiotic-themes.d.ts +6 -74
  485. package/dist/semiotic-themes.min.js +1 -2
  486. package/dist/semiotic-themes.module.min.js +1 -2
  487. package/dist/semiotic-utils-core.d.ts +46 -0
  488. package/dist/semiotic-utils-core.min.js +1 -0
  489. package/dist/semiotic-utils-core.module.min.js +1 -0
  490. package/dist/semiotic-utils-react.d.ts +5 -0
  491. package/dist/semiotic-utils-react.min.js +2 -0
  492. package/dist/semiotic-utils-react.module.min.js +2 -0
  493. package/dist/semiotic-utils.d.ts +3 -39
  494. package/dist/semiotic-utils.min.js +1 -2
  495. package/dist/semiotic-utils.module.min.js +1 -2
  496. package/dist/semiotic-value.min.js +1 -1
  497. package/dist/semiotic-value.module.min.js +1 -1
  498. package/dist/semiotic-xy.d.ts +10 -0
  499. package/dist/semiotic.d.ts +39 -7
  500. package/dist/semiotic.min.js +1 -1
  501. package/dist/semiotic.module.min.js +1 -1
  502. package/dist/server.min.js +1 -1
  503. package/dist/server.module.min.js +1 -1
  504. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  505. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  506. package/dist/xy.min.js +1 -1
  507. package/dist/xy.module.min.js +1 -1
  508. package/package.json +246 -86
  509. package/spec/README.md +152 -0
  510. package/spec/bindings/README.md +35 -0
  511. package/spec/bindings/vega-lite.mjs +112 -0
  512. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  513. package/spec/v0.1/audience-profile.schema.json +67 -0
  514. package/spec/v0.1/chart-capability.schema.json +186 -0
  515. package/dist/semiotic-ai-statisticalOverlays-C2PPlmXv.js +0 -1
  516. package/dist/semiotic-statisticalOverlays-C3DsOgr_.js +0 -1
  517. package/dist/xy-statisticalOverlays-C2PPlmXv.js +0 -1
@@ -0,0 +1,68 @@
1
+ import * as React from "react";
2
+ import type { MobileStandardControlKind, MobileStandardControlsMode } from "./charts/shared/types";
3
+ export type { MobileStandardControlKind, MobileStandardControlsMode };
4
+ export type MobileStandardControlRequest = MobileStandardControlsMode;
5
+ export interface MobileStandardControlLegendItem {
6
+ id: string;
7
+ label?: React.ReactNode;
8
+ color?: string;
9
+ active?: boolean;
10
+ disabled?: boolean;
11
+ }
12
+ export interface MobileStandardBrushControls {
13
+ label?: React.ReactNode;
14
+ value?: [number, number];
15
+ domain?: [number, number];
16
+ step?: number;
17
+ disabled?: boolean;
18
+ formatValue?: (value: number) => React.ReactNode;
19
+ onChange?: (value: [number, number]) => void;
20
+ onClear?: () => void;
21
+ }
22
+ export interface MobileStandardZoomControls {
23
+ label?: React.ReactNode;
24
+ disabled?: boolean;
25
+ onZoomIn?: () => void;
26
+ onZoomOut?: () => void;
27
+ onReset?: () => void;
28
+ }
29
+ export interface MobileStandardLegendControls {
30
+ label?: React.ReactNode;
31
+ items?: MobileStandardControlLegendItem[];
32
+ disabled?: boolean;
33
+ onToggle?: (id: string, active: boolean) => void;
34
+ onShowAll?: () => void;
35
+ onHideAll?: () => void;
36
+ }
37
+ export interface MobileStandardControlsProps {
38
+ controls?: MobileStandardControlRequest;
39
+ targetSize?: number;
40
+ compact?: boolean;
41
+ className?: string;
42
+ style?: React.CSSProperties;
43
+ ariaLabel?: string;
44
+ brush?: MobileStandardBrushControls;
45
+ zoom?: MobileStandardZoomControls;
46
+ legend?: MobileStandardLegendControls;
47
+ }
48
+ export interface UseMobileRangeControlsOptions {
49
+ domain: [number, number];
50
+ initialValue?: [number, number];
51
+ step?: number;
52
+ minSpan?: number;
53
+ label?: React.ReactNode;
54
+ formatValue?: (value: number) => React.ReactNode;
55
+ onChange?: (value: [number, number]) => void;
56
+ }
57
+ export interface UseMobileRangeControlsResult {
58
+ value: [number, number];
59
+ setValue: (value: [number, number]) => void;
60
+ xExtent: [number, number];
61
+ brush: MobileStandardBrushControls;
62
+ zoom: MobileStandardZoomControls;
63
+ }
64
+ export declare function clampMobileRange(value: [number, number], domain: [number, number], minSpan?: number): [number, number];
65
+ export declare function zoomMobileRange(value: [number, number], domain: [number, number], direction: "in" | "out", step?: number, minSpan?: number): [number, number];
66
+ export declare function useMobileRangeControls(options: UseMobileRangeControlsOptions): UseMobileRangeControlsResult;
67
+ export declare function MobileStandardControls({ controls, targetSize, compact, className, style, ariaLabel, brush, zoom, legend, }: MobileStandardControlsProps): React.JSX.Element | null;
68
+ export default MobileStandardControls;
@@ -0,0 +1,84 @@
1
+ import * as React from "react";
2
+ import type { ChartMode, LinkedHoverProp, MobileInteractionProp, SelectionConfig } from "./charts/shared/types";
3
+ import type { MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
4
+ import { type LinkedChartsProps } from "./LinkedCharts";
5
+ export type SmallMultipleExtent = [number, number];
6
+ export interface SmallMultipleItem<TDatum = unknown> {
7
+ id: string;
8
+ title?: React.ReactNode;
9
+ subtitle?: React.ReactNode;
10
+ summary?: React.ReactNode;
11
+ data?: readonly TDatum[];
12
+ extent?: SmallMultipleExtent;
13
+ }
14
+ export interface SmallMultipleSharedExtent {
15
+ xExtent?: SmallMultipleExtent;
16
+ yExtent?: SmallMultipleExtent;
17
+ valueExtent?: SmallMultipleExtent;
18
+ }
19
+ export interface SmallMultipleRenderContext<TItem> {
20
+ item: TItem;
21
+ index: number;
22
+ count: number;
23
+ chartProps: Record<string, unknown>;
24
+ sharedExtent: SmallMultipleSharedExtent;
25
+ }
26
+ export interface SmallMultipleChartProps<TItem extends SmallMultipleItem = SmallMultipleItem> {
27
+ items?: readonly TItem[];
28
+ children: React.ReactNode | ((item: TItem, context: SmallMultipleRenderContext<TItem>) => React.ReactNode);
29
+ /** Columns above the tablet breakpoint. Default 3. */
30
+ columns?: number;
31
+ /** Columns between mobile and tablet breakpoints. Default 2. */
32
+ tabletColumns?: number;
33
+ /** Columns at the mobile breakpoint. Default 1. */
34
+ mobileColumns?: number;
35
+ /** Mobile breakpoint used by the generated CSS. Default 480. */
36
+ mobileBreakpoint?: number;
37
+ /** Tablet breakpoint used by the generated CSS. Default 860. */
38
+ tabletBreakpoint?: number;
39
+ /** Gap between panels. Default 12. */
40
+ gap?: number;
41
+ /** Default child chart mode. Default "mobile". */
42
+ mode?: ChartMode;
43
+ /** Default child chart height. Default 220. */
44
+ chartHeight?: number;
45
+ /** Share y/value extents across panels. Pass an object for explicit extents. Default true. */
46
+ sharedExtent?: boolean | SmallMultipleSharedExtent;
47
+ /** Field or function used to compute the shared y/value extent when sharedExtent is true. */
48
+ valueAccessor?: string | ((datum: unknown) => unknown);
49
+ /** Field or function used to read each item's data array. Default "data". */
50
+ dataAccessor?: string | ((item: TItem) => readonly unknown[] | undefined);
51
+ /** Extent prop names injected into child charts. Default ["yExtent", "valueExtent"]. */
52
+ extentProps?: string[];
53
+ /** Linked hover emitted by each panel. */
54
+ linkedHover?: LinkedHoverProp;
55
+ /** Selection consumed by each panel. */
56
+ selection?: SelectionConfig;
57
+ /** Convenience config for linked hover + selection using the same name/fields. */
58
+ linkedBy?: string[] | {
59
+ name?: string;
60
+ fields?: string[];
61
+ };
62
+ /** Whether to provide a LinkedCharts wrapper for linked panels. Default "auto". */
63
+ linkProvider?: boolean | "auto";
64
+ /** LinkedCharts selection seed config when SmallMultipleChart provides the wrapper. */
65
+ selections?: LinkedChartsProps["selections"];
66
+ /** Unified legend setting passed to LinkedCharts when SmallMultipleChart provides the wrapper. Default false. */
67
+ showLegend?: LinkedChartsProps["showLegend"];
68
+ legendPosition?: LinkedChartsProps["legendPosition"];
69
+ legendInteraction?: LinkedChartsProps["legendInteraction"];
70
+ legendSelectionName?: LinkedChartsProps["legendSelectionName"];
71
+ legendField?: LinkedChartsProps["legendField"];
72
+ /** Touch-first mobile interaction policy injected into child charts. Default true. */
73
+ mobileInteraction?: MobileInteractionProp;
74
+ /** Semantic mobile contract injected into child charts. */
75
+ mobileSemantics?: MobileVisualizationContract;
76
+ /** Consistent labeling posture. Panel labels are outside the plot by default. */
77
+ labelMode?: "panel" | "direct" | "legend";
78
+ /** Additional defaults injected into each child chart when the child has not already declared them. */
79
+ chartDefaults?: Record<string, unknown>;
80
+ className?: string;
81
+ style?: React.CSSProperties;
82
+ }
83
+ export declare function SmallMultipleChart<TItem extends SmallMultipleItem = SmallMultipleItem>({ items, children, columns, tabletColumns, mobileColumns, mobileBreakpoint, tabletBreakpoint, gap, mode, chartHeight, sharedExtent, valueAccessor, dataAccessor, extentProps, linkedHover, selection, linkedBy, linkProvider, selections, showLegend, legendPosition, legendInteraction, legendSelectionName, legendField, mobileInteraction, mobileSemantics, labelMode, chartDefaults, className, style, }: SmallMultipleChartProps<TItem>): React.JSX.Element;
84
+ export default SmallMultipleChart;
@@ -22,6 +22,27 @@ interface FlippingTooltipProps {
22
22
  /** z-index (default 1) */
23
23
  zIndex?: number;
24
24
  }
25
+ /**
26
+ * True when the tooltip content's root element looks like the
27
+ * consumer is handling chrome themselves. Signals (any one is enough):
28
+ *
29
+ * 1. Component-type `ownsChrome: true` (for components that paint
30
+ * chrome internally — avoids double-wrap).
31
+ * 2. An inline `background` / `backgroundColor` on `style`.
32
+ * 3. `data-semiotic-tooltip-chrome` for CSS-class-only chrome
33
+ * where the background is defined outside the React element.
34
+ *
35
+ * **`.semiotic-tooltip` class alone is NOT ownership.** Charts and
36
+ * examples repeatedly return `<div className="semiotic-tooltip">…</div>`
37
+ * without a background (expecting a global CSS rule or theme var that
38
+ * is missing or transparent). Treating the class as ownership was the
39
+ * transparent-tooltip regression. Shared helpers that truly own chrome
40
+ * pass `defaultTooltipStyle` (inline background) or `ownsChrome`.
41
+ *
42
+ * When none of these fire, `FlippingTooltip` paints `defaultTooltipStyle`
43
+ * on its wrapper so the tooltip can never come out chrome-less.
44
+ */
45
+ export declare function hasOwnChrome(node: React.ReactNode): boolean;
25
46
  /**
26
47
  * Viewport-aware tooltip wrapper that flips horizontally and vertically
27
48
  * when the tooltip would overflow the chart container.
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "../charts/shared/datumTypes";
3
+ import type { ChartRecipe as ChartRecipeDefinition } from "./chartRecipes";
4
+ export type ChartRecipe = ChartRecipeDefinition;
5
+ export interface ChartRecipeProps extends Datum {
6
+ recipeId?: string;
7
+ recipe?: ChartRecipeDefinition;
8
+ layoutConfig?: Record<string, unknown>;
9
+ chartId?: string;
10
+ className?: string;
11
+ }
12
+ /**
13
+ * Render a registered recipe config. Portable recipes resolve their layout by
14
+ * registered id; local recipes may carry the function in their manifest.
15
+ */
16
+ export declare function ChartRecipe(props: ChartRecipeProps): React.ReactElement;
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import type { IntentManifest } from "./intentManifest";
3
+ export interface IntentMarkProps {
4
+ manifest: IntentManifest;
5
+ label?: string;
6
+ className?: string;
7
+ /** Show the human summary above the JSON contract. Default true. */
8
+ showSummary?: boolean;
9
+ }
10
+ /**
11
+ * Visible, inspectable IDID contract for docs and review surfaces. Native
12
+ * `<details>` keeps the first version keyboard- and screen-reader-operable
13
+ * without introducing a popover dependency.
14
+ */
15
+ export declare function IntentMark({ manifest, label, className, showSummary, }: IntentMarkProps): React.JSX.Element;
@@ -38,6 +38,13 @@ import { ChoroplethMapCapability } from "../charts/geo/ChoroplethMap.capability"
38
38
  import { ProportionalSymbolMapCapability } from "../charts/geo/ProportionalSymbolMap.capability";
39
39
  import { FlowMapCapability } from "../charts/geo/FlowMap.capability";
40
40
  import { DistanceCartogramCapability } from "../charts/geo/DistanceCartogram.capability";
41
+ import { GaltonBoardChartCapability } from "../charts/physics/GaltonBoardChart.capability";
42
+ import { EventDropChartCapability } from "../charts/physics/EventDropChart.capability";
43
+ import { PhysicsPileChartCapability } from "../charts/physics/PhysicsPileChart.capability";
44
+ import { CollisionSwarmChartCapability } from "../charts/physics/CollisionSwarmChart.capability";
45
+ import { PhysicalFlowChartCapability } from "../charts/physics/PhysicalFlowChart.capability";
46
+ import { ProcessFlowChartCapability } from "../charts/physics/ProcessFlowChart.capability";
47
+ import { GauntletChartCapability } from "../charts/physics/GauntletChart.capability";
41
48
  /**
42
49
  * Register a capability for a chart (built-in or third-party). Re-registering by
43
50
  * component name replaces the previous descriptor — useful for overriding defaults.
@@ -52,4 +59,4 @@ export declare function unregisterChartCapability(component: string): void;
52
59
  export declare function getCapabilities(): ReadonlyArray<ChartCapability>;
53
60
  /** Look up a capability by component name. */
54
61
  export declare function getCapability(component: string): ChartCapability | undefined;
55
- export { LineChartCapability, AreaChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, };
62
+ export { LineChartCapability, AreaChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, GaltonBoardChartCapability, EventDropChartCapability, PhysicsPileChartCapability, CollisionSwarmChartCapability, PhysicalFlowChartCapability, ProcessFlowChartCapability, GauntletChartCapability, };
@@ -1,6 +1,7 @@
1
1
  import type { Datum } from "../charts/shared/datumTypes";
2
2
  import type { DataSummary } from "../data/DataSummarizer";
3
3
  import type { IntentId } from "./intents";
4
+ import type { ChartRecipe, ChartRecipeFrameFamily, MobileDesignDefinition } from "./chartRecipes";
4
5
  import type { ScaleFitFn, QualityFitFn, ScaleBand, CardinalityBand, EffectiveScale } from "./dataScaleProfile";
5
6
  /**
6
7
  * Chart family — high-level taxonomy used for filtering and intent matching.
@@ -9,7 +10,13 @@ export type ChartFamily = "time-series" | "categorical" | "distribution" | "rela
9
10
  /**
10
11
  * Where a chart is imported from. Used by generators to emit correct import paths.
11
12
  */
12
- export type ChartImportPath = "semiotic/xy" | "semiotic/ordinal" | "semiotic/network" | "semiotic/geo" | "semiotic/realtime" | "semiotic/value" | "semiotic/ai" | "semiotic";
13
+ export type ChartImportPath = "semiotic/xy" | "semiotic/ordinal" | "semiotic/network" | "semiotic/geo" | "semiotic/realtime" | "semiotic/physics" | "semiotic/value" | "semiotic/ai" | "semiotic";
14
+ export type ChartCandidateKind = "built-in" | "recipe";
15
+ export interface WhyCustomExplanation {
16
+ defaultAlternative?: string;
17
+ reason: string;
18
+ tradeoff?: string;
19
+ }
13
20
  /**
14
21
  * Familiarity/accuracy/precision rubric (1-5 each).
15
22
  * Familiarity = how well-known the chart is to a general audience.
@@ -73,6 +80,22 @@ export interface ChartDataProfile extends DataSummary {
73
80
  hasRepeatedX: boolean;
74
81
  /** True when the primary x candidate is monotonic. */
75
82
  monotonicX: boolean;
83
+ /**
84
+ * How amenable the (x × series) grid is to stacking. Only populated when both
85
+ * a primary x and series field exist. A stacked area/bar reads as bands only
86
+ * when series share x columns; when most columns hold a single series, the
87
+ * renderer zero-fills the gaps and every layer collapses into an isolated
88
+ * triangular spike instead of a continuous band. Capabilities gate on this to
89
+ * decline stacking on near-unique x (flat record lists, scatter-shaped data).
90
+ */
91
+ stackability?: {
92
+ /** Mean distinct series present per x value. ~1 → spiky; ~seriesCount → dense. */
93
+ seriesPerX: number;
94
+ /** Fraction of x columns where 2+ series coexist (where stacking is visible). */
95
+ multiSeriesFraction: number;
96
+ /** Number of distinct x columns considered. */
97
+ xColumns: number;
98
+ };
76
99
  /** True when there is at least one date-typed candidate. */
77
100
  hasTimeAxis: boolean;
78
101
  /**
@@ -145,7 +168,13 @@ export type FitResult = null | string;
145
168
  */
146
169
  export interface ChartCapability {
147
170
  component: string;
171
+ /** Human-facing name. `component` remains the stable lookup id. */
172
+ displayName?: string;
173
+ /** Omitted descriptors are treated as built-ins for backward compatibility. */
174
+ candidateKind?: ChartCandidateKind;
148
175
  family: ChartFamily;
176
+ /** The frame/runtime substrate behind a registered recipe. */
177
+ renderingFamily?: ChartRecipeFrameFamily;
149
178
  importPath: ChartImportPath;
150
179
  /** Base rubric, before variant/profile adjustments. */
151
180
  rubric: ChartRubric;
@@ -189,6 +218,14 @@ export interface ChartCapability {
189
218
  * low completeness on the primary y field.
190
219
  */
191
220
  qualityFit?: QualityFitFn;
221
+ /** Mobile design contract for custom recipes and advanced built-ins. */
222
+ mobile?: MobileDesignDefinition;
223
+ /** Present only on recipe-derived capabilities. */
224
+ recipe?: ChartRecipe;
225
+ /** Positive reception/design rationale appended to suggestion explanations. */
226
+ positiveRationale?: ReadonlyArray<string>;
227
+ /** Why this candidate justifies leaving the built-in catalog. */
228
+ whyCustom?: WhyCustomExplanation;
192
229
  }
193
230
  /**
194
231
  * Effective scale range tag on a suggestion. Lets callers group suggestions
@@ -211,6 +248,9 @@ export interface SuggestionScaleRange {
211
248
  */
212
249
  export interface Suggestion {
213
250
  component: string;
251
+ displayName: string;
252
+ candidateKind: ChartCandidateKind;
253
+ recipeId?: string;
214
254
  family: ChartFamily;
215
255
  importPath: ChartImportPath;
216
256
  variant?: ChartVariant;
@@ -226,6 +266,7 @@ export interface Suggestion {
226
266
  caveats: ReadonlyArray<string>;
227
267
  /** Ready-to-spread props. */
228
268
  props: Record<string, unknown>;
269
+ whyCustom?: WhyCustomExplanation;
229
270
  /**
230
271
  * Scale tag — present when scale/quality information is available, either
231
272
  * through declared `DataScaleProfile` or through the measured profile.
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Read-only Chart Clinic inspection contract.
3
+ *
4
+ * This is intentionally an inspection surface, not an authoring or repair
5
+ * loop. It composes the existing validation, diagnostic, serializable-config,
6
+ * render-evidence, and revision contracts into one deterministic report that
7
+ * a docs page, CLI, MCP tool, or application can present without mutating the
8
+ * caller's chart props or store.
9
+ */
10
+ import type { Datum } from "../charts/shared/datumTypes";
11
+ import type { ChartCategory } from "../charts/shared/chartSpecs";
12
+ import type { Diagnosis } from "../charts/shared/diagnoseConfig";
13
+ import type { ValidationResult } from "../charts/shared/validateProps";
14
+ import type { ChartConfig } from "../export/chartConfig";
15
+ import type { RenderEvidence } from "../server/renderEvidence";
16
+ import type { RevisionSet } from "../stream/pipelineUpdateContract";
17
+ import { type RenderFn } from "./generativeChart";
18
+ /**
19
+ * Inspection is a reproducible projection, not an authored export. The
20
+ * timestamp in a ChartConfig is meaningful when a user saves a config but is
21
+ * volatile noise in an identical read-only Clinic report.
22
+ */
23
+ export type ChartClinicConfig = Omit<ChartConfig, "createdAt">;
24
+ export interface ChartClinicRevisionInput {
25
+ /** Latest revision snapshot reported by a retained chart/store host. */
26
+ readonly revisions: RevisionSet;
27
+ /** Optional snapshot that a host says it has already consumed. */
28
+ readonly consumed?: Partial<RevisionSet>;
29
+ }
30
+ export interface ChartClinicInput {
31
+ readonly component: string;
32
+ readonly props?: Datum;
33
+ /** Omit this for a static configuration with no retained runtime host. */
34
+ readonly revision?: ChartClinicRevisionInput;
35
+ }
36
+ export interface ChartClinicOptions {
37
+ /**
38
+ * Optional static renderer. Supplying it attaches SVG-derived evidence; it
39
+ * never changes the inspected configuration and render failures are exposed
40
+ * as a stable code rather than rethrowing arbitrary error text.
41
+ */
42
+ readonly render?: RenderFn;
43
+ }
44
+ export interface ChartClinicSceneSummary {
45
+ readonly status: RenderEvidence["status"];
46
+ readonly frameType: RenderEvidence["frameType"];
47
+ readonly markCount: number;
48
+ readonly markCountByType: Readonly<Record<string, number>>;
49
+ readonly xDomain?: readonly [number, number];
50
+ readonly yDomain?: readonly [number, number];
51
+ readonly categories?: readonly string[];
52
+ readonly nodeCount?: number;
53
+ readonly edgeCount?: number;
54
+ }
55
+ export interface ChartClinicRevisionStatus {
56
+ readonly state: "not-observed" | "fully-consumed" | "pending-consumption";
57
+ readonly revisions?: RevisionSet;
58
+ readonly consumed?: Partial<RevisionSet>;
59
+ /** Revision counters newer than the supplied consumption snapshot. */
60
+ readonly pending: readonly (keyof RevisionSet)[];
61
+ }
62
+ export interface ChartClinicBundleGuidance {
63
+ readonly category?: ChartCategory;
64
+ /** Prefer the pilot's explicit module when available, otherwise a family facade. */
65
+ readonly recommendedImport?: string;
66
+ readonly serverImport?: "semiotic/server";
67
+ readonly docsRoute?: string;
68
+ readonly note: string;
69
+ }
70
+ export interface ChartClinicReport {
71
+ readonly mode: "read-only";
72
+ readonly component: string;
73
+ /** A serializable configuration projected from the inspected props. */
74
+ readonly normalizedConfig?: ChartClinicConfig;
75
+ readonly validation: ValidationResult;
76
+ readonly diagnostics: readonly Diagnosis[];
77
+ readonly evidence?: RenderEvidence;
78
+ readonly scene?: ChartClinicSceneSummary;
79
+ readonly revisions: ChartClinicRevisionStatus;
80
+ readonly bundle: ChartClinicBundleGuidance;
81
+ /** Stable reasons; arbitrary renderer exception messages are never copied here. */
82
+ readonly reasons: readonly string[];
83
+ readonly ok: boolean;
84
+ }
85
+ /**
86
+ * Inspect a chart proposal without changing it. Automatic repair is explicitly
87
+ * disabled even when data is present; the beta reports diagnostics and bundle
88
+ * guidance only. Pass a renderer when the caller can safely obtain static SVG
89
+ * evidence in its own runtime.
90
+ */
91
+ export declare function inspectChart(input: ChartClinicInput, options?: ChartClinicOptions): ChartClinicReport;
@@ -0,0 +1,14 @@
1
+ import type { ChartCapability } from "./chartCapabilityTypes";
2
+ import type { ChartRecipe, CustomLayoutFunction } from "./chartRecipes";
3
+ /** Register or replace a named recipe and its capability adapter. */
4
+ export declare function registerChartRecipe(recipe: ChartRecipe): void;
5
+ export declare function unregisterChartRecipe(recipeId: string): void;
6
+ export declare function getChartRecipe(recipeId: string): ChartRecipe | undefined;
7
+ export declare function listChartRecipes(): ChartRecipe[];
8
+ export declare function getRegisteredRecipeCapabilities(): ReadonlyArray<ChartCapability>;
9
+ export declare function hasRegisteredRecipeCapabilities(): boolean;
10
+ /** Register a known runtime implementation used by portable recipe manifests. */
11
+ export declare function registerRecipeLayout(layoutId: string, layout: CustomLayoutFunction): void;
12
+ export declare function unregisterRecipeLayout(layoutId: string): void;
13
+ export declare function getRecipeLayout(layoutId: string): CustomLayoutFunction | undefined;
14
+ export declare function resolveChartRecipe(value: unknown): ChartRecipe | undefined;