semiotic 3.7.5 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/CLAUDE.md +63 -18
  2. package/README.md +121 -27
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1741 -163
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2733 -536
  9. package/ai/surface-manifest.json +201 -0
  10. package/ai/system-prompt.md +20 -4
  11. package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
  12. package/dist/components/AccessibleNavTree.d.ts +7 -1
  13. package/dist/components/CategoryColors.d.ts +1 -1
  14. package/dist/components/ChartContainer.d.ts +91 -0
  15. package/dist/components/ChartGrid.d.ts +11 -1
  16. package/dist/components/CircularBrush.d.ts +61 -0
  17. package/dist/components/ContextLayout.d.ts +5 -1
  18. package/dist/components/DirectManipulationControl.d.ts +63 -0
  19. package/dist/components/LinkedCharts.d.ts +3 -1
  20. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  21. package/dist/components/MobileChartContainer.d.ts +51 -0
  22. package/dist/components/MobileStandardControls.d.ts +68 -0
  23. package/dist/components/SmallMultipleChart.d.ts +84 -0
  24. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  25. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  26. package/dist/components/ai/IntentMark.d.ts +15 -0
  27. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  28. package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
  31. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  32. package/dist/components/ai/chartRecipes.d.ts +278 -0
  33. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  34. package/dist/components/ai/describeChart.d.ts +7 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +28 -3
  37. package/dist/components/ai/intentManifest.d.ts +62 -0
  38. package/dist/components/ai/navigationTree.d.ts +3 -0
  39. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  40. package/dist/components/ai/readerGrounding.d.ts +83 -0
  41. package/dist/components/ai/recipeCapability.d.ts +8 -0
  42. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  43. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  44. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  45. package/dist/components/ai/suggestCharts.d.ts +11 -1
  46. package/dist/components/ai/useNavigationSync.d.ts +17 -2
  47. package/dist/components/chartContainerMobile.d.ts +9 -0
  48. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  49. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  50. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  51. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  52. package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
  53. package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
  54. package/dist/components/charts/geo/FlowMap.d.ts +11 -7
  55. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
  56. package/dist/components/charts/geo/index.d.ts +2 -0
  57. package/dist/components/charts/index.d.ts +35 -1
  58. package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
  59. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  60. package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
  61. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  63. package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
  64. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  65. package/dist/components/charts/network/Treemap.d.ts +1 -1
  66. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  67. package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
  68. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  69. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  71. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
  73. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  74. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  75. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  76. package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
  77. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  78. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  79. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  80. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  81. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
  83. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
  85. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  86. package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
  87. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  88. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  89. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  91. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
  92. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  93. package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
  94. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  95. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  96. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  97. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  98. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  99. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  100. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  101. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  102. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  103. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  104. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  105. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  106. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  107. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  108. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  109. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  110. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  111. package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
  112. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  113. package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
  114. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  115. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  116. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  117. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  118. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  119. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  120. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  121. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  122. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  123. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  124. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  125. package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
  126. package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
  127. package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
  128. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  129. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  130. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  131. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  132. package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
  133. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  134. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  135. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  136. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  137. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  138. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  139. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  140. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  141. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  142. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  143. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  144. package/dist/components/charts/shared/datumTypes.d.ts +2 -0
  145. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
  146. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  147. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  148. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  149. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  150. package/dist/components/charts/shared/formatUtils.d.ts +3 -3
  151. package/dist/components/charts/shared/hatchFill.d.ts +87 -0
  152. package/dist/components/charts/shared/hooks.d.ts +34 -10
  153. package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
  154. package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
  155. package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
  156. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  157. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  158. package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
  159. package/dist/components/charts/shared/sparseArray.d.ts +1 -1
  160. package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
  161. package/dist/components/charts/shared/styleRules.d.ts +205 -0
  162. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  163. package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
  164. package/dist/components/charts/shared/types.d.ts +58 -7
  165. package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
  166. package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
  167. package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
  168. package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
  169. package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
  170. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  171. package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
  172. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
  173. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
  174. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  175. package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
  176. package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
  177. package/dist/components/charts/shared/validateChartData.d.ts +7 -5
  178. package/dist/components/charts/shared/validationMap.d.ts +7 -9
  179. package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
  180. package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
  181. package/dist/components/charts/value/targetPresentation.d.ts +22 -0
  182. package/dist/components/charts/value/types.d.ts +5 -6
  183. package/dist/components/charts/xy/AreaChart.d.ts +9 -1
  184. package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
  185. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
  186. package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
  187. package/dist/components/charts/xy/Heatmap.d.ts +2 -2
  188. package/dist/components/charts/xy/LineChart.d.ts +12 -1
  189. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  190. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  191. package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
  192. package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
  193. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  194. package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
  195. package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
  196. package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
  197. package/dist/components/controls/SentenceFilter.d.ts +97 -0
  198. package/dist/components/controls/controlAudit.d.ts +24 -0
  199. package/dist/components/controls/controlContract.d.ts +57 -0
  200. package/dist/components/data/fromFlintChart.d.ts +74 -0
  201. package/dist/components/data/fromVegaLite.d.ts +46 -9
  202. package/dist/components/data/portability/index.d.ts +6 -3
  203. package/dist/components/data/portability/result.d.ts +52 -0
  204. package/dist/components/data/portability/spec.d.ts +31 -0
  205. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  206. package/dist/components/export/chartConfig.d.ts +11 -0
  207. package/dist/components/realtime/types.d.ts +11 -0
  208. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  209. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  210. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  211. package/dist/components/recipes/cyclical.d.ts +39 -0
  212. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  213. package/dist/components/recipes/forceLayout.d.ts +48 -0
  214. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  215. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  216. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  217. package/dist/components/recipes/gofishIR.d.ts +178 -132
  218. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  219. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  220. package/dist/components/recipes/intervals.d.ts +80 -0
  221. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  222. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  223. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  224. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  225. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  226. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  227. package/dist/components/recipes/physics.d.ts +122 -0
  228. package/dist/components/recipes/physicsReference.d.ts +102 -0
  229. package/dist/components/recipes/processAggregates.d.ts +32 -0
  230. package/dist/components/recipes/processChrome.d.ts +67 -0
  231. package/dist/components/recipes/processJourney.d.ts +54 -0
  232. package/dist/components/recipes/processPhysics.d.ts +300 -0
  233. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  234. package/dist/components/recipes/radialCoords.d.ts +69 -0
  235. package/dist/components/recipes/random.d.ts +2 -0
  236. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  237. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  238. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  239. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  240. package/dist/components/recipes/runs.d.ts +59 -0
  241. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  242. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  243. package/dist/components/recipes/unitize.d.ts +108 -0
  244. package/dist/components/recipes/vector.d.ts +28 -0
  245. package/dist/components/recipes/waffle.d.ts +43 -0
  246. package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
  247. package/dist/components/semiotic-ai-core.d.ts +47 -0
  248. package/dist/components/semiotic-ai.d.ts +53 -9
  249. package/dist/components/semiotic-controls.d.ts +20 -0
  250. package/dist/components/semiotic-experimental.d.ts +38 -9
  251. package/dist/components/semiotic-geo.d.ts +15 -0
  252. package/dist/components/semiotic-network.d.ts +15 -0
  253. package/dist/components/semiotic-ordinal.d.ts +14 -0
  254. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  255. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  256. package/dist/components/semiotic-physics.d.ts +60 -0
  257. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  258. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  259. package/dist/components/semiotic-realtime.d.ts +4 -30
  260. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  261. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  262. package/dist/components/semiotic-recipes.d.ts +4 -43
  263. package/dist/components/semiotic-rough.d.ts +4 -0
  264. package/dist/components/semiotic-server-edge.d.ts +8 -0
  265. package/dist/components/semiotic-server-node.d.ts +5 -0
  266. package/dist/components/semiotic-server.d.ts +2 -2
  267. package/dist/components/semiotic-themes-core.d.ts +53 -0
  268. package/dist/components/semiotic-themes-react.d.ts +4 -0
  269. package/dist/components/semiotic-themes.d.ts +6 -76
  270. package/dist/components/semiotic-utils-core.d.ts +50 -0
  271. package/dist/components/semiotic-utils-react.d.ts +5 -0
  272. package/dist/components/semiotic-utils.d.ts +3 -39
  273. package/dist/components/semiotic-xy.d.ts +12 -0
  274. package/dist/components/semiotic.d.ts +44 -8
  275. package/dist/components/server/animatedGif.d.ts +36 -0
  276. package/dist/components/server/optionalImageTypes.d.ts +37 -0
  277. package/dist/components/server/renderEvidence.d.ts +1 -1
  278. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  279. package/dist/components/server/serverChartConfigShared.d.ts +21 -0
  280. package/dist/components/server/serverChartConfigs.d.ts +22 -12
  281. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  282. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  283. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  284. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  285. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  286. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  287. package/dist/components/server/staticAnnotations.d.ts +6 -3
  288. package/dist/components/server/staticGeo.d.ts +4 -0
  289. package/dist/components/server/staticLegend.d.ts +2 -2
  290. package/dist/components/server/staticNetwork.d.ts +8 -0
  291. package/dist/components/server/staticOrdinal.d.ts +11 -0
  292. package/dist/components/server/staticPhysics.d.ts +3 -0
  293. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  294. package/dist/components/server/staticXY.d.ts +4 -0
  295. package/dist/components/store/ObservationStore.d.ts +23 -2
  296. package/dist/components/store/themeSerialization.d.ts +32 -0
  297. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  298. package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
  299. package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
  300. package/dist/components/stream/CanvasHitTester.d.ts +4 -4
  301. package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
  302. package/dist/components/stream/FocusRing.d.ts +4 -2
  303. package/dist/components/stream/FrameRuntime.d.ts +57 -0
  304. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  305. package/dist/components/stream/GeoParticlePool.d.ts +1 -1
  306. package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
  307. package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
  308. package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
  309. package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
  310. package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
  311. package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
  312. package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
  313. package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
  314. package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
  315. package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
  316. package/dist/components/stream/ParticlePool.d.ts +1 -1
  317. package/dist/components/stream/PipelineStore.d.ts +81 -174
  318. package/dist/components/stream/SVGOverlay.d.ts +6 -0
  319. package/dist/components/stream/SceneGraph.d.ts +12 -4
  320. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  321. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  322. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  323. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  324. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  325. package/dist/components/stream/accessorUtils.d.ts +25 -12
  326. package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
  327. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  328. package/dist/components/stream/canvasBackground.d.ts +24 -0
  329. package/dist/components/stream/canvasSetup.d.ts +4 -1
  330. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  331. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  332. package/dist/components/stream/frameGraphics.d.ts +4 -0
  333. package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
  334. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  335. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  336. package/dist/components/stream/geoCartogram.d.ts +17 -0
  337. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  338. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  339. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  340. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  341. package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
  342. package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
  343. package/dist/components/stream/geoTypes.d.ts +97 -15
  344. package/dist/components/stream/glyphDef.d.ts +98 -0
  345. package/dist/components/stream/hitTarget.d.ts +170 -0
  346. package/dist/components/stream/hitTestUtils.d.ts +2 -2
  347. package/dist/components/stream/hoverUtils.d.ts +7 -2
  348. package/dist/components/stream/keyboardNav.d.ts +4 -1
  349. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  350. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
  351. package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
  352. package/dist/components/stream/networkBezier.d.ts +10 -0
  353. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  354. package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
  355. package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
  356. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  357. package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
  358. package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
  359. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  360. package/dist/components/stream/networkFrameObservations.d.ts +15 -0
  361. package/dist/components/stream/networkFramePaint.d.ts +52 -0
  362. package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
  363. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  364. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  365. package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
  366. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  367. package/dist/components/stream/networkTypes.d.ts +103 -51
  368. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  370. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  371. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  372. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
  373. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  374. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  375. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  376. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
  377. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  378. package/dist/components/stream/ordinalTypes.d.ts +68 -9
  379. package/dist/components/stream/paintNeeds.d.ts +31 -0
  380. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  381. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  382. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  383. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  384. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  385. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  386. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  387. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  388. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  389. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  390. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  391. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  392. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  393. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  394. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
  395. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  396. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
  397. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  398. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  399. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  400. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  401. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  402. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  403. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  404. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  405. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  406. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  407. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
  408. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  409. package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
  410. package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
  411. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  412. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  413. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  414. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
  415. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  416. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  417. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
  418. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  419. package/dist/components/stream/pipelineConfig.d.ts +179 -0
  420. package/dist/components/stream/pipelineDecay.d.ts +21 -3
  421. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  422. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  423. package/dist/components/stream/pipelinePulse.d.ts +17 -3
  424. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  425. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  426. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
  427. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  428. package/dist/components/stream/pipelineTransitions.d.ts +3 -1
  429. package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
  430. package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
  431. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  432. package/dist/components/stream/renderBackend.d.ts +27 -0
  433. package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
  434. package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
  435. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  436. package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
  437. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  438. package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
  439. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
  440. package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
  441. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  442. package/dist/components/stream/streamThemeTypes.d.ts +14 -0
  443. package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
  444. package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
  445. package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
  446. package/dist/components/stream/titleLayout.d.ts +31 -0
  447. package/dist/components/stream/types.d.ts +165 -72
  448. package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
  449. package/dist/components/stream/useFrame.d.ts +44 -2
  450. package/dist/components/stream/useHydration.d.ts +6 -0
  451. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  452. package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
  453. package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
  454. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  455. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  456. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  457. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  458. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  459. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  460. package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
  461. package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
  462. package/dist/controls.min.js +2 -0
  463. package/dist/controls.module.min.js +2 -0
  464. package/dist/forceLayoutWorker.js +1 -0
  465. package/dist/geo.min.js +1 -1
  466. package/dist/geo.module.min.js +1 -1
  467. package/dist/network.min.js +1 -1
  468. package/dist/network.module.min.js +1 -1
  469. package/dist/ordinal.min.js +1 -1
  470. package/dist/ordinal.module.min.js +1 -1
  471. package/dist/physics-matter.min.js +1 -0
  472. package/dist/physics-matter.module.min.js +1 -0
  473. package/dist/physics-rapier.min.js +1 -0
  474. package/dist/physics-rapier.module.min.js +1 -0
  475. package/dist/physics.min.js +2 -0
  476. package/dist/physics.module.min.js +2 -0
  477. package/dist/physicsWorker.js +1 -0
  478. package/dist/realtime.min.js +1 -1
  479. package/dist/realtime.module.min.js +1 -1
  480. package/dist/rough.min.js +1 -0
  481. package/dist/rough.module.min.js +1 -0
  482. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  483. package/dist/semiotic-ai-core.d.ts +47 -0
  484. package/dist/semiotic-ai-core.min.js +1 -0
  485. package/dist/semiotic-ai-core.module.min.js +1 -0
  486. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  487. package/dist/semiotic-ai.d.ts +53 -9
  488. package/dist/semiotic-ai.min.js +1 -1
  489. package/dist/semiotic-ai.module.min.js +1 -1
  490. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  491. package/dist/semiotic-controls.d.ts +20 -0
  492. package/dist/semiotic-data.min.js +1 -1
  493. package/dist/semiotic-data.module.min.js +1 -1
  494. package/dist/semiotic-experimental.d.ts +38 -9
  495. package/dist/semiotic-experimental.min.js +1 -1
  496. package/dist/semiotic-experimental.module.min.js +1 -1
  497. package/dist/semiotic-geo.d.ts +15 -0
  498. package/dist/semiotic-network.d.ts +15 -0
  499. package/dist/semiotic-ordinal.d.ts +14 -0
  500. package/dist/semiotic-physics-matter.d.ts +10 -0
  501. package/dist/semiotic-physics-rapier.d.ts +9 -0
  502. package/dist/semiotic-physics.d.ts +60 -0
  503. package/dist/semiotic-realtime-core.d.ts +34 -0
  504. package/dist/semiotic-realtime-core.min.js +1 -0
  505. package/dist/semiotic-realtime-core.module.min.js +1 -0
  506. package/dist/semiotic-realtime-react.d.ts +10 -0
  507. package/dist/semiotic-realtime-react.min.js +2 -0
  508. package/dist/semiotic-realtime-react.module.min.js +2 -0
  509. package/dist/semiotic-realtime.d.ts +4 -30
  510. package/dist/semiotic-recipes-core.d.ts +92 -0
  511. package/dist/semiotic-recipes-core.min.js +1 -0
  512. package/dist/semiotic-recipes-core.module.min.js +1 -0
  513. package/dist/semiotic-recipes-react.d.ts +7 -0
  514. package/dist/semiotic-recipes-react.min.js +2 -0
  515. package/dist/semiotic-recipes-react.module.min.js +2 -0
  516. package/dist/semiotic-recipes.d.ts +4 -43
  517. package/dist/semiotic-recipes.min.js +1 -1
  518. package/dist/semiotic-recipes.module.min.js +1 -1
  519. package/dist/semiotic-rough.d.ts +4 -0
  520. package/dist/semiotic-server-edge.d.ts +8 -0
  521. package/dist/semiotic-server-edge.min.js +1 -0
  522. package/dist/semiotic-server-edge.module.min.js +1 -0
  523. package/dist/semiotic-server-node.d.ts +5 -0
  524. package/dist/semiotic-server-node.min.js +1 -0
  525. package/dist/semiotic-server-node.module.min.js +1 -0
  526. package/dist/semiotic-server.d.ts +2 -2
  527. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  528. package/dist/semiotic-themes-core.d.ts +53 -0
  529. package/dist/semiotic-themes-core.min.js +1 -0
  530. package/dist/semiotic-themes-core.module.min.js +1 -0
  531. package/dist/semiotic-themes-react.d.ts +4 -0
  532. package/dist/semiotic-themes-react.min.js +2 -0
  533. package/dist/semiotic-themes-react.module.min.js +2 -0
  534. package/dist/semiotic-themes.d.ts +6 -76
  535. package/dist/semiotic-themes.min.js +1 -2
  536. package/dist/semiotic-themes.module.min.js +1 -2
  537. package/dist/semiotic-utils-core.d.ts +50 -0
  538. package/dist/semiotic-utils-core.min.js +1 -0
  539. package/dist/semiotic-utils-core.module.min.js +1 -0
  540. package/dist/semiotic-utils-react.d.ts +5 -0
  541. package/dist/semiotic-utils-react.min.js +2 -0
  542. package/dist/semiotic-utils-react.module.min.js +2 -0
  543. package/dist/semiotic-utils.d.ts +3 -39
  544. package/dist/semiotic-utils.min.js +1 -2
  545. package/dist/semiotic-utils.module.min.js +1 -2
  546. package/dist/semiotic-value.min.js +1 -1
  547. package/dist/semiotic-value.module.min.js +1 -1
  548. package/dist/semiotic-xy.d.ts +12 -0
  549. package/dist/semiotic.d.ts +44 -8
  550. package/dist/semiotic.min.js +1 -1
  551. package/dist/semiotic.module.min.js +1 -1
  552. package/dist/server.min.js +1 -1
  553. package/dist/server.module.min.js +1 -1
  554. package/dist/test-utils/capturedFrameProps.d.ts +67 -0
  555. package/dist/test-utils/frameMock.d.ts +12 -9
  556. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  557. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  558. package/dist/xy.min.js +1 -1
  559. package/dist/xy.module.min.js +1 -1
  560. package/package.json +259 -88
  561. package/spec/README.md +152 -0
  562. package/spec/bindings/README.md +35 -0
  563. package/spec/bindings/vega-lite.mjs +112 -0
  564. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  565. package/spec/v0.1/audience-profile.schema.json +67 -0
  566. package/spec/v0.1/chart-capability.schema.json +186 -0
  567. package/dist/components/recipes/gofish.d.ts +0 -207
  568. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  569. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  570. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  571. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  572. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  573. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  574. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  575. package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
@@ -0,0 +1,201 @@
1
+ {
2
+ "__generated": true,
3
+ "__source": [
4
+ "package.json",
5
+ "ai/schema.json",
6
+ "ai/componentMetadata.cjs",
7
+ "src/components/semiotic-ai.ts",
8
+ "ai/mcp-server.ts"
9
+ ],
10
+ "version": "3.8.1",
11
+ "components": {
12
+ "schema": 54,
13
+ "aiChartExports": 51,
14
+ "mcpRenderable": 48,
15
+ "browserOnly": 6,
16
+ "categories": {
17
+ "xy": [
18
+ "AreaChart",
19
+ "BubbleChart",
20
+ "CandlestickChart",
21
+ "ConnectedScatterplot",
22
+ "DifferenceChart",
23
+ "Heatmap",
24
+ "LineChart",
25
+ "MinimapChart",
26
+ "MultiAxisLineChart",
27
+ "QuadrantChart",
28
+ "Scatterplot",
29
+ "ScatterplotMatrix",
30
+ "StackedAreaChart"
31
+ ],
32
+ "ordinal": [
33
+ "BarChart",
34
+ "BoxPlot",
35
+ "DonutChart",
36
+ "DotPlot",
37
+ "FunnelChart",
38
+ "GaugeChart",
39
+ "GroupedBarChart",
40
+ "Histogram",
41
+ "LikertChart",
42
+ "PieChart",
43
+ "RidgelinePlot",
44
+ "StackedBarChart",
45
+ "SwarmPlot",
46
+ "SwimlaneChart",
47
+ "ViolinPlot"
48
+ ],
49
+ "network": [
50
+ "ChordDiagram",
51
+ "CirclePack",
52
+ "ForceDirectedGraph",
53
+ "OrbitDiagram",
54
+ "ProcessSankey",
55
+ "SankeyDiagram",
56
+ "TreeDiagram",
57
+ "Treemap"
58
+ ],
59
+ "geo": [
60
+ "ChoroplethMap",
61
+ "DistanceCartogram",
62
+ "FlowMap",
63
+ "ProportionalSymbolMap"
64
+ ],
65
+ "realtime": [
66
+ "RealtimeHeatmap",
67
+ "RealtimeHistogram",
68
+ "RealtimeLineChart",
69
+ "RealtimeSwarmChart",
70
+ "RealtimeWaterfallChart",
71
+ "TemporalHistogram"
72
+ ],
73
+ "physics": [
74
+ "CollisionSwarmChart",
75
+ "EventDropChart",
76
+ "GaltonBoardChart",
77
+ "GauntletChart",
78
+ "PhysicalFlowChart",
79
+ "PhysicsPileChart",
80
+ "ProcessFlowChart"
81
+ ],
82
+ "value": [
83
+ "BigNumber"
84
+ ]
85
+ },
86
+ "aiChartExportNames": [
87
+ "AreaChart",
88
+ "BarChart",
89
+ "BigNumber",
90
+ "BoxPlot",
91
+ "BubbleChart",
92
+ "CandlestickChart",
93
+ "ChordDiagram",
94
+ "CirclePack",
95
+ "CollisionSwarmChart",
96
+ "ConnectedScatterplot",
97
+ "DifferenceChart",
98
+ "DonutChart",
99
+ "DotPlot",
100
+ "EventDropChart",
101
+ "ForceDirectedGraph",
102
+ "FunnelChart",
103
+ "GaltonBoardChart",
104
+ "GaugeChart",
105
+ "GauntletChart",
106
+ "GroupedBarChart",
107
+ "Heatmap",
108
+ "Histogram",
109
+ "LikertChart",
110
+ "LineChart",
111
+ "MinimapChart",
112
+ "MultiAxisLineChart",
113
+ "OrbitDiagram",
114
+ "PhysicalFlowChart",
115
+ "PhysicsCustomChart",
116
+ "PhysicsPileChart",
117
+ "PieChart",
118
+ "ProcessFlowChart",
119
+ "ProcessSankey",
120
+ "QuadrantChart",
121
+ "RealtimeHeatmap",
122
+ "RealtimeHistogram",
123
+ "RealtimeLineChart",
124
+ "RealtimeSwarmChart",
125
+ "RealtimeWaterfallChart",
126
+ "RidgelinePlot",
127
+ "SankeyDiagram",
128
+ "Scatterplot",
129
+ "ScatterplotMatrix",
130
+ "StackedAreaChart",
131
+ "StackedBarChart",
132
+ "SwarmPlot",
133
+ "SwimlaneChart",
134
+ "TemporalHistogram",
135
+ "TreeDiagram",
136
+ "Treemap",
137
+ "ViolinPlot"
138
+ ],
139
+ "geoExcludedFromAIExports": [
140
+ "ChoroplethMap",
141
+ "DistanceCartogram",
142
+ "FlowMap",
143
+ "ProportionalSymbolMap"
144
+ ]
145
+ },
146
+ "mcp": {
147
+ "toolCount": 23,
148
+ "tools": [
149
+ "applyTheme",
150
+ "auditAccessibility",
151
+ "auditChart",
152
+ "auditMobileVisualization",
153
+ "createChart",
154
+ "diagnoseConfig",
155
+ "explainChart",
156
+ "getChartSchema",
157
+ "getSchema",
158
+ "groundChart",
159
+ "improveChart",
160
+ "interrogateChart",
161
+ "proposeChartVariants",
162
+ "renderChart",
163
+ "renderInteractiveChart",
164
+ "repairChartConfig",
165
+ "reportIssue",
166
+ "suggestChart",
167
+ "suggestCharts",
168
+ "suggestDashboard",
169
+ "suggestStreamCharts",
170
+ "suggestStretchCharts",
171
+ "suggestTokenEncoding"
172
+ ],
173
+ "publicProfile": {
174
+ "toolCount": 5,
175
+ "tools": [
176
+ "createChart",
177
+ "improveChart",
178
+ "explainChart",
179
+ "auditChart",
180
+ "getChartSchema"
181
+ ],
182
+ "activation": "semiotic-mcp --profile public or MCP_TOOL_PROFILE=public"
183
+ },
184
+ "resourceCount": 8,
185
+ "resources": [
186
+ "semiotic-behavior-contracts",
187
+ "semiotic-build-info",
188
+ "semiotic-chatgpt-chart-widget",
189
+ "semiotic-components",
190
+ "semiotic-examples",
191
+ "semiotic-schema",
192
+ "semiotic-surface-manifest",
193
+ "semiotic-system-prompt"
194
+ ],
195
+ "promptCount": 2,
196
+ "prompts": [
197
+ "build-semiotic-chart",
198
+ "debug-semiotic-chart"
199
+ ]
200
+ }
201
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- semiotic-bundle-sizes:start -->
4
4
  <!-- Auto-generated by scripts/sync-bundle-sizes.mjs — do not edit by hand. -->
5
- **Use sub-path imports** — `semiotic/xy` (96KB gz), `semiotic/ordinal` (78KB gz), `semiotic/network` (73KB gz), `semiotic/geo` (57KB gz), `semiotic/realtime` (104KB gz), `semiotic/server` (132KB gz), `semiotic/utils` (39KB gz), `semiotic/recipes` (19KB gz), `semiotic/themes` (6KB gz), `semiotic/data` (4KB gz), `semiotic/value` (6KB gz), `semiotic/ai` (269KB gz). Full `semiotic` is 216KB gz.
5
+ **Use sub-path imports** — `semiotic/xy` (108KB gz), `semiotic/ordinal` (88KB gz), `semiotic/network` (93KB gz), `semiotic/geo` (66KB gz), `semiotic/realtime` (119KB gz), `semiotic/realtime/core` (118KB gz), `semiotic/realtime/react` (1KB gz), `semiotic/server` (124KB gz), `semiotic/server/node` (124KB gz), `semiotic/server/edge` (123KB gz), `semiotic/utils` (59KB gz), `semiotic/utils/core` (58KB gz), `semiotic/utils/react` (4KB gz), `semiotic/recipes` (53KB gz), `semiotic/recipes/core` (52KB gz), `semiotic/recipes/react` (1KB gz), `semiotic/themes` (6KB gz), `semiotic/themes/core` (6KB gz), `semiotic/themes/react` (4KB gz), `semiotic/data` (3KB gz), `semiotic/value` (6KB gz), `semiotic/physics` (104KB gz), `semiotic/physics/matter` (1KB gz), `semiotic/physics/rapier` (1KB gz), `semiotic/ai` (394KB gz), `semiotic/ai/core` (67KB gz), `semiotic/controls` (10KB gz), `semiotic/rough` (3KB gz). Full `semiotic` is 251KB gz.
6
6
  <!-- semiotic-bundle-sizes:end -->
7
7
 
8
8
  ## Flat Array Data (`data: object[]`)
@@ -33,7 +33,7 @@ All ordinal HOCs (except Pie/Donut) support `categoryFormat` — a function `(la
33
33
  - **OrbitDiagram** — animated radial/orbital hierarchy (use this, not TreeDiagram, for animated orbiting nodes). `childrenAccessor`, `nodeIdAccessor`, `orbitMode` ("flat"|"solar"|"atomic"|number[]), `speed`, `animated`. For static radial trees use `TreeDiagram layout="radial"`.
34
34
 
35
35
  ## Network Data (`nodes: object[]`, `edges: object[]`)
36
- - **ForceDirectedGraph** — **`nodes`**, **`edges`** (both required), `nodeIDAccessor`, `sourceAccessor`, `targetAccessor`, `colorBy`, `nodeSize` (number|string|fn), `nodeSizeRange`, `edgeWidth`, `edgeOpacity`, `iterations`, `forceStrength`, `showLabels`, `nodeLabel`, `tooltip`, `showLegend`
36
+ - **ForceDirectedGraph** — **`nodes`**, **`edges`** (both required), `nodeIDAccessor`, `sourceAccessor`, `targetAccessor`, `colorBy`, `nodeSize` (number|string|fn), `nodeSizeRange`, `edgeWidth`, `edgeOpacity`, `iterations`, `forceStrength`, `layoutExecution` (`auto`|`worker`|`sync`), `showLabels`, `nodeLabel`, `tooltip`, `showLegend`
37
37
  - **SankeyDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
38
38
  - **ChordDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
39
39
 
@@ -54,6 +54,16 @@ Sizing: all Realtime HOCs accept both `size={[600, 400]}` (tuple) and `width={60
54
54
 
55
55
  Pushed data shape: `{ time: Date.now(), value: 42 }` for line/waterfall/heatmap, add `category` for histogram/swarm.
56
56
 
57
+ ## Physics (`semiotic/physics`)
58
+
59
+ Use only when motion maps to the data semantics; the settled projection is what readers should use for the chart. Import from `semiotic/physics`.
60
+
61
+ - **GaltonBoardChart** — `data`, `valueAccessor` ("value"), `bins`, `mode` ("sample"|"mechanical"), `pegRows`, `mechanicalCount`, `branchProbability`, `colorBy`, `seed`, `size`. Distribution/sampling drop that settles into bins; mechanical mode can generate a seeded no-data demonstration.
62
+ - **EventDropChart** — `data`, `timeAccessor` ("time"), `arrivalAccessor` ("arrivalTime"), `windows={{size}}`, `watermark={{delay}}`, `timeScale`, `colorBy`, `size`. Event-time arrival replay and late/watermark windows.
63
+ - **PhysicsPileChart** — `data`, `categoryAccessor` ("category"), `valueAccessor` ("value"), `mode` ("sample"|"mechanical"), `mechanicalCount`, `mechanicalCategories`, `unitValue`, `colorBy`, `showProjection`, `size`. Unitized category piles; mechanical mode can generate a seeded no-data capacity sketch; default projection overlay keeps exact totals readable; raise `unitValue` for large values.
64
+ - **CollisionSwarmChart** — `data`, `xAccessor` ("x"), optional `groupAccessor`, `radiusAccessor`, `xExtent`, `collisionIterations`, `settle`, `showProjection`, `colorBy`, `size`. Collision-relaxed dot-strip/swarm chart that preserves quantitative axis position and optional group lanes.
65
+ - **PhysicsCustomChart** — `data`, `layout(ctx)`, `layoutConfig`, `config`, `colorBy`, `size`. Escape hatch for bespoke physics scenes; layouts return bodies/colliders/sensors plus optional SVG overlays.
66
+
57
67
  ### Push API on HOC charts
58
68
  Many HOC charts support the push API via `forwardRef`. **Omit the `data` prop** (do NOT pass `data={[]}`) and push imperatively:
59
69
  ```jsx
@@ -79,12 +89,13 @@ For advanced streaming control, use Stream Frames (`StreamXYFrame`, `StreamOrdin
79
89
  `onClick={(datum, { x, y }) => ...}` — called when a data element is clicked. Receives the original datum and pixel coordinates. Works on lines, bars, areas, pie slices, nodes, and geo features.
80
90
 
81
91
  ### onObservation
82
- Callback receiving `ChartObservation`: `{ type: "hover"|"click"|"brush"|"selection", datum: <your data>, x, y, timestamp, chartType, chartId }`. The `datum` field is your original data object. Hover-end/click-end events omit `datum`.
92
+ Callback receiving `ChartObservation`. Pointer exploration emits `hover`/`click`; keyboard or structured traversal additionally emits semantic `focus`/`activate` with `inputType: "keyboard"|"pointer"|"touch"|"navigation-tree"`. Stable widget annotations emit `annotation-activate` with `annotationId`. Events also include `timestamp`, `chartType`, and optional `chartId`; datum events carry your original data object. Hover-end/click-end events omit `datum`.
83
93
 
84
94
  ### emphasis
85
95
  `emphasis="primary"` makes a chart span two columns inside a `ChartGrid`.
86
96
 
87
97
  ## Annotations (all chart families)
98
+ - Give interactive `widget` annotations an `id`, `stableId`, or `provenance.stableId`; activation identity never falls back to array index. Observe widget activation on Stream Frames with `onAnnotationActivate`, or on HOCs through `frameProps.onAnnotationActivate`.
88
99
  - `annotations={[{ type: "y-threshold", value: 200, label: "SLA limit", color: "#e45050", labelPosition: "right" }]}` — horizontal reference line (works on XY and vertical ordinal charts). `labelPosition`: "left"|"center"|"right"
89
100
  - `annotations={[{ type: "x-threshold", value: 50, label: "Cutoff", labelPosition: "top" }]}` — vertical reference line. `labelPosition`: "top"|"center"|"bottom"
90
101
  - `annotations={[{ type: "callout-circle", x: 5, y: 20, label: "Peak", radius: 12 }]}` — data-bound callout; use `callout-rect` with `width`/`height` for a rectangular subject
@@ -94,6 +105,11 @@ Callback receiving `ChartObservation`: `{ type: "hover"|"click"|"brush"|"selecti
94
105
  - `autoPlaceAnnotations={{ density: true, progressiveDisclosure: true, redundantCues: true }}` — opt-in placement, clutter management, and non-color association support
95
106
  - Annotation metadata: `emphasis`, `defensive`, `provenance`, and `lifecycle`; use `applyAnnotationLifecycle`, `applyAnnotationStatus`, and `filterAnnotationsByStatus` from `semiotic/ai`
96
107
 
108
+ ## ISOTYPE & Icon Size Guidance
109
+ - Repeated pictograms, semantic icons, and glyph tokens should be visibly legible in the final rendered layout. Treat 16px as the minimum intended rendered icon dimension for ISOTYPE/icon-array designs.
110
+ - This is design guidance, not a Semiotic-enforced minimum. Low-level helpers may default smaller for dense or sparkline-like contexts, so set `tokenSize`, glyph `size`, SVG slots, or wrapping explicitly when producing AI-authored examples.
111
+ - If the available width would shrink icons below that visual floor, wrap the tokens into multiple rows/columns, reduce the number of visible tokens, change the unit value, or choose a non-icon encoding instead of shipping tiny pictograms.
112
+
97
113
  ## Theming & Brand Styling
98
114
  All charts respond to CSS custom properties on any ancestor:
99
115
  ```css
@@ -142,6 +158,6 @@ These rules are generated from `ai/behaviorContracts.cjs` and are consumed by `s
142
158
  - **Percentile band + main line**: Layer `<AreaChart yAccessor="p95" y0Accessor="p5" showLine={false} />` + `<LineChart yAccessor="p50" />`. AreaChart's `showLine` only draws the top edge, NOT a separate main line.
143
159
  - **SSR**: `renderChart("BarChart", props)` from `semiotic/server` — uses HOC names. Also `"Sparkline"` (no axes, 2px margins). `renderChartWithEvidence()` returns `{ svg, evidence }` (mark counts by scene type, axis domains, empty flag, annotation count, accessible name) so agents can verify the render drew data marks. `renderToImage()` (PNG), `renderToAnimatedGif()` (GIF), `renderDashboard()` (multi-chart). All accept `theme`. Required props: StackedBarChart needs `stackBy`, GroupedBarChart needs `groupBy`, StackedAreaChart needs `areaBy`, BubbleChart needs `sizeBy`, FunnelChart uses `stepAccessor`, GaugeChart needs `value` (`thresholds` optional).
144
160
  - **CLI**: `npx semiotic-ai --list` shows components/import paths/renderability; `npx semiotic-ai --schema GaugeChart` prints one component schema with metadata; `--doctor` validates props JSON and behavior contracts.
145
- - **MCP**: `npx semiotic-mcp` exposes schema, suggestion, diagnosis, accessibility, grounding, issue, theme, static render (`renderChart`), and ChatGPT Apps render (`renderInteractiveChart`) tools. Resources include `semiotic://schema`, `semiotic://components`, `semiotic://behavior-contracts`, `semiotic://system-prompt`, `semiotic://examples`, and the widget template `ui://semiotic/chart-widget.html`. Prompts: `build-semiotic-chart`, `debug-semiotic-chart`.
161
+ - **MCP**: `npx semiotic-mcp` exposes schema, chart suggestion, token-encoding suggestion (`suggestTokenEncoding` for ISOTYPE/dot/icon arrays), diagnosis, accessibility, grounding, issue, theme, static render (`renderChart`), and ChatGPT Apps render (`renderInteractiveChart`) tools. Resources include `semiotic://schema`, `semiotic://components`, `semiotic://behavior-contracts`, `semiotic://system-prompt`, `semiotic://examples`, and the widget template `ui://semiotic/chart-widget.html`. Prompts: `build-semiotic-chart`, `debug-semiotic-chart`.
146
162
  - **Data Pitfalls bridge**: `toDataPitfallsChain(component, props, { rendered, context, narrative })` from `semiotic/ai` returns a dependency-free `datapitfalls` chain input containing config, JSX, reader grounding, diagnostics, accessibility audit, and optional render evidence/image.
147
163
  - **exportChart**: Pass the wrapper div, not the SVG element: `exportChart(wrapperDiv, { format: "png" })`. It finds canvas+SVG internally.
@@ -0,0 +1,20 @@
1
+ import type { Datum } from "../../components/charts/shared/datumTypes";
2
+ export interface JsonRpcResponse {
3
+ jsonrpc: "2.0";
4
+ id: string | number;
5
+ result: Datum;
6
+ error?: Datum;
7
+ }
8
+ export interface ListedMcpTool {
9
+ name: string;
10
+ _meta?: {
11
+ ui?: {
12
+ resourceUri: string;
13
+ };
14
+ "openai/outputTemplate"?: string;
15
+ };
16
+ annotations?: {
17
+ readOnlyHint?: boolean;
18
+ destructiveHint?: boolean;
19
+ };
20
+ }
@@ -1,5 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type NavTreeNode } from "./ai/navigationTree";
3
+ import { type OnObservationCallback } from "./store/ObservationStore";
4
+ import { type OnAnnotationActivateCallback } from "./charts/shared/annotationActivation";
3
5
  export interface AccessibleNavTreeProps {
4
6
  tree: NavTreeNode;
5
7
  /** Accessible name for the tree. */
@@ -22,5 +24,9 @@ export interface AccessibleNavTreeProps {
22
24
  * the conversation-arc store is enabled — zero-overhead otherwise.
23
25
  */
24
26
  chartId?: string;
27
+ /** Normalized focus/activation events produced by structured navigation. */
28
+ onObservation?: OnObservationCallback;
29
+ /** Observe activation of an annotation leaf in the navigation tree. */
30
+ onAnnotationActivate?: OnAnnotationActivateCallback;
25
31
  }
26
- export declare function AccessibleNavTree({ tree, label, visible, className, onActiveChange, activeId: controlledActiveId, chartId }: AccessibleNavTreeProps): React.JSX.Element;
32
+ export declare function AccessibleNavTree({ tree, label, visible, className, onActiveChange, activeId: controlledActiveId, chartId, onObservation, onAnnotationActivate }: AccessibleNavTreeProps): React.JSX.Element;
@@ -14,7 +14,7 @@ export interface CategoryColorProviderProps {
14
14
  */
15
15
  categories?: string[];
16
16
  /** Color scheme to use for auto-assignment. Default: "category10" */
17
- colorScheme?: string | string[];
17
+ colorScheme?: string | string[] | Record<string, string>;
18
18
  children: React.ReactNode;
19
19
  }
20
20
  /**
@@ -1,6 +1,62 @@
1
1
  import * as React from "react";
2
2
  import type { ChartConfig, CopyFormat } from "./export/chartConfig";
3
3
  import { type DescribeLevel } from "./ai/describeChart";
4
+ import type { ChartMode, MobileInteractionProp } from "./charts/shared/types";
5
+ import { type MobileStandardControlRequest, type MobileStandardControlsProps } from "./MobileStandardControls";
6
+ import { type MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
7
+ export type ChartNotificationLevel = "info" | "success" | "warning" | "error" | "neutral";
8
+ /**
9
+ * One entry in a ChartContainer's notification stack — chart-level context
10
+ * that has no single mark to anchor to: an audit or data-pitfall finding, a
11
+ * data-quality result that couldn't be placed on the plot, or any
12
+ * user-authored notice about the chart as a whole.
13
+ */
14
+ export interface ChartNotification {
15
+ /** Stable identity — keys dismissal across re-renders. Falls back to the
16
+ * array index, so pass an `id` whenever the list can reorder or stream. */
17
+ id?: string;
18
+ /** Maps to the theme's semantic role color. Default: "info". */
19
+ level?: ChartNotificationLevel;
20
+ /** Short bold lead-in (e.g. the finding name). */
21
+ title?: string;
22
+ /** Body content. */
23
+ message: React.ReactNode;
24
+ /** Small uppercase origin tag (e.g. "datapitfalls · Graphical Gaffes"). */
25
+ source?: string;
26
+ /** Default true. Set false for must-see notices that can't be dismissed. */
27
+ dismissible?: boolean;
28
+ }
29
+ export interface ChartContainerMobileOptions {
30
+ /** Width at or below which the container applies mobile CSS affordances. Default 480. */
31
+ breakpoint?: number;
32
+ /** Semantic mobile contract passed to child charts that do not already declare one. */
33
+ semantics?: MobileVisualizationContract;
34
+ /** Default chart mode to inject into a single child chart when it has no mode. Pass false to disable. */
35
+ chartMode?: ChartMode | false;
36
+ /** Touch-first interaction policy passed to child charts that do not already declare one. */
37
+ mobileInteraction?: MobileInteractionProp;
38
+ /**
39
+ * Render touch-sized fallback controls for complex mobile gestures. Pass a
40
+ * control request ("brush", "zoom", "legend", "all", true, or an array) or
41
+ * a full MobileStandardControls config with callbacks and state.
42
+ */
43
+ standardControls?: MobileStandardControlRequest | MobileStandardControlsProps;
44
+ /** Mobile-only summary rendered between header and chart body. */
45
+ summary?: React.ReactNode;
46
+ /** Let a non-transformed chart scroll horizontally rather than clip. Prefer responsiveRules when possible. */
47
+ allowHorizontalScroll?: boolean;
48
+ /** Hide toolbar controls behind CSS at phone width. Default false. */
49
+ hideToolbar?: boolean;
50
+ }
51
+ export interface ChartContainerMobileAuditOptions {
52
+ /** Phone viewport used for the authoring audit. Default 390. */
53
+ viewportWidth?: number;
54
+ /** Expected touch target size in CSS pixels. Default 44. */
55
+ targetSize?: number;
56
+ /** Render a visible warning banner in addition to console warnings. */
57
+ visible?: boolean;
58
+ }
59
+ export type ChartContainerMobileAudit = boolean | "warn" | ChartContainerMobileAuditOptions;
4
60
  export interface ChartContainerProps {
5
61
  /** Chart title */
6
62
  title?: string;
@@ -60,6 +116,28 @@ export interface ChartContainerProps {
60
116
  };
61
117
  /** Additional controls rendered in the toolbar after built-in actions */
62
118
  controls?: React.ReactNode;
119
+ /**
120
+ * Persistent content rendered between the header and chart body. Useful for
121
+ * data-source notices, refresh actions, and other status banners that should
122
+ * remain visible while the chart is loading.
123
+ */
124
+ banner?: React.ReactNode;
125
+ /**
126
+ * Chart-level notices rendered as a dismissible, severity-leveled stack
127
+ * between the header and the chart body — the surface for findings that
128
+ * have no mark to anchor to (a data-pitfalls or audit finding about the
129
+ * whole chart, an unplaceable data-quality result) and for any custom
130
+ * user-authored notice. The stack is an `aria-live="polite"` status region,
131
+ * so notifications that arrive while streaming are announced.
132
+ */
133
+ notifications?: ChartNotification[];
134
+ /**
135
+ * Called when a notification's dismiss button is clicked. Dismissal state
136
+ * is tracked internally (keyed by `notification.id`, falling back to array
137
+ * index) whether or not this is provided — use the callback to sync your
138
+ * own store or telemetry.
139
+ */
140
+ onNotificationDismiss?: (notification: ChartNotification, index: number) => void;
63
141
  /** Loading state — shows skeleton placeholder */
64
142
  loading?: boolean;
65
143
  /** Error state — shows error message (overrides children) */
@@ -70,6 +148,19 @@ export interface ChartContainerProps {
70
148
  status?: "live" | "stale" | "paused" | "error" | "static";
71
149
  /** Details panel rendered alongside the chart (e.g. DetailsPanel component) */
72
150
  detailsPanel?: React.ReactNode;
151
+ /**
152
+ * Mobile container affordances. Does not resize the chart by itself; it
153
+ * provides mobile semantics, optional child `mode`, summary placement, and
154
+ * narrow-viewport CSS so ChartContainer participates in the same mobile
155
+ * contract as chart HOCs, custom recipes, and audits.
156
+ */
157
+ mobile?: boolean | ChartContainerMobileOptions;
158
+ /**
159
+ * Optional authoring-time mobile audit. Requires `chartConfig`; `"warn"` logs
160
+ * mobile findings to the console, while `{ visible: true }` also renders a
161
+ * compact warning banner in the container.
162
+ */
163
+ mobileAudit?: ChartContainerMobileAudit;
73
164
  /** CSS class for the outer container */
74
165
  className?: string;
75
166
  /** Inline style overrides */
@@ -9,6 +9,16 @@ export interface ChartGridProps {
9
9
  minCellWidth?: number;
10
10
  /** Gap between cells in pixels. Default: 16 */
11
11
  gap?: number;
12
+ /** Columns between mobile and tablet breakpoints. Leave undefined to use the base grid. */
13
+ tabletColumns?: number;
14
+ /** Columns at the mobile breakpoint. Default: 1 */
15
+ mobileColumns?: number;
16
+ /** Mobile breakpoint used by generated CSS. Default 480. */
17
+ mobileBreakpoint?: number;
18
+ /** Tablet breakpoint used by generated CSS. Default 860. */
19
+ tabletBreakpoint?: number;
20
+ /** Defaults injected into direct child charts when the child has not declared the prop. */
21
+ chartDefaults?: Record<string, unknown>;
12
22
  /** CSS class for the grid container */
13
23
  className?: string;
14
24
  /** Inline style overrides */
@@ -33,7 +43,7 @@ export interface ChartGridProps {
33
43
  * </ChartGrid>
34
44
  * ```
35
45
  */
36
- export declare function ChartGrid({ children, columns, minCellWidth, gap, className, style, }: ChartGridProps): React.JSX.Element;
46
+ export declare function ChartGrid({ children, columns, minCellWidth, gap, tabletColumns, mobileColumns, mobileBreakpoint, tabletBreakpoint, chartDefaults, className, style, }: ChartGridProps): React.JSX.Element;
37
47
  export declare namespace ChartGrid {
38
48
  var displayName: string;
39
49
  }
@@ -0,0 +1,61 @@
1
+ import * as React from "react";
2
+ /**
3
+ * `CircularBrush` — an accessible range brush over a **cyclical** domain
4
+ * (day-of-year, hour-of-day, compass bearing, phase). The radial counterpart to
5
+ * the linear `RealtimeHistogram` brush: a selected arc with two draggable
6
+ * handles, wrap-around ranges, pointer-capture drag, and full keyboard control.
7
+ *
8
+ * **Control-surface contract.** This is a *control*, not a chart: it takes
9
+ * `value` + `domain`/`period` + geometry + `onChange`, and never reaches into a
10
+ * chart's internals. Layer it over a chart that shares its coordinate space (an
11
+ * absolutely-positioned overlay, or embed its `<g>` in the chart's SVG) and feed
12
+ * `onChange` into your own state — or into the linked-selection store — so the
13
+ * brush drives a selection without a provider. Geometry in, value out.
14
+ *
15
+ * **Accessibility.** Each handle and the range itself is a `role="slider"` with
16
+ * `aria-valuemin/max/now` (and `aria-valuetext` when `formatValue` is given),
17
+ * reachable by Tab and nudgeable with ←/→ (Shift = `largeStep`). Built on the
18
+ * tested radial (`polarToXY`/`xyToAngle`/`ringArcPath`) + cyclical
19
+ * (`wrapValue`/`shortestArcDelta`) kit, so wrap-around never unwinds the long way.
20
+ */
21
+ export interface CircularBrushValue {
22
+ /** Range start, in domain units (e.g. day-of-year). */
23
+ start: number;
24
+ /** Range end, in domain units. When `start > end` the range wraps the cycle. */
25
+ end: number;
26
+ }
27
+ export interface CircularBrushProps {
28
+ /** The current selected range. Controlled. */
29
+ value: CircularBrushValue;
30
+ /** Called with the next value, or an updater — mirrors `setState`, so you can
31
+ * pass a `useState` setter directly. */
32
+ onChange: (next: CircularBrushValue | ((current: CircularBrushValue) => CircularBrushValue)) => void;
33
+ /** Cycle length in domain units. @default 365 (day-of-year) */
34
+ period?: number;
35
+ /** Outer radius of the brush ring, px. @default 180 */
36
+ radius?: number;
37
+ /** Inner radius of the brush band, px. @default 14 */
38
+ innerRadius?: number;
39
+ /** SVG width, px. @default `radius * 2 + 40` */
40
+ width?: number;
41
+ /** SVG height, px. @default `radius * 2 + 40` */
42
+ height?: number;
43
+ /** Keyboard nudge step (←/→), domain units. @default 1 */
44
+ step?: number;
45
+ /** Shift+arrow step, domain units. @default 7 */
46
+ largeStep?: number;
47
+ /** Accessible label prefix for the handles + range. @default "Range" */
48
+ label?: string;
49
+ /** Format a domain value for `aria-valuetext` (e.g. a date). */
50
+ formatValue?: (value: number) => string;
51
+ /** Brush arc fill. @default a translucent primary */
52
+ arcFill?: string;
53
+ /** Brush arc + handle stroke. @default white */
54
+ stroke?: string;
55
+ className?: string;
56
+ /** Inline style for the root `<svg>`. Use it to position the control as an
57
+ * overlay over a chart sharing its coordinate space — e.g.
58
+ * `{ position: "absolute", inset: 0, width: "100%", height: "100%" }`. */
59
+ style?: React.CSSProperties;
60
+ }
61
+ export declare function CircularBrush({ value, onChange, period, radius, innerRadius, width, height, step, largeStep, label, formatValue, arcFill, stroke, className, style, }: CircularBrushProps): React.ReactElement;
@@ -8,6 +8,10 @@ export interface ContextLayoutProps {
8
8
  position?: "right" | "left" | "bottom" | "top";
9
9
  /** Size of the context panel in pixels. Default: 250 */
10
10
  contextSize?: number;
11
+ /** Mobile context placement. Default: "bottom" */
12
+ mobilePosition?: "top" | "bottom" | "preserve";
13
+ /** Mobile breakpoint used by generated CSS. Default 480. */
14
+ mobileBreakpoint?: number;
11
15
  /** Gap between primary and context panels in pixels. Default: 12 */
12
16
  gap?: number;
13
17
  /** CSS class for the layout container */
@@ -32,7 +36,7 @@ export interface ContextLayoutProps {
32
36
  * </ContextLayout>
33
37
  * ```
34
38
  */
35
- export declare function ContextLayout({ children, context, position, contextSize, gap, className, style, }: ContextLayoutProps): React.JSX.Element;
39
+ export declare function ContextLayout({ children, context, position, contextSize, mobilePosition, mobileBreakpoint, gap, className, style, }: ContextLayoutProps): React.JSX.Element;
36
40
  export declare namespace ContextLayout {
37
41
  var displayName: string;
38
42
  }
@@ -0,0 +1,63 @@
1
+ import * as React from "react";
2
+ import type { ControlObservationCallback, VisualizationControlType } from "./controls/controlContract";
3
+ export { VISUALIZATION_CONTROL_TYPES } from "./controls/controlContract";
4
+ export type { ControlObservation, ControlObservationCallback, ControlObservationPhase, VisualizationControlDefinition, VisualizationControlType, VisualizationControlValue, } from "./controls/controlContract";
5
+ export interface DirectManipulationControlProps {
6
+ /** Controlled numeric value expressed in the chart's data domain. */
7
+ value: number;
8
+ /** Called on pointer drag or keyboard nudge. */
9
+ onChange: (value: number) => void;
10
+ /** Convert a pointer event in the control's frame coordinate space to a value. */
11
+ pointerToValue: (event: React.PointerEvent<SVGGElement>) => number | null | undefined;
12
+ /** Inclusive value domain. */
13
+ min: number;
14
+ max: number;
15
+ /** Keyboard and pointer quantization step. @default 1 */
16
+ step?: number;
17
+ /** Shift+arrow nudge. @default step * 5 */
18
+ largeStep?: number;
19
+ /** Position in the shared SVG/frame coordinate space. */
20
+ x: number;
21
+ y: number;
22
+ /** Semantic machine-readable control classification. */
23
+ controlType?: VisualizationControlType;
24
+ /** Stable identity for observations, audits, and portable recipes. */
25
+ controlId?: string;
26
+ /** Accessible label. */
27
+ label: string;
28
+ /** Optional human-readable current value. */
29
+ valueText?: string;
30
+ /** Handle radius in CSS/SVG pixels. @default 12 */
31
+ radius?: number;
32
+ /** Handle fill. Defaults to the active Semiotic surface token. */
33
+ fill?: string;
34
+ /** Handle stroke. Defaults to the active Semiotic primary token. */
35
+ stroke?: string;
36
+ strokeWidth?: number;
37
+ /** Optional text rendered next to the handle. */
38
+ labelText?: React.ReactNode;
39
+ labelDx?: number;
40
+ labelDy?: number;
41
+ labelClassName?: string;
42
+ className?: string;
43
+ disabled?: boolean;
44
+ onChangeStart?: (value: number) => void;
45
+ onChangeEnd?: (value: number) => void;
46
+ /** Optional adapter to the same onObservation stream used by frames. */
47
+ onObservation?: ControlObservationCallback;
48
+ /** Owning chart identity when this control is layered over a frame. */
49
+ chartId?: string;
50
+ /** Owning frame/chart name used by control observations. */
51
+ chartType?: string;
52
+ }
53
+ /**
54
+ * A small SVG-native control surface for a chart that owns its own scales.
55
+ *
56
+ * `DirectManipulationControl` deliberately does not know about a particular
57
+ * Semiotic frame. The chart supplies `pointerToValue`, making this usable in
58
+ * XY, ordinal, geographic, radial, and custom-layout overlays without the
59
+ * control reaching into frame internals. It contributes the repeated parts
60
+ * every visualization control needs: pointer capture, data-domain clamping,
61
+ * keyboard stepping, focus semantics, and a stable machine-readable type.
62
+ */
63
+ export declare function DirectManipulationControl({ value, onChange, pointerToValue, min, max, step, largeStep, x, y, controlType, controlId, label, valueText, radius, fill, stroke, strokeWidth, labelText, labelDx, labelDy, labelClassName, className, disabled, onChangeStart, onChangeEnd, onObservation, chartId, chartType, }: DirectManipulationControlProps): React.ReactElement;
@@ -1,12 +1,14 @@
1
1
  import * as React from "react";
2
2
  import type { ResolutionMode } from "./store/SelectionStore";
3
- type LegendInteractionMode = "highlight" | "isolate" | "none";
3
+ export type LegendInteractionMode = "highlight" | "isolate" | "none";
4
4
  export { useSelection, useSelectionActions, useLinkedHover, useBrushSelection, useFilteredData } from "./store/useSelection";
5
5
  export type { UseSelectionOptions, UseSelectionResult, UseSelectionActionsResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./store/useSelection";
6
6
  export { useChartObserver } from "./store/useObservation";
7
7
  export type { UseChartObserverOptions, UseChartObserverResult } from "./store/useObservation";
8
8
  /** Hook: returns true when a parent LinkedCharts is handling the legend. */
9
9
  export declare function useLinkedLegendSuppression(): boolean;
10
+ /** Hook: returns true when descendants are already inside a LinkedCharts provider. */
11
+ export declare function useLinkedChartsActive(): boolean;
10
12
  /** Register a chart's current color categories with the nearest LinkedCharts. */
11
13
  export declare function useLinkedChartCategories(categories: string[]): void;
12
14
  /** True when a chart can register live categories with a parent LinkedCharts. */
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import type { MobileAnnotationCalloutItem } from "./recipes/mobileAnnotationStrategy";
3
+ export interface MobileAnnotationCalloutListProps {
4
+ items: readonly MobileAnnotationCalloutItem[];
5
+ title?: React.ReactNode;
6
+ empty?: React.ReactNode;
7
+ ordered?: boolean;
8
+ renderItem?: (item: MobileAnnotationCalloutItem, index: number) => React.ReactNode;
9
+ className?: string;
10
+ style?: React.CSSProperties;
11
+ }
12
+ export declare function MobileAnnotationCalloutList({ items, title, empty, ordered, renderItem, className, style, }: MobileAnnotationCalloutListProps): React.JSX.Element | null;
13
+ export default MobileAnnotationCalloutList;