semiotic 3.4.0 → 3.4.2

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 (189) hide show
  1. package/CLAUDE.md +16 -3
  2. package/ai/schema.json +42 -1
  3. package/ai/system-prompt.md +4 -0
  4. package/dist/components/Annotation.d.ts +42 -2
  5. package/dist/components/CategoryColors.d.ts +1 -1
  6. package/dist/components/ChartGrid.d.ts +1 -1
  7. package/dist/components/ContextLayout.d.ts +1 -1
  8. package/dist/components/DataSummaryContext.d.ts +1 -1
  9. package/dist/components/DetailsPanel.d.ts +3 -2
  10. package/dist/components/Legend.d.ts +2 -3
  11. package/dist/components/LinkedCharts.d.ts +1 -1
  12. package/dist/components/ThemeProvider.d.ts +1 -1
  13. package/dist/components/Tooltip/FlippingTooltip.d.ts +1 -1
  14. package/dist/components/Tooltip/Tooltip.d.ts +4 -3
  15. package/dist/components/charts/geo/ChoroplethMap.d.ts +4 -4
  16. package/dist/components/charts/geo/DistanceCartogram.d.ts +5 -4
  17. package/dist/components/charts/geo/FlowMap.d.ts +4 -4
  18. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +4 -3
  19. package/dist/components/charts/index.d.ts +2 -0
  20. package/dist/components/charts/network/ChordDiagram.d.ts +4 -3
  21. package/dist/components/charts/network/CirclePack.d.ts +3 -3
  22. package/dist/components/charts/network/ForceDirectedGraph.d.ts +3 -2
  23. package/dist/components/charts/network/OrbitDiagram.d.ts +6 -5
  24. package/dist/components/charts/network/SankeyDiagram.d.ts +4 -3
  25. package/dist/components/charts/network/TreeDiagram.d.ts +3 -3
  26. package/dist/components/charts/network/Treemap.d.ts +3 -3
  27. package/dist/components/charts/ordinal/BarChart.d.ts +24 -4
  28. package/dist/components/charts/ordinal/BoxPlot.d.ts +4 -3
  29. package/dist/components/charts/ordinal/DonutChart.d.ts +4 -3
  30. package/dist/components/charts/ordinal/DotPlot.d.ts +4 -3
  31. package/dist/components/charts/ordinal/FunnelChart.d.ts +4 -3
  32. package/dist/components/charts/ordinal/GaugeChart.d.ts +2 -1
  33. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +4 -3
  34. package/dist/components/charts/ordinal/Histogram.d.ts +4 -3
  35. package/dist/components/charts/ordinal/LikertChart.d.ts +4 -3
  36. package/dist/components/charts/ordinal/PieChart.d.ts +4 -3
  37. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +4 -3
  38. package/dist/components/charts/ordinal/StackedBarChart.d.ts +4 -3
  39. package/dist/components/charts/ordinal/SwarmPlot.d.ts +4 -3
  40. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -3
  41. package/dist/components/charts/ordinal/ViolinPlot.d.ts +4 -3
  42. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +7 -6
  43. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +10 -7
  44. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -6
  45. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +7 -6
  46. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -6
  47. package/dist/components/charts/shared/ChartError.d.ts +1 -2
  48. package/dist/components/charts/shared/annotationResolvers.d.ts +4 -3
  49. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  50. package/dist/components/charts/shared/colorUtils.d.ts +4 -3
  51. package/dist/components/charts/shared/datumTypes.d.ts +20 -0
  52. package/dist/components/charts/shared/diagnoseConfig.d.ts +2 -7
  53. package/dist/components/charts/shared/formatUtils.d.ts +4 -2
  54. package/dist/components/charts/shared/hooks.d.ts +27 -23
  55. package/dist/components/charts/shared/legendUtils.d.ts +3 -2
  56. package/dist/components/charts/shared/mergeShapeStyle.d.ts +43 -0
  57. package/dist/components/charts/shared/networkUtils.d.ts +7 -6
  58. package/dist/components/charts/shared/selectionUtils.d.ts +5 -4
  59. package/dist/components/charts/shared/statisticalOverlays.d.ts +14 -26
  60. package/dist/components/charts/shared/statisticalOverlaysLazy.d.ts +2 -2
  61. package/dist/components/charts/shared/statsTooltip.d.ts +3 -2
  62. package/dist/components/charts/shared/tooltipUtils.d.ts +7 -6
  63. package/dist/components/charts/shared/types.d.ts +22 -13
  64. package/dist/components/charts/shared/useChartSetup.d.ts +7 -6
  65. package/dist/components/charts/shared/useLikertAggregation.d.ts +18 -7
  66. package/dist/components/charts/shared/useOrdinalStreaming.d.ts +3 -2
  67. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -1
  68. package/dist/components/charts/shared/validateChartData.d.ts +2 -1
  69. package/dist/components/charts/shared/validateProps.d.ts +2 -8
  70. package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
  71. package/dist/components/charts/xy/AreaChart.d.ts +4 -3
  72. package/dist/components/charts/xy/BubbleChart.d.ts +4 -3
  73. package/dist/components/charts/xy/CandlestickChart.d.ts +47 -0
  74. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +4 -3
  75. package/dist/components/charts/xy/Heatmap.d.ts +12 -7
  76. package/dist/components/charts/xy/LineChart.d.ts +4 -3
  77. package/dist/components/charts/xy/MinimapChart.d.ts +4 -4
  78. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +5 -4
  79. package/dist/components/charts/xy/QuadrantChart.d.ts +4 -3
  80. package/dist/components/charts/xy/Scatterplot.d.ts +4 -3
  81. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +3 -3
  82. package/dist/components/charts/xy/StackedAreaChart.d.ts +4 -3
  83. package/dist/components/data/transforms.d.ts +8 -7
  84. package/dist/components/export/chartConfig.d.ts +4 -3
  85. package/dist/components/export/selectionSerializer.d.ts +1 -1
  86. package/dist/components/geo/mergeData.d.ts +2 -1
  87. package/dist/components/realtime/BinAccumulator.d.ts +3 -2
  88. package/dist/components/realtime/renderers/types.d.ts +2 -1
  89. package/dist/components/realtime/renderers/waterfallRenderer.d.ts +2 -1
  90. package/dist/components/realtime/types.d.ts +25 -21
  91. package/dist/components/semiotic-themes.d.ts +2 -1
  92. package/dist/components/semiotic-xy.d.ts +2 -0
  93. package/dist/components/semiotic.d.ts +3 -3
  94. package/dist/components/server/animatedGif.d.ts +4 -18
  95. package/dist/components/server/renderToStaticSVG.d.ts +5 -4
  96. package/dist/components/server/serverChartConfigs.d.ts +2 -10
  97. package/dist/components/server/staticAnnotations.d.ts +2 -1
  98. package/dist/components/server/staticLegend.d.ts +2 -1
  99. package/dist/components/store/ObservationStore.d.ts +4 -3
  100. package/dist/components/store/SelectionStore.d.ts +4 -9
  101. package/dist/components/store/ThemeStore.d.ts +32 -4
  102. package/dist/components/store/TooltipStore.d.ts +6 -2
  103. package/dist/components/store/useSelection.d.ts +13 -9
  104. package/dist/components/stream/AccessibleDataTable.d.ts +5 -5
  105. package/dist/components/stream/CanvasHitTester.d.ts +2 -1
  106. package/dist/components/stream/DataSourceAdapter.d.ts +2 -1
  107. package/dist/components/stream/FocusRing.d.ts +1 -2
  108. package/dist/components/stream/GeoParticlePool.d.ts +2 -1
  109. package/dist/components/stream/GeoPipelineStore.d.ts +7 -6
  110. package/dist/components/stream/MarginalGraphics.d.ts +1 -2
  111. package/dist/components/stream/NetworkPipelineStore.d.ts +3 -2
  112. package/dist/components/stream/NetworkSVGOverlay.d.ts +21 -15
  113. package/dist/components/stream/OrdinalBrushOverlay.d.ts +1 -19
  114. package/dist/components/stream/OrdinalPipelineStore.d.ts +6 -5
  115. package/dist/components/stream/OrdinalSVGOverlay.d.ts +6 -5
  116. package/dist/components/stream/PipelineStore.d.ts +63 -28
  117. package/dist/components/stream/SVGOverlay.d.ts +10 -10
  118. package/dist/components/stream/SceneGraph.d.ts +6 -5
  119. package/dist/components/stream/StreamGeoFrame.d.ts +2 -1
  120. package/dist/components/stream/StreamNetworkFrame.d.ts +2 -1
  121. package/dist/components/stream/StreamOrdinalFrame.d.ts +2 -1
  122. package/dist/components/stream/StreamXYFrame.d.ts +2 -1
  123. package/dist/components/stream/XYBrushOverlay.d.ts +1 -21
  124. package/dist/components/stream/devDataAccessWarning.d.ts +2 -11
  125. package/dist/components/stream/geoTypes.d.ts +43 -24
  126. package/dist/components/stream/hoverUtils.d.ts +2 -1
  127. package/dist/components/stream/keyboardNav.d.ts +18 -6
  128. package/dist/components/stream/layouts/hierarchySceneBuilders.d.ts +4 -3
  129. package/dist/components/stream/layouts/hierarchyUtils.d.ts +4 -3
  130. package/dist/components/stream/networkTypes.d.ts +73 -47
  131. package/dist/components/stream/ordinalSceneBuilders/barFunnelScene.d.ts +1 -1
  132. package/dist/components/stream/ordinalSceneBuilders/barScene.d.ts +2 -2
  133. package/dist/components/stream/ordinalSceneBuilders/connectorScene.d.ts +1 -1
  134. package/dist/components/stream/ordinalSceneBuilders/pointScene.d.ts +2 -2
  135. package/dist/components/stream/ordinalSceneBuilders/statisticalScene.d.ts +4 -4
  136. package/dist/components/stream/ordinalSceneBuilders/swimlaneScene.d.ts +1 -1
  137. package/dist/components/stream/ordinalSceneBuilders/timelineScene.d.ts +1 -1
  138. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +9 -8
  139. package/dist/components/stream/ordinalTypes.d.ts +65 -33
  140. package/dist/components/stream/pipelineDecay.d.ts +2 -1
  141. package/dist/components/stream/pipelinePulse.d.ts +2 -1
  142. package/dist/components/stream/pipelineTransitions.d.ts +16 -4
  143. package/dist/components/stream/renderers/colorUtils.d.ts +20 -0
  144. package/dist/components/stream/types.d.ts +58 -17
  145. package/dist/components/stream/xySceneBuilders/areaScene.d.ts +3 -2
  146. package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -1
  147. package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +2 -1
  148. package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -1
  149. package/dist/components/stream/xySceneBuilders/emitPointNodes.d.ts +3 -2
  150. package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -1
  151. package/dist/components/stream/xySceneBuilders/lineScene.d.ts +2 -1
  152. package/dist/components/stream/xySceneBuilders/mixedScene.d.ts +2 -1
  153. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -1
  154. package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -1
  155. package/dist/components/stream/xySceneBuilders/types.d.ts +35 -26
  156. package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -1
  157. package/dist/components/types/marginType.d.ts +15 -0
  158. package/dist/geo.min.js +1 -1
  159. package/dist/geo.module.min.js +1 -1
  160. package/dist/network.min.js +1 -1
  161. package/dist/network.module.min.js +1 -1
  162. package/dist/ordinal.min.js +1 -1
  163. package/dist/ordinal.module.min.js +1 -1
  164. package/dist/realtime.min.js +1 -1
  165. package/dist/realtime.module.min.js +1 -1
  166. package/dist/semiotic-ai.min.js +1 -1
  167. package/dist/semiotic-ai.module.min.js +1 -1
  168. package/dist/semiotic-statisticalOverlays-Ckd_jM8z.js +1 -0
  169. package/dist/semiotic-themes.d.ts +2 -1
  170. package/dist/semiotic-themes.min.js +1 -1
  171. package/dist/semiotic-themes.module.min.js +1 -1
  172. package/dist/semiotic-utils.min.js +1 -1
  173. package/dist/semiotic-utils.module.min.js +1 -1
  174. package/dist/semiotic-xy.d.ts +2 -0
  175. package/dist/semiotic.d.ts +3 -3
  176. package/dist/semiotic.min.js +1 -1
  177. package/dist/semiotic.module.min.js +1 -1
  178. package/dist/server.min.js +1 -1
  179. package/dist/server.module.min.js +1 -1
  180. package/dist/test-utils/canvasMock.d.ts +10 -2
  181. package/dist/xy.min.js +1 -1
  182. package/dist/xy.module.min.js +1 -1
  183. package/package.json +38 -32
  184. package/dist/components/types/annotationTypes.d.ts +0 -145
  185. package/dist/components/types/generalTypes.d.ts +0 -241
  186. package/dist/components/types/interactionTypes.d.ts +0 -72
  187. package/dist/components/types/networkTypes.d.ts +0 -174
  188. package/dist/components/types/ordinalTypes.d.ts +0 -112
  189. package/dist/semiotic-statisticalOverlays-DGX_WWc5.js +0 -1
@@ -2,8 +2,9 @@ import type { ReactNode } from "react";
2
2
  import type { OnObservationCallback } from "../store/ObservationStore";
3
3
  import type { HoverData, AnnotationContext } from "../realtime/types";
4
4
  import type { LegendGroup } from "../types/legendTypes";
5
- import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig } from "./types";
5
+ import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, SceneDatum } from "./types";
6
6
  import type { AnimateProp } from "./pipelineTransitionUtils";
7
+ import type { Datum } from "../charts/shared/datumTypes";
7
8
  export interface TensionConfig {
8
9
  weightChange: number;
9
10
  newEdge: number;
@@ -32,7 +33,7 @@ export interface RealtimeNode {
32
33
  _targetY1?: number;
33
34
  value: number;
34
35
  depth?: number;
35
- data?: Record<string, any>;
36
+ data?: Datum;
36
37
  createdByFrame?: boolean;
37
38
  sourceLinks?: RealtimeEdge[];
38
39
  targetLinks?: RealtimeEdge[];
@@ -57,9 +58,9 @@ export interface RealtimeEdge {
57
58
  _introFromZero?: boolean;
58
59
  direction?: string;
59
60
  circular?: boolean;
60
- circularPathData?: any;
61
+ circularPathData?: CircularPathData;
61
62
  bezier?: BezierCache;
62
- data?: Record<string, any>;
63
+ data?: Datum;
63
64
  /** Unique key for this edge (supports parallel edges between same node pair) */
64
65
  _edgeKey?: string;
65
66
  _pulseIntensity?: number;
@@ -79,6 +80,27 @@ export interface BezierCache {
79
80
  segments?: Array<[BezierPoint, BezierPoint, BezierPoint, BezierPoint]>;
80
81
  halfWidth: number;
81
82
  }
83
+ export interface CircularPathData {
84
+ sourceX: number;
85
+ targetX: number;
86
+ sourceY: number;
87
+ targetY: number;
88
+ rightFullExtent: number;
89
+ leftFullExtent: number;
90
+ verticalFullExtent: number;
91
+ rightInnerExtent: number;
92
+ leftInnerExtent: number;
93
+ verticalRightInnerExtent: number;
94
+ verticalLeftInnerExtent: number;
95
+ rightSmallArcRadius: number;
96
+ rightLargeArcRadius: number;
97
+ leftSmallArcRadius: number;
98
+ leftLargeArcRadius: number;
99
+ sourceWidth: number;
100
+ rightNodeBuffer: number;
101
+ leftNodeBuffer: number;
102
+ arcRadius: number;
103
+ }
82
104
  export interface Particle {
83
105
  t: number;
84
106
  offset: number;
@@ -132,7 +154,7 @@ export interface RealtimeNetworkFrameProps {
132
154
  enableHover?: boolean;
133
155
  tooltipContent?: (d: {
134
156
  type: "node" | "edge";
135
- data: any;
157
+ data: Datum | null;
136
158
  }) => ReactNode;
137
159
  onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
138
160
  background?: string;
@@ -146,7 +168,7 @@ export interface NetworkCircleNode {
146
168
  cy: number;
147
169
  r: number;
148
170
  style: Style;
149
- datum: any;
171
+ datum: SceneDatum;
150
172
  id?: string;
151
173
  label?: string;
152
174
  depth?: number;
@@ -162,7 +184,7 @@ export interface NetworkRectNode {
162
184
  w: number;
163
185
  h: number;
164
186
  style: Style;
165
- datum: any;
187
+ datum: SceneDatum;
166
188
  id?: string;
167
189
  label?: string;
168
190
  depth?: number;
@@ -183,7 +205,7 @@ export interface NetworkArcNode {
183
205
  /** End angle in radians, canvas convention */
184
206
  endAngle: number;
185
207
  style: Style;
186
- datum: any;
208
+ datum: SceneDatum;
187
209
  id?: string;
188
210
  label?: string;
189
211
  _pulseIntensity?: number;
@@ -198,7 +220,7 @@ export interface NetworkLineEdge {
198
220
  x2: number;
199
221
  y2: number;
200
222
  style: Style;
201
- datum: any;
223
+ datum: SceneDatum;
202
224
  _pulseIntensity?: number;
203
225
  _pulseColor?: string;
204
226
  }
@@ -208,7 +230,7 @@ export interface NetworkBezierEdge {
208
230
  pathD: string;
209
231
  bezierCache?: BezierCache;
210
232
  style: Style;
211
- datum: any;
233
+ datum: SceneDatum;
212
234
  _pulseIntensity?: number;
213
235
  _pulseColor?: string;
214
236
  /** Lazily-built Path2D for hit testing; invalidated when pathD changes. */
@@ -220,7 +242,7 @@ export interface NetworkRibbonEdge {
220
242
  type: "ribbon";
221
243
  pathD: string;
222
244
  style: Style;
223
- datum: any;
245
+ datum: SceneDatum;
224
246
  _pulseIntensity?: number;
225
247
  _pulseColor?: string;
226
248
  _cachedPath2D?: Path2D;
@@ -231,7 +253,7 @@ export interface NetworkCurvedEdge {
231
253
  type: "curved";
232
254
  pathD: string;
233
255
  style: Style;
234
- datum: any;
256
+ datum: SceneDatum;
235
257
  _pulseIntensity?: number;
236
258
  _pulseColor?: string;
237
259
  _cachedPath2D?: Path2D;
@@ -299,24 +321,24 @@ export interface ThresholdAlertConfig {
299
321
  }
300
322
  export interface NetworkPipelineConfig {
301
323
  chartType: NetworkChartType;
302
- nodeIDAccessor?: string | ((d: any) => string);
303
- sourceAccessor?: string | ((d: any) => string);
304
- targetAccessor?: string | ((d: any) => string);
305
- valueAccessor?: string | ((d: any) => number);
324
+ nodeIDAccessor?: string | ((d: Datum) => string);
325
+ sourceAccessor?: string | ((d: Datum) => string);
326
+ targetAccessor?: string | ((d: Datum) => string);
327
+ valueAccessor?: string | ((d: Datum) => number);
306
328
  /** Edge ID accessor for removeEdge(edgeId) — enables single-ID edge removal */
307
- edgeIdAccessor?: string | ((d: any) => string);
308
- childrenAccessor?: string | ((d: any) => any[]);
309
- hierarchySum?: string | ((d: any) => number);
329
+ edgeIdAccessor?: string | ((d: Datum) => string);
330
+ childrenAccessor?: string | ((d: Datum) => Datum[]);
331
+ hierarchySum?: string | ((d: Datum) => number);
310
332
  orientation?: "horizontal" | "vertical";
311
333
  nodeAlign?: "justify" | "left" | "right" | "center";
312
334
  nodePaddingRatio?: number;
313
335
  nodeWidth?: number;
314
- edgeSort?: (a: any, b: any) => number;
336
+ edgeSort?: (a: unknown, b: unknown) => number;
315
337
  iterations?: number;
316
338
  forceStrength?: number;
317
339
  padAngle?: number;
318
340
  groupWidth?: number;
319
- sortGroups?: (a: any, b: any) => number;
341
+ sortGroups?: (a: unknown, b: unknown) => number;
320
342
  treeOrientation?: "vertical" | "horizontal" | "radial";
321
343
  edgeType?: "line" | "curve";
322
344
  padding?: number;
@@ -324,17 +346,21 @@ export interface NetworkPipelineConfig {
324
346
  tensionConfig?: TensionConfig;
325
347
  showParticles?: boolean;
326
348
  particleStyle?: ParticleStyle;
327
- nodeStyle?: (d: any) => Record<string, any>;
328
- edgeStyle?: (d: any) => Record<string, any>;
329
- nodeLabel?: string | ((d: any) => string);
349
+ nodeStyle?: (d: Datum) => Datum;
350
+ edgeStyle?: (d: Datum) => Datum;
351
+ nodeLabel?: string | ((d: Datum) => string);
330
352
  showLabels?: boolean;
331
353
  labelMode?: "leaf" | "parent" | "all";
332
- colorBy?: string | ((d: any) => string | number);
354
+ colorBy?: string | ((d: Datum) => string | number);
333
355
  colorScheme?: string | string[];
334
- edgeColorBy?: "source" | "target" | "gradient" | ((d: any) => string);
356
+ /** Theme categorical palette used as fallback when colorScheme is not an explicit array */
357
+ themeCategorical?: string[];
358
+ /** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
359
+ themeSemantic?: ThemeSemanticColors;
360
+ edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
335
361
  edgeOpacity?: number;
336
362
  colorByDepth?: boolean;
337
- nodeSize?: number | string | ((d: any) => number);
363
+ nodeSize?: number | string | ((d: Datum) => number);
338
364
  nodeSizeRange?: [number, number];
339
365
  decay?: DecayConfig;
340
366
  pulse?: PulseConfig;
@@ -347,11 +373,11 @@ export interface NetworkPipelineConfig {
347
373
  * "atomic" ([2,8] electron shell), or custom capacities. @default "flat" */
348
374
  orbitMode?: "flat" | "solar" | "atomic" | number[];
349
375
  /** Ring size divisor per depth. Larger = tighter orbits. @default 2.95 */
350
- orbitSize?: number | ((node: any) => number);
376
+ orbitSize?: number | ((node: Datum) => number);
351
377
  /** Orbit speed multiplier (higher = faster rotation). @default 0.25 */
352
378
  orbitSpeed?: number;
353
379
  /** Per-node speed modifier. @default (node) => 1 / (node.depth + 1) */
354
- orbitRevolution?: (node: any) => number;
380
+ orbitRevolution?: (node: Datum) => number;
355
381
  /**
356
382
  * Built-in revolution style presets:
357
383
  * - "locked": children rotate with parent at decreasing speed (default)
@@ -362,7 +388,7 @@ export interface NetworkPipelineConfig {
362
388
  */
363
389
  orbitRevolutionStyle?: "locked" | "decay" | "alternate";
364
390
  /** Vertical squash for elliptical orbits. 1 = circle. @default 1 */
365
- orbitEccentricity?: number | ((node: any) => number);
391
+ orbitEccentricity?: number | ((node: Datum) => number);
366
392
  /** Show orbital ring ellipses as foreground graphics. @default true */
367
393
  orbitShowRings?: boolean;
368
394
  /** Enable orbit animation. @default true */
@@ -377,7 +403,7 @@ export interface NetworkPipelineConfig {
377
403
  y: number;
378
404
  }>;
379
405
  }
380
- export interface StreamNetworkFrameProps<T = Record<string, any>> {
406
+ export interface StreamNetworkFrameProps<T = Datum> {
381
407
  chartType: NetworkChartType;
382
408
  nodes?: T[];
383
409
  edges?: T[] | T;
@@ -389,7 +415,7 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
389
415
  targetAccessor?: string | ((d: T) => string);
390
416
  valueAccessor?: string | ((d: T) => number);
391
417
  /** Edge ID accessor for removeEdge(edgeId) single-ID removal */
392
- edgeIdAccessor?: string | ((d: any) => string);
418
+ edgeIdAccessor?: string | ((d: Datum) => string);
393
419
  childrenAccessor?: string | ((d: T) => T[]);
394
420
  hierarchySum?: string | ((d: T) => number);
395
421
  orientation?: "horizontal" | "vertical";
@@ -400,8 +426,8 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
400
426
  forceStrength?: number;
401
427
  padAngle?: number;
402
428
  groupWidth?: number;
403
- sortGroups?: (a: any, b: any) => number;
404
- edgeSort?: (a: any, b: any) => number;
429
+ sortGroups?: (a: unknown, b: unknown) => number;
430
+ edgeSort?: (a: unknown, b: unknown) => number;
405
431
  treeOrientation?: "vertical" | "horizontal" | "radial";
406
432
  edgeType?: "line" | "curve";
407
433
  padding?: number;
@@ -409,16 +435,16 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
409
435
  tensionConfig?: Partial<TensionConfig>;
410
436
  showParticles?: boolean;
411
437
  particleStyle?: ParticleStyle;
412
- nodeStyle?: (d: any) => Record<string, any>;
413
- edgeStyle?: (d: any) => Record<string, any>;
414
- colorBy?: string | ((d: any) => string | number);
438
+ nodeStyle?: (d: Datum) => Datum;
439
+ edgeStyle?: (d: Datum) => Datum;
440
+ colorBy?: string | ((d: Datum) => string | number);
415
441
  colorScheme?: string | string[];
416
- edgeColorBy?: "source" | "target" | "gradient" | ((d: any) => string);
442
+ edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
417
443
  edgeOpacity?: number;
418
444
  colorByDepth?: boolean;
419
- nodeSize?: number | string | ((d: any) => number);
445
+ nodeSize?: number | string | ((d: Datum) => number);
420
446
  nodeSizeRange?: [number, number];
421
- nodeLabel?: string | ((d: any) => string);
447
+ nodeLabel?: string | ((d: Datum) => string);
422
448
  showLabels?: boolean;
423
449
  labelMode?: "leaf" | "parent" | "all";
424
450
  size?: [number, number];
@@ -441,8 +467,8 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
441
467
  /** Chart instance identifier for observation filtering */
442
468
  chartId?: string;
443
469
  onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
444
- annotations?: Record<string, any>[];
445
- svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
470
+ annotations?: Datum[];
471
+ svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
446
472
  legend?: ReactNode | {
447
473
  legendGroups: LegendGroup[];
448
474
  };
@@ -468,11 +494,11 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
468
494
  staleness?: StalenessConfig;
469
495
  thresholds?: ThresholdAlertConfig;
470
496
  orbitMode?: "flat" | "solar" | "atomic" | number[];
471
- orbitSize?: number | ((node: any) => number);
497
+ orbitSize?: number | ((node: Datum) => number);
472
498
  orbitSpeed?: number;
473
- orbitRevolution?: (node: any) => number;
499
+ orbitRevolution?: (node: Datum) => number;
474
500
  orbitRevolutionStyle?: "locked" | "decay" | "alternate";
475
- orbitEccentricity?: number | ((node: any) => number);
501
+ orbitEccentricity?: number | ((node: Datum) => number);
476
502
  orbitShowRings?: boolean;
477
503
  orbitAnimated?: boolean;
478
504
  /** Render a visually-hidden data table from the scene graph for screen readers */
@@ -490,9 +516,9 @@ export interface StreamNetworkFrameHandle {
490
516
  /** Remove edges by source+target, or by edge ID when edgeIdAccessor is configured. */
491
517
  removeEdge(sourceIdOrEdgeId: string, targetId?: string): boolean;
492
518
  /** Update a node's data by ID. Returns previous data. */
493
- updateNode(id: string, updater: (data: Record<string, any>) => Record<string, any>): Record<string, any> | null;
519
+ updateNode(id: string, updater: (data: Datum) => Datum): Datum | null;
494
520
  /** Update all edges between source+target. Returns array of previous data. */
495
- updateEdge(sourceId: string, targetId: string, updater: (data: Record<string, any>) => Record<string, any>): Record<string, any>[];
521
+ updateEdge(sourceId: string, targetId: string, updater: (data: Datum) => Datum): Datum[];
496
522
  clear(): void;
497
523
  getTopology(): {
498
524
  nodes: RealtimeNode[];
@@ -24,4 +24,4 @@ import type { OrdinalSceneContext } from "./types";
24
24
  * - __barFunnelCategory: category key (for multi-category)
25
25
  * - __barFunnelLabelX/Y: position for the floating label
26
26
  */
27
- export declare function buildBarFunnelScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
27
+ export declare function buildBarFunnelScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -1,4 +1,4 @@
1
1
  import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
2
2
  import type { OrdinalSceneContext } from "./types";
3
- export declare function buildBarScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
4
- export declare function buildClusterBarScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
3
+ export declare function buildBarScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
4
+ export declare function buildClusterBarScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -1,3 +1,3 @@
1
1
  import type { ConnectorSceneNode, OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
2
2
  import type { OrdinalSceneContext } from "./types";
3
- export declare function buildConnectors(ctx: OrdinalSceneContext, pieceNodes: OrdinalSceneNode[], layout: OrdinalLayout): ConnectorSceneNode[];
3
+ export declare function buildConnectors(ctx: OrdinalSceneContext, pieceNodes: OrdinalSceneNode[], _layout: OrdinalLayout): ConnectorSceneNode[];
@@ -1,4 +1,4 @@
1
1
  import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
2
2
  import type { OrdinalSceneContext } from "./types";
3
- export declare function buildPointScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
4
- export declare function buildSwarmScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
3
+ export declare function buildPointScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
4
+ export declare function buildSwarmScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -1,6 +1,6 @@
1
1
  import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
2
2
  import type { OrdinalSceneContext } from "./types";
3
- export declare function buildBoxplotScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
4
- export declare function buildViolinScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
5
- export declare function buildHistogramScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
6
- export declare function buildRidgelineScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
3
+ export declare function buildBoxplotScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
4
+ export declare function buildViolinScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
5
+ export declare function buildHistogramScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
6
+ export declare function buildRidgelineScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -9,4 +9,4 @@ import type { OrdinalSceneContext } from "./types";
9
9
  * multiple items with the same subcategory can appear in the same lane —
10
10
  * they simply stack sequentially.
11
11
  */
12
- export declare function buildSwimlaneScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
12
+ export declare function buildSwimlaneScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -1,3 +1,3 @@
1
1
  import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
2
2
  import type { OrdinalSceneContext } from "./types";
3
- export declare function buildTimelineScene(ctx: OrdinalSceneContext, layout: OrdinalLayout): OrdinalSceneNode[];
3
+ export declare function buildTimelineScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
@@ -1,21 +1,22 @@
1
1
  import type { ScaleLinear } from "d3-scale";
2
2
  import type { OrdinalScales, OrdinalColumn, OrdinalPipelineConfig, OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
3
3
  import type { Style } from "../types";
4
+ import type { Datum } from "../../charts/shared/datumTypes";
4
5
  export interface OrdinalSceneContext {
5
6
  scales: OrdinalScales;
6
7
  columns: Record<string, OrdinalColumn>;
7
8
  config: OrdinalPipelineConfig;
8
- getR: (d: any) => number;
9
- getStack?: (d: any) => string;
10
- getGroup?: (d: any) => string;
11
- getColor?: (d: any) => string;
12
- getConnector?: (d: any) => string;
13
- getO: (d: any) => string;
9
+ getR: (d: Datum) => number;
10
+ getStack?: (d: Datum) => string;
11
+ getGroup?: (d: Datum) => string;
12
+ getColor?: (d: Datum) => string;
13
+ getConnector?: (d: Datum) => string;
14
+ getO: (d: Datum) => string;
14
15
  multiScales: ScaleLinear<number, number>[];
15
- rAccessors: ((d: any) => number)[];
16
+ rAccessors: ((d: Datum) => number)[];
16
17
  resolvePieceStyle: (d: any, category?: string) => Style;
17
18
  resolveSummaryStyle: (d: any, category?: string) => Style;
18
19
  /** For timeline: resolve rAccessor as [start, end] */
19
- getRawRange: (d: any) => [number, number] | null;
20
+ getRawRange: (d: Datum) => [number, number] | null;
20
21
  }
21
22
  export type SceneBuilderFn = (ctx: OrdinalSceneContext, layout: OrdinalLayout) => OrdinalSceneNode[];
@@ -1,9 +1,10 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { ScaleLinear, ScaleBand } from "d3-scale";
3
- import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../realtime/types";
4
- import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig } from "./types";
3
+ import type { WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../realtime/types";
4
+ import type { Style, SceneDatum, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors } from "./types";
5
5
  import type { AnimateProp } from "./pipelineTransitionUtils";
6
6
  import type { LegendGroup } from "../types/legendTypes";
7
+ import type { Datum } from "../charts/shared/datumTypes";
7
8
  export type OrdinalChartType = "bar" | "clusterbar" | "point" | "swarm" | "pie" | "donut" | "boxplot" | "violin" | "histogram" | "ridgeline" | "timeline" | "funnel" | "bar-funnel" | "swimlane";
8
9
  export interface OrdinalScales {
9
10
  o: ScaleBand<string>;
@@ -23,7 +24,7 @@ export interface WedgeSceneNode {
23
24
  /** Corner radius for rounded wedge arcs (d3-shape arc.cornerRadius) */
24
25
  cornerRadius?: number;
25
26
  style: Style;
26
- datum: any;
27
+ datum: SceneDatum;
27
28
  category?: string;
28
29
  _pulseIntensity?: number;
29
30
  _pulseColor?: string;
@@ -49,13 +50,13 @@ export interface BoxplotSceneNode {
49
50
  maxPos: number;
50
51
  stats: DistributionStats;
51
52
  style: Style;
52
- datum: any;
53
+ datum: Datum;
53
54
  category?: string;
54
55
  outliers?: {
55
56
  px: number;
56
57
  py: number;
57
58
  value: number;
58
- datum: any;
59
+ datum: Datum;
59
60
  }[];
60
61
  _pulseIntensity?: number;
61
62
  _pulseColor?: string;
@@ -97,7 +98,7 @@ export interface ViolinSceneNode {
97
98
  /** Pre-computed distribution statistics for tooltips */
98
99
  stats?: DistributionStats;
99
100
  style: Style;
100
- datum: any;
101
+ datum: Datum;
101
102
  category?: string;
102
103
  _pulseIntensity?: number;
103
104
  _pulseColor?: string;
@@ -112,7 +113,7 @@ export interface ConnectorSceneNode {
112
113
  x2: number;
113
114
  y2: number;
114
115
  style: Style;
115
- datum: any;
116
+ datum: Datum;
116
117
  group?: string;
117
118
  _pulseIntensity?: number;
118
119
  _pulseColor?: string;
@@ -125,7 +126,7 @@ export interface TrapezoidSceneNode {
125
126
  /** Four corners: [top-left, top-right, bottom-right, bottom-left] */
126
127
  points: [number, number][];
127
128
  style: Style;
128
- datum: any;
129
+ datum: Datum;
129
130
  category?: string;
130
131
  _pulseIntensity?: number;
131
132
  _pulseColor?: string;
@@ -143,7 +144,7 @@ export interface OrdinalColumn {
143
144
  width: number;
144
145
  middle: number;
145
146
  padding: number;
146
- pieceData: Record<string, any>[];
147
+ pieceData: Datum[];
147
148
  /** For radial: proportion of total (0-1) */
148
149
  pct: number;
149
150
  /** For radial: cumulative start proportion */
@@ -156,22 +157,36 @@ export interface OrdinalPipelineConfig {
156
157
  windowMode: WindowMode;
157
158
  extentPadding: number;
158
159
  projection: "vertical" | "horizontal" | "radial";
159
- categoryAccessor?: string | ((d: any) => string);
160
- valueAccessor?: string | ((d: any) => number) | Array<string | ((d: any) => number)>;
161
- colorAccessor?: string | ((d: any) => string);
162
- stackBy?: string | ((d: any) => string);
163
- groupBy?: string | ((d: any) => string);
164
- timeAccessor?: string | ((d: any) => number);
160
+ categoryAccessor?: string | ((d: Datum) => string);
161
+ valueAccessor?: string | ((d: Datum) => number) | Array<string | ((d: Datum) => number)>;
162
+ colorAccessor?: string | ((d: Datum) => string);
163
+ stackBy?: string | ((d: Datum) => string);
164
+ groupBy?: string | ((d: Datum) => string);
165
+ timeAccessor?: string | ((d: Datum) => number);
165
166
  /** @deprecated Use categoryAccessor */
166
- oAccessor?: string | ((d: any) => string);
167
+ oAccessor?: string | ((d: Datum) => string);
167
168
  /** @deprecated Use valueAccessor */
168
- rAccessor?: string | ((d: any) => number) | Array<string | ((d: any) => number)>;
169
+ rAccessor?: string | ((d: Datum) => number) | Array<string | ((d: Datum) => number)>;
169
170
  multiAxis?: boolean;
170
171
  rExtent?: [number?, number?];
171
172
  oExtent?: string[];
172
173
  barPadding?: number;
173
174
  /** Rounded top corner radius for bar charts. Only the end away from the baseline is rounded. For stacked bars, only the topmost segment gets rounded. */
174
175
  roundedTop?: number;
176
+ /** Gradient fill for bar rects. `{ topOpacity, bottomOpacity }` fades the
177
+ * resolved fill color from tip (opposite the baseline) to base; `{ colorStops }`
178
+ * renders a multi-color gradient along the same axis. Direction follows the
179
+ * bar's orientation (tip → base). Same shape as AreaChart.gradientFill
180
+ * sans the `boolean` case — the HOC resolves `true` to default opacities. */
181
+ gradientFill?: {
182
+ topOpacity: number;
183
+ bottomOpacity: number;
184
+ } | {
185
+ colorStops: Array<{
186
+ offset: number;
187
+ color: string;
188
+ }>;
189
+ };
175
190
  /** When true, adds padding below the 0 baseline. When false (default), bars are flush with the axis line. */
176
191
  baselinePadding?: boolean;
177
192
  innerRadius?: number;
@@ -188,16 +203,22 @@ export interface OrdinalPipelineConfig {
188
203
  connectorOpacity?: number;
189
204
  showLabels?: boolean;
190
205
  oSort?: ((a: string, b: string) => number) | boolean | "asc" | "desc" | "auto";
191
- connectorAccessor?: string | ((d: any) => string);
192
- connectorStyle?: Style | ((d: any) => Style);
193
- dynamicColumnWidth?: string | ((data: any[]) => number);
194
- pieceStyle?: (d: any, category?: string) => Style;
195
- summaryStyle?: (d: any, category?: string) => Style;
206
+ connectorAccessor?: string | ((d: Datum) => string);
207
+ connectorStyle?: Style | ((d: Datum) => Style);
208
+ dynamicColumnWidth?: string | ((data: Datum[]) => number);
209
+ pieceStyle?: (d: Datum, category?: string) => Style;
210
+ summaryStyle?: (d: Datum, category?: string) => Style;
196
211
  colorScheme?: string | string[];
197
212
  themeCategorical?: string[];
213
+ /** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
214
+ themeSemantic?: ThemeSemanticColors;
215
+ /** Theme sequential scheme name — fallback for magnitude encodings. */
216
+ themeSequential?: string;
217
+ /** Theme diverging scheme name — fallback for midpoint encodings (LikertChart). */
218
+ themeDiverging?: string;
198
219
  barColors?: Record<string, string>;
199
220
  /** ID accessor for remove() — extracts a unique identifier from each datum */
200
- dataIdAccessor?: string | ((d: any) => string);
221
+ dataIdAccessor?: string | ((d: Datum) => string);
201
222
  decay?: DecayConfig;
202
223
  pulse?: PulseConfig;
203
224
  transition?: TransitionConfig;
@@ -205,7 +226,7 @@ export interface OrdinalPipelineConfig {
205
226
  introAnimation?: boolean;
206
227
  staleness?: StalenessConfig;
207
228
  }
208
- export interface StreamOrdinalFrameProps<T = Record<string, any>> {
229
+ export interface StreamOrdinalFrameProps<T = Datum> {
209
230
  chartType: OrdinalChartType;
210
231
  runtimeMode?: "bounded" | "streaming";
211
232
  data?: T[];
@@ -234,6 +255,17 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
234
255
  };
235
256
  barPadding?: number;
236
257
  roundedTop?: number;
258
+ /** Gradient fill for bar rects. Same shape as AreaChart.gradientFill sans
259
+ * the boolean case — resolve booleans at the HOC layer. */
260
+ gradientFill?: {
261
+ topOpacity: number;
262
+ bottomOpacity: number;
263
+ } | {
264
+ colorStops: Array<{
265
+ offset: number;
266
+ color: string;
267
+ }>;
268
+ };
237
269
  baselinePadding?: boolean;
238
270
  innerRadius?: number;
239
271
  cornerRadius?: number;
@@ -251,19 +283,18 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
251
283
  oExtent?: string[];
252
284
  extentPadding?: number;
253
285
  oSort?: ((a: string, b: string) => number) | boolean | "asc" | "desc" | "auto";
254
- arrowOfTime?: ArrowOfTime;
255
286
  windowMode?: WindowMode;
256
287
  windowSize?: number;
257
288
  connectorAccessor?: string | ((d: T) => string);
258
- connectorStyle?: Style | ((d: any) => Style);
289
+ connectorStyle?: Style | ((d: Datum) => Style);
259
290
  /** ID accessor for remove()/update() — extracts a unique identifier from each datum */
260
- dataIdAccessor?: string | ((d: any) => string);
291
+ dataIdAccessor?: string | ((d: Datum) => string);
261
292
  /** Custom tick values for the value (r) axis. Overrides the default d3 ticks. */
262
293
  rTickValues?: number[];
263
294
  /** Align first tick label to start and last tick label to end. Default false. */
264
295
  tickLabelEdgeAlign?: boolean;
265
- pieceStyle?: (d: any, category?: string) => Style;
266
- summaryStyle?: (d: any, category?: string) => Style;
296
+ pieceStyle?: (d: Datum, category?: string) => Style;
297
+ summaryStyle?: (d: Datum, category?: string) => Style;
267
298
  colorScheme?: string | string[];
268
299
  barColors?: Record<string, string>;
269
300
  showAxes?: boolean;
@@ -288,8 +319,8 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
288
319
  hoverAnnotation?: boolean | HoverAnnotationConfig;
289
320
  tooltipContent?: (d: HoverData) => ReactNode;
290
321
  customHoverBehavior?: (d: HoverData | null) => void;
291
- annotations?: Record<string, any>[];
292
- svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
322
+ annotations?: Datum[];
323
+ svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
293
324
  showGrid?: boolean;
294
325
  legend?: ReactNode | {
295
326
  legendGroups: LegendGroup[];
@@ -334,7 +365,7 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
334
365
  /** Accessible summary rendered as a screen-reader-only note */
335
366
  summary?: string;
336
367
  }
337
- export interface StreamOrdinalFrameHandle<T = Record<string, any>> {
368
+ export interface StreamOrdinalFrameHandle<T = Datum> {
338
369
  push(datum: T): void;
339
370
  pushMany(data: T[]): void;
340
371
  /** Replace all data. Unlike `clear() + pushMany()`, `replace()` preserves
@@ -363,4 +394,5 @@ export interface OrdinalLayout {
363
394
  height: number;
364
395
  }
365
396
  export type OrdinalRendererFn = (ctx: CanvasRenderingContext2D, nodes: OrdinalSceneNode[], scales: OrdinalScales, layout: OrdinalLayout) => void;
366
- export type { HoverData, HoverAnnotationConfig, AnnotationContext, ArrowOfTime, WindowMode };
397
+ export type { HoverData, HoverAnnotationConfig, AnnotationContext, WindowMode };
398
+ export type { ArrowOfTime } from "../realtime/types";
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../charts/shared/datumTypes";
1
2
  /**
2
3
  * Shared decay encoding utilities for all pipeline stores.
3
4
  *
@@ -18,4 +19,4 @@ export declare function computeDecayOpacity(decay: DecayConfig, bufferIndex: num
18
19
  * Apply decay opacity to a list of scene nodes.
19
20
  * Uses the datum's index in the buffer data array.
20
21
  */
21
- export declare function applyDecay(decay: DecayConfig, nodes: SceneNode[], data: Record<string, any>[]): void;
22
+ export declare function applyDecay(decay: DecayConfig, nodes: SceneNode[], data: Datum[]): void;
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../charts/shared/datumTypes";
1
2
  /**
2
3
  * Pulse encoding for XY pipeline scene nodes.
3
4
  *
@@ -17,7 +18,7 @@ export declare function computePulseIntensity(pulse: PulseConfig, insertTime: nu
17
18
  /**
18
19
  * Apply pulse glow to scene nodes using insertion timestamps.
19
20
  */
20
- export declare function applyPulse(pulse: PulseConfig, nodes: SceneNode[], data: Record<string, any>[], timestampBuffer: RingBuffer<number>): void;
21
+ export declare function applyPulse(pulse: PulseConfig, nodes: SceneNode[], data: Datum[], timestampBuffer: RingBuffer<number>): void;
21
22
  /**
22
23
  * Check whether there are active pulse animations needing continuous rendering.
23
24
  */