semiotic 3.7.5 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/CLAUDE.md +54 -12
  2. package/README.md +121 -27
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1651 -154
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2733 -536
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +18 -3
  11. package/dist/components/CategoryColors.d.ts +1 -1
  12. package/dist/components/ChartContainer.d.ts +91 -0
  13. package/dist/components/ChartGrid.d.ts +11 -1
  14. package/dist/components/CircularBrush.d.ts +61 -0
  15. package/dist/components/ContextLayout.d.ts +5 -1
  16. package/dist/components/DirectManipulationControl.d.ts +63 -0
  17. package/dist/components/LinkedCharts.d.ts +3 -1
  18. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  19. package/dist/components/MobileChartContainer.d.ts +51 -0
  20. package/dist/components/MobileStandardControls.d.ts +68 -0
  21. package/dist/components/SmallMultipleChart.d.ts +84 -0
  22. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  23. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  24. package/dist/components/ai/IntentMark.d.ts +15 -0
  25. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  26. package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
  27. package/dist/components/ai/chartClinic.d.ts +91 -0
  28. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  29. package/dist/components/ai/chartRecipes.d.ts +278 -0
  30. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  31. package/dist/components/ai/describeChart.d.ts +7 -0
  32. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  33. package/dist/components/ai/generativeChart.d.ts +28 -3
  34. package/dist/components/ai/intentManifest.d.ts +62 -0
  35. package/dist/components/ai/navigationTree.d.ts +3 -0
  36. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  37. package/dist/components/ai/readerGrounding.d.ts +83 -0
  38. package/dist/components/ai/recipeCapability.d.ts +8 -0
  39. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  40. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  41. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  42. package/dist/components/ai/suggestCharts.d.ts +11 -1
  43. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  44. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  45. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  46. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  47. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  48. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  49. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  50. package/dist/components/charts/geo/index.d.ts +2 -0
  51. package/dist/components/charts/index.d.ts +29 -1
  52. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  53. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  54. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  55. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  57. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  58. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/Treemap.d.ts +1 -1
  60. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  61. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  62. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  63. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  64. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  65. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  66. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  68. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  70. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  71. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  72. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  73. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  74. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  75. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  76. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  77. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  78. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  79. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  80. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  81. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  83. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  85. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  86. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  88. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  89. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  90. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  91. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  92. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  93. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  94. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  95. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  96. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  97. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  98. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  99. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  100. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  101. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  102. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  103. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  104. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  105. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  106. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  107. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  108. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  109. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  110. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  111. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  112. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  113. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  114. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  115. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  116. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  117. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  118. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  119. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  120. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  121. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  122. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  123. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  124. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  125. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  126. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  127. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  128. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  130. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  131. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  132. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  133. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  134. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  135. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  136. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  137. package/dist/components/charts/shared/hooks.d.ts +28 -5
  138. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  139. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  140. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  141. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  142. package/dist/components/charts/shared/types.d.ts +49 -1
  143. package/dist/components/charts/shared/useChartSetup.d.ts +9 -2
  144. package/dist/components/charts/shared/useCustomChartSetup.d.ts +14 -5
  145. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  146. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  147. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  148. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  149. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  150. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  151. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  152. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  153. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  154. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  155. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  156. package/dist/components/charts/xy/Scatterplot.d.ts +1 -1
  157. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  158. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  159. package/dist/components/controls/controlAudit.d.ts +24 -0
  160. package/dist/components/controls/controlContract.d.ts +57 -0
  161. package/dist/components/data/fromFlintChart.d.ts +74 -0
  162. package/dist/components/data/fromVegaLite.d.ts +27 -0
  163. package/dist/components/data/portability/index.d.ts +6 -3
  164. package/dist/components/data/portability/result.d.ts +52 -0
  165. package/dist/components/data/portability/spec.d.ts +31 -0
  166. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  167. package/dist/components/export/chartConfig.d.ts +11 -0
  168. package/dist/components/realtime/types.d.ts +11 -0
  169. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  170. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  171. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  172. package/dist/components/recipes/cyclical.d.ts +39 -0
  173. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  174. package/dist/components/recipes/forceLayout.d.ts +48 -0
  175. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  176. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  177. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  178. package/dist/components/recipes/gofishIR.d.ts +178 -132
  179. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  180. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  181. package/dist/components/recipes/intervals.d.ts +80 -0
  182. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  183. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  184. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  185. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  186. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  187. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  188. package/dist/components/recipes/physics.d.ts +122 -0
  189. package/dist/components/recipes/physicsReference.d.ts +102 -0
  190. package/dist/components/recipes/processAggregates.d.ts +32 -0
  191. package/dist/components/recipes/processChrome.d.ts +67 -0
  192. package/dist/components/recipes/processJourney.d.ts +54 -0
  193. package/dist/components/recipes/processPhysics.d.ts +300 -0
  194. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  195. package/dist/components/recipes/radialCoords.d.ts +69 -0
  196. package/dist/components/recipes/random.d.ts +2 -0
  197. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  198. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  199. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  200. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  201. package/dist/components/recipes/runs.d.ts +59 -0
  202. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  203. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  204. package/dist/components/recipes/unitize.d.ts +108 -0
  205. package/dist/components/recipes/vector.d.ts +28 -0
  206. package/dist/components/recipes/waffle.d.ts +43 -0
  207. package/dist/components/semiotic-ai-core.d.ts +47 -0
  208. package/dist/components/semiotic-ai.d.ts +50 -8
  209. package/dist/components/semiotic-controls.d.ts +18 -0
  210. package/dist/components/semiotic-experimental.d.ts +38 -9
  211. package/dist/components/semiotic-geo.d.ts +11 -0
  212. package/dist/components/semiotic-network.d.ts +11 -0
  213. package/dist/components/semiotic-ordinal.d.ts +8 -0
  214. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  215. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  216. package/dist/components/semiotic-physics.d.ts +56 -0
  217. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  218. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  219. package/dist/components/semiotic-realtime.d.ts +4 -30
  220. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  221. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  222. package/dist/components/semiotic-recipes.d.ts +4 -43
  223. package/dist/components/semiotic-server-edge.d.ts +8 -0
  224. package/dist/components/semiotic-server-node.d.ts +5 -0
  225. package/dist/components/semiotic-server.d.ts +2 -2
  226. package/dist/components/semiotic-themes-core.d.ts +53 -0
  227. package/dist/components/semiotic-themes-react.d.ts +4 -0
  228. package/dist/components/semiotic-themes.d.ts +6 -76
  229. package/dist/components/semiotic-utils-core.d.ts +46 -0
  230. package/dist/components/semiotic-utils-react.d.ts +5 -0
  231. package/dist/components/semiotic-utils.d.ts +3 -39
  232. package/dist/components/semiotic-xy.d.ts +8 -0
  233. package/dist/components/semiotic.d.ts +35 -7
  234. package/dist/components/server/animatedGif.d.ts +36 -0
  235. package/dist/components/server/renderEvidence.d.ts +1 -1
  236. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  237. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  238. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  239. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  240. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  241. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  242. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  243. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  244. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  245. package/dist/components/server/staticGeo.d.ts +4 -0
  246. package/dist/components/server/staticLegend.d.ts +1 -1
  247. package/dist/components/server/staticNetwork.d.ts +8 -0
  248. package/dist/components/server/staticOrdinal.d.ts +11 -0
  249. package/dist/components/server/staticPhysics.d.ts +3 -0
  250. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  251. package/dist/components/server/staticXY.d.ts +4 -0
  252. package/dist/components/store/ObservationStore.d.ts +3 -2
  253. package/dist/components/store/themeSerialization.d.ts +32 -0
  254. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  255. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  256. package/dist/components/stream/FocusRing.d.ts +4 -2
  257. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  258. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  259. package/dist/components/stream/NetworkPipelineStore.d.ts +31 -26
  260. package/dist/components/stream/NetworkSVGOverlay.d.ts +4 -1
  261. package/dist/components/stream/OrdinalPipelineStore.d.ts +46 -2
  262. package/dist/components/stream/PipelineStore.d.ts +81 -170
  263. package/dist/components/stream/SceneGraph.d.ts +9 -1
  264. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  265. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  266. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  267. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  268. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  269. package/dist/components/stream/accessorUtils.d.ts +23 -10
  270. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  271. package/dist/components/stream/canvasBackground.d.ts +24 -0
  272. package/dist/components/stream/canvasSetup.d.ts +4 -1
  273. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  274. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  275. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  276. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  277. package/dist/components/stream/geoCartogram.d.ts +17 -0
  278. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  279. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  280. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  281. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  282. package/dist/components/stream/geoTypes.d.ts +56 -7
  283. package/dist/components/stream/glyphDef.d.ts +98 -0
  284. package/dist/components/stream/hitTarget.d.ts +170 -0
  285. package/dist/components/stream/hoverUtils.d.ts +3 -0
  286. package/dist/components/stream/keyboardNav.d.ts +4 -1
  287. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  288. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  289. package/dist/components/stream/networkBezier.d.ts +10 -0
  290. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  291. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  292. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  293. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  294. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  295. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  296. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  297. package/dist/components/stream/networkTypes.d.ts +76 -5
  298. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  299. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  300. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  301. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  302. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  303. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  304. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  305. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  306. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  307. package/dist/components/stream/ordinalTypes.d.ts +40 -8
  308. package/dist/components/stream/paintNeeds.d.ts +31 -0
  309. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  310. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  311. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  312. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  313. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  314. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  315. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  316. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  317. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  318. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  319. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  320. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  321. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  322. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  323. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  324. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  325. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  326. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  327. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  328. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  329. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  330. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  331. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  332. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  333. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  334. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  335. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  336. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  337. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  338. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  339. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  340. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  341. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  342. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  343. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  344. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  345. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  346. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  347. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  348. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  349. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  350. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  351. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  352. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  353. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  354. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  355. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  356. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  357. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  358. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  359. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  360. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  361. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  362. package/dist/components/stream/types.d.ts +135 -7
  363. package/dist/components/stream/useFrame.d.ts +21 -2
  364. package/dist/components/stream/useHydration.d.ts +6 -0
  365. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  366. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  367. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  368. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  370. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  371. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  372. package/dist/components/stream/xySceneBuilders/types.d.ts +4 -4
  373. package/dist/controls.min.js +2 -0
  374. package/dist/controls.module.min.js +2 -0
  375. package/dist/forceLayoutWorker.js +1 -0
  376. package/dist/geo.min.js +1 -1
  377. package/dist/geo.module.min.js +1 -1
  378. package/dist/network.min.js +1 -1
  379. package/dist/network.module.min.js +1 -1
  380. package/dist/ordinal.min.js +1 -1
  381. package/dist/ordinal.module.min.js +1 -1
  382. package/dist/physics-matter.min.js +1 -0
  383. package/dist/physics-matter.module.min.js +1 -0
  384. package/dist/physics-rapier.min.js +1 -0
  385. package/dist/physics-rapier.module.min.js +1 -0
  386. package/dist/physics.min.js +2 -0
  387. package/dist/physics.module.min.js +2 -0
  388. package/dist/physicsWorker.js +1 -0
  389. package/dist/realtime.min.js +1 -1
  390. package/dist/realtime.module.min.js +1 -1
  391. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  392. package/dist/semiotic-ai-core.d.ts +47 -0
  393. package/dist/semiotic-ai-core.min.js +1 -0
  394. package/dist/semiotic-ai-core.module.min.js +1 -0
  395. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  396. package/dist/semiotic-ai.d.ts +50 -8
  397. package/dist/semiotic-ai.min.js +1 -1
  398. package/dist/semiotic-ai.module.min.js +1 -1
  399. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  400. package/dist/semiotic-controls.d.ts +18 -0
  401. package/dist/semiotic-data.min.js +1 -1
  402. package/dist/semiotic-data.module.min.js +1 -1
  403. package/dist/semiotic-experimental.d.ts +38 -9
  404. package/dist/semiotic-experimental.min.js +1 -1
  405. package/dist/semiotic-experimental.module.min.js +1 -1
  406. package/dist/semiotic-geo.d.ts +11 -0
  407. package/dist/semiotic-network.d.ts +11 -0
  408. package/dist/semiotic-ordinal.d.ts +8 -0
  409. package/dist/semiotic-physics-matter.d.ts +10 -0
  410. package/dist/semiotic-physics-rapier.d.ts +9 -0
  411. package/dist/semiotic-physics.d.ts +56 -0
  412. package/dist/semiotic-realtime-core.d.ts +34 -0
  413. package/dist/semiotic-realtime-core.min.js +1 -0
  414. package/dist/semiotic-realtime-core.module.min.js +1 -0
  415. package/dist/semiotic-realtime-react.d.ts +10 -0
  416. package/dist/semiotic-realtime-react.min.js +2 -0
  417. package/dist/semiotic-realtime-react.module.min.js +2 -0
  418. package/dist/semiotic-realtime.d.ts +4 -30
  419. package/dist/semiotic-recipes-core.d.ts +92 -0
  420. package/dist/semiotic-recipes-core.min.js +1 -0
  421. package/dist/semiotic-recipes-core.module.min.js +1 -0
  422. package/dist/semiotic-recipes-react.d.ts +7 -0
  423. package/dist/semiotic-recipes-react.min.js +2 -0
  424. package/dist/semiotic-recipes-react.module.min.js +2 -0
  425. package/dist/semiotic-recipes.d.ts +4 -43
  426. package/dist/semiotic-recipes.min.js +1 -1
  427. package/dist/semiotic-recipes.module.min.js +1 -1
  428. package/dist/semiotic-server-edge.d.ts +8 -0
  429. package/dist/semiotic-server-edge.min.js +1 -0
  430. package/dist/semiotic-server-edge.module.min.js +1 -0
  431. package/dist/semiotic-server-node.d.ts +5 -0
  432. package/dist/semiotic-server-node.min.js +1 -0
  433. package/dist/semiotic-server-node.module.min.js +1 -0
  434. package/dist/semiotic-server.d.ts +2 -2
  435. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  436. package/dist/semiotic-themes-core.d.ts +53 -0
  437. package/dist/semiotic-themes-core.min.js +1 -0
  438. package/dist/semiotic-themes-core.module.min.js +1 -0
  439. package/dist/semiotic-themes-react.d.ts +4 -0
  440. package/dist/semiotic-themes-react.min.js +2 -0
  441. package/dist/semiotic-themes-react.module.min.js +2 -0
  442. package/dist/semiotic-themes.d.ts +6 -76
  443. package/dist/semiotic-themes.min.js +1 -2
  444. package/dist/semiotic-themes.module.min.js +1 -2
  445. package/dist/semiotic-utils-core.d.ts +46 -0
  446. package/dist/semiotic-utils-core.min.js +1 -0
  447. package/dist/semiotic-utils-core.module.min.js +1 -0
  448. package/dist/semiotic-utils-react.d.ts +5 -0
  449. package/dist/semiotic-utils-react.min.js +2 -0
  450. package/dist/semiotic-utils-react.module.min.js +2 -0
  451. package/dist/semiotic-utils.d.ts +3 -39
  452. package/dist/semiotic-utils.min.js +1 -2
  453. package/dist/semiotic-utils.module.min.js +1 -2
  454. package/dist/semiotic-value.min.js +1 -1
  455. package/dist/semiotic-value.module.min.js +1 -1
  456. package/dist/semiotic-xy.d.ts +8 -0
  457. package/dist/semiotic.d.ts +35 -7
  458. package/dist/semiotic.min.js +1 -1
  459. package/dist/semiotic.module.min.js +1 -1
  460. package/dist/server.min.js +1 -1
  461. package/dist/server.module.min.js +1 -1
  462. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  463. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  464. package/dist/xy.min.js +1 -1
  465. package/dist/xy.module.min.js +1 -1
  466. package/package.json +239 -87
  467. package/spec/README.md +152 -0
  468. package/spec/bindings/README.md +35 -0
  469. package/spec/bindings/vega-lite.mjs +112 -0
  470. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  471. package/spec/v0.1/audience-profile.schema.json +67 -0
  472. package/spec/v0.1/chart-capability.schema.json +186 -0
  473. package/dist/components/recipes/gofish.d.ts +0 -207
  474. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  475. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  476. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  477. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  478. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  479. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  480. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  481. package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
@@ -0,0 +1,170 @@
1
+ import type { PointSceneNode, RectSceneNode, SceneDatum } from "./types";
2
+ import type { GeoAreaSceneNode } from "./geoTypes";
3
+ import type { NetworkCircleNode, NetworkRectNode } from "./networkTypes";
4
+ /** Default hit/keyboard-focus radius (px) — larger than a typical glyph so the
5
+ * target is easy to hit by pointer and to land on by keyboard (Fitts's law). */
6
+ export declare const DEFAULT_HIT_RADIUS = 8;
7
+ export interface HitTargetPointProps {
8
+ /** Plot-relative x of the mark's center. */
9
+ x: number;
10
+ /** Plot-relative y of the mark's center. */
11
+ y: number;
12
+ /** The raw user datum to surface on hover/click/focus and in the data table. */
13
+ datum: SceneDatum;
14
+ /** Stable identity. Set as the node's `pointId` (annotation anchor + nav-tree
15
+ * leaf match) *and* its transition key, so the mark keeps identity across
16
+ * re-layouts. Strongly recommended for interactive/animated custom charts. */
17
+ id?: string | number;
18
+ /** Hit + keyboard-focus radius in px. @default {@link DEFAULT_HIT_RADIUS} */
19
+ r?: number;
20
+ }
21
+ /**
22
+ * A transparent, hit-testable **point** node for a custom XY or ordinal layout
23
+ * whose visible marks live in `overlays`. Inherits keyboard navigation, the
24
+ * focus ring, annotation anchoring (by `id` → `pointId`), tooltip/`onObservation`
25
+ * emission, and transition identity. See the module overview for the full
26
+ * contract.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * nodes: ctx.data.map((row) => {
31
+ * const { x, y } = polarToXY(angle(row.day), radius(row.value))
32
+ * return hitTargetPoint({ x, y, datum: row, id: `day-${row.day}` })
33
+ * })
34
+ * ```
35
+ */
36
+ export declare function hitTargetPoint(props: HitTargetPointProps): PointSceneNode;
37
+ /**
38
+ * A transparent, hit-testable point node for a custom **geo** layout whose
39
+ * visible marks (sprites, icons, forts) live in `overlays`. Project a lon/lat
40
+ * with `ctx.scales.projectedPoint(lon, lat)` first, then pass the resulting
41
+ * `x` / `y`. Functionally identical to {@link hitTargetPoint} — geo scenes use
42
+ * the same `PointSceneNode` — but named for discoverability: it makes
43
+ * overlay-drawn geographic marks keyboard-navigable, focus-ringed, and
44
+ * annotation-anchorable, exactly as {@link networkHitTarget} does for networks.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * // inside a GeoCustomChart layout
49
+ * nodes: pois.map((p) => {
50
+ * const [x, y] = ctx.scales.projectedPoint(p.lon, p.lat)!
51
+ * return geoHitTarget({ x, y, datum: p, id: p.id })
52
+ * })
53
+ * ```
54
+ */
55
+ export declare function geoHitTarget(props: HitTargetPointProps): PointSceneNode;
56
+ export interface GeoAreaHitTargetProps {
57
+ /** SVG path string in plot-relative screen coordinates. */
58
+ pathData: string;
59
+ /** Screen-space centroid for tooltip and focus positioning. */
60
+ centroid: [number, number];
61
+ /** Screen-space bounds as [[x0, y0], [x1, y1]]. */
62
+ bounds: [[number, number], [number, number]];
63
+ /** The raw user datum to surface on hover/click/focus and in the data table. */
64
+ datum: SceneDatum;
65
+ /** Optional series/category key for grouped selection + legend interaction. */
66
+ group?: string;
67
+ /** Screen-space area in px^2. Defaults to the bounding-box area. */
68
+ screenArea?: number;
69
+ }
70
+ /**
71
+ * A transparent, hit-testable **area** node for a custom geo layout whose
72
+ * visible polygons live in `overlays`. Use this when the semantic mark is not
73
+ * point-like: isometric tiles, schematic regions, hex/cell maps, contour bands,
74
+ * or any hand-built path that should retain GeoFrame hover, keyboard focus,
75
+ * tooltips, accessible rows, and shape-aware canvas hit testing.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * return geoAreaHitTarget({
80
+ * pathData: diamondPath(x, y, tileWidth, tileHeight),
81
+ * centroid: [x, y],
82
+ * bounds: [[x - tileWidth / 2, y - tileHeight / 2], [x + tileWidth / 2, y + tileHeight / 2]],
83
+ * screenArea: (tileWidth * tileHeight) / 2,
84
+ * datum: tile,
85
+ * group: tile.kind,
86
+ * })
87
+ * ```
88
+ */
89
+ export declare function geoAreaHitTarget(props: GeoAreaHitTargetProps): GeoAreaSceneNode;
90
+ export interface HitTargetRectProps {
91
+ /** Plot-relative x of the rect's top-left corner. */
92
+ x: number;
93
+ /** Plot-relative y of the rect's top-left corner. */
94
+ y: number;
95
+ /** Rect width in px. */
96
+ width: number;
97
+ /** Rect height in px. */
98
+ height: number;
99
+ /** The raw user datum to surface on hover/click/focus and in the data table. */
100
+ datum: SceneDatum;
101
+ /** Stable identity — used as the transition key, and as `group` for shared
102
+ * selection. (Rect nodes anchor annotations by their center via the
103
+ * point-anchor harvest only on network; for XY/ordinal pair a rect hit area
104
+ * with {@link hitTargetPoint} if you need annotation anchoring.) */
105
+ id?: string | number;
106
+ /** Optional series/category key for grouped selection + legend interaction. */
107
+ group?: string;
108
+ }
109
+ /**
110
+ * A transparent, hit-testable **rect** node for a custom XY or ordinal layout —
111
+ * the rectangular sibling of {@link hitTargetPoint}, for marks that read as a
112
+ * box (a bar, an interval lane segment, a labelled card). Same free interaction:
113
+ * keyboard nav, focus ring, tooltip/`onObservation`, transition identity.
114
+ */
115
+ export declare function hitTargetRect(props: HitTargetRectProps): RectSceneNode;
116
+ export interface NetworkHitTargetCircleProps {
117
+ /** Plot-relative x of the mark's center. */
118
+ x: number;
119
+ /** Plot-relative y of the mark's center. */
120
+ y: number;
121
+ /** The raw user datum (the object you passed in `nodes`, typically `node.data`). */
122
+ datum: SceneDatum;
123
+ /** Stable identity — set as the node `id`, which is how a `pointId`-anchored
124
+ * annotation resolves to this mark and how shared selection keys it. */
125
+ id?: string | number;
126
+ /** Hit + keyboard-focus radius in px. @default {@link DEFAULT_HIT_RADIUS} */
127
+ r?: number;
128
+ /** Optional accessible label override for the node. */
129
+ label?: string;
130
+ }
131
+ export interface NetworkHitTargetRectProps {
132
+ /** Plot-relative x of the rect's top-left corner. */
133
+ x: number;
134
+ /** Plot-relative y of the rect's top-left corner. */
135
+ y: number;
136
+ /** Rect width in px. */
137
+ width: number;
138
+ /** Rect height in px. */
139
+ height: number;
140
+ /** The raw user datum (the object you passed in `nodes`, typically `node.data`). */
141
+ datum: SceneDatum;
142
+ /** Stable identity — set as the node `id` for annotation anchoring + selection. */
143
+ id?: string | number;
144
+ /** Optional accessible label override for the node. */
145
+ label?: string;
146
+ }
147
+ /**
148
+ * A transparent, hit-testable node for a custom **network** layout. Pass `width`
149
+ * + `height` for a rect (a labelled box / card), or omit them for a circle of
150
+ * radius `r`. Every network scene node is harvested as an annotation anchor, so
151
+ * `id` resolves a `{ pointId: id }` annotation to this mark. Inherits the same
152
+ * keyboard nav, focus ring, tooltip/`onObservation`, and shared-selection
153
+ * threading the built-in network charts get.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * sceneNodes: positioned.map((node) =>
158
+ * networkHitTarget({
159
+ * x: node.x - node.width / 2,
160
+ * y: node.y - node.height / 2,
161
+ * width: node.width,
162
+ * height: node.height,
163
+ * datum: node,
164
+ * id: node.id,
165
+ * })
166
+ * )
167
+ * ```
168
+ */
169
+ export declare function networkHitTarget(props: NetworkHitTargetRectProps): NetworkRectNode;
170
+ export declare function networkHitTarget(props: NetworkHitTargetCircleProps): NetworkCircleNode;
@@ -18,7 +18,10 @@ import type { HoverData } from "../realtime/types";
18
18
  export interface HoverPointerCoords {
19
19
  clientX: number;
20
20
  clientY: number;
21
+ pointerType?: string;
21
22
  }
23
+ export declare const TOUCH_HIT_RADIUS = 24;
24
+ export declare function getPointerHitRadius(baseRadius: number, pointerType?: string): number;
22
25
  export declare function normalizeHoverDatum(rawDatum: any): any;
23
26
  /**
24
27
  * Build a HoverData object from a raw datum and pixel coordinates.
@@ -20,11 +20,14 @@ export interface NavPoint {
20
20
  y: number;
21
21
  datum: Datum | null;
22
22
  /** Shape hint for focus ring rendering */
23
- shape?: "circle" | "rect" | "wedge";
23
+ shape?: "circle" | "rect" | "wedge" | "geoarea";
24
24
  /** Width of rect-shaped elements (bars, sankey nodes) */
25
25
  w?: number;
26
26
  /** Height of rect-shaped elements */
27
27
  h?: number;
28
+ /** SVG path (plot-relative) for a geoarea focus ring — the shape is
29
+ * outlined instead of drawing a circle at the centroid. */
30
+ pathData?: string;
28
31
  /** Group identifier for graph navigation (series name, category, node id) */
29
32
  group?: string;
30
33
  /** Index in NavGraph.flat — set by buildNavGraph for O(1) lookup */
@@ -1,2 +1,10 @@
1
- import type { NetworkLayoutPlugin } from "../networkTypes";
1
+ import type { NetworkLayoutPlugin, RealtimeNode } from "../networkTypes";
2
+ import type { Datum } from "../../charts/shared/datumTypes";
2
3
  export declare const forceLayoutPlugin: NetworkLayoutPlugin;
4
+ /**
5
+ * Build a function that returns a node radius. If `nodeSize` is a number,
6
+ * use it directly. If it is a string accessor, look up `node.data[nodeSize]`
7
+ * and scale the result to `nodeSizeRange`. If it is a function, call it.
8
+ * Falls back to a default radius of 8.
9
+ */
10
+ export declare function resolveNodeSizeFn(nodeSize: number | string | ((d: Datum) => number) | undefined, nodeSizeRange: [number, number] | undefined, allNodes: RealtimeNode[]): (node: RealtimeNode) => number;
@@ -0,0 +1,57 @@
1
+ import type { GraphEdge, GraphNode, Point } from "../../recipes/networkAnalysis";
2
+ import type { ForceLayoutOptions } from "../../recipes/forceLayout";
3
+ import type { NetworkPipelineConfig, RealtimeEdge, RealtimeNode } from "../networkTypes";
4
+ export type ForceLayoutExecution = "auto" | "worker" | "sync";
5
+ export interface NormalizedForceWorkerRequest {
6
+ kind: "normalized";
7
+ nodes: GraphNode[];
8
+ edges: GraphEdge[];
9
+ options: Omit<ForceLayoutOptions, "nodeRadius">;
10
+ nodeRadii?: Record<string, number>;
11
+ }
12
+ export interface FrameForceWorkerRequest {
13
+ kind: "frame";
14
+ nodes: RealtimeNode[];
15
+ edges: RealtimeEdge[];
16
+ config: {
17
+ chartType: "force";
18
+ iterations?: number;
19
+ forceStrength?: number;
20
+ };
21
+ size: [number, number];
22
+ }
23
+ export type ForceWorkerRequest = NormalizedForceWorkerRequest | FrameForceWorkerRequest;
24
+ export interface ForceWorkerResponse {
25
+ positions: Record<string, Point>;
26
+ }
27
+ export declare const DEFAULT_FORCE_WORKER_THRESHOLD = 40000;
28
+ export declare function shouldUseForceWorker(execution: ForceLayoutExecution, nodeCount: number, edgeCount: number, iterations: number, threshold?: number): boolean;
29
+ export declare function canUseForceWorker(): boolean;
30
+ export declare function createForceLayoutWorker(): Worker;
31
+ export declare function createFrameForceWorkerRequest(nodes: RealtimeNode[], edges: RealtimeEdge[], config: NetworkPipelineConfig, size: [number, number], previousPositions?: Map<string, {
32
+ x: number;
33
+ y: number;
34
+ }> | null): FrameForceWorkerRequest;
35
+ /**
36
+ * Long-lived force-layout worker session. Mirrors PhysicsWorkerSession:
37
+ * one Worker is reused across layouts so module parse + startup cost is
38
+ * paid once per page, not once per graph re-layout.
39
+ */
40
+ export declare class ForceLayoutWorkerSession {
41
+ private nextRequestId;
42
+ private pending;
43
+ private worker;
44
+ private dead;
45
+ constructor(worker?: Worker);
46
+ get isDead(): boolean;
47
+ request(request: ForceWorkerRequest, signal?: AbortSignal): Promise<ForceWorkerResponse>;
48
+ terminate(): void;
49
+ private rejectAll;
50
+ }
51
+ /** Test helper: drop the shared session so the next call creates a fresh Worker. */
52
+ export declare function _resetSharedForceLayoutSessionForTest(): void;
53
+ /**
54
+ * Run a force layout on a reused worker session.
55
+ * Prefer this over constructing a new Worker per layout.
56
+ */
57
+ export declare function runForceLayoutWorker(request: ForceWorkerRequest, signal?: AbortSignal): Promise<ForceWorkerResponse>;
@@ -0,0 +1,10 @@
1
+ import type { BezierCache, RealtimeEdge, RealtimeNode } from "./networkTypes";
2
+ /** Default cubic control-point curvature (fraction of span). */
3
+ export declare const NETWORK_EDGE_CURVATURE = 0.5;
4
+ export declare function buildStandardBezier(edge: RealtimeEdge, sourceNode: RealtimeNode, targetNode: RealtimeNode, curvature?: number): BezierCache;
5
+ export declare function buildCircularBezier(edge: RealtimeEdge, curvature?: number): BezierCache;
6
+ /**
7
+ * Resolve source/target RealtimeNodes and attach the edge's bezier cache.
8
+ * Returns false if endpoints cannot be resolved.
9
+ */
10
+ export declare function updateEdgeBezier(edge: RealtimeEdge, nodes: Map<string, RealtimeNode>, curvature?: number): boolean;
@@ -0,0 +1,49 @@
1
+ import type { Datum } from "../charts/shared/datumTypes";
2
+ import type { RealtimeEdge, RealtimeNode } from "./networkTypes";
3
+ export declare function resolveNetworkEdgeEndpoint(endpoint: RealtimeNode | string | undefined, nodes: Map<string, RealtimeNode> | undefined): RealtimeNode | null;
4
+ export declare function resolveNetworkNodeColor(options: {
5
+ node: RealtimeNode;
6
+ colorBy?: string | ((node: RealtimeNode) => unknown);
7
+ colorScheme?: string | string[] | Record<string, string>;
8
+ nodeColorMap: Map<string, string>;
9
+ colorIndexRef: {
10
+ current: number;
11
+ };
12
+ }): string;
13
+ export declare function resolveNetworkEdgeColor(options: {
14
+ edge: RealtimeEdge;
15
+ edgeColorBy?: string | ((edge: RealtimeEdge) => string);
16
+ getNodeColor: (node: RealtimeNode) => string;
17
+ resolveEndpoint: (endpoint: RealtimeNode | string | undefined) => RealtimeNode | null;
18
+ fallback: string;
19
+ }): string;
20
+ export declare function resolveNetworkParticleColor(options: {
21
+ edge: RealtimeEdge;
22
+ particleStyleColor?: string | ((edge: RealtimeEdge, node: RealtimeNode) => string);
23
+ particleColorBy?: string;
24
+ hasExplicitParticleColorBy: boolean;
25
+ getEdgeColor: (edge: RealtimeEdge) => string;
26
+ getNodeColor: (node: RealtimeNode) => string;
27
+ resolveEndpoint: (endpoint: RealtimeNode | string | undefined) => RealtimeNode | null;
28
+ fallback: string;
29
+ }): string;
30
+ /** Sync scene fills into the node color map; fill gaps from palette. */
31
+ export declare function syncNetworkNodeColorMap(options: {
32
+ sceneNodes: ReadonlyArray<{
33
+ id?: string;
34
+ style?: {
35
+ fill?: unknown;
36
+ };
37
+ }>;
38
+ nodes: Iterable<RealtimeNode>;
39
+ nodeColorMap: Map<string, string>;
40
+ colorScheme?: string | string[] | Record<string, string>;
41
+ }): number;
42
+ export declare function networkEdgeFallbackColor(theme: {
43
+ colors?: {
44
+ border?: string;
45
+ secondary?: string;
46
+ primary?: string;
47
+ };
48
+ } | null | undefined): string;
49
+ export type { Datum };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Default network hover tooltip for StreamNetworkFrame.
3
+ * Uses shared `defaultTooltipStyle` for theme CSS-var consistency.
4
+ */
5
+ import * as React from "react";
6
+ import type { HoverData } from "../realtime/types";
7
+ declare function DefaultNetworkTooltip({ data }: {
8
+ data: HoverData;
9
+ }): React.JSX.Element | null;
10
+ export { DefaultNetworkTooltip };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Pointer hit-testing helpers for StreamNetworkFrame hover/click.
3
+ * Returns a structured result so the frame owns React setState.
4
+ */
5
+ import type { HoverData } from "../realtime/types";
6
+ import { type HoverPointerCoords } from "./hoverUtils";
7
+ import type { NetworkSceneEdge, NetworkSceneNode } from "./networkTypes";
8
+ import type { Quadtree } from "d3-quadtree";
9
+ import type { NetworkCircleNode } from "./networkTypes";
10
+ export type NetworkPointerHit = {
11
+ kind: "miss-outside";
12
+ } | {
13
+ kind: "miss";
14
+ } | {
15
+ kind: "hit";
16
+ hover: HoverData;
17
+ };
18
+ export declare function resolveNetworkPointerHit(options: {
19
+ clientX: number;
20
+ clientY: number;
21
+ canvasRect: DOMRect;
22
+ margin: {
23
+ left: number;
24
+ top: number;
25
+ };
26
+ adjustedWidth: number;
27
+ adjustedHeight: number;
28
+ sceneNodes: NetworkSceneNode[];
29
+ sceneEdges: NetworkSceneEdge[];
30
+ nodeQuadtree: Quadtree<NetworkCircleNode> | null;
31
+ maxNodeRadius: number;
32
+ hitRadius?: number;
33
+ }): NetworkPointerHit;
34
+ export declare function pointerFromMouseEvent(e: {
35
+ clientX: number;
36
+ clientY: number;
37
+ }): HoverPointerCoords;
@@ -0,0 +1,43 @@
1
+ import type { NetworkPipelineStore } from "./NetworkPipelineStore";
2
+ import type { NetworkPipelineConfig, ParticleStyle, RealtimeEdge } from "./networkTypes";
3
+ import type { MarginType } from "../types/marginType";
4
+ import type { DecayConfig, PulseConfig, StalenessConfig } from "./types";
5
+ export interface NetworkFramePaintContext {
6
+ canvas: HTMLCanvasElement;
7
+ store: NetworkPipelineStore;
8
+ size: [number, number];
9
+ margin: MarginType;
10
+ adjustedWidth: number;
11
+ adjustedHeight: number;
12
+ background?: string;
13
+ dirtyRef: {
14
+ current: boolean;
15
+ };
16
+ lastFrameTimeRef: {
17
+ current: number;
18
+ };
19
+ reducedMotion: boolean;
20
+ showParticles: boolean;
21
+ isContinuous: boolean;
22
+ /** Truthy animate (boolean or config object) enables topology-diff pulses. */
23
+ animate: unknown;
24
+ decay?: DecayConfig;
25
+ pulse?: PulseConfig;
26
+ thresholds?: NetworkPipelineConfig["thresholds"];
27
+ staleness?: StalenessConfig;
28
+ particleStyle: ParticleStyle;
29
+ getParticleColor: (edge: RealtimeEdge, node?: unknown) => string;
30
+ pendingAnnotationFrameRef: {
31
+ current: boolean;
32
+ };
33
+ lastAnnotationFrameTimeRef: {
34
+ current: number;
35
+ };
36
+ setAnnotationFrame: (updater: (f: number) => number) => void;
37
+ scheduleNextFrame: () => void;
38
+ }
39
+ /**
40
+ * Run one paint tick. Returns whether another rAF should be scheduled
41
+ * (also invoked via scheduleNextFrame for continuous modes).
42
+ */
43
+ export declare function paintNetworkFrame(ctx: NetworkFramePaintContext): void;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Build NetworkPipelineConfig from StreamNetworkFrame props + theme.
3
+ * Keeps the large useMemo payload out of the React component file.
4
+ */
5
+ import type { SemioticTheme } from "../store/ThemeStore";
6
+ import type { NetworkPipelineConfig } from "./networkTypes";
7
+ import type { StreamNetworkFrameProps } from "./networkTypes";
8
+ export type NetworkPipelineConfigSources = Pick<StreamNetworkFrameProps, "chartType" | "nodeIDAccessor" | "sourceAccessor" | "targetAccessor" | "valueAccessor" | "edgeIdAccessor" | "childrenAccessor" | "hierarchySum" | "orientation" | "nodeAlign" | "nodePaddingRatio" | "nodeWidth" | "iterations" | "forceStrength" | "padAngle" | "groupWidth" | "sortGroups" | "edgeSort" | "treeOrientation" | "edgeType" | "padding" | "paddingTop" | "nodeStyle" | "edgeStyle" | "nodeLabel" | "showLabels" | "labelMode" | "colorBy" | "colorScheme" | "edgeColorBy" | "edgeOpacity" | "colorByDepth" | "nodeSize" | "nodeSizeRange" | "decay" | "pulse" | "transition" | "staleness" | "thresholds" | "orbitMode" | "orbitSize" | "orbitSpeed" | "orbitRevolution" | "orbitRevolutionStyle" | "orbitEccentricity" | "orbitShowRings" | "orbitAnimated" | "customNetworkLayout" | "onLayoutError" | "layoutConfig"> & {
9
+ tensionConfig: NetworkPipelineConfig["tensionConfig"];
10
+ showParticles: boolean;
11
+ particleStyle: NetworkPipelineConfig["particleStyle"];
12
+ introAnimation: boolean;
13
+ currentTheme: SemioticTheme | null | undefined;
14
+ };
15
+ export declare function buildNetworkPipelineConfig(sources: NetworkPipelineConfigSources): NetworkPipelineConfig;
16
+ /** Fields that force re-ingest / re-layout when changed. */
17
+ export type NetworkLayoutConfigSignature = Pick<NetworkPipelineConfigSources, "chartType" | "nodeIDAccessor" | "sourceAccessor" | "targetAccessor" | "valueAccessor" | "edgeIdAccessor" | "childrenAccessor" | "hierarchySum" | "orientation" | "nodeAlign" | "nodePaddingRatio" | "nodeWidth" | "iterations" | "forceStrength" | "padAngle" | "groupWidth" | "sortGroups" | "edgeSort" | "treeOrientation" | "edgeType" | "padding" | "paddingTop" | "tensionConfig" | "customNetworkLayout"> & {
18
+ orbitMode?: NetworkPipelineConfigSources["orbitMode"];
19
+ orbitSize?: NetworkPipelineConfigSources["orbitSize"];
20
+ orbitEccentricity?: NetworkPipelineConfigSources["orbitEccentricity"];
21
+ };
22
+ export declare function buildNetworkLayoutConfigSignature(sources: NetworkLayoutConfigSignature): Record<string, unknown>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Network pipeline pure helpers (node factory + bezier cache validation).
3
+ */
4
+ import type { RealtimeNode, BezierCache } from "./networkTypes";
5
+ export declare function createNode(id: string): RealtimeNode;
6
+ /** Validate a value matches the `BezierCache` shape before assigning it
7
+ * to a `RealtimeEdge`. The particle pipeline reads
8
+ * `edge.bezier.points[i].x` etc. unguarded — a malformed bezier
9
+ * (e.g. `bezier: true`, missing points, non-finite coords) would
10
+ * crash the canvas frame loop. */
11
+ export declare function isValidBezierCache(value: unknown): value is BezierCache;
12
+ export declare function isFourFinitePoints(pts: unknown): boolean;
@@ -0,0 +1,41 @@
1
+ import type { NetworkSceneEdge, NetworkSceneNode, RealtimeNode } from "./networkTypes";
2
+ import type { DecayConfig, PulseConfig } from "./types";
3
+ import type { NetworkPipelineConfig } from "./networkTypes";
4
+ export type NetworkTimestampMap = Map<string, number>;
5
+ export declare function applyNetworkPulse(options: {
6
+ sceneNodes: NetworkSceneNode[];
7
+ sceneEdges: NetworkSceneEdge[];
8
+ nodeTimestamps: NetworkTimestampMap;
9
+ edgeTimestamps: NetworkTimestampMap;
10
+ pulse: PulseConfig | undefined;
11
+ now: number;
12
+ }): void;
13
+ export interface NetworkDecayCache {
14
+ sortedNodes: [string, number][] | null;
15
+ ageMap: Map<string, number> | null;
16
+ }
17
+ export declare function applyNetworkDecay(options: {
18
+ sceneNodes: NetworkSceneNode[];
19
+ nodeTimestamps: NetworkTimestampMap;
20
+ decay: DecayConfig | undefined;
21
+ cache: NetworkDecayCache;
22
+ }): void;
23
+ export declare function applyNetworkTopologyDiff(options: {
24
+ sceneNodes: NetworkSceneNode[];
25
+ addedNodes: Set<string>;
26
+ lastTopologyChangeTime: number;
27
+ now: number;
28
+ }): void;
29
+ export declare function hasActiveNetworkTopologyDiff(addedNodes: Set<string>, lastTopologyChangeTime: number, now?: number): boolean;
30
+ export declare function applyNetworkThresholds(options: {
31
+ sceneNodes: NetworkSceneNode[];
32
+ nodes: Map<string, RealtimeNode>;
33
+ thresholds: NetworkPipelineConfig["thresholds"];
34
+ now: number;
35
+ }): void;
36
+ export declare function hasActiveNetworkThresholds(nodes: Iterable<RealtimeNode>, thresholds: NetworkPipelineConfig["thresholds"]): boolean;
37
+ export declare function hasActiveNetworkPulses(options: {
38
+ pulse: PulseConfig | undefined;
39
+ lastIngestTime: number;
40
+ now?: number;
41
+ }): boolean;