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,46 @@
1
+ /**
2
+ * Pure style / color-map resolution helpers for PipelineStore.
3
+ * Accept a small context object so the store methods stay thin wrappers.
4
+ */
5
+ import type { Datum } from "../charts/shared/datumTypes";
6
+ import type { PipelineConfig } from "./pipelineConfig";
7
+ import type { Style } from "./types";
8
+ export interface PipelineColorMapCache {
9
+ key: string;
10
+ map: Map<string, string>;
11
+ version: number;
12
+ }
13
+ export interface PipelineGroupDataCache {
14
+ version: number;
15
+ group: ((d: Datum) => string) | undefined;
16
+ data: Datum[];
17
+ result: {
18
+ key: string;
19
+ data: Datum[];
20
+ }[];
21
+ }
22
+ export declare function groupPipelineData(data: Datum[], getGroup: ((d: Datum) => string) | undefined, ingestVersion: number, cache: PipelineGroupDataCache | null): {
23
+ result: {
24
+ key: string;
25
+ data: Datum[];
26
+ }[];
27
+ cache: PipelineGroupDataCache;
28
+ };
29
+ export declare function resolvePipelineColorMap(data: Datum[], getColor: ((d: Datum) => string) | undefined, config: Pick<PipelineConfig, "colorScheme" | "themeCategorical">, ingestVersion: number, cache: PipelineColorMapCache | null): {
30
+ map: Map<string, string>;
31
+ cache: PipelineColorMapCache;
32
+ };
33
+ export declare function resolvePipelineGroupColor(options: {
34
+ group: string;
35
+ colorMapCache: PipelineColorMapCache | null;
36
+ groupColorMap: Map<string, string>;
37
+ groupColorCounter: number;
38
+ groupColorMapCap: number;
39
+ config: Pick<PipelineConfig, "colorScheme" | "themeCategorical">;
40
+ }): {
41
+ color: string | null;
42
+ groupColorCounter: number;
43
+ };
44
+ export declare function resolvePipelineLineStyle(config: PipelineConfig, group: string, sampleDatum: Datum | undefined, resolveGroupColor: (group: string) => string | null): Style;
45
+ export declare function resolvePipelineAreaStyle(config: PipelineConfig, group: string, sampleDatum: Datum | undefined, resolveGroupColor: (group: string) => string | null): Style;
46
+ export declare function resolvePipelineBoundsStyle(config: PipelineConfig, group: string, sampleDatum: Datum | undefined, resolveLineStyle: (group: string, sampleDatum?: Datum) => Style): Style;
@@ -11,6 +11,7 @@
11
11
  * Consumed by: PipelineStore.computeScene (after decay/pulse)
12
12
  */
13
13
  import type { SceneNode, TransitionConfig } from "./types";
14
+ import type { GlyphDef } from "./glyphDef";
14
15
  import type { ActiveTransition } from "./pipelineTransitionUtils";
15
16
  import type { Datum } from "../charts/shared/datumTypes";
16
17
  export type PrevPosition = {
@@ -24,6 +25,7 @@ export type PrevPosition = {
24
25
  closeY?: number;
25
26
  highY?: number;
26
27
  lowY?: number;
28
+ glyph?: GlyphDef;
27
29
  };
28
30
  export type PrevPath = {
29
31
  topPath?: [number, number][];
@@ -63,7 +65,7 @@ export interface TransitionState {
63
65
  * Detects entering nodes (new, no prev match) and exiting nodes (prev, no new match).
64
66
  * Mutates scene and exitNodes in place. Returns updated state.
65
67
  */
66
- export declare function startTransition(ctx: TransitionContext, transition: TransitionConfig, state: TransitionState, prevPositionMap: Map<string, PrevPosition>, prevPathMap: Map<string, PrevPath>): TransitionState;
68
+ export declare function startTransition(ctx: TransitionContext, transition: TransitionConfig, state: TransitionState, prevPositionMap: Map<string, PrevPosition>, prevPathMap: Map<string, PrevPath>, startTime?: number): TransitionState;
67
69
  /**
68
70
  * Advance the transition animation. Returns true if still animating.
69
71
  * Mutates scene nodes in place.
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Pure update contract for the stream-pipeline migration pilot.
3
+ *
4
+ * Stores still expose their established boolean/void mutation APIs. This
5
+ * module gives a host an additive, inspectable result path without coupling it
6
+ * to React, canvas, timers, or a particular chart family.
7
+ */
8
+ /** Reasons a host may need to recompute or repaint part of a chart. */
9
+ export declare const INVALIDATION_KINDS: readonly ["data", "domain", "layout", "scene-geometry", "scene-style", "data-paint", "interaction-paint", "overlay", "accessibility", "evidence"];
10
+ export type Invalidation = (typeof INVALIDATION_KINDS)[number];
11
+ /**
12
+ * Describes the operation that produced an update without retaining raw data
13
+ * or user callbacks in a diagnostic/result object.
14
+ */
15
+ export interface ChangeSet {
16
+ readonly kind: "initialize" | "ingest" | "replace" | "remove" | "update" | "clear" | "config" | "restyle" | "enqueue" | "tick" | "settle" | "restore" | "constraint" | "impulse" | "pause" | "visibility";
17
+ readonly keys?: readonly string[];
18
+ readonly count?: number;
19
+ }
20
+ /**
21
+ * Monotonic revision counters. A host can consume only the counters relevant
22
+ * to its work (for example a canvas data layer observes `dataPaint`, while an
23
+ * accessibility tree observes `accessibility`).
24
+ */
25
+ export interface RevisionSet {
26
+ readonly data: number;
27
+ readonly domain: number;
28
+ readonly layout: number;
29
+ readonly sceneGeometry: number;
30
+ readonly sceneStyle: number;
31
+ readonly dataPaint: number;
32
+ readonly interactionPaint: number;
33
+ readonly overlay: number;
34
+ readonly accessibility: number;
35
+ readonly evidence: number;
36
+ }
37
+ /** The additive result exposed by the XY PipelineStore reference path. */
38
+ export interface UpdateResult {
39
+ readonly changeSet: ChangeSet;
40
+ readonly changed: ReadonlySet<Invalidation>;
41
+ readonly revisions: RevisionSet;
42
+ }
43
+ export declare function createRevisionSet(): RevisionSet;
44
+ /** Return a fresh revision snapshot with exactly the invalidated counters bumped. */
45
+ export declare function advanceRevisions(previous: RevisionSet, invalidations: Iterable<Invalidation>): RevisionSet;
46
+ /**
47
+ * Build an immutable-by-convention update record from a change description.
48
+ * The Set is copied so later mutation of the caller's iterable cannot alter
49
+ * the revision decision that was recorded.
50
+ */
51
+ export declare function createUpdateResult(changeSet: ChangeSet, invalidations: Iterable<Invalidation>, previousRevisions: RevisionSet): UpdateResult;
52
+ /**
53
+ * Small retained-state helper for stores adopting the result contract. It
54
+ * keeps revision bookkeeping out of family-specific data/layout code while
55
+ * preserving each store's existing mutation API.
56
+ */
57
+ export type UpdateResultListener = () => void;
58
+ export interface UpdateResultStore {
59
+ getUpdateSnapshot(): UpdateResult;
60
+ subscribeUpdateResult(listener: UpdateResultListener): () => void;
61
+ }
62
+ export declare class UpdateResultTracker {
63
+ private revisions;
64
+ private latest;
65
+ private listeners;
66
+ get last(): UpdateResult;
67
+ subscribe(listener: UpdateResultListener): () => void;
68
+ record(changeSet: ChangeSet, invalidations: Iterable<Invalidation>): UpdateResult;
69
+ }
@@ -0,0 +1,21 @@
1
+ import type { UpdateResult } from "./pipelineUpdateContract";
2
+ import type { CustomLayoutSelection } from "./customLayoutSelection";
3
+ export type { UpdateResult } from "./pipelineUpdateContract";
4
+ /** Shared additive update-result read and subscription surface for stream stores. */
5
+ export interface PipelineUpdateResultSource {
6
+ readonly last: UpdateResult;
7
+ subscribe(listener: () => void): () => void;
8
+ }
9
+ /** Public lifecycle surface installed on each stream store prototype. */
10
+ export interface UpdateResultStore {
11
+ getLastUpdateResult(): UpdateResult;
12
+ getUpdateSnapshot(): UpdateResult;
13
+ subscribeUpdateResult(listener: () => void): () => void;
14
+ setLayoutSelection(selection: CustomLayoutSelection | null): void;
15
+ markStylePaintPending(): void;
16
+ consumeStylePaintPending(): boolean;
17
+ }
18
+ /** Adds the shared lifecycle methods without imposing a base-class constructor. */
19
+ export declare function attachUpdateResultStore(target: {
20
+ prototype: object;
21
+ }): void;
@@ -0,0 +1,22 @@
1
+ /** Minimal surface shared by stream frames for idle pulse repainting. */
2
+ export interface PulseRefreshStore {
3
+ lastCustomLayoutFailure?: {
4
+ preservedLastGoodScene?: boolean;
5
+ } | null;
6
+ hasActivePulsesAt(now: number): boolean;
7
+ refreshPulse(now: number): boolean;
8
+ }
9
+ export interface IdlePulseRefresh {
10
+ /** Whether the data canvas needs a style-only repaint this frame. */
11
+ changed: boolean;
12
+ /** Keep one subsequent frame so an expired glow can be cleared. */
13
+ pending: boolean;
14
+ }
15
+ /**
16
+ * Advance pulse styling without triggering a layout rebuild. A failed custom
17
+ * layout deliberately retains its last good scene, which must remain
18
+ * immutable until the layout owner recovers.
19
+ */
20
+ export declare function refreshIdlePulse(store: PulseRefreshStore, now: number, sceneRecomputed: boolean, pendingRef: {
21
+ current: boolean;
22
+ }): IdlePulseRefresh;
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import type { SceneRenderBackend, SceneRenderMode, Style } from "./types";
3
+ type SceneLike = {
4
+ type?: string;
5
+ datum?: unknown;
6
+ style?: Style;
7
+ };
8
+ /** Resolve a whole-scene or per-datum renderer. The legacy `sketchy` token
9
+ * stays on the existing built-in rendering path. */
10
+ export declare function resolveSceneRenderBackend<Node extends SceneLike>(renderMode: SceneRenderMode<Node> | undefined, node: Node): SceneRenderBackend<Node> | undefined;
11
+ /** Paint nodes in scene order, delegating unsupported runs to the built-in renderer. */
12
+ export declare function paintSceneWithBackend<Node extends SceneLike>(args: {
13
+ context: CanvasRenderingContext2D;
14
+ nodes: Node[];
15
+ renderMode: SceneRenderMode<Node> | undefined;
16
+ pixelRatio: number;
17
+ paintBuiltIn: (nodes: Node[]) => void;
18
+ }): void;
19
+ /** Try a backend for SSR/static SVG, then invoke the existing converter. */
20
+ export declare function renderSceneWithBackend<Node extends SceneLike>(args: {
21
+ node: Node;
22
+ index: number;
23
+ renderMode: SceneRenderMode<Node> | undefined;
24
+ fallback: () => React.ReactNode;
25
+ }): React.ReactNode;
26
+ export declare function resetRenderBackendWarningsForTests(): void;
27
+ export {};
@@ -16,6 +16,7 @@
16
16
  * mechanical bits that recur regardless of the shape being painted.
17
17
  */
18
18
  import type { CurveType } from "../types";
19
+ import { type HatchFill } from "../../charts/shared/hatchFill";
19
20
  import type { CurveFactory } from "d3-shape";
20
21
  /**
21
22
  * Structural shapes for the gradient configs the helpers accept. Kept
@@ -61,7 +62,20 @@ export declare function resolveCurveFactory(curve: CurveType | undefined): Curve
61
62
  * `(typeof X === "string" ? resolveCSSColor(ctx, X) : X) || fallback`,
62
63
  * repeated once per renderer per fill/stroke site.
63
64
  */
64
- export declare function resolveCanvasFill(ctx: CanvasRenderingContext2D, fill: string | CanvasPattern | null | undefined, fallback: string): string | CanvasPattern;
65
+ export declare function resolveCanvasFill(ctx: CanvasRenderingContext2D, fill: string | HatchFill | CanvasPattern | null | undefined, fallback: string): string | CanvasPattern;
66
+ /**
67
+ * Narrow a possibly-`HatchFill` `style.fill` to the `string | CanvasPattern`
68
+ * a canvas `fillStyle` accepts, for the direct-assign sites that don't
69
+ * otherwise route through {@link resolveCanvasFill}. Returns `undefined` for a
70
+ * nullish (or unresolvable) fill so callers can apply their own fallback with
71
+ * `?? "…"`.
72
+ *
73
+ * Delegates to {@link resolveCanvasFill} so behavior stays consistent: string
74
+ * fills (including `var(--…)`) resolve through `resolveCSSColor` — a raw CSS
75
+ * variable written straight to `fillStyle` would silently paint black — and a
76
+ * `HatchFill` resolves to its `CanvasPattern` (or its resolved background).
77
+ */
78
+ export declare function coerceCanvasFill(ctx: CanvasRenderingContext2D, fill: string | HatchFill | CanvasPattern | null | undefined): string | CanvasPattern | undefined;
65
79
  /**
66
80
  * Build a linear gradient from a `FillGradient` config. Returns `null`
67
81
  * when the gradient cannot be constructed (fewer than two valid color
@@ -1,4 +1,5 @@
1
- import type { GeoSceneNode } from "../geoTypes";
1
+ import type { GeoScales, GeoSceneNode } from "../geoTypes";
2
+ import type { StreamLayout } from "../types";
2
3
  /**
3
4
  * Canvas renderer for GeoAreaSceneNode — projected geographic polygons.
4
5
  * Uses Path2D for GPU-accelerated rendering of complex geo paths.
@@ -6,4 +7,4 @@ import type { GeoSceneNode } from "../geoTypes";
6
7
  * Points and lines in a geo frame are rendered by the existing
7
8
  * pointCanvasRenderer and lineCanvasRenderer respectively.
8
9
  */
9
- export declare function geoCanvasRenderer(ctx: CanvasRenderingContext2D, nodes: GeoSceneNode[], _scales: any, _layout: any): void;
10
+ export declare function geoCanvasRenderer(ctx: CanvasRenderingContext2D, nodes: GeoSceneNode[], _scales: GeoScales, _layout: StreamLayout): void;
@@ -0,0 +1,6 @@
1
+ import type { NetworkSceneNode } from "../networkTypes";
2
+ import type { StreamRendererFn } from "./types";
3
+ /** XY / ordinal / geo painter (x/y-positioned glyph nodes). */
4
+ export declare const glyphCanvasRenderer: StreamRendererFn;
5
+ /** Network painter (cx/cy-positioned glyph nodes). */
6
+ export declare function networkGlyphRenderer(ctx: CanvasRenderingContext2D, nodes: NetworkSceneNode[]): void;
@@ -8,4 +8,4 @@ export declare function renderNetworkParticles(ctx: CanvasRenderingContext2D, po
8
8
  /**
9
9
  * Spawn particles for all edges proportional to their value.
10
10
  */
11
- export declare function spawnNetworkParticles(pool: ParticlePool, edges: RealtimeEdge[], deltaTime: number, style: ParticleStyle): void;
11
+ export declare function spawnNetworkParticles(pool: ParticlePool, edges: RealtimeEdge[], deltaTime: number, style: ParticleStyle, random?: () => number): void;
@@ -21,6 +21,12 @@ export declare function resolveCSSColor(ctx: CanvasRenderingContext2D, value: st
21
21
  * invalidation is global because theme changes are global.
22
22
  */
23
23
  export declare function clearCSSColorCache(_canvas?: HTMLCanvasElement): void;
24
+ /**
25
+ * Monotonic version bumped by theme changes and `clearCSSColorCache`.
26
+ * Frames can cache derived theme color objects keyed by this value so
27
+ * paint loops avoid `getComputedStyle` on every rAF.
28
+ */
29
+ export declare function getCSSColorCacheVersion(): number;
24
30
  /**
25
31
  * Test-only: reset all cache state, including disconnecting any installed
26
32
  * observer/matchMedia listeners. Required for test isolation — without it,
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from "react";
2
+ import type { Datum } from "../charts/shared/datumTypes";
3
+ import type { Style } from "./types";
4
+ /**
5
+ * Optional paint backend for pre-computed scene nodes. A backend may change
6
+ * how a mark looks, but it must not mutate the scene node: original geometry
7
+ * remains authoritative for interaction, focus, transitions, and accessibility.
8
+ */
9
+ export interface SceneRenderBackend<Node = unknown> {
10
+ readonly id: string;
11
+ cacheKey(node: Node, style: Style): string;
12
+ drawCanvas(args: {
13
+ context: CanvasRenderingContext2D;
14
+ node: Node;
15
+ style: Style;
16
+ pixelRatio: number;
17
+ }): boolean;
18
+ renderStaticSVG(args: {
19
+ node: Node;
20
+ style: Style;
21
+ key: string;
22
+ }): ReactNode | null;
23
+ }
24
+ /** A backend can cover the whole scene or be selected per datum. */
25
+ export type SceneRenderDatum<Node> = Node extends {
26
+ datum?: infer NodeDatum;
27
+ } ? Exclude<NodeDatum, undefined> | null : Datum | null;
28
+ export type SceneRenderMode<Node = unknown> = "sketchy" | SceneRenderBackend<Node> | ((datum: SceneRenderDatum<Node>, node: Node) => "sketchy" | SceneRenderBackend<Node> | undefined);
@@ -0,0 +1,45 @@
1
+ import type { RevisionSet, UpdateResult, UpdateResultStore } from "./pipelineUpdateContract";
2
+ export type SceneRevisionSet = Pick<RevisionSet, "sceneGeometry" | "layout" | "domain">;
3
+ export interface SceneRevisionCheck {
4
+ revisions: SceneRevisionSet;
5
+ signature: string;
6
+ sawSignals: boolean;
7
+ wasUnconsumed: boolean;
8
+ warnUnconsumed: boolean;
9
+ }
10
+ interface SceneRevisionStore extends UpdateResultStore {
11
+ getLastUpdateResult(): UpdateResult;
12
+ }
13
+ /** Development-only consumption and duplicate-compute diagnostics for a scene host. */
14
+ export declare class SceneRevisionDiagnostics {
15
+ private readonly hostName;
16
+ constructor(hostName?: string);
17
+ private lastConsumed;
18
+ private lastObserved;
19
+ private lastDuplicateWarning;
20
+ private lastUnconsumedWarning;
21
+ /**
22
+ * Accept a React external-store observation without participating in frame
23
+ * scheduling or paint. The imperative result passed to beforeCompute remains
24
+ * authoritative; retaining the high-water mark only protects development
25
+ * diagnostics when React observes an update between frame passes.
26
+ */
27
+ observeUpdateResult(updateResult: UpdateResult): void;
28
+ beforeCompute(updateResult: UpdateResult, isTransitioning: boolean): SceneRevisionCheck;
29
+ afterCompute(check: SceneRevisionCheck, computedScene: boolean, dimsChanged: boolean): void;
30
+ }
31
+ /** Keep a frame's development-only revision tracker stable across renders. */
32
+ export declare function useSceneRevisionDiagnostics(hostName: string): import("react").RefObject<SceneRevisionDiagnostics>;
33
+ /** Wrap an unconditional scene build with the common revision accounting. */
34
+ export declare function runSceneBuild(diagnostics: SceneRevisionDiagnostics, store: SceneRevisionStore, build: () => void, isTransitioning?: boolean, dimsChanged?: boolean): void;
35
+ /**
36
+ * Observes external-store revisions without putting diagnostics on a React
37
+ * render path. Stores can record non-invalidating operational results during
38
+ * host effects, so a useSyncExternalStore subscription here could feed those
39
+ * diagnostics back into the host's render cycle.
40
+ */
41
+ export declare const SceneRevisionDiagnosticsObserver: import("react").MemoExoticComponent<({ store, diagnostics }: {
42
+ store: UpdateResultStore;
43
+ diagnostics: SceneRevisionDiagnostics;
44
+ }) => null>;
45
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { OnObservationCallback } from "../store/ObservationStore";
2
+ import type { SemanticClickBehavior, SemanticHoverBehavior } from "../charts/shared/semanticInteractions";
3
+ import type { OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
4
+ /** Interaction props shared by all Stream Frame families. */
5
+ export interface StreamSemanticInteractionProps<Hover> {
6
+ customHoverBehavior?: SemanticHoverBehavior<Hover>;
7
+ customClickBehavior?: SemanticClickBehavior<Hover>;
8
+ /** Structured interaction observations, including semantic focus/activate. */
9
+ onObservation?: OnObservationCallback;
10
+ /** @internal HOC observation callback forwarded only to annotation widgets. */
11
+ annotationObservationCallback?: OnObservationCallback;
12
+ /** Chart instance identifier included in observation events. */
13
+ chartId?: string;
14
+ /** Observe activation of widget annotations without replacing widget behavior. */
15
+ onAnnotationActivate?: OnAnnotationActivateCallback;
16
+ }
@@ -0,0 +1,37 @@
1
+ import { type MutableRefObject } from "react";
2
+ /**
3
+ * Push the memoized pipeline config into the scene store and repaint.
4
+ *
5
+ * `config` is memoized upstream (the frames' `stablePipelineConfig`), so this
6
+ * fires only on a real config change, never per render. Marks the scene dirty
7
+ * and repaints because style callbacks (pointStyle, areaStyle, …) carried in
8
+ * the config may have changed even when geometry did not.
9
+ */
10
+ export declare function useConfigSync<C>(storeRef: MutableRefObject<{
11
+ updateConfig(config: C): void;
12
+ } | null>, config: C, dirtyRef: MutableRefObject<boolean>, scheduleRender: () => void): void;
13
+ /**
14
+ * Bridge a custom layout's resolved selection (`layoutSelection`) into the
15
+ * scene store and repaint.
16
+ *
17
+ * `layoutSelection` has no single home in a store: the custom-chart HOCs
18
+ * assemble it in React by merging local component state (hover-highlight,
19
+ * legend interaction) with the cross-chart selection store
20
+ * (`effectiveSelectionHook = hover ?? legend ?? activeSelection`). React owns
21
+ * that blended value.
22
+ *
23
+ * Kept OFF the rebuild path: when the layout returned a `restyle` callback a
24
+ * selection change re-applies styles to the existing scene and repaints (no
25
+ * relayout, no quadtree rebuild); otherwise it marks the scene dirty so a
26
+ * rebuild lets `ctx.selection` reach the layout. Either way the overlay subtree
27
+ * re-renders against the new selection via `CustomLayoutSelectionProvider`.
28
+ *
29
+ * The `lastSelectionRef` guard makes the write fire only on a real selection
30
+ * change (the HOCs already memoize `layoutSelection` on its `isActive`/
31
+ * `predicate` identity), never per render.
32
+ */
33
+ export declare function useLayoutSelectionSync<S>(storeRef: MutableRefObject<{
34
+ setLayoutSelection(selection: S | null): void;
35
+ hasCustomRestyle: boolean;
36
+ restyleScene(selection: S | null): void;
37
+ } | null>, layoutSelection: S | null | undefined, dirtyRef: MutableRefObject<boolean>, scheduleRender: () => void): void;
@@ -0,0 +1,14 @@
1
+ export interface ThemeSemanticColors {
2
+ primary?: string;
3
+ secondary?: string;
4
+ success?: string;
5
+ danger?: string;
6
+ warning?: string;
7
+ error?: string;
8
+ info?: string;
9
+ text?: string;
10
+ textSecondary?: string;
11
+ border?: string;
12
+ grid?: string;
13
+ surface?: string;
14
+ }
@@ -0,0 +1,10 @@
1
+ export declare function resolveHorizontalTickAnchor(mode: "middle" | "edges" | undefined, isLeftmost: boolean, isRightmost: boolean): "start" | "middle" | "end";
2
+ export declare function resolveVerticalTickBaseline(mode: "middle" | "edges" | undefined, isTopmost: boolean, isBottommost: boolean): "hanging" | "middle" | "auto";
3
+ export declare function tickPixelExtent(ticks: Array<{
4
+ pixel: number;
5
+ }>): {
6
+ min: number | null;
7
+ max: number | null;
8
+ };
9
+ export declare function resolveGridDash(style: "dashed" | "dotted" | string | undefined): string | undefined;
10
+ export declare function jaggedBaselinePath(orient: "left" | "right" | "top" | "bottom", width: number, height: number): string;
@@ -0,0 +1,12 @@
1
+ import type { FrameScheduler } from "../useFrame";
2
+ /**
3
+ * Deterministic rAF scheduler for frame tests. It deliberately permits zero
4
+ * as the first handle so tests cannot rely on truthiness for pending work.
5
+ */
6
+ export declare function createFrameScheduler(firstHandle?: number): {
7
+ scheduler: FrameScheduler;
8
+ requestedHandles: number[];
9
+ cancelledHandles: number[];
10
+ readonly pendingCount: number;
11
+ flush(timestamp?: number): void;
12
+ };
@@ -0,0 +1,13 @@
1
+ import { SceneRevisionDiagnostics, type SceneRevisionCheck } from "../sceneRevisionDiagnostics";
2
+ import type { UpdateResult } from "../pipelineUpdateContract";
3
+ export interface UnconsumedSceneRevisionProbe {
4
+ diagnostics: SceneRevisionDiagnostics;
5
+ initial: SceneRevisionCheck;
6
+ later: SceneRevisionCheck;
7
+ }
8
+ /**
9
+ * Assert the contract that a later style/state result cannot conceal scene
10
+ * work that a host has not consumed. Callers finish the probe with
11
+ * `diagnostics.afterCompute(probe.later, false, false)` and assert its warning.
12
+ */
13
+ export declare function assertUnconsumedSceneRevisionSurvivesLaterUpdate(initialResult: UpdateResult, laterResult: UpdateResult, hostName?: string): UnconsumedSceneRevisionProbe;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared title clearance for StreamFrame plot areas.
3
+ *
4
+ * Stream titles live in the outer SVG chrome while marks are translated into
5
+ * the plot margin. Reserving this strip before layout keeps titles from
6
+ * touching or overlapping the first row of marks when consumers supply a
7
+ * compact top margin.
8
+ */
9
+ export interface TitleMargin {
10
+ top: number;
11
+ right: number;
12
+ bottom: number;
13
+ left: number;
14
+ }
15
+ /** Enough room for the standard 14px title plus a visible gap to the plot. */
16
+ export declare const MIN_TITLE_TOP_MARGIN = 36;
17
+ /** One horizontal legend row plus its inset when no title is present. */
18
+ export declare const MIN_TOP_LEGEND_MARGIN = 34;
19
+ /** The standard title strip plus one horizontal legend row and plot gap. */
20
+ export declare const MIN_TITLE_TOP_LEGEND_MARGIN = 58;
21
+ /** Baseline that leaves a calm outer-edge inset for the standard title face. */
22
+ export declare const TITLE_BASELINE = 22;
23
+ /** Static SVG and GIF output only render text titles in their SVG chrome. */
24
+ export declare function hasTextTitle(title: unknown): title is string;
25
+ /**
26
+ * Reserve the shared top chrome before any frame calculates plot geometry.
27
+ * A raw StreamFrame can supply both a compact margin and a top legend, so the
28
+ * legend's first row needs its own minimum rather than relying on HOC margins.
29
+ */
30
+ export declare function reserveFrameChromeMargin<T extends TitleMargin>(margin: T, hasTitle: boolean, hasTopLegend?: boolean): T;
31
+ export declare function reserveTitleMargin<T extends TitleMargin>(margin: T, title: unknown): T;