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,128 @@
1
+ import * as React from "react";
2
+ import type { FrameGraphicsProp } from "../../stream/useFrame";
3
+ import type { PhysicsSemanticItem, StreamPhysicsFrameProps } from "../../stream/physics/StreamPhysicsFrame";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ import type { Datum } from "../shared/datumTypes";
6
+ import type { BaseChartProps, ChartMode } from "../shared/types";
7
+ import { type ChartModeResult } from "../shared/hooks";
8
+ export type PhysicsHocFrameProps<TOmitted extends keyof StreamPhysicsFrameProps = never> = Partial<Omit<StreamPhysicsFrameProps, "initialSpawns" | "initialSpawnPacing" | "size" | TOmitted>>;
9
+ /**
10
+ * Chrome / AI / annotation contracts HOCs forward to StreamPhysicsFrame.
11
+ * Compose with `BaseChartProps` on every physics HOC.
12
+ */
13
+ export type PhysicsSharedChartProps = {
14
+ annotations?: StreamPhysicsFrameProps["annotations"];
15
+ autoPlaceAnnotations?: StreamPhysicsFrameProps["autoPlaceAnnotations"];
16
+ background?: StreamPhysicsFrameProps["background"];
17
+ legend?: StreamPhysicsFrameProps["legend"];
18
+ legendPosition?: StreamPhysicsFrameProps["legendPosition"];
19
+ legendLayout?: StreamPhysicsFrameProps["legendLayout"];
20
+ svgAnnotationRules?: StreamPhysicsFrameProps["svgAnnotationRules"];
21
+ };
22
+ /** Galton / pile sampling mode (orthogonal to ChartMode display modes). */
23
+ export type PhysicsSimulationMode = "sample" | "mechanical";
24
+ /**
25
+ * Split ChartMode (`primary`/`context`/`sparkline`/`mobile`) from the
26
+ * Galton/pile `sample`/`mechanical` simulation mode. Accepts legacy
27
+ * `mode="mechanical"` as simulationMode for back-compat.
28
+ */
29
+ export declare function resolvePhysicsModes(options: {
30
+ mode?: ChartMode | PhysicsSimulationMode;
31
+ simulationMode?: PhysicsSimulationMode;
32
+ }): {
33
+ chartMode: ChartMode | undefined;
34
+ simulationMode: PhysicsSimulationMode;
35
+ };
36
+ /** Physics fills its box; only compact ChartModes get non-zero chrome padding. */
37
+ export declare function physicsMarginForMode(compactMode: boolean, mode?: ChartMode): {
38
+ top: number;
39
+ right: number;
40
+ bottom: number;
41
+ left: number;
42
+ };
43
+ export declare function resolvePhysicsChartSize(size: [number, number] | undefined, width: number | undefined, height: number | undefined, fallback: [number, number]): [number, number];
44
+ export type PhysicsChartModeProps = {
45
+ width?: number;
46
+ height?: number;
47
+ title?: string;
48
+ description?: string;
49
+ summary?: string;
50
+ accessibleTable?: boolean;
51
+ /** Frame-level hover; HOCs may pass via tooltip or frameProps. */
52
+ enableHover?: boolean;
53
+ mobileInteraction?: BaseChartProps["mobileInteraction"];
54
+ mobileSemantics?: BaseChartProps["mobileSemantics"];
55
+ responsiveRules?: BaseChartProps["responsiveRules"];
56
+ mode?: ChartMode | PhysicsSimulationMode;
57
+ simulationMode?: PhysicsSimulationMode;
58
+ size?: [number, number];
59
+ showProjection?: boolean;
60
+ showChrome?: boolean;
61
+ tooltip?: TooltipProp;
62
+ className?: string;
63
+ };
64
+ export interface PhysicsChartModeResult {
65
+ chartMode: ChartMode | undefined;
66
+ simulationMode: PhysicsSimulationMode;
67
+ resolved: ChartModeResult;
68
+ chartSize: [number, number];
69
+ margin: {
70
+ top: number;
71
+ right: number;
72
+ bottom: number;
73
+ left: number;
74
+ };
75
+ showProjection: boolean;
76
+ showChrome: boolean;
77
+ enableHover: boolean;
78
+ title: string | undefined;
79
+ description: string | undefined;
80
+ summary: string | undefined;
81
+ accessibleTable: boolean | undefined;
82
+ className: string | undefined;
83
+ compactMode: boolean;
84
+ mobileInteraction: ChartModeResult["mobileInteraction"];
85
+ mobileSemantics: ChartModeResult["mobileSemantics"];
86
+ }
87
+ /**
88
+ * ChartMode + size + compact chrome defaults for every physics HOC.
89
+ * Primary physics sizes stay family-specific (`primaryFallback`); mode only
90
+ * overrides when width/height/size are unset.
91
+ */
92
+ export declare function usePhysicsChartMode(props: PhysicsChartModeProps, primaryFallback: [number, number], options?: {
93
+ hasSimulationMode?: boolean;
94
+ }): PhysicsChartModeResult;
95
+ export declare function renderPhysicsChartState<TDatum extends Datum>(options: {
96
+ data?: TDatum[] | null;
97
+ emptyContent?: BaseChartProps["emptyContent"];
98
+ loading?: BaseChartProps["loading"];
99
+ loadingContent?: BaseChartProps["loadingContent"];
100
+ size: [number, number];
101
+ }): React.ReactElement | null;
102
+ export declare function renderPhysicsFrame(componentName: string, size: [number, number], children: React.ReactNode): React.ReactElement;
103
+ export declare function composePhysicsFrameGraphics(first: FrameGraphicsProp | undefined, second: FrameGraphicsProp | undefined): FrameGraphicsProp | undefined;
104
+ export declare function resolvePhysicsTooltipProps(tooltip: TooltipProp | undefined, frameProps?: Partial<StreamPhysicsFrameProps>): Pick<StreamPhysicsFrameProps, "enableHover" | "tooltipContent">;
105
+ /**
106
+ * HOC → StreamPhysicsFrame shared Semiotic contracts: a11y, observation,
107
+ * click, chrome (title/legend/annotations), primitive styling, emphasis.
108
+ * Prefer HOC props; frameProps fill gaps.
109
+ */
110
+ export declare function resolvePhysicsFrameSharedProps(props: Pick<BaseChartProps, "accessibleTable" | "chartId" | "className" | "color" | "description" | "emphasis" | "hoverRadius" | "onClick" | "onObservation" | "opacity" | "stroke" | "strokeWidth" | "summary" | "title"> & {
111
+ annotations?: StreamPhysicsFrameProps["annotations"];
112
+ autoPlaceAnnotations?: StreamPhysicsFrameProps["autoPlaceAnnotations"];
113
+ background?: StreamPhysicsFrameProps["background"];
114
+ legend?: StreamPhysicsFrameProps["legend"];
115
+ legendPosition?: StreamPhysicsFrameProps["legendPosition"];
116
+ legendLayout?: StreamPhysicsFrameProps["legendLayout"];
117
+ svgAnnotationRules?: StreamPhysicsFrameProps["svgAnnotationRules"];
118
+ }, frameProps: Partial<StreamPhysicsFrameProps> | undefined, semanticItems?: PhysicsSemanticItem[], modeExtras?: {
119
+ chartMode?: ChartMode;
120
+ className?: string;
121
+ title?: string;
122
+ description?: string;
123
+ summary?: string;
124
+ accessibleTable?: boolean;
125
+ enableHover?: boolean;
126
+ margin?: StreamPhysicsFrameProps["margin"];
127
+ }): Partial<StreamPhysicsFrameProps>;
128
+ export type { TooltipProp };
@@ -0,0 +1,41 @@
1
+ import type { Datum } from "../shared/datumTypes";
2
+ import type { ChartAccessor } from "../shared/types";
3
+ import { type PhysicsChartLayout } from "./physicsChartShared";
4
+ export interface PhysicsPileMechanicalSampleOptions {
5
+ categories?: readonly string[];
6
+ count?: number;
7
+ idPrefix?: string;
8
+ seed?: number;
9
+ unitValue?: number;
10
+ }
11
+ export interface PhysicsPileOptions<TDatum extends Datum = Datum> {
12
+ data: readonly TDatum[];
13
+ categoryAccessor: ChartAccessor<TDatum, string>;
14
+ valueAccessor?: ChartAccessor<TDatum, number>;
15
+ unitValue: number;
16
+ ballRadius: number;
17
+ seed: number;
18
+ size: [number, number];
19
+ }
20
+ export declare function generatePhysicsPileMechanicalSamples(options?: PhysicsPileMechanicalSampleOptions): Datum[];
21
+ export interface PileTubeGeometry {
22
+ laneWidth: number;
23
+ tubeWidth: number;
24
+ ballDiameter: number;
25
+ perRow: number;
26
+ centerX: (index: number) => number;
27
+ pileHeight: (count: number) => number;
28
+ }
29
+ /**
30
+ * Column geometry shared by the pile builder and its projection overlay so the
31
+ * ghost bar's height is exactly the fill target the stacked units rise to reach.
32
+ * Units drop into a narrow tube (a few balls wide) so their count reads as
33
+ * height — a bar chart assembled from falling units, not a spreading heap.
34
+ */
35
+ export declare function pileTubeGeometry(plot: {
36
+ x: number;
37
+ y: number;
38
+ width: number;
39
+ height: number;
40
+ }, categoryCount: number, ballRadius: number): PileTubeGeometry;
41
+ export declare function buildPhysicsPile<TDatum extends Datum>(options: PhysicsPileOptions<TDatum>): PhysicsChartLayout;
@@ -0,0 +1,38 @@
1
+ import type { PhysicsColliderBodyFilter, PhysicsColliderSpec, PhysicsColliderShape } from "../../stream/physics/PhysicsKernel";
2
+ import type { PhysicsSemanticItem, StreamPhysicsRegionEffect, StreamPhysicsRegionKind } from "../../stream/physics/StreamPhysicsFrame";
3
+ import type { Datum } from "../shared/datumTypes";
4
+ export interface PhysicsProcessStage {
5
+ id: string;
6
+ label?: string;
7
+ description?: string;
8
+ kind?: StreamPhysicsRegionKind | string;
9
+ x?: number;
10
+ y?: number;
11
+ width?: number;
12
+ height?: number;
13
+ }
14
+ export interface PhysicsProcessBodyGroup<TDatum extends Datum = Datum> {
15
+ id: string;
16
+ label?: string;
17
+ description?: string;
18
+ group?: string;
19
+ bodyIds?: readonly string[];
20
+ datum?: TDatum;
21
+ state?: string;
22
+ x?: number;
23
+ y?: number;
24
+ width?: number;
25
+ height?: number;
26
+ semanticItem?: false | Partial<PhysicsSemanticItem>;
27
+ }
28
+ export interface PhysicsProcessBoundaryOptions {
29
+ id?: string;
30
+ bodyFilter?: PhysicsColliderBodyFilter;
31
+ friction?: number;
32
+ restitution?: number;
33
+ thickness?: number;
34
+ }
35
+ export declare function physicsProcessBoundaryColliders(shape: PhysicsColliderShape, options?: PhysicsProcessBoundaryOptions): PhysicsColliderSpec[];
36
+ export declare function physicsProcessRegionSemanticItem(region: StreamPhysicsRegionEffect): PhysicsSemanticItem | null;
37
+ export declare function physicsProcessStageSemanticItems(stages: readonly PhysicsProcessStage[]): PhysicsSemanticItem[];
38
+ export declare function physicsProcessGroupSemanticItems<TDatum extends Datum>(groups: readonly PhysicsProcessBodyGroup<TDatum>[]): PhysicsSemanticItem[];
@@ -0,0 +1,97 @@
1
+ import type { Datum } from "../shared/datumTypes";
2
+ import type { ChartAccessor } from "../shared/types";
3
+ import type { StreamPhysicsRegionEffect } from "../../stream/physics/StreamPhysicsTypes";
4
+ import { groupCompletionRows, type BodyGroupSpec, type ProcessVolumeLayout } from "../../recipes/processPhysics";
5
+ import { type PhysicsChartArea, type PhysicsChartLayout } from "./physicsChartShared";
6
+ export interface ProcessFlowStageDef {
7
+ id: string;
8
+ label?: string;
9
+ description?: string;
10
+ /** Relative width share along the route. */
11
+ share?: number;
12
+ /**
13
+ * Continuous forward force while bodies overlap the stage.
14
+ * Number form is `{ x: force, y: 0 }`.
15
+ */
16
+ force?: number | {
17
+ x?: number;
18
+ y?: number;
19
+ };
20
+ damping?: number;
21
+ /**
22
+ * Capacitated processing stand-in: throughput metadata + force/damping.
23
+ * Full queue DES is ProcessFlow controller territory later.
24
+ */
25
+ capacity?: {
26
+ unitsPerSecond: number;
27
+ /** Datum field used as work-units (stamped into attributes only for now). */
28
+ unitAccessor?: string;
29
+ };
30
+ /**
31
+ * Raise drag with a pressure scalar (or occupancy when provided at build time).
32
+ */
33
+ pressure?: boolean | {
34
+ pressure?: number;
35
+ occupancy?: number;
36
+ baseDamping?: number;
37
+ dampingPerUnit?: number;
38
+ energyPerUnit?: number;
39
+ };
40
+ /** Rework / bounce portal toward another stage id. */
41
+ portal?: {
42
+ targetStageId: string;
43
+ force?: {
44
+ x?: number;
45
+ y?: number;
46
+ };
47
+ };
48
+ /** Absorbing sink (completion / merge). */
49
+ absorb?: boolean;
50
+ kind?: StreamPhysicsRegionEffect["kind"];
51
+ }
52
+ export interface ProcessFlowPhysicsOptions<TDatum extends Datum = Datum> {
53
+ data: readonly TDatum[];
54
+ stages: readonly ProcessFlowStageDef[];
55
+ size: [number, number];
56
+ idAccessor?: ChartAccessor<TDatum, string>;
57
+ stageAccessor?: ChartAccessor<TDatum, string>;
58
+ groupBy?: ChartAccessor<TDatum, string>;
59
+ groupLabelAccessor?: ChartAccessor<TDatum, string>;
60
+ workAccessor?: ChartAccessor<TDatum, number>;
61
+ radiusAccessor?: ChartAccessor<TDatum, number>;
62
+ ballRadius?: number;
63
+ seed?: number;
64
+ /** Horizontal process lane (default). */
65
+ route?: "horizontal";
66
+ groupCompletion?: "allAbsorbed" | "none";
67
+ /** Optional column x for feature/group anchors (plot-relative fraction 0–1). */
68
+ groupAnchorAlong?: number;
69
+ springStiffness?: number;
70
+ springDamping?: number;
71
+ gravityX?: number;
72
+ gravityY?: number;
73
+ settle?: boolean;
74
+ }
75
+ export interface ProcessFlowProjectionMetadata {
76
+ kind: "process-flow";
77
+ plot: PhysicsChartArea["plot"];
78
+ volume: ProcessVolumeLayout;
79
+ stages: Array<{
80
+ id: string;
81
+ label: string;
82
+ x: number;
83
+ width: number;
84
+ count: number;
85
+ capacity?: number;
86
+ absorb?: boolean;
87
+ portalTarget?: string;
88
+ }>;
89
+ groups: BodyGroupSpec[];
90
+ groupCompletion: ReturnType<typeof groupCompletionRows>;
91
+ regionEffects: StreamPhysicsRegionEffect[];
92
+ }
93
+ /**
94
+ * Build a capacitated multi-body process lane: stage regions, optional feature
95
+ * body-groups, springs toward stage centers, and a settled stage-count projection.
96
+ */
97
+ export declare function buildProcessFlowPhysics<TDatum extends Datum>(options: ProcessFlowPhysicsOptions<TDatum>): PhysicsChartLayout;
@@ -3,13 +3,21 @@ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, Annotat
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
- import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
6
+ import type { ChartMode, ChartAccessor, SelectionConfig, MobileInteractionProp } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
8
  import type { Datum } from "../shared/datumTypes";
9
9
  import type { AutoPlaceAnnotations } from "../../recipes/annotationLayout";
10
+ import type { MobileVisualizationContract } from "../shared/auditMobileVisualization";
11
+ import type { ResponsiveRule } from "../shared/responsiveRules";
10
12
  export interface RealtimeHeatmapProps<TDatum extends Datum = Datum> {
11
13
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
12
14
  mode?: ChartMode;
15
+ /** Semantic responsive transformations applied before chart-mode defaults. */
16
+ responsiveRules?: ResponsiveRule[];
17
+ /** Phone/mobile contract consumed by audits, recipes, adapters, and agents. */
18
+ mobileSemantics?: MobileVisualizationContract;
19
+ /** Touch-first interaction policy for phone-sized chart slots. */
20
+ mobileInteraction?: MobileInteractionProp;
13
21
  /** Chart dimensions as [width, height] */
14
22
  size?: [number, number];
15
23
  /** Chart width (alternative to size) */
@@ -3,14 +3,22 @@ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, Annotat
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
- import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
6
+ import type { ChartMode, ChartAccessor, SelectionConfig, MobileInteractionProp } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
8
  import type { Datum } from "../shared/datumTypes";
9
9
  import type { AutoPlaceAnnotations } from "../../recipes/annotationLayout";
10
+ import type { MobileVisualizationContract } from "../shared/auditMobileVisualization";
11
+ import type { ResponsiveRule } from "../shared/responsiveRules";
10
12
  export type RealtimeHistogramDirection = "up" | "down";
11
13
  export interface RealtimeHistogramProps<TDatum extends Datum = Datum> {
12
14
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
13
15
  mode?: ChartMode;
16
+ /** Semantic responsive transformations applied before chart-mode defaults. */
17
+ responsiveRules?: ResponsiveRule[];
18
+ /** Phone/mobile contract consumed by audits, recipes, adapters, and agents. */
19
+ mobileSemantics?: MobileVisualizationContract;
20
+ /** Touch-first interaction policy for phone-sized chart slots. */
21
+ mobileInteraction?: MobileInteractionProp;
14
22
  /** Time interval for binning */
15
23
  binSize: number;
16
24
  /** Chart dimensions as [width, height] */
@@ -3,15 +3,23 @@ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, Annotat
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
- import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
6
+ import type { ChartMode, ChartAccessor, SelectionConfig, MobileInteractionProp } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
8
  import type { Datum } from "../shared/datumTypes";
9
9
  import type { AutoPlaceAnnotations } from "../../recipes/annotationLayout";
10
+ import type { MobileVisualizationContract } from "../shared/auditMobileVisualization";
11
+ import type { ResponsiveRule } from "../shared/responsiveRules";
10
12
  import { type AggregateConfig } from "./aggregate";
11
13
  import { type EventTimeConfig } from "./eventTime";
12
14
  export interface RealtimeLineChartProps<TDatum extends Datum = Datum> {
13
15
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
14
16
  mode?: ChartMode;
17
+ /** Semantic responsive transformations applied before chart-mode defaults. */
18
+ responsiveRules?: ResponsiveRule[];
19
+ /** Phone/mobile contract consumed by audits, recipes, adapters, and agents. */
20
+ mobileSemantics?: MobileVisualizationContract;
21
+ /** Touch-first interaction policy for phone-sized chart slots. */
22
+ mobileInteraction?: MobileInteractionProp;
15
23
  /** Chart dimensions as [width, height] */
16
24
  size?: [number, number];
17
25
  /** Chart width (alternative to size) */
@@ -1,15 +1,23 @@
1
1
  import * as React from "react";
2
- import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../../stream/types";
2
+ import type { ArrowOfTime, WindowMode, Style, HoverAnnotationConfig, HoverData, AnnotationContext } from "../../stream/types";
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
- import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
6
+ import type { ChartMode, ChartAccessor, SelectionConfig, MobileInteractionProp } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
8
  import type { Datum } from "../shared/datumTypes";
9
9
  import type { AutoPlaceAnnotations } from "../../recipes/annotationLayout";
10
+ import type { MobileVisualizationContract } from "../shared/auditMobileVisualization";
11
+ import type { ResponsiveRule } from "../shared/responsiveRules";
10
12
  export interface RealtimeSwarmChartProps<TDatum extends Datum = Datum> {
11
13
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
12
14
  mode?: ChartMode;
15
+ /** Semantic responsive transformations applied before chart-mode defaults. */
16
+ responsiveRules?: ResponsiveRule[];
17
+ /** Phone/mobile contract consumed by audits, recipes, adapters, and agents. */
18
+ mobileSemantics?: MobileVisualizationContract;
19
+ /** Touch-first interaction policy for phone-sized chart slots. */
20
+ mobileInteraction?: MobileInteractionProp;
13
21
  /** Chart dimensions as [width, height] */
14
22
  size?: [number, number];
15
23
  /** Chart width (alternative to size) */
@@ -43,6 +51,8 @@ export interface RealtimeSwarmChartProps<TDatum extends Datum = Datum> {
43
51
  timeExtent?: [number, number];
44
52
  /** Fixed value domain */
45
53
  valueExtent?: [number, number];
54
+ /** Value-axis scale. "symlog" supports signed values while compressing large magnitudes. */
55
+ yScaleType?: "linear" | "log" | "symlog";
46
56
  /** Extent padding factor */
47
57
  extentPadding?: number;
48
58
  /** Category accessor for color-coding dots */
@@ -59,6 +69,10 @@ export interface RealtimeSwarmChartProps<TDatum extends Datum = Datum> {
59
69
  stroke?: string;
60
70
  /** Dot stroke width */
61
71
  strokeWidth?: number;
72
+ /** Per-datum dot style. Returned values override the top-level dot primitives and category color. */
73
+ pointStyle?: (datum: TDatum) => Style & {
74
+ r?: number;
75
+ };
62
76
  /** Show canvas-drawn axes */
63
77
  showAxes?: boolean;
64
78
  /** Background fill color */
@@ -3,13 +3,21 @@ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, Annotat
3
3
  import type { RealtimeFrameHandle } from "../../realtime/types";
4
4
  import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
- import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
6
+ import type { ChartMode, ChartAccessor, SelectionConfig, MobileInteractionProp } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
8
  import type { Datum } from "../shared/datumTypes";
9
9
  import type { AutoPlaceAnnotations } from "../../recipes/annotationLayout";
10
+ import type { MobileVisualizationContract } from "../shared/auditMobileVisualization";
11
+ import type { ResponsiveRule } from "../shared/responsiveRules";
10
12
  export interface RealtimeWaterfallChartProps<TDatum extends Datum = Datum> {
11
13
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
12
14
  mode?: ChartMode;
15
+ /** Semantic responsive transformations applied before chart-mode defaults. */
16
+ responsiveRules?: ResponsiveRule[];
17
+ /** Phone/mobile contract consumed by audits, recipes, adapters, and agents. */
18
+ mobileSemantics?: MobileVisualizationContract;
19
+ /** Touch-first interaction policy for phone-sized chart slots. */
20
+ mobileInteraction?: MobileInteractionProp;
13
21
  /** Chart dimensions as [width, height] */
14
22
  size?: [number, number];
15
23
  /** Chart width (alternative to size) */
@@ -0,0 +1,88 @@
1
+ /**
2
+ * `<AnnotationLabel>` — the single, shared renderer for the text label of a
3
+ * region-bounding annotation (threshold lines, bands, enclosures, category
4
+ * highlights) across every frame and the server SSR path.
5
+ *
6
+ * Two problems it solves:
7
+ * 1. **Legibility.** A label sitting over dense marks needs a backdrop to
8
+ * stay readable. Historically the region rules hand-rolled a
9
+ * `paint-order: stroke` white "halo" inline — and only some of them, and
10
+ * the client and server disagreed (client `y-threshold` had a halo, the
11
+ * server's didn't). This component makes the halo a first-class,
12
+ * consistent option and adds a genuine semitransparent **box** backdrop
13
+ * (the rounded panel behind a label like "Fast-scaling · 10").
14
+ * 2. **Duplication.** Client (`annotationRules.tsx`) and server
15
+ * (`staticAnnotations.tsx`) both emit label `<text>`; routing both through
16
+ * one component removes the drift.
17
+ *
18
+ * `background` is the knob:
19
+ * - `"halo"` / `true` — a stroke halo (default for region annotations; matches
20
+ * the legacy look byte-for-byte when `haloColor`/`haloWidth` are unset)
21
+ * - `"box"` — a filled, optionally-semitransparent rounded rect behind the text
22
+ * - `"none"` / `false` — plain text
23
+ * - a config object — fine-grained control over either treatment
24
+ *
25
+ * The box's geometry is derived from an *estimated* text width (SVG can't
26
+ * measure text without a live DOM, and the server path has none), which is
27
+ * accurate enough for a padded backdrop and identical on both backends.
28
+ */
29
+ import * as React from "react";
30
+ export interface AnnotationLabelBackgroundConfig {
31
+ /** Backdrop treatment. @default "halo" */
32
+ type?: "halo" | "box";
33
+ /**
34
+ * Backdrop paint. For `"halo"` it is the outline color (defaults to the
35
+ * plot background so the halo "erases" marks under the text). For `"box"`
36
+ * it is the panel fill.
37
+ * @default "var(--semiotic-bg, #ffffff)"
38
+ */
39
+ fill?: string;
40
+ /** Box fill opacity (box mode only). @default 0.85 */
41
+ opacity?: number;
42
+ /** Box inner padding in px — number (uniform) or `{x,y}`. @default {x:6,y:3} */
43
+ padding?: number | {
44
+ x: number;
45
+ y: number;
46
+ };
47
+ /** Box corner radius in px. @default 3 */
48
+ radius?: number;
49
+ /** Box border color (box mode only). */
50
+ stroke?: string;
51
+ /** Box border width in px. @default 0 */
52
+ strokeWidth?: number;
53
+ /** Halo stroke width in px (halo mode only). @default 3 */
54
+ haloWidth?: number;
55
+ }
56
+ export type AnnotationLabelBackground = boolean | "halo" | "box" | "none" | AnnotationLabelBackgroundConfig;
57
+ export interface AnnotationLabelProps {
58
+ x: number;
59
+ y: number;
60
+ text: string | number;
61
+ /** Text color. */
62
+ fill: string;
63
+ fontSize?: number;
64
+ fontWeight?: string | number;
65
+ fontFamily?: string;
66
+ textAnchor?: "start" | "middle" | "end";
67
+ dominantBaseline?: React.SVGAttributes<SVGTextElement>["dominantBaseline"];
68
+ /**
69
+ * Backdrop treatment. Defaults to `"halo"` (the legacy region-label look).
70
+ * Pass `"box"` for a semitransparent panel, `"none"` for plain text, or a
71
+ * config object for fine control.
72
+ */
73
+ background?: AnnotationLabelBackground;
74
+ className?: string;
75
+ }
76
+ /**
77
+ * Rough width of a rendered label. SVG offers no synchronous text metrics
78
+ * (and the server has no DOM at all), so we estimate from character count.
79
+ * ~0.6em per glyph is a reasonable average for the sans-serif UI faces this
80
+ * library ships; the box carries padding, so a small error is invisible.
81
+ */
82
+ export declare function estimateLabelWidth(text: string | number, fontSize: number): number;
83
+ /**
84
+ * Render an annotation's text label with an optional legibility backdrop.
85
+ * Emits a bare `<text>` (halo/none) or a `<g>` with a backing `<rect>` + text
86
+ * (box). Safe on both the client SVG overlay and the server static SVG path.
87
+ */
88
+ export declare function AnnotationLabel(props: AnnotationLabelProps): React.ReactElement;
@@ -0,0 +1,35 @@
1
+ import * as React from "react";
2
+ import type { Datum } from "./datumTypes";
3
+ import type { OnObservationCallback, ObservationInputType } from "../../store/ObservationStore";
4
+ export type ChartAnnotation = Datum;
5
+ export interface AnnotationActivationEvent {
6
+ annotation: ChartAnnotation;
7
+ annotationId?: string;
8
+ chartId?: string;
9
+ inputType: ObservationInputType;
10
+ }
11
+ export type OnAnnotationActivateCallback = (event: AnnotationActivationEvent) => void;
12
+ export interface AnnotationActivationOptions {
13
+ onAnnotationActivate?: OnAnnotationActivateCallback;
14
+ onObservation?: OnObservationCallback;
15
+ chartId?: string;
16
+ chartType?: string;
17
+ }
18
+ /** Route annotation activation to both a direct callback and the observation store. */
19
+ export declare function useAnnotationActivationOptions(options: AnnotationActivationOptions): AnnotationActivationOptions;
20
+ /**
21
+ * Resolve a durable annotation identity without ever falling back to array
22
+ * position. Provenance stable IDs are accepted for agent-authored notes.
23
+ */
24
+ export declare function annotationStableId(annotation: ChartAnnotation): string | undefined;
25
+ /**
26
+ * Event props for a widget's existing HTML boundary. Capture phase observes
27
+ * arbitrary descendant controls without replacing their behavior or adding a
28
+ * nested interactive element.
29
+ */
30
+ export declare function annotationActivationProps(annotation: ChartAnnotation, options?: AnnotationActivationOptions): React.HTMLAttributes<HTMLDivElement> & {
31
+ "data-semiotic-annotation-id"?: string;
32
+ "data-semiotic-annotation-widget": "";
33
+ };
34
+ /** True when a bubbled frame click originated inside a widget annotation. */
35
+ export declare function isAnnotationActivationTarget(target: EventTarget | null): boolean;
@@ -0,0 +1,5 @@
1
+ export declare const TOP_LABEL_BASELINE = 16;
2
+ /** Keep a horizontal-threshold label inside the plot when its rule is near the top. */
3
+ export declare function thresholdLabelY(y: number, height: number): number;
4
+ /** Place a horizontal-band label just inside its visible top edge. */
5
+ export declare function bandLabelY(y0: number, y1: number): number;
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
2
  import type { AnnotationContext } from "../../realtime/types";
3
3
  import type { Datum } from "./datumTypes";
4
+ import { type AnnotationActivationOptions } from "./annotationActivation";
4
5
  export { applyAnnotationEmphasis, type AnnotationRenderPair } from "./annotationHierarchy";
5
6
  type AnnotationRule = (annotation: Datum, index: number, context: AnnotationContext) => React.ReactNode | null;
6
7
  /**
@@ -17,4 +18,4 @@ type AnnotationRule = (annotation: Datum, index: number, context: AnnotationCont
17
18
  * through to the default rule, preserving the existing override contract.
18
19
  */
19
20
  export declare function renderAnnotationPass(annotations: ReadonlyArray<Datum>, defaultRule: AnnotationRule, userRule: AnnotationRule | undefined, context: AnnotationContext): React.ReactNode[];
20
- export declare function createDefaultAnnotationRules(_frameType: "xy" | "ordinal" | "network"): (annotation: Datum, index: number, context: AnnotationContext) => React.ReactNode | null;
21
+ export declare function createDefaultAnnotationRules(_frameType: "xy" | "ordinal" | "network", activation?: AnnotationActivationOptions): (annotation: Datum, index: number, context: AnnotationContext) => React.ReactNode | null;