velo-plot 2.0.0 → 3.0.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 (265) hide show
  1. package/README.md +15 -8
  2. package/dist/{ChartCore-BhQ4j7f5.js → ChartCore-BpzRvN4Y.js} +998 -855
  3. package/dist/ChartCore-BpzRvN4Y.js.map +1 -0
  4. package/dist/a11y-Bw6urYpr.js +105 -0
  5. package/dist/a11y-Bw6urYpr.js.map +1 -0
  6. package/dist/angular/hooks-entry.d.ts +1 -0
  7. package/dist/angular/hooks.d.ts +26 -0
  8. package/dist/angular/index.d.ts +8 -0
  9. package/dist/angular/velo-plot.component.d.ts +46 -0
  10. package/dist/angular-hooks.d.ts +1 -0
  11. package/dist/angular-hooks.js +9 -0
  12. package/dist/angular-hooks.js.map +1 -0
  13. package/dist/angular.d.ts +1 -0
  14. package/dist/angular.js +166 -0
  15. package/dist/angular.js.map +1 -0
  16. package/dist/assets/indicator.worker-bv0zC4EX.js.map +1 -1
  17. package/dist/astro/StackedPlot.astro +19 -0
  18. package/dist/astro/VeloPlot.astro +23 -0
  19. package/dist/{axisFormat-SPX-CD5s.js → axisFormat-CzumxpCL.js} +3 -3
  20. package/dist/axisFormat-CzumxpCL.js.map +1 -0
  21. package/dist/bindings/shared/a11y.d.ts +26 -0
  22. package/dist/bindings/shared/chartLifecycle.d.ts +16 -0
  23. package/dist/bindings/shared/chartSyncBridge.d.ts +8 -0
  24. package/dist/bindings/shared/dimensions.d.ts +1 -0
  25. package/dist/bindings/shared/index.d.ts +9 -0
  26. package/dist/bindings/shared/indicatorBridge.d.ts +11 -0
  27. package/dist/bindings/shared/optionsSync.d.ts +7 -0
  28. package/dist/bindings/shared/seriesDiff.d.ts +8 -0
  29. package/dist/bindings/shared/stackedSync.d.ts +9 -0
  30. package/dist/bindings/shared/types.d.ts +46 -0
  31. package/dist/bindings/test-utils/index.d.ts +35 -0
  32. package/dist/bindings/test-utils/mockLifecycle.d.ts +120 -0
  33. package/dist/bindings/test-utils/vitestSveltePlugin.d.ts +3 -0
  34. package/dist/chartSyncBridge-DbWrwtyP.js +57 -0
  35. package/dist/chartSyncBridge-DbWrwtyP.js.map +1 -0
  36. package/dist/core/Chart.d.ts +1 -1
  37. package/dist/core/InteractionManager.d.ts +7 -1
  38. package/dist/core/OverlayRenderer.d.ts +5 -0
  39. package/dist/core/annotations/types.d.ts +1 -1
  40. package/dist/core/chart/ChartAxisManager.d.ts +2 -0
  41. package/dist/core/chart/ChartCore.d.ts +17 -2
  42. package/dist/core/chart/ChartPluginBridge.d.ts +1 -0
  43. package/dist/core/chart/ChartRenderLoop.d.ts +2 -0
  44. package/dist/core/chart/ChartStateManager.d.ts +2 -0
  45. package/dist/core/chart/types.d.ts +6 -1
  46. package/dist/core/clipboard/index.d.ts +1 -1
  47. package/dist/core/debug/index.d.ts +1 -1
  48. package/dist/core/keybindings/index.d.ts +1 -1
  49. package/dist/core/loading/index.d.ts +1 -1
  50. package/dist/core/locale/index.d.ts +1 -1
  51. package/dist/core/stacked/paneResize.d.ts +3 -0
  52. package/dist/core/stacked/types.d.ts +10 -0
  53. package/dist/core/sync/index.d.ts +0 -1
  54. package/dist/core/theme-editor/index.d.ts +1 -1
  55. package/dist/createStackedChart-Dm-YqUT7.js +756 -0
  56. package/dist/createStackedChart-Dm-YqUT7.js.map +1 -0
  57. package/dist/examples/PluginDemonstration.d.ts +1 -1
  58. package/dist/gpuRenderer-BpaMYz-k.js.map +1 -1
  59. package/dist/hooks-CYPCxoZx.js +69 -0
  60. package/dist/hooks-CYPCxoZx.js.map +1 -0
  61. package/dist/{index-D7dTq6VB.js → index-0InEyj0q.js} +130 -134
  62. package/dist/index-0InEyj0q.js.map +1 -0
  63. package/dist/index-BMiZoKmm.js.map +1 -1
  64. package/dist/{index-DoYxf1cV.js → index-CWxIHdwX.js} +38 -98
  65. package/dist/index-CWxIHdwX.js.map +1 -0
  66. package/dist/{index-CUGS98p4.js → index-CaXWSOTk.js} +3 -6
  67. package/dist/index-CaXWSOTk.js.map +1 -0
  68. package/dist/index-Dag88bW4.js.map +1 -1
  69. package/dist/index-qhscKTDy.js.map +1 -1
  70. package/dist/{index-CWipqOLP.js → index-qunX30Xu.js} +2 -2
  71. package/dist/index-qunX30Xu.js.map +1 -0
  72. package/dist/index-x4stH3jD.js.map +1 -1
  73. package/dist/{index.core-fpZ1dYN0.js → index.core-BmZe2jRQ.js} +30 -29
  74. package/dist/index.core-BmZe2jRQ.js.map +1 -0
  75. package/dist/index.core.d.ts +1 -1
  76. package/dist/index.d.ts +3 -3
  77. package/dist/indicators--eJGmVox.js.map +1 -1
  78. package/dist/{mockDatafeed-Cdg5hKEo.js → mockDatafeed-DHIDPcpX.js} +150 -146
  79. package/dist/mockDatafeed-DHIDPcpX.js.map +1 -0
  80. package/dist/optionsSync-QUiN4Inw.js +119 -0
  81. package/dist/optionsSync-QUiN4Inw.js.map +1 -0
  82. package/dist/plugins/3d/index.d.ts +2 -2
  83. package/dist/plugins/3d.d.ts +2 -2
  84. package/dist/plugins/3d.js.map +1 -1
  85. package/dist/plugins/analysis/contours.d.ts +31 -0
  86. package/dist/plugins/analysis/index.d.ts +1 -1
  87. package/dist/plugins/analysis/indicators.d.ts +1 -1
  88. package/dist/plugins/analysis.d.ts +2 -2
  89. package/dist/plugins/analysis.js +495 -408
  90. package/dist/plugins/analysis.js.map +1 -1
  91. package/dist/plugins/annotations/index.d.ts +1 -1
  92. package/dist/plugins/annotations.d.ts +2 -2
  93. package/dist/plugins/annotations.js.map +1 -1
  94. package/dist/plugins/anomaly-detection.js +1 -1
  95. package/dist/plugins/anomaly-detection.js.map +1 -1
  96. package/dist/plugins/broken-axis.d.ts +2 -2
  97. package/dist/plugins/broken-axis.js +170 -181
  98. package/dist/plugins/broken-axis.js.map +1 -1
  99. package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +1 -1
  100. package/dist/plugins/builtins/index.d.ts +1 -1
  101. package/dist/plugins/caching.d.ts +2 -2
  102. package/dist/plugins/clipboard/index.d.ts +2 -2
  103. package/dist/plugins/clipboard.d.ts +2 -2
  104. package/dist/plugins/clipboard.js.map +1 -1
  105. package/dist/plugins/context-menu/index.d.ts +1 -1
  106. package/dist/plugins/context-menu.d.ts +2 -2
  107. package/dist/plugins/context-menu.js +1 -1
  108. package/dist/plugins/context-menu.js.map +1 -1
  109. package/dist/plugins/data-export/index.d.ts +1 -1
  110. package/dist/plugins/data-export.d.ts +2 -2
  111. package/dist/plugins/data-export.js +2 -2
  112. package/dist/plugins/data-export.js.map +1 -1
  113. package/dist/plugins/data-transform.d.ts +2 -2
  114. package/dist/plugins/data-transform.js +19 -19
  115. package/dist/plugins/data-transform.js.map +1 -1
  116. package/dist/plugins/debug/index.d.ts +2 -2
  117. package/dist/plugins/debug.d.ts +2 -2
  118. package/dist/plugins/debug.js +2 -2
  119. package/dist/plugins/debug.js.map +1 -1
  120. package/dist/plugins/forecasting/algorithms.d.ts +7 -2
  121. package/dist/plugins/forecasting/index.d.ts +1 -1
  122. package/dist/plugins/forecasting/types.d.ts +13 -3
  123. package/dist/plugins/forecasting.js +355 -175
  124. package/dist/plugins/forecasting.js.map +1 -1
  125. package/dist/plugins/gpu/index.d.ts +2 -2
  126. package/dist/plugins/gpu.d.ts +2 -2
  127. package/dist/plugins/gpu.js.map +1 -1
  128. package/dist/plugins/i18n/index.d.ts +2 -2
  129. package/dist/plugins/i18n.d.ts +2 -2
  130. package/dist/plugins/i18n.js.map +1 -1
  131. package/dist/plugins/index.d.ts +1 -1
  132. package/dist/plugins/keyboard.d.ts +2 -2
  133. package/dist/plugins/keyboard.js +65 -5
  134. package/dist/plugins/keyboard.js.map +1 -1
  135. package/dist/plugins/latex/symbols.d.ts +50 -0
  136. package/dist/plugins/latex/types.d.ts +13 -1
  137. package/dist/plugins/latex.js +351 -331
  138. package/dist/plugins/latex.js.map +1 -1
  139. package/dist/plugins/lazy-load.d.ts +2 -2
  140. package/dist/plugins/loading/index.d.ts +1 -1
  141. package/dist/plugins/loading.d.ts +2 -2
  142. package/dist/plugins/ml-integration/native-algorithms.d.ts +24 -4
  143. package/dist/plugins/ml-integration/types.d.ts +19 -0
  144. package/dist/plugins/ml-integration.d.ts +2 -2
  145. package/dist/plugins/ml-integration.js +190 -139
  146. package/dist/plugins/ml-integration.js.map +1 -1
  147. package/dist/plugins/offscreen.d.ts +2 -2
  148. package/dist/plugins/pattern-recognition/types.d.ts +28 -1
  149. package/dist/plugins/pattern-recognition.d.ts +2 -2
  150. package/dist/plugins/pattern-recognition.js +417 -344
  151. package/dist/plugins/pattern-recognition.js.map +1 -1
  152. package/dist/plugins/radar.d.ts +2 -2
  153. package/dist/plugins/regression.d.ts +2 -2
  154. package/dist/plugins/regression.js +1 -1
  155. package/dist/plugins/regression.js.map +1 -1
  156. package/dist/plugins/roi.js +9 -9
  157. package/dist/plugins/roi.js.map +1 -1
  158. package/dist/plugins/snapshot/index.d.ts +1 -1
  159. package/dist/plugins/snapshot/types.d.ts +1 -1
  160. package/dist/plugins/snapshot.d.ts +2 -2
  161. package/dist/plugins/snapshot.js +36 -36
  162. package/dist/plugins/snapshot.js.map +1 -1
  163. package/dist/plugins/streaming/index.d.ts +2 -2
  164. package/dist/plugins/streaming.d.ts +2 -2
  165. package/dist/plugins/sync/index.d.ts +3 -2
  166. package/dist/plugins/sync.d.ts +2 -2
  167. package/dist/plugins/sync.js +1 -1
  168. package/dist/plugins/sync.js.map +1 -1
  169. package/dist/plugins/theme-editor/index.d.ts +1 -1
  170. package/dist/plugins/theme-editor.d.ts +2 -2
  171. package/dist/plugins/tools/index.d.ts +1 -1
  172. package/dist/plugins/tools/tooltip/index.d.ts +1 -1
  173. package/dist/plugins/tools.d.ts +2 -2
  174. package/dist/plugins/tools.js +1 -1
  175. package/dist/plugins/types.d.ts +1 -1
  176. package/dist/plugins/video-recorder.d.ts +2 -2
  177. package/dist/plugins/virtualization.d.ts +2 -2
  178. package/dist/plugins/virtualization.js +1 -1
  179. package/dist/pool-DZ8shSqv.js +109 -0
  180. package/dist/pool-DZ8shSqv.js.map +1 -0
  181. package/dist/react/StackedPlot.d.ts +31 -0
  182. package/dist/react/VeloPlot.d.ts +29 -0
  183. package/dist/react/index.d.ts +25 -3
  184. package/dist/react/useChartSync.d.ts +8 -0
  185. package/dist/react/useIndicator.d.ts +12 -0
  186. package/dist/react/useVeloPlot.d.ts +19 -0
  187. package/dist/react.js +328 -24
  188. package/dist/react.js.map +1 -1
  189. package/dist/scientific/index.d.ts +48 -0
  190. package/dist/scientific.d.ts +1 -0
  191. package/dist/scientific.js +91 -0
  192. package/dist/scientific.js.map +1 -0
  193. package/dist/solid/VeloPlot.d.ts +16 -0
  194. package/dist/solid/index.d.ts +13 -0
  195. package/dist/solid/useChartSync.d.ts +6 -0
  196. package/dist/solid/useIndicator.d.ts +11 -0
  197. package/dist/solid/useStackedPlot.d.ts +14 -0
  198. package/dist/solid/useVeloPlot.d.ts +18 -0
  199. package/dist/solid.d.ts +1 -0
  200. package/dist/solid.js +172 -0
  201. package/dist/solid.js.map +1 -0
  202. package/dist/stackedSync-tnrunZMt.js +100 -0
  203. package/dist/stackedSync-tnrunZMt.js.map +1 -0
  204. package/dist/svelte/StackedPlot.svelte +29 -0
  205. package/dist/svelte/StackedPlot.test.ts +114 -0
  206. package/dist/svelte/VeloPlot.svelte +44 -0
  207. package/dist/svelte/VeloPlot.test.ts +105 -0
  208. package/dist/svelte/index.d.ts +11 -0
  209. package/dist/svelte/index.test.ts +20 -0
  210. package/dist/svelte/index.ts +15 -0
  211. package/dist/svelte/useChartSync.d.ts +8 -0
  212. package/dist/svelte/useChartSync.test.ts +49 -0
  213. package/dist/svelte/useChartSync.ts +29 -0
  214. package/dist/svelte/useIndicator.d.ts +13 -0
  215. package/dist/svelte/useIndicator.test.ts +67 -0
  216. package/dist/svelte/useIndicator.ts +43 -0
  217. package/dist/svelte/useStackedPlot.d.ts +16 -0
  218. package/dist/svelte/useStackedPlot.test.ts +76 -0
  219. package/dist/svelte/useStackedPlot.ts +54 -0
  220. package/dist/svelte/useVeloPlot.d.ts +21 -0
  221. package/dist/svelte/useVeloPlot.test.ts +100 -0
  222. package/dist/svelte/useVeloPlot.ts +81 -0
  223. package/dist/svelte.d.ts +1 -0
  224. package/dist/svelte.js +143 -0
  225. package/dist/svelte.js.map +1 -0
  226. package/dist/symbols-DT0eLlpW.js +568 -0
  227. package/dist/symbols-DT0eLlpW.js.map +1 -0
  228. package/dist/testing/index.d.ts +1 -1
  229. package/dist/theme/index.d.ts +2 -1
  230. package/dist/trading.js +7 -7
  231. package/dist/types.d.ts +1 -1
  232. package/dist/{utils-BK5UUXxj.js → utils-Dx0h0bgQ.js} +9 -9
  233. package/dist/{utils-BK5UUXxj.js.map → utils-Dx0h0bgQ.js.map} +1 -1
  234. package/dist/velo-plot.full.js +444 -433
  235. package/dist/velo-plot.full.js.map +1 -1
  236. package/dist/velo-plot.js +15 -15
  237. package/dist/vue/StackedPlot.vue.d.ts +48 -0
  238. package/dist/vue/VeloPlot.vue.d.ts +64 -0
  239. package/dist/vue/index.d.ts +250 -0
  240. package/dist/vue/useChartSync.d.ts +52 -0
  241. package/dist/vue/useIndicator.d.ts +23 -0
  242. package/dist/vue/useStackedPlot.d.ts +15 -0
  243. package/dist/vue/useVeloPlot.d.ts +20 -0
  244. package/dist/vue.d.ts +1 -0
  245. package/dist/vue.js +312 -0
  246. package/dist/vue.js.map +1 -0
  247. package/dist/workers/indicatorsAsync.d.ts +26 -0
  248. package/dist/workers/pool.d.ts +9 -0
  249. package/package.json +88 -10
  250. package/dist/ChartCore-BhQ4j7f5.js.map +0 -1
  251. package/dist/SciPlot-GJvw7GJo.js +0 -463
  252. package/dist/SciPlot-GJvw7GJo.js.map +0 -1
  253. package/dist/axisFormat-SPX-CD5s.js.map +0 -1
  254. package/dist/createStackedChart-DJSmqerD.js +0 -706
  255. package/dist/createStackedChart-DJSmqerD.js.map +0 -1
  256. package/dist/index-CUGS98p4.js.map +0 -1
  257. package/dist/index-CWipqOLP.js.map +0 -1
  258. package/dist/index-D7dTq6VB.js.map +0 -1
  259. package/dist/index-DoYxf1cV.js.map +0 -1
  260. package/dist/index.core-fpZ1dYN0.js.map +0 -1
  261. package/dist/mockDatafeed-Cdg5hKEo.js.map +0 -1
  262. package/dist/pool-15HMCNv8.js +0 -88
  263. package/dist/pool-15HMCNv8.js.map +0 -1
  264. package/dist/react/SciPlot.d.ts +0 -60
  265. package/dist/react/useSciPlot.d.ts +0 -56
@@ -1,53 +1,53 @@
1
1
  var xe = Object.defineProperty;
2
2
  var ve = (n, e, t) => e in n ? xe(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
3
  var Y = (n, e, t) => ve(n, typeof e != "symbol" ? e + "" : e, t);
4
- import { D as ee, j as O, s as te, O as Pe } from "./ChartCore-BhQ4j7f5.js";
5
- import { A as St, C as Tt, l as bt, G as At, f as Mt, E as Ct, L as Ft, u as Dt, z as Et, N as It, a5 as Lt, H as kt, S as Rt, U as Xt, a as Yt, Z as Bt, a0 as _t, b as Gt, g as Wt, a3 as zt, K as Ut, e as $t, d as Ot, a1 as Ht, c as qt, $ as Nt, N as Vt, a4 as Kt, v as jt, B as Jt, J as Qt, P as Zt, _ as en, a2 as tn, k as nn, X as an, I as on, p as rn, o as sn, F as ln, x as cn, Y as dn, n as un, m as fn, y as gn, q as pn, t as hn, V as mn, W as yn, Q as xn, R as vn, T as Pn, w as wn } from "./ChartCore-BhQ4j7f5.js";
6
- import { E as Tn, c as bn, b as An, f as Mn, i as Cn, a as Fn, m as Dn } from "./axisFormat-SPX-CD5s.js";
7
- import { AnnotationManager as In, PluginAnnotations as Ln } from "./plugins/annotations.js";
8
- import { d as G } from "./index.core-fpZ1dYN0.js";
9
- import { e as Rn, h as Xn, f as Yn, c as Bn, a as _n, g as Gn, b as Wn, l as zn, r as Un, v as $n } from "./index.core-fpZ1dYN0.js";
10
- import { G as Hn, S as qn, a as Nn, W as Vn, c as Kn, p as jn } from "./gpuRenderer-BpaMYz-k.js";
11
- import { P as Qn, a as Zn, T as ea, g as ta } from "./index-CWipqOLP.js";
12
- import { P as aa, c as oa, e as ra, d as ia, g as sa, a as la, l as ca, m as da, b as ua, o as fa, s as ga, u as pa } from "./index-D7dTq6VB.js";
13
- import { W as ma, n as ya } from "./pool-15HMCNv8.js";
14
- import { PluginAnalysis as va, analyzeComplexSpectrum as Pa, analyzeSpectrum as wa, arraysToComplex as Sa, autoCorrelation as Ta, bandPassFilter as ba, bandStopFilter as Aa, blackmanWindow as Ma, butterworth as Ca, complexToArrays as Fa, crossCorrelation as Da, detectAnomalies as Ea, dominantFrequency as Ia, exponentialMovingAverage as La, fft as ka, fftFromComplexInput as Ra, gaussianSmooth as Xa, getPositiveFrequencies as Ya, hammingWindow as Ba, hanningWindow as _a, highPassFilter as Ga, ifft as Wa, ifftComplex as za, ifftFromArrays as Ua, lowPassFilter as $a, medianFilter as Oa, nextPowerOf2 as Ha, powerSpectrum as qa, savitzkyGolay as Na, simpsonsIntegration as Va, singleFrequencyFilter as Ka, tTest as ja, trapezoidalIntegration as Ja } from "./plugins/analysis.js";
15
- import { B as Za, C as eo, P as to, a as no, e as ao, g as oo, b as ro, d as io, f as so, c as lo } from "./index-BMiZoKmm.js";
16
- import { S as uo, u as fo } from "./SciPlot-GJvw7GJo.js";
17
- import "react";
18
- import { a as po, S as ho, c as mo } from "./createStackedChart-DJSmqerD.js";
19
- import { BaseBufferStore as xo, BaseTextureStore as vo, GpuBenchmark as Po, GpuCompute as wo, PipelineCache as So, PluginGpu as To } from "./plugins/gpu.js";
20
- import { b as Ao, L as Mo, a as Co, c as Fo, f as Do, d as Eo, e as Io, i as Lo, g as ko, h as Ro, r as Xo, s as Yo } from "./index-x4stH3jD.js";
21
- import { D as _o, K as Go, P as Wo, c as zo, p as Uo } from "./index-DoYxf1cV.js";
22
- import { ClipboardManager as Oo, PluginClipboard as Ho, copyToClipboard as qo, formatData as No, getClipboardManager as Vo } from "./plugins/clipboard.js";
23
- import { DebugOverlay as jo, PluginDebug as Jo, createDebugOverlay as Qo, enableDebugMode as Zo } from "./plugins/debug.js";
24
- import { L as tr, P as nr, c as ar, s as or, a as rr } from "./index-qhscKTDy.js";
25
- import { C as sr, c as lr, a as cr, l as dr } from "./index-CUGS98p4.js";
26
- import { P as fr, a as gr, b as pr, c as hr } from "./mockDatafeed-Cdg5hKEo.js";
27
- import { P as yr, b as xr, T as vr, c as Pr, a as wr, g as Sr } from "./index-Dag88bW4.js";
28
- import { c as br, a as Ar, b as Mr, d as Cr, h as Fr, e as Dr, f as Er, g as Ir, i as Lr, m as kr, s as Rr, v as Xr } from "./utils-BK5UUXxj.js";
29
- import { a as Br, c as _r, d as Gr, i as Wr, s as zr } from "./math-Ddm2EZjj.js";
30
- import { i as $r, j as Or, g as Hr, f as qr, k as Nr, d as Vr, e as Kr, m as jr, c as Jr, n as Qr, o as Zr, p as ei, b as ti, r as ni, s as ai, h as oi, a as ri, t as ii, v as si, w as li } from "./indicators--eJGmVox.js";
31
- import { Plugin3D as di } from "./plugins/3d.js";
32
- import { PluginI18n as fi } from "./plugins/i18n.js";
33
- import { PluginSync as pi } from "./plugins/sync.js";
34
- import { PluginDataExport as mi } from "./plugins/data-export.js";
35
- import { PluginContextMenu as xi } from "./plugins/context-menu.js";
36
- import { PluginAnomalyDetection as Pi } from "./plugins/anomaly-detection.js";
37
- import { PluginMLIntegration as Si } from "./plugins/ml-integration.js";
38
- import { PluginPatternRecognition as bi } from "./plugins/pattern-recognition.js";
39
- import { PluginRegression as Mi } from "./plugins/regression.js";
40
- import { PluginRadar as Fi } from "./plugins/radar.js";
41
- import { PluginSnapshot as Ei } from "./plugins/snapshot.js";
42
- import { PluginDataTransform as Li } from "./plugins/data-transform.js";
43
- import { PluginLaTeX as Ri } from "./plugins/latex.js";
44
- import { PluginCaching as Yi } from "./plugins/caching.js";
45
- import { PluginLazyLoad as _i } from "./plugins/lazy-load.js";
46
- import { PluginBrokenAxis as Wi } from "./plugins/broken-axis.js";
47
- import { PluginVideoRecorder as Ui } from "./plugins/video-recorder.js";
48
- import { PluginOffscreen as Oi } from "./plugins/offscreen.js";
49
- import { PluginROI as qi } from "./plugins/roi.js";
50
- import { PluginForecasting as Vi } from "./plugins/forecasting.js";
4
+ import { D as ee, L as O, x as te, O as Pe } from "./ChartCore-BpzRvN4Y.js";
5
+ import { A as wt, F as St, z as Tt, Q as bt, e as At, E as Ct, d as Mt, a as Ft, M as Dt, N as Et, a5 as It, R as kt, S as Lt, _ as Rt, k as Xt, i as Yt, a0 as Bt, l as _t, t as Gt, a3 as Wt, V as zt, o as Ut, n as $t, a1 as Ot, c as Ht, $ as Vt, N as qt, a4 as Nt, b as Kt, f as jt, U as Jt, W as Qt, j as Zt, a2 as en, y as tn, h as nn, T as an, G as on, C as rn, g as sn, K as ln, m as cn, B as dn, p as un, P as fn, H as gn, J as hn, r as pn, s as mn, X as yn, Y as xn, Z as vn, I as Pn } from "./ChartCore-BpzRvN4Y.js";
6
+ import { E as Sn, c as Tn, b as bn, f as An, i as Cn, a as Mn, m as Fn } from "./axisFormat-CzumxpCL.js";
7
+ import { AnnotationManager as En, PluginAnnotations as In } from "./plugins/annotations.js";
8
+ import { d as G } from "./index.core-BmZe2jRQ.js";
9
+ import { e as Ln, h as Rn, f as Xn, c as Yn, a as Bn, g as _n, b as Gn, l as Wn, r as zn, v as Un } from "./index.core-BmZe2jRQ.js";
10
+ import { G as On, S as Hn, a as Vn, W as qn, c as Nn, p as Kn } from "./gpuRenderer-BpaMYz-k.js";
11
+ import { P as Jn, a as Qn, T as Zn, g as ea } from "./index-qunX30Xu.js";
12
+ import { P as na, c as aa, a as oa, d as ra, g as ia, e as sa, l as la, m as ca, o as da, b as ua, s as fa, u as ga } from "./index-0InEyj0q.js";
13
+ import { W as pa, n as ma } from "./pool-DZ8shSqv.js";
14
+ import { PluginAnalysis as xa, analyzeComplexSpectrum as va, analyzeSpectrum as Pa, arraysToComplex as wa, autoCorrelation as Sa, bandPassFilter as Ta, bandStopFilter as ba, blackmanWindow as Aa, butterworth as Ca, complexToArrays as Ma, crossCorrelation as Fa, detectAnomalies as Da, dominantFrequency as Ea, exponentialMovingAverage as Ia, fft as ka, fftFromComplexInput as La, gaussianSmooth as Ra, generateContours as Xa, getPositiveFrequencies as Ya, hammingWindow as Ba, hanningWindow as _a, highPassFilter as Ga, ifft as Wa, ifftComplex as za, ifftFromArrays as Ua, joinSegments as $a, lowPassFilter as Oa, medianFilter as Ha, nextPowerOf2 as Va, powerSpectrum as qa, savitzkyGolay as Na, simpsonsIntegration as Ka, singleFrequencyFilter as ja, tTest as Ja, trapezoidalIntegration as Qa } from "./plugins/analysis.js";
15
+ import { B as eo, C as to, P as no, a as ao, e as oo, g as ro, b as io, d as so, f as lo, c as co } from "./index-BMiZoKmm.js";
16
+ import { SciChart as fo, SciPlot as go, StackedPlot as ho, VeloPlot as po, useChartGroup as mo, useChartSync as yo, useIndicator as xo, useSciChart as vo, useSciPlot as Po, useStackedPlot as wo, useVeloPlot as So } from "./react.js";
17
+ import { BaseBufferStore as bo, BaseTextureStore as Ao, GpuBenchmark as Co, GpuCompute as Mo, PipelineCache as Fo, PluginGpu as Do } from "./plugins/gpu.js";
18
+ import { b as Io, L as ko, a as Lo, c as Ro, f as Xo, d as Yo, e as Bo, i as _o, g as Go, h as Wo, r as zo, s as Uo } from "./index-x4stH3jD.js";
19
+ import { D as Oo, K as Ho, c as Vo, p as qo } from "./index-CWxIHdwX.js";
20
+ import { ClipboardManager as Ko, PluginClipboard as jo, copyToClipboard as Jo, formatData as Qo, getClipboardManager as Zo } from "./plugins/clipboard.js";
21
+ import { DebugOverlay as tr, PluginDebug as nr, createDebugOverlay as ar, enableDebugMode as or } from "./plugins/debug.js";
22
+ import { L as ir, P as sr, c as lr, s as cr, a as dr } from "./index-qhscKTDy.js";
23
+ import { C as fr, c as gr, a as hr, l as pr } from "./index-CaXWSOTk.js";
24
+ import { a as yr, S as xr, c as vr } from "./createStackedChart-Dm-YqUT7.js";
25
+ import { P as wr, a as Sr, b as Tr, c as br } from "./mockDatafeed-DHIDPcpX.js";
26
+ import { P as Cr, b as Mr, T as Fr, c as Dr, a as Er, g as Ir } from "./index-Dag88bW4.js";
27
+ import { h as Lr, d as Rr, e as Xr, i as Yr, b as Br, a as _r, f as Gr, c as Wr, g as zr, m as Ur, s as $r, v as Or } from "./utils-Dx0h0bgQ.js";
28
+ import { a as Vr, c as qr, d as Nr, i as Kr, s as jr } from "./math-Ddm2EZjj.js";
29
+ import { i as Qr, j as Zr, g as ei, f as ti, k as ni, d as ai, e as oi, m as ri, c as ii, n as si, o as li, p as ci, b as di, r as ui, s as fi, h as gi, a as hi, t as pi, v as mi, w as yi } from "./indicators--eJGmVox.js";
30
+ import { Plugin3D as vi } from "./plugins/3d.js";
31
+ import { PluginI18n as wi } from "./plugins/i18n.js";
32
+ import { PluginKeyboard as Ti } from "./plugins/keyboard.js";
33
+ import { PluginSync as Ai } from "./plugins/sync.js";
34
+ import { PluginDataExport as Mi } from "./plugins/data-export.js";
35
+ import { PluginContextMenu as Di } from "./plugins/context-menu.js";
36
+ import { PluginAnomalyDetection as Ii } from "./plugins/anomaly-detection.js";
37
+ import { PluginMLIntegration as Li } from "./plugins/ml-integration.js";
38
+ import { PluginPatternRecognition as Xi } from "./plugins/pattern-recognition.js";
39
+ import { PluginRegression as Bi } from "./plugins/regression.js";
40
+ import { PluginRadar as Gi } from "./plugins/radar.js";
41
+ import { PluginSnapshot as zi } from "./plugins/snapshot.js";
42
+ import { PluginDataTransform as $i } from "./plugins/data-transform.js";
43
+ import { PluginLaTeX as Hi } from "./plugins/latex.js";
44
+ import { PluginCaching as qi } from "./plugins/caching.js";
45
+ import { PluginLazyLoad as Ki } from "./plugins/lazy-load.js";
46
+ import { PluginBrokenAxis as Ji } from "./plugins/broken-axis.js";
47
+ import { PluginVideoRecorder as Zi } from "./plugins/video-recorder.js";
48
+ import { PluginOffscreen as ts } from "./plugins/offscreen.js";
49
+ import { PluginROI as as } from "./plugins/roi.js";
50
+ import { PluginForecasting as rs } from "./plugins/forecasting.js";
51
51
  class ae {
52
52
  constructor(e, t = {}) {
53
53
  Y(this, "available");
@@ -62,16 +62,16 @@ class ae {
62
62
  }
63
63
  async init(e = {}) {
64
64
  if (!this.available)
65
- throw new Error("[SciPlot] WebGPU is not supported in this environment");
65
+ throw new Error("[VeloPlot] WebGPU is not supported in this environment");
66
66
  const t = globalThis.navigator.gpu;
67
67
  if (this.adapter = await t.requestAdapter({
68
68
  powerPreference: e.powerPreference ?? "high-performance"
69
69
  }), !this.adapter)
70
- throw new Error("[SciPlot] Failed to request WebGPU adapter");
70
+ throw new Error("[VeloPlot] Failed to request WebGPU adapter");
71
71
  this.device = await this.adapter.requestDevice();
72
72
  const o = this.canvas.getContext("webgpu");
73
73
  if (!o)
74
- throw new Error("[SciPlot] Failed to get WebGPU context");
74
+ throw new Error("[VeloPlot] Failed to get WebGPU context");
75
75
  this.context = o;
76
76
  const r = e.preferredFormat ?? (t.getPreferredCanvasFormat ? t.getPreferredCanvasFormat() : "bgra8unorm");
77
77
  this.context.configure({
@@ -105,7 +105,7 @@ const we = {
105
105
  let i = n.valueDisplayMode ?? "disabled";
106
106
  n.showAxisLabels !== void 0 && n.valueDisplayMode === void 0 && (i = n.showAxisLabels ? "floating" : "disabled");
107
107
  const s = n.cornerPosition ?? "top-left";
108
- let u = -1, h = -1, S, v = null, p = null;
108
+ let u = -1, p = -1, S, v = null, h = null;
109
109
  return {
110
110
  onInit(f) {
111
111
  S = "crosshair-overlay";
@@ -113,19 +113,19 @@ const we = {
113
113
  zIndex: 500,
114
114
  position: { top: "0", left: "0", right: "0", bottom: "0" }
115
115
  });
116
- v = document.createElement("canvas"), v.style.cssText = "width: 100%; height: 100%;", l.appendChild(v), p = v.getContext("2d"), w(f);
116
+ v = document.createElement("canvas"), v.style.cssText = "width: 100%; height: 100%;", l.appendChild(v), h = v.getContext("2d"), w(f);
117
117
  },
118
118
  onDestroy(f) {
119
- f.ui.removeOverlay(S), v = null, p = null;
119
+ f.ui.removeOverlay(S), v = null, h = null;
120
120
  },
121
121
  onResize(f) {
122
122
  w(f);
123
123
  },
124
124
  onInteraction(f, l) {
125
125
  if (l.type === "mousemove") {
126
- if (u = l.pixelX, h = l.pixelY, d && l.inPlotArea) {
127
- const P = f.coords.pickPoint(u, h);
128
- P && (u = P.pixelX, h = P.pixelY);
126
+ if (u = l.pixelX, p = l.pixelY, d && l.inPlotArea) {
127
+ const P = f.coords.pickPoint(u, p);
128
+ P && (u = P.pixelX, p = P.pixelY);
129
129
  }
130
130
  b(f);
131
131
  }
@@ -134,51 +134,51 @@ const we = {
134
134
  }
135
135
  };
136
136
  function w(f) {
137
- if (!v || !p) return;
137
+ if (!v || !h) return;
138
138
  const l = f.render.canvasSize, P = f.render.pixelRatio;
139
- v.width = l.width * P, v.height = l.height * P, p.setTransform(1, 0, 0, 1, 0, 0), p.scale(P, P);
139
+ v.width = l.width * P, v.height = l.height * P, h.setTransform(1, 0, 0, 1, 0, 0), h.scale(P, P);
140
140
  }
141
141
  function b(f) {
142
- var C;
143
- if (!p || !v) return;
142
+ var M;
143
+ if (!h || !v) return;
144
144
  const { width: l, height: P } = f.render.canvasSize;
145
- if (p.clearRect(0, 0, l, P), u < 0 || h < 0) return;
145
+ if (h.clearRect(0, 0, l, P), u < 0 || p < 0) return;
146
146
  const x = f.render.plotArea;
147
- if (u < x.x || u > x.x + x.width || h < x.y || h > x.y + x.height)
147
+ if (u < x.x || u > x.x + x.width || p < x.y || p > x.y + x.height)
148
148
  return;
149
- const D = o || ((C = f.ui.theme.cursor) == null ? void 0 : C.color) || "#888888";
150
- p.save(), p.strokeStyle = D, p.lineWidth = a, r === "dashed" ? p.setLineDash([6, 4]) : r === "dotted" && p.setLineDash([2, 2]), e && (p.beginPath(), p.moveTo(u, x.y), p.lineTo(u, x.y + x.height), p.stroke()), t && (p.beginPath(), p.moveTo(x.x, h), p.lineTo(x.x + x.width, h), p.stroke()), p.restore(), i === "floating" ? g(f, p, u, h, D) : i === "corner" && y(f, p, u, h, D);
149
+ const D = o || ((M = f.ui.theme.cursor) == null ? void 0 : M.color) || "#888888";
150
+ h.save(), h.strokeStyle = D, h.lineWidth = a, r === "dashed" ? h.setLineDash([6, 4]) : r === "dotted" && h.setLineDash([2, 2]), e && (h.beginPath(), h.moveTo(u, x.y), h.lineTo(u, x.y + x.height), h.stroke()), t && (h.beginPath(), h.moveTo(x.x, p), h.lineTo(x.x + x.width, p), h.stroke()), h.restore(), i === "floating" ? g(f, h, u, p, D) : i === "corner" && y(f, h, u, p, D);
151
151
  }
152
152
  function g(f, l, P, x, D) {
153
- const C = f.coords.pixelToDataX(P), B = f.coords.pixelToDataY(x), M = f.render.plotArea;
153
+ const M = f.coords.pixelToDataX(P), B = f.coords.pixelToDataY(x), C = f.render.plotArea;
154
154
  l.save(), l.font = "11px system-ui, sans-serif", l.textAlign = "center", l.textBaseline = "top";
155
- const _ = C.toPrecision(c.xPrecision), A = l.measureText(_).width + 8, T = 18, I = P - A / 2, F = M.y + M.height + 2;
155
+ const _ = M.toPrecision(c.xPrecision), A = l.measureText(_).width + 8, T = 18, I = P - A / 2, F = C.y + C.height + 2;
156
156
  l.fillStyle = D, l.fillRect(I, F, A, T), l.fillStyle = "#ffffff", l.fillText(_, P, F + 3), l.textAlign = "right", l.textBaseline = "middle";
157
- const k = B.toPrecision(c.yPrecision), X = l.measureText(k).width + 8, L = 18, R = M.x - X - 2, U = x - L / 2;
158
- l.fillStyle = D, l.fillRect(R, U, X, L), l.fillStyle = "#ffffff", l.fillText(k, M.x - 6, x), l.restore();
157
+ const L = B.toPrecision(c.yPrecision), X = l.measureText(L).width + 8, k = 18, R = C.x - X - 2, U = x - k / 2;
158
+ l.fillStyle = D, l.fillRect(R, U, X, k), l.fillStyle = "#ffffff", l.fillText(L, C.x - 6, x), l.restore();
159
159
  }
160
160
  function y(f, l, P, x, D) {
161
- const C = f.coords.pixelToDataX(P), B = f.coords.pixelToDataY(x), M = f.render.plotArea;
161
+ const M = f.coords.pixelToDataX(P), B = f.coords.pixelToDataY(x), C = f.render.plotArea;
162
162
  l.save(), l.font = "11px system-ui, sans-serif";
163
- const _ = `X: ${C.toPrecision(c.xPrecision)}`, m = `Y: ${B.toPrecision(c.yPrecision)}`, A = l.measureText(_), T = l.measureText(m), I = Math.max(A.width, T.width), F = 6, k = 16, E = I + F * 2, X = k * 2 + F * 2;
164
- let L, R;
163
+ const _ = `X: ${M.toPrecision(c.xPrecision)}`, m = `Y: ${B.toPrecision(c.yPrecision)}`, A = l.measureText(_), T = l.measureText(m), I = Math.max(A.width, T.width), F = 6, L = 16, E = I + F * 2, X = L * 2 + F * 2;
164
+ let k, R;
165
165
  switch (s) {
166
166
  case "top-left":
167
- L = M.x + 8, R = M.y + 8;
167
+ k = C.x + 8, R = C.y + 8;
168
168
  break;
169
169
  case "top-right":
170
- L = M.x + M.width - E - 8, R = M.y + 8;
170
+ k = C.x + C.width - E - 8, R = C.y + 8;
171
171
  break;
172
172
  case "bottom-left":
173
- L = M.x + 8, R = M.y + M.height - X - 8;
173
+ k = C.x + 8, R = C.y + C.height - X - 8;
174
174
  break;
175
175
  case "bottom-right":
176
- L = M.x + M.width - E - 8, R = M.y + M.height - X - 8;
176
+ k = C.x + C.width - E - 8, R = C.y + C.height - X - 8;
177
177
  break;
178
178
  default:
179
- L = M.x + 8, R = M.y + 8;
179
+ k = C.x + 8, R = C.y + 8;
180
180
  }
181
- l.fillStyle = D, l.globalAlpha = 0.85, l.fillRect(L, R, E, X), l.globalAlpha = 1, l.strokeStyle = "rgba(255,255,255,0.3)", l.lineWidth = 1, l.strokeRect(L, R, E, X), l.fillStyle = "#ffffff", l.textAlign = "left", l.textBaseline = "top", l.fillText(_, L + F, R + F), l.fillText(m, L + F, R + F + k), l.restore();
181
+ l.fillStyle = D, l.globalAlpha = 0.85, l.fillRect(k, R, E, X), l.globalAlpha = 1, l.strokeStyle = "rgba(255,255,255,0.3)", l.lineWidth = 1, l.strokeRect(k, R, E, X), l.fillStyle = "#ffffff", l.textAlign = "left", l.textBaseline = "top", l.fillText(_, k + F, R + F), l.fillText(m, k + F, R + F + L), l.restore();
182
182
  }
183
183
  }
184
184
  ), Te = {
@@ -243,7 +243,7 @@ const we = {
243
243
  if (!d) return;
244
244
  const u = d.querySelector(".stats-content");
245
245
  if (!u) return;
246
- const h = s.data.getAllSeries(), S = o ? h.filter((b) => b.getId() === o) : h;
246
+ const p = s.data.getAllSeries(), S = o ? p.filter((b) => b.getId() === o) : p;
247
247
  if (S.length === 0) {
248
248
  u.innerHTML = "<div style='color: #888'>No data</div>";
249
249
  return;
@@ -256,22 +256,22 @@ const we = {
256
256
  u.innerHTML = "<div style='color: #888'>No data</div>";
257
257
  return;
258
258
  }
259
- const p = i(v), w = [];
260
- t.includes("count") && w.push(`<div>N: <span style="color: #60a5fa">${p.count.toLocaleString()}</span></div>`), t.includes("mean") && w.push(`<div>μ: <span style="color: #60a5fa">${p.mean.toPrecision(4)}</span></div>`), t.includes("min") && w.push(`<div>Min: <span style="color: #60a5fa">${p.min.toPrecision(4)}</span></div>`), t.includes("max") && w.push(`<div>Max: <span style="color: #60a5fa">${p.max.toPrecision(4)}</span></div>`), t.includes("std") && w.push(`<div>σ: <span style="color: #60a5fa">${p.std.toPrecision(4)}</span></div>`), t.includes("range") && w.push(`<div>Range: <span style="color: #60a5fa">${p.range.toPrecision(4)}</span></div>`), u.innerHTML = w.join("");
259
+ const h = i(v), w = [];
260
+ t.includes("count") && w.push(`<div>N: <span style="color: #60a5fa">${h.count.toLocaleString()}</span></div>`), t.includes("mean") && w.push(`<div>μ: <span style="color: #60a5fa">${h.mean.toPrecision(4)}</span></div>`), t.includes("min") && w.push(`<div>Min: <span style="color: #60a5fa">${h.min.toPrecision(4)}</span></div>`), t.includes("max") && w.push(`<div>Max: <span style="color: #60a5fa">${h.max.toPrecision(4)}</span></div>`), t.includes("std") && w.push(`<div>σ: <span style="color: #60a5fa">${h.std.toPrecision(4)}</span></div>`), t.includes("range") && w.push(`<div>Range: <span style="color: #60a5fa">${h.range.toPrecision(4)}</span></div>`), u.innerHTML = w.join("");
261
261
  }
262
262
  function i(s) {
263
263
  const u = s.length;
264
- let h = 0, S = 1 / 0, v = -1 / 0;
264
+ let p = 0, S = 1 / 0, v = -1 / 0;
265
265
  for (const g of s)
266
- h += g, g < S && (S = g), g > v && (v = g);
267
- const p = h / u;
266
+ p += g, g < S && (S = g), g > v && (v = g);
267
+ const h = p / u;
268
268
  let w = 0;
269
269
  for (const g of s)
270
- w += (g - p) ** 2;
270
+ w += (g - h) ** 2;
271
271
  const b = Math.sqrt(w / u);
272
272
  return {
273
273
  count: u,
274
- mean: p,
274
+ mean: h,
275
275
  min: S,
276
276
  max: v,
277
277
  std: b,
@@ -285,7 +285,7 @@ const we = {
285
285
  description: "Adds a customizable watermark to the chart",
286
286
  provides: ["visualization"],
287
287
  tags: ["watermark", "branding", "overlay"]
288
- }, Me = G(
288
+ }, Ce = G(
289
289
  Ae,
290
290
  (n) => {
291
291
  if (!(n != null && n.text))
@@ -305,19 +305,19 @@ const we = {
305
305
  c.render.canvasSize;
306
306
  const s = c.render.plotArea;
307
307
  i.save(), i.font = `${t}px ${o}`, i.fillStyle = r, i.textAlign = "center", i.textBaseline = "middle";
308
- let u, h;
309
- a === "center" ? (u = s.x + s.width / 2, h = s.y + s.height / 2) : a === "bottom-right" ? (u = s.x + s.width - t, h = s.y + s.height - t / 2) : (u = s.x + t, h = s.y + s.height - t / 2), i.translate(u, h), i.rotate(d * Math.PI / 180), i.fillText(e, 0, 0), i.restore();
308
+ let u, p;
309
+ a === "center" ? (u = s.x + s.width / 2, p = s.y + s.height / 2) : a === "bottom-right" ? (u = s.x + s.width - t, p = s.y + s.height - t / 2) : (u = s.x + t, p = s.y + s.height - t / 2), i.translate(u, p), i.rotate(d * Math.PI / 180), i.fillText(e, 0, 0), i.restore();
310
310
  }
311
311
  };
312
312
  }
313
- ), Ce = {
313
+ ), Me = {
314
314
  name: "grid-highlight",
315
315
  version: "1.0.0",
316
316
  description: "Highlights specific regions of the chart grid",
317
317
  provides: ["visualization"],
318
318
  tags: ["grid", "highlight", "regions"]
319
319
  }, Fe = G(
320
- Ce,
320
+ Me,
321
321
  (n = {}) => {
322
322
  const { xIntervals: e = [], yIntervals: t = [], opacity: o = 0.1 } = n;
323
323
  return {
@@ -421,7 +421,7 @@ const we = {
421
421
  description: "Shows an arrow indicating the direction and trend of streaming data",
422
422
  provides: ["visualization", "analysis"],
423
423
  tags: ["streaming", "direction", "trend", "arrow"]
424
- }, Le = G(
424
+ }, ke = G(
425
425
  Ie,
426
426
  (n = {}) => {
427
427
  const {
@@ -433,8 +433,8 @@ const we = {
433
433
  historySize: d = 20,
434
434
  idleTimeout: c
435
435
  } = n;
436
- let i, s = null, u = null, h = null, S = null;
437
- const v = [], p = [], w = [];
436
+ let i, s = null, u = null, p = null, S = null;
437
+ const v = [], h = [], w = [];
438
438
  let b = d, g = null, y = Date.now(), f = -1 / 0, l = -1 / 0, P = c;
439
439
  return {
440
440
  onInit(m) {
@@ -452,13 +452,13 @@ const we = {
452
452
  }
453
453
  },
454
454
  onDestroy(m) {
455
- m.ui.removeOverlay(i), g && clearTimeout(g), s = null, u = null, h = null;
455
+ m.ui.removeOverlay(i), g && clearTimeout(g), s = null, u = null, p = null;
456
456
  },
457
457
  onResize(m) {
458
458
  x(m);
459
459
  },
460
460
  onAfterRender(m) {
461
- if (D(m), M(m), P) {
461
+ if (D(m), C(m), P) {
462
462
  g && clearTimeout(g);
463
463
  const A = Date.now() - y;
464
464
  A < P && (g = setTimeout(() => {
@@ -469,7 +469,7 @@ const we = {
469
469
  onConfigChange(m, A) {
470
470
  if (A.historySize !== void 0) {
471
471
  for (b = A.historySize; v.length > b; ) v.shift();
472
- for (; p.length > b; ) p.shift();
472
+ for (; h.length > b; ) h.shift();
473
473
  for (; w.length > b; ) w.shift();
474
474
  }
475
475
  A.idleTimeout !== void 0 && (P = A.idleTimeout);
@@ -486,22 +486,22 @@ const we = {
486
486
  if (!T || !T.x || !T.y) return;
487
487
  const I = T.x.length;
488
488
  if (I < 2) return;
489
- const F = T.x[I - 1], k = T.y[I - 1];
490
- (F !== f || k !== l) && (f = F, l = k, y = Date.now());
489
+ const F = T.x[I - 1], L = T.y[I - 1];
490
+ (F !== f || L !== l) && (f = F, l = L, y = Date.now());
491
491
  const E = Math.min(t, I), X = I - E;
492
- let L = 0, R = 0, U = 0, K = 0, j = 0, J = 0;
492
+ let k = 0, R = 0, U = 0, K = 0, j = 0, J = 0;
493
493
  for (let W = X; W < I; W++) {
494
494
  const z = W - X, me = T.x[W], ye = T.y[W], Q = m.coords.dataToPixelX(me), Z = m.coords.dataToPixelY(ye);
495
- L += z, R += Q, U += Z, K += z * Q, j += z * Z, J += z * z;
495
+ k += z, R += Q, U += Z, K += z * Q, j += z * Z, J += z * z;
496
496
  }
497
- const $ = L / E, se = R / E, le = U / E, H = J - E * $ * $;
497
+ const $ = k / E, se = R / E, le = U / E, H = J - E * $ * $;
498
498
  if (Math.abs(H) < 1e-10) return;
499
- const q = (K - E * $ * se) / H, N = (j - E * $ * le) / H, ce = Math.atan2(N, q), de = m.coords.dataToPixelX(F), ue = m.coords.dataToPixelY(k);
500
- v.push(de), p.push(ue), v.length > b && (v.shift(), p.shift()), w.push(ce), w.length > b && w.shift();
501
- const fe = C(v), ge = C(p), pe = B(w), he = Math.sqrt(q * q + N * N);
502
- h = { angle: pe, magnitude: he, lastX: F, lastY: k, smoothX: fe, smoothY: ge };
499
+ const V = (K - E * $ * se) / H, q = (j - E * $ * le) / H, ce = Math.atan2(q, V), de = m.coords.dataToPixelX(F), ue = m.coords.dataToPixelY(L);
500
+ v.push(de), h.push(ue), v.length > b && (v.shift(), h.shift()), w.push(ce), w.length > b && w.shift();
501
+ const fe = M(v), ge = M(h), he = B(w), pe = Math.sqrt(V * V + q * q);
502
+ p = { angle: he, magnitude: pe, lastX: F, lastY: L, smoothX: fe, smoothY: ge };
503
503
  }
504
- function C(m) {
504
+ function M(m) {
505
505
  return m.length === 0 ? 0 : m.reduce((A, T) => A + T, 0) / m.length;
506
506
  }
507
507
  function B(m) {
@@ -511,26 +511,26 @@ const we = {
511
511
  A += Math.cos(I), T += Math.sin(I);
512
512
  return Math.atan2(T / m.length, A / m.length);
513
513
  }
514
- function M(m) {
515
- if (!u || !s || !h) return;
514
+ function C(m) {
515
+ if (!u || !s || !p) return;
516
516
  const { width: A, height: T } = m.render.canvasSize;
517
- if (u.clearRect(0, 0, A, T), P !== void 0 && Date.now() - y > P || h.magnitude < a) return;
518
- const I = h.smoothX, F = h.smoothY, k = o || "#FF9800";
519
- u.save(), _(u, I, F, h.angle, r, k), u.restore();
517
+ if (u.clearRect(0, 0, A, T), P !== void 0 && Date.now() - y > P || p.magnitude < a) return;
518
+ const I = p.smoothX, F = p.smoothY, L = o || "#FF9800";
519
+ u.save(), _(u, I, F, p.angle, r, L), u.restore();
520
520
  }
521
- function _(m, A, T, I, F, k) {
521
+ function _(m, A, T, I, F, L) {
522
522
  const E = F * 0.6, X = F * 0.4;
523
- m.save(), m.translate(A, T), m.rotate(I), m.fillStyle = k, m.beginPath(), m.moveTo(E / 2, 0), m.lineTo(-E / 2, -X / 2), m.lineTo(-E / 2, X / 2), m.closePath(), m.fill(), m.restore();
523
+ m.save(), m.translate(A, T), m.rotate(I), m.fillStyle = L, m.beginPath(), m.moveTo(E / 2, 0), m.lineTo(-E / 2, -X / 2), m.lineTo(-E / 2, X / 2), m.closePath(), m.fill(), m.restore();
524
524
  }
525
525
  }
526
- ), tt = {
526
+ ), et = {
527
527
  Crosshair: Se,
528
528
  Statistics: be,
529
- Watermark: Me,
529
+ Watermark: Ce,
530
530
  GridHighlight: Fe,
531
531
  DataLogger: Ee,
532
- DirectionIndicator: Le
533
- }, ke = {
532
+ DirectionIndicator: ke
533
+ }, Le = {
534
534
  name: "velo-plot-drag-edit",
535
535
  version: "1.0.0",
536
536
  description: "Interactive drag & drop editing of data points",
@@ -561,7 +561,7 @@ const we = {
561
561
  opacity: 0.5
562
562
  }
563
563
  };
564
- function nt(n = {}) {
564
+ function tt(n = {}) {
565
565
  const e = { ...Re, ...n };
566
566
  let t = null, o = !1, r = null, a = 0, d = 0, c = !1;
567
567
  function i(g, y) {
@@ -585,7 +585,7 @@ function nt(n = {}) {
585
585
  function u(g, y) {
586
586
  return Math.round(g / y) * y;
587
587
  }
588
- function h(g, y, f) {
588
+ function p(g, y, f) {
589
589
  if (!r) return { x: g, y };
590
590
  switch (f) {
591
591
  case "x":
@@ -611,14 +611,14 @@ function nt(n = {}) {
611
611
  return { x: f, y: l, valid: !0 };
612
612
  }
613
613
  function v(g, y, f, l) {
614
- var D, C, B;
614
+ var D, M, B;
615
615
  if (!t) return;
616
- const P = (C = (D = t.chart).getSeries) == null ? void 0 : C.call(D, g);
616
+ const P = (M = (D = t.chart).getSeries) == null ? void 0 : M.call(D, g);
617
617
  if (!P) return;
618
618
  const x = P.getData();
619
619
  !x || !x.x || !x.y || (x.x[y] = f, x.y[y] = l, (B = P.invalidateBuffers) == null || B.call(P), t.requestRender());
620
620
  }
621
- function p() {
621
+ function h() {
622
622
  return r ? {
623
623
  seriesId: r.seriesId,
624
624
  index: r.index,
@@ -635,8 +635,8 @@ function nt(n = {}) {
635
635
  const { render: y, coords: f } = g, { ctx2d: l } = y;
636
636
  if (!l) return;
637
637
  l.save();
638
- const P = f.dataToPixelX(r.originalX), x = f.dataToPixelY(r.originalY), D = f.dataToPixelX(r.currentX), C = f.dataToPixelY(r.currentY);
639
- l.strokeStyle = e.previewStyle.color || "#ffffff", l.lineWidth = e.previewStyle.width || 2, l.globalAlpha = e.previewStyle.opacity || 0.5, l.setLineDash(e.previewStyle.dash || [5, 5]), l.beginPath(), l.moveTo(P, x), l.lineTo(D, C), l.stroke(), l.globalAlpha = 1, l.fillStyle = e.highlightColor, l.setLineDash([]), l.beginPath(), l.arc(D, C, 6, 0, Math.PI * 2), l.fill(), l.strokeStyle = "#000000", l.lineWidth = 1, l.stroke(), l.restore();
638
+ const P = f.dataToPixelX(r.originalX), x = f.dataToPixelY(r.originalY), D = f.dataToPixelX(r.currentX), M = f.dataToPixelY(r.currentY);
639
+ l.strokeStyle = e.previewStyle.color || "#ffffff", l.lineWidth = e.previewStyle.width || 2, l.globalAlpha = e.previewStyle.opacity || 0.5, l.setLineDash(e.previewStyle.dash || [5, 5]), l.beginPath(), l.moveTo(P, x), l.lineTo(D, M), l.stroke(), l.globalAlpha = 1, l.fillStyle = e.highlightColor, l.setLineDash([]), l.beginPath(), l.arc(D, M, 6, 0, Math.PI * 2), l.fill(), l.strokeStyle = "#000000", l.lineWidth = 1, l.stroke(), l.restore();
640
640
  }
641
641
  const b = {
642
642
  enable() {
@@ -662,7 +662,7 @@ function nt(n = {}) {
662
662
  }
663
663
  };
664
664
  return {
665
- manifest: ke,
665
+ manifest: Le,
666
666
  onInit(g) {
667
667
  t = g, t.chart.dragEdit = b;
668
668
  },
@@ -677,22 +677,22 @@ function nt(n = {}) {
677
677
  } else if (y.type === "mousemove") {
678
678
  if (!r) return;
679
679
  if (!o) {
680
- const C = y.pixelX - a, B = y.pixelY - d;
681
- if (Math.sqrt(C * C + B * B) > e.dragThreshold) {
680
+ const M = y.pixelX - a, B = y.pixelY - d;
681
+ if (Math.sqrt(M * M + B * B) > e.dragThreshold) {
682
682
  o = !0, c = !0;
683
- const _ = p();
683
+ const _ = h();
684
684
  _ && e.onDragStart(_);
685
685
  } else
686
686
  return;
687
687
  }
688
688
  o && y.preventDefault();
689
689
  let { x: f, y: l } = s(y.pixelX, y.pixelY);
690
- ({ x: f, y: l } = h(f, l, e.constraint));
690
+ ({ x: f, y: l } = p(f, l, e.constraint));
691
691
  const { x: P, y: x, valid: D } = S(f, l);
692
692
  if (D) {
693
693
  r.currentX = P, r.currentY = x;
694
- const C = p();
695
- C && e.onDrag(C), t == null || t.requestRender();
694
+ const M = h();
695
+ M && e.onDrag(M), t == null || t.requestRender();
696
696
  }
697
697
  } else if (y.type === "mouseup") {
698
698
  if (!r) return;
@@ -703,7 +703,7 @@ function nt(n = {}) {
703
703
  r.currentX,
704
704
  r.currentY
705
705
  );
706
- const f = p();
706
+ const f = h();
707
707
  f && e.onDragEnd(f), y.preventDefault();
708
708
  }
709
709
  r = null, o = !1, c = !1, t == null || t.requestRender();
@@ -747,10 +747,10 @@ function Be(n) {
747
747
  function _e(n) {
748
748
  const { plotArea: e, xLines: t, yLines: o } = n, r = e.y, a = e.y + e.height, d = e.x, c = e.x + e.width, i = (t.length + o.length) * 2, s = new Float32Array(i * 2);
749
749
  let u = 0;
750
- for (const h of t)
751
- s[u++] = h, s[u++] = r, s[u++] = h, s[u++] = a;
752
- for (const h of o)
753
- s[u++] = d, s[u++] = h, s[u++] = c, s[u++] = h;
750
+ for (const p of t)
751
+ s[u++] = p, s[u++] = r, s[u++] = p, s[u++] = a;
752
+ for (const p of o)
753
+ s[u++] = d, s[u++] = p, s[u++] = c, s[u++] = p;
754
754
  return s;
755
755
  }
756
756
  class Ge {
@@ -848,9 +848,9 @@ function Ue(n = {}) {
848
848
  }
849
849
  }, i = oe(e, t), s = new O(), u = new O();
850
850
  s.setDomain(0, 1e6), u.setDomain(-1, 1), s.setRange(i.x, i.x + i.width), u.setRange(i.y + i.height, i.y);
851
- const h = new Pe(d, c), { avg: S, p95: v } = ie(() => {
852
- d.clearRect(0, 0, e, t), h.drawGrid(i, s, u, { tickCount: o }, { tickCount: r });
853
- }, a), { xLines: p, yLines: w } = re(i, s, u, o, r);
851
+ const p = new Pe(d, c), { avg: S, p95: v } = ie(() => {
852
+ d.clearRect(0, 0, e, t), p.drawGrid(i, s, u, { tickCount: o }, { tickCount: r });
853
+ }, a), { xLines: h, yLines: w } = re(i, s, u, o, r);
854
854
  return {
855
855
  backend: "canvas2d",
856
856
  dpr: n.dpr ?? 1,
@@ -858,7 +858,7 @@ function Ue(n = {}) {
858
858
  height: t,
859
859
  xTicks: o,
860
860
  yTicks: r,
861
- lineSegments: p.length + w.length,
861
+ lineSegments: h.length + w.length,
862
862
  avgFrameUs: Math.round(S),
863
863
  p95FrameUs: Math.round(v),
864
864
  frames: a
@@ -875,10 +875,10 @@ function $e(n = {}) {
875
875
  }
876
876
  const i = oe(e, t), s = new O(), u = new O();
877
877
  s.setDomain(0, 1e6), u.setDomain(-1, 1), s.setRange(i.x, i.x + i.width), u.setRange(i.y + i.height, i.y);
878
- const { xLines: h, yLines: S } = re(i, s, u, o, r), v = { plotArea: i, xLines: h, yLines: S, width: e, height: t };
879
- let p = 0;
878
+ const { xLines: p, yLines: S } = re(i, s, u, o, r), v = { plotArea: i, xLines: p, yLines: S, width: e, height: t };
879
+ let h = 0;
880
880
  const { avg: w, p95: b } = ie(() => {
881
- p = c.draw(v);
881
+ h = c.draw(v);
882
882
  }, a);
883
883
  return c.destroy(), {
884
884
  backend: "webgl",
@@ -887,13 +887,13 @@ function $e(n = {}) {
887
887
  height: t,
888
888
  xTicks: o,
889
889
  yTicks: r,
890
- lineSegments: p,
890
+ lineSegments: h,
891
891
  avgFrameUs: Math.round(w),
892
892
  p95FrameUs: Math.round(b),
893
893
  frames: a
894
894
  };
895
895
  }
896
- function at(n) {
896
+ function nt(n) {
897
897
  const e = (n == null ? void 0 : n.dpr) ?? 2, t = (n == null ? void 0 : n.frames) ?? 120, o = Ue({ dpr: e, frames: t, showMinor: !0 }), r = $e({ dpr: e, frames: t });
898
898
  if (!r)
899
899
  return {
@@ -910,7 +910,7 @@ function at(n) {
910
910
  recommendation: a >= 20 ? "implement" : "defer"
911
911
  };
912
912
  }
913
- const Oe = "1.17.0", He = "2026-07-05", qe = "Stage 1 baselines. Headless CI uses effective FPS (render throughput when rAF throttled) via scripts/benchmark-scenario-eval.mjs smoke floors.", Ne = 0.1, Ve = 0.95, Ke = {
913
+ const Oe = "1.17.0", He = "2026-07-05", Ve = "Stage 1 baselines. Headless CI uses effective FPS (render throughput when rAF throttled) via scripts/benchmark-scenario-eval.mjs smoke floors.", qe = 0.1, Ne = 0.95, Ke = {
914
914
  "line-1m-pan": {
915
915
  minAvgFps: 50,
916
916
  maxAvgFrameTimeMs: 20,
@@ -950,22 +950,22 @@ const Oe = "1.17.0", He = "2026-07-05", qe = "Stage 1 baselines. Headless CI use
950
950
  dpr: 2,
951
951
  description: "WebGL grid spike lines only @2x"
952
952
  }
953
- }, V = {
953
+ }, N = {
954
954
  version: Oe,
955
955
  recordedAt: He,
956
- notes: qe,
957
- regressionThreshold: Ne,
958
- webgpuMinFpsRatio: Ve,
956
+ notes: Ve,
957
+ regressionThreshold: qe,
958
+ webgpuMinFpsRatio: Ne,
959
959
  scenarios: Ke
960
960
  };
961
- function ot() {
962
- return V;
961
+ function at() {
962
+ return N;
963
963
  }
964
- function rt(n, e) {
965
- const t = V.scenarios[n];
964
+ function ot(n, e) {
965
+ const t = N.scenarios[n];
966
966
  if (!t)
967
967
  return { passed: !0, failures: [] };
968
- const o = [], r = V.regressionThreshold ?? 0.1;
968
+ const o = [], r = N.regressionThreshold ?? 0.1;
969
969
  if ("avgFps" in e && t.minAvgFps !== void 0) {
970
970
  const a = t.minAvgFps * (1 - r);
971
971
  e.avgFps < a && o.push(
@@ -986,7 +986,7 @@ function rt(n, e) {
986
986
  }
987
987
  return { passed: o.length === 0, failures: o };
988
988
  }
989
- function it(n, e, t, o = 0.95) {
989
+ function rt(n, e, t, o = 0.95) {
990
990
  if (!t || !e)
991
991
  return {
992
992
  webgl: n,
@@ -1019,7 +1019,7 @@ class je {
1019
1019
  return e + this.next() * (t - e);
1020
1020
  }
1021
1021
  }
1022
- function st(n) {
1022
+ function it(n) {
1023
1023
  const e = {
1024
1024
  pointCount: 1e3,
1025
1025
  amplitude: 1,
@@ -1038,7 +1038,7 @@ function st(n) {
1038
1038
  }
1039
1039
  return { x: t, y: o };
1040
1040
  }
1041
- function lt(n) {
1041
+ function st(n) {
1042
1042
  const e = {
1043
1043
  pointCount: 1e3,
1044
1044
  amplitude: 1,
@@ -1057,7 +1057,7 @@ function lt(n) {
1057
1057
  }
1058
1058
  return { x: t, y: o };
1059
1059
  }
1060
- function ct(n) {
1060
+ function lt(n) {
1061
1061
  const e = {
1062
1062
  pointCount: 1e3,
1063
1063
  amplitude: 1,
@@ -1076,7 +1076,7 @@ function ct(n) {
1076
1076
  }
1077
1077
  return { x: t, y: o };
1078
1078
  }
1079
- function dt(n) {
1079
+ function ct(n) {
1080
1080
  const e = {
1081
1081
  pointCount: 1e3,
1082
1082
  amplitude: 1,
@@ -1095,7 +1095,7 @@ function dt(n) {
1095
1095
  }
1096
1096
  return { x: t, y: o };
1097
1097
  }
1098
- function ut(n) {
1098
+ function dt(n) {
1099
1099
  const e = {
1100
1100
  pointCount: 1e3,
1101
1101
  xRange: [0, 100],
@@ -1116,7 +1116,7 @@ function ut(n) {
1116
1116
  }
1117
1117
  return { x: o, y: r };
1118
1118
  }
1119
- function ft(n) {
1119
+ function ut(n) {
1120
1120
  const e = {
1121
1121
  pointCount: 2e3,
1122
1122
  vMin: -0.5,
@@ -1131,12 +1131,12 @@ function ft(n) {
1131
1131
  for (let i = 0; i < a; i++) {
1132
1132
  const s = c * a + i;
1133
1133
  i < d ? o[s] = e.vMin + (e.vMax - e.vMin) * (i / d) : o[s] = e.vMax - (e.vMax - e.vMin) * ((i - d) / d);
1134
- const u = o[s], h = 0, S = i < d ? 1 : -1, v = 0.1, p = -Math.pow(u - h, 2) / (2 * v * v), w = e.peakCurrent * Math.exp(p), b = S * e.peakCurrent * 0.1, g = (Math.random() - 0.5) * 2 * e.noise * e.peakCurrent;
1134
+ const u = o[s], p = 0, S = i < d ? 1 : -1, v = 0.1, h = -Math.pow(u - p, 2) / (2 * v * v), w = e.peakCurrent * Math.exp(h), b = S * e.peakCurrent * 0.1, g = (Math.random() - 0.5) * 2 * e.noise * e.peakCurrent;
1135
1135
  r[s] = S * w + b + g;
1136
1136
  }
1137
1137
  return { x: o, y: r };
1138
1138
  }
1139
- function gt(n) {
1139
+ function ft(n) {
1140
1140
  const e = {
1141
1141
  pointCount: 50,
1142
1142
  rSolution: 100,
@@ -1147,12 +1147,12 @@ function gt(n) {
1147
1147
  ...n
1148
1148
  }, t = new Float32Array(e.pointCount), o = new Float32Array(e.pointCount), r = Math.log10(e.frequency[1]), a = Math.log10(e.frequency[0]);
1149
1149
  for (let d = 0; d < e.pointCount; d++) {
1150
- const c = a - (a - r) * (d / (e.pointCount - 1)), i = 2 * Math.PI * Math.pow(10, c), s = e.rCharge * 1e-5, u = e.rSolution + e.rCharge / (1 + Math.pow(i * s, 2)), h = i * s * e.rCharge / (1 + Math.pow(i * s, 2));
1151
- t[d] = u, o[d] = -h;
1150
+ const c = a - (a - r) * (d / (e.pointCount - 1)), i = 2 * Math.PI * Math.pow(10, c), s = e.rCharge * 1e-5, u = e.rSolution + e.rCharge / (1 + Math.pow(i * s, 2)), p = i * s * e.rCharge / (1 + Math.pow(i * s, 2));
1151
+ t[d] = u, o[d] = -p;
1152
1152
  }
1153
1153
  return { x: t, y: o };
1154
1154
  }
1155
- async function pt(n, e) {
1155
+ async function gt(n, e) {
1156
1156
  const t = {
1157
1157
  duration: 5e3,
1158
1158
  warmup: 1e3,
@@ -1162,11 +1162,11 @@ async function pt(n, e) {
1162
1162
  const d = n.getAllSeries().reduce((c, i) => c + i.getPointCount(), 0);
1163
1163
  return new Promise((c) => {
1164
1164
  const i = performance.now() + t.warmup + t.duration, s = performance.now() + t.warmup;
1165
- let u = !1, h = 0;
1165
+ let u = !1, p = 0;
1166
1166
  function S() {
1167
1167
  const v = performance.now();
1168
1168
  if (v >= i) {
1169
- const b = r.length > 0 ? r.reduce((P, x) => P + x, 0) / r.length : 0, g = h > 0 ? v - h : t.duration, y = a > 0 && g > 0 ? a / g * 1e3 : 0, f = o.length > 0 ? o.reduce((P, x) => P + x, 0) / o.length : b > 0 ? 1e3 / b : 0, l = {
1169
+ const b = r.length > 0 ? r.reduce((P, x) => P + x, 0) / r.length : 0, g = p > 0 ? v - p : t.duration, y = a > 0 && g > 0 ? a / g * 1e3 : 0, f = o.length > 0 ? o.reduce((P, x) => P + x, 0) / o.length : b > 0 ? 1e3 / b : 0, l = {
1170
1170
  avgFps: Math.round(y * 100) / 100,
1171
1171
  minFps: Math.round((o.length > 0 ? Math.min(...o) : y) * 100) / 100,
1172
1172
  maxFps: Math.round((o.length > 0 ? Math.max(...o) : y) * 100) / 100,
@@ -1181,12 +1181,12 @@ async function pt(n, e) {
1181
1181
  c(l);
1182
1182
  return;
1183
1183
  }
1184
- v >= s && !u && (u = !0, h = v, a = 0, r.length = 0, o.length = 0);
1185
- const p = performance.now();
1184
+ v >= s && !u && (u = !0, p = v, a = 0, r.length = 0, o.length = 0);
1185
+ const h = performance.now();
1186
1186
  n.render();
1187
1187
  const w = performance.now();
1188
1188
  if (u) {
1189
- const b = w - p;
1189
+ const b = w - h;
1190
1190
  r.push(b), a++;
1191
1191
  const g = r.slice(-30);
1192
1192
  if (g.length > 0) {
@@ -1217,7 +1217,7 @@ function ht(n, e) {
1217
1217
  };
1218
1218
  return t.format === "png" && n.exportImage && (r.image = n.exportImage()), r;
1219
1219
  }
1220
- function mt(n, e, t = 1e-6) {
1220
+ function pt(n, e, t = 1e-6) {
1221
1221
  const o = [];
1222
1222
  n.series.length !== e.series.length && o.push(`Series count: ${n.series.length} vs ${e.series.length}`);
1223
1223
  for (let a = 0; a < Math.min(n.series.length, e.series.length); a++) {
@@ -1232,14 +1232,14 @@ function mt(n, e, t = 1e-6) {
1232
1232
  differences: o
1233
1233
  };
1234
1234
  }
1235
- function yt(n, e) {
1235
+ function mt(n, e) {
1236
1236
  const t = [];
1237
1237
  return e.minFps && n.avgFps < e.minFps && t.push(`FPS ${n.avgFps} < required ${e.minFps}`), e.maxFrameTime && n.avgFrameTime > e.maxFrameTime && t.push(`Frame time ${n.avgFrameTime}ms > required ${e.maxFrameTime}ms`), e.minThroughput && n.throughput < e.minThroughput && t.push(`Throughput ${n.throughput} < required ${e.minThroughput}`), {
1238
1238
  passed: t.length === 0,
1239
1239
  failures: t
1240
1240
  };
1241
1241
  }
1242
- function xt(n = 1) {
1242
+ function yt(n = 1) {
1243
1243
  return new Promise((e) => {
1244
1244
  let t = n;
1245
1245
  function o() {
@@ -1248,293 +1248,304 @@ function xt(n = 1) {
1248
1248
  requestAnimationFrame(o);
1249
1249
  });
1250
1250
  }
1251
- function vt(n) {
1251
+ function xt(n) {
1252
1252
  return new Promise((e) => setTimeout(e, n));
1253
1253
  }
1254
1254
  export {
1255
- St as AnimationEngine,
1256
- In as AnnotationManager,
1257
- Za as BackpressureManager,
1258
- xo as BaseBufferStore,
1259
- vo as BaseTextureStore,
1260
- tt as BuiltinPlugins,
1261
- sr as ChartGroup,
1262
- Tt as ChartInitQueue,
1263
- eo as CircularBuffer,
1264
- Oo as ClipboardManager,
1255
+ wt as AnimationEngine,
1256
+ En as AnnotationManager,
1257
+ eo as BackpressureManager,
1258
+ bo as BaseBufferStore,
1259
+ Ao as BaseTextureStore,
1260
+ et as BuiltinPlugins,
1261
+ fr as ChartGroup,
1262
+ St as ChartInitQueue,
1263
+ to as CircularBuffer,
1264
+ Ko as ClipboardManager,
1265
1265
  Se as CrosshairPlugin,
1266
1266
  ee as DARK_THEME,
1267
- bt as DEFAULT_ANIMATION_CONFIG,
1268
- _o as DEFAULT_KEY_BINDINGS,
1269
- At as DEFAULT_LAYOUT,
1270
- Mt as DEFAULT_THEME,
1267
+ Tt as DEFAULT_ANIMATION_CONFIG,
1268
+ Oo as DEFAULT_KEY_BINDINGS,
1269
+ bt as DEFAULT_LAYOUT,
1270
+ At as DEFAULT_THEME,
1271
1271
  Ee as DataLoggerPlugin,
1272
- jo as DebugOverlay,
1273
- Le as DirectionIndicatorPlugin,
1272
+ tr as DebugOverlay,
1273
+ ke as DirectionIndicatorPlugin,
1274
1274
  Ct as ELECTROCHEM_THEME,
1275
- Tn as EventEmitter,
1276
- Po as GpuBenchmark,
1277
- wo as GpuCompute,
1278
- Hn as GpuRenderer,
1275
+ Sn as EventEmitter,
1276
+ Co as GpuBenchmark,
1277
+ Mo as GpuCompute,
1278
+ On as GpuRenderer,
1279
1279
  Fe as GridHighlightPlugin,
1280
- Go as KeyBindingManager,
1281
- Ft as LIGHT_THEME,
1282
- Ao as LOCALE_DE_DE,
1283
- Mo as LOCALE_EN_US,
1284
- Co as LOCALE_ES_ES,
1285
- Fo as LOCALE_FR_FR,
1286
- Do as LOCALE_JA_JP,
1287
- Eo as LOCALE_PT_BR,
1288
- Io as LOCALE_ZH_CN,
1280
+ Ho as KeyBindingManager,
1281
+ Mt as LIGHT_THEME,
1282
+ Io as LOCALE_DE_DE,
1283
+ ko as LOCALE_EN_US,
1284
+ Lo as LOCALE_ES_ES,
1285
+ Ro as LOCALE_FR_FR,
1286
+ Xo as LOCALE_JA_JP,
1287
+ Yo as LOCALE_PT_BR,
1288
+ Bo as LOCALE_ZH_CN,
1289
1289
  O as LinearScale,
1290
- tr as LoadingIndicator,
1291
- Dt as LogScale,
1292
- Et as MIDNIGHT_THEME,
1293
- It as NativeWebGLRenderer,
1290
+ ir as LoadingIndicator,
1291
+ Ft as LogScale,
1292
+ Dt as MIDNIGHT_THEME,
1293
+ Et as NativeWebGLRenderer,
1294
1294
  Pe as OverlayRenderer,
1295
- So as PipelineCache,
1296
- di as Plugin3D,
1297
- va as PluginAnalysis,
1298
- Ln as PluginAnnotations,
1299
- Pi as PluginAnomalyDetection,
1300
- Wi as PluginBrokenAxis,
1301
- Yi as PluginCaching,
1302
- Ho as PluginClipboard,
1303
- xi as PluginContextMenu,
1304
- mi as PluginDataExport,
1305
- Li as PluginDataTransform,
1306
- Jo as PluginDebug,
1307
- nt as PluginDragEdit,
1308
- fr as PluginDrawingTools,
1309
- Vi as PluginForecasting,
1310
- To as PluginGpu,
1311
- fi as PluginI18n,
1312
- Wo as PluginKeyboard,
1313
- Ri as PluginLaTeX,
1314
- _i as PluginLazyLoad,
1315
- nr as PluginLoading,
1316
- Si as PluginMLIntegration,
1317
- Lt as PluginManagerImpl,
1318
- Oi as PluginOffscreen,
1319
- bi as PluginPatternRecognition,
1320
- qi as PluginROI,
1321
- Fi as PluginRadar,
1322
- Mi as PluginRegression,
1323
- gr as PluginReplay,
1324
- Ei as PluginSnapshot,
1325
- to as PluginStreaming,
1326
- pi as PluginSync,
1327
- yr as PluginThemeEditor,
1328
- Qn as PluginTools,
1329
- Ui as PluginVideoRecorder,
1330
- aa as PluginVirtualization,
1295
+ Fo as PipelineCache,
1296
+ vi as Plugin3D,
1297
+ xa as PluginAnalysis,
1298
+ In as PluginAnnotations,
1299
+ Ii as PluginAnomalyDetection,
1300
+ Ji as PluginBrokenAxis,
1301
+ qi as PluginCaching,
1302
+ jo as PluginClipboard,
1303
+ Di as PluginContextMenu,
1304
+ Mi as PluginDataExport,
1305
+ $i as PluginDataTransform,
1306
+ nr as PluginDebug,
1307
+ tt as PluginDragEdit,
1308
+ wr as PluginDrawingTools,
1309
+ rs as PluginForecasting,
1310
+ Do as PluginGpu,
1311
+ wi as PluginI18n,
1312
+ Ti as PluginKeyboard,
1313
+ Hi as PluginLaTeX,
1314
+ Ki as PluginLazyLoad,
1315
+ sr as PluginLoading,
1316
+ Li as PluginMLIntegration,
1317
+ It as PluginManagerImpl,
1318
+ ts as PluginOffscreen,
1319
+ Xi as PluginPatternRecognition,
1320
+ as as PluginROI,
1321
+ Gi as PluginRadar,
1322
+ Bi as PluginRegression,
1323
+ Sr as PluginReplay,
1324
+ zi as PluginSnapshot,
1325
+ no as PluginStreaming,
1326
+ Ai as PluginSync,
1327
+ Cr as PluginThemeEditor,
1328
+ Jn as PluginTools,
1329
+ Zi as PluginVideoRecorder,
1330
+ na as PluginVirtualization,
1331
1331
  kt as SERIALIZATION_VERSION,
1332
- po as STACKED_DEFAULT_MIN_PANE_RATIO,
1333
- ho as STACKED_MAX_PANES,
1334
- uo as SciPlot,
1335
- Rt as Series,
1336
- qn as SeriesAdapter,
1337
- Xt as StateHistory,
1332
+ yr as STACKED_DEFAULT_MIN_PANE_RATIO,
1333
+ xr as STACKED_MAX_PANES,
1334
+ fo as SciChart,
1335
+ go as SciPlot,
1336
+ Lt as Series,
1337
+ Hn as SeriesAdapter,
1338
+ ho as StackedPlot,
1339
+ Rt as StateHistory,
1338
1340
  be as StatsPlugin,
1339
- xr as THEME_PRESETS,
1340
- Zn as TOOLTIP_THEMES,
1341
- vr as ThemeEditor,
1342
- ea as TooltipManager,
1343
- Me as WatermarkPlugin,
1344
- Nn as WebGLBackend,
1345
- Vn as WebGPUBackend,
1341
+ Mr as THEME_PRESETS,
1342
+ Qn as TOOLTIP_THEMES,
1343
+ Fr as ThemeEditor,
1344
+ Zn as TooltipManager,
1345
+ po as VeloPlot,
1346
+ Ce as WatermarkPlugin,
1347
+ Vn as WebGLBackend,
1348
+ qn as WebGPUBackend,
1346
1349
  ae as WebGPURenderer,
1347
- ma as WorkerPool,
1348
- Yt as addIndicatorToChart,
1349
- $r as adx,
1350
- Pa as analyzeComplexSpectrum,
1351
- wa as analyzeSpectrum,
1352
- bn as applyBusinessDayX,
1353
- Or as aroon,
1354
- Sa as arraysToComplex,
1355
- yt as assertPerformance,
1356
- Hr as atr,
1357
- Ta as autoCorrelation,
1358
- ba as bandPassFilter,
1359
- Aa as bandStopFilter,
1360
- pr as barsToOhlc,
1350
+ pa as WorkerPool,
1351
+ Xt as addIndicatorToChart,
1352
+ Qr as adx,
1353
+ va as analyzeComplexSpectrum,
1354
+ Pa as analyzeSpectrum,
1355
+ Tn as applyBusinessDayX,
1356
+ Zr as aroon,
1357
+ wa as arraysToComplex,
1358
+ mt as assertPerformance,
1359
+ ei as atr,
1360
+ Sa as autoCorrelation,
1361
+ Ta as bandPassFilter,
1362
+ ba as bandStopFilter,
1363
+ Tr as barsToOhlc,
1361
1364
  Ue as benchmarkCanvasGrid,
1362
- pt as benchmarkRender,
1365
+ gt as benchmarkRender,
1363
1366
  $e as benchmarkWebGLGrid,
1364
- Ma as blackmanWindow,
1365
- qr as bollingerBands,
1366
- Bt as bollingerBandsAsync,
1367
- _t as buildIndicatorPane,
1368
- Gt as buildIndicatorPaneFromPreset,
1369
- Wt as buildIndicatorSeries,
1370
- zt as buildPositionLineAnnotation,
1371
- An as businessDaySpanMs,
1367
+ Aa as blackmanWindow,
1368
+ ti as bollingerBands,
1369
+ Yt as bollingerBandsAsync,
1370
+ Bt as buildIndicatorPane,
1371
+ _t as buildIndicatorPaneFromPreset,
1372
+ Gt as buildIndicatorSeries,
1373
+ Wt as buildPositionLineAnnotation,
1374
+ bn as businessDaySpanMs,
1372
1375
  Ca as butterworth,
1373
- Br as calculateR2,
1374
- br as calculateStats,
1375
- oa as calculateTargetPoints,
1376
- Rn as checkPluginCompatibility,
1377
- at as compareGridBackends,
1378
- rt as compareScenarioToBaseline,
1379
- mt as compareSnapshots,
1380
- Fa as complexToArrays,
1381
- Ut as compressString,
1382
- $t as computeHeikinAshi,
1383
- Ot as computeIndicatorFromSeries,
1384
- Ht as computeIndicatorPreset,
1385
- no as connectStreamToChart,
1386
- qo as copyToClipboard,
1387
- ao as createBackpressureManager,
1388
- qt as createChart,
1389
- lr as createChartGroup,
1390
- Xn as createConfigurablePlugin,
1391
- Qo as createDebugOverlay,
1392
- Kn as createGpuRenderer,
1393
- Nt as createIndicatorSeries,
1394
- zo as createKeyBinding,
1395
- ar as createLoadingIndicator,
1396
- Lo as createLocaleFormatter,
1397
- oo as createLosslessBackpressure,
1398
- cr as createMasterSlave,
1399
- ro as createMessageParser,
1400
- hr as createMockDatafeed,
1401
- io as createMockStream,
1402
- Vt as createNativeRenderer,
1403
- Yn as createPlugin,
1404
- Kt as createPluginContext,
1405
- so as createRealtimeBackpressure,
1406
- Bn as createRenderer,
1407
- jt as createScale,
1376
+ Vr as calculateR2,
1377
+ Lr as calculateStats,
1378
+ aa as calculateTargetPoints,
1379
+ Ln as checkPluginCompatibility,
1380
+ nt as compareGridBackends,
1381
+ ot as compareScenarioToBaseline,
1382
+ pt as compareSnapshots,
1383
+ Ma as complexToArrays,
1384
+ zt as compressString,
1385
+ Ut as computeHeikinAshi,
1386
+ $t as computeIndicatorFromSeries,
1387
+ Ot as computeIndicatorPreset,
1388
+ ao as connectStreamToChart,
1389
+ Jo as copyToClipboard,
1390
+ oo as createBackpressureManager,
1391
+ Ht as createChart,
1392
+ gr as createChartGroup,
1393
+ Rn as createConfigurablePlugin,
1394
+ ar as createDebugOverlay,
1395
+ Nn as createGpuRenderer,
1396
+ Vt as createIndicatorSeries,
1397
+ Vo as createKeyBinding,
1398
+ lr as createLoadingIndicator,
1399
+ _o as createLocaleFormatter,
1400
+ ro as createLosslessBackpressure,
1401
+ hr as createMasterSlave,
1402
+ io as createMessageParser,
1403
+ br as createMockDatafeed,
1404
+ so as createMockStream,
1405
+ qt as createNativeRenderer,
1406
+ Xn as createPlugin,
1407
+ Nt as createPluginContext,
1408
+ lo as createRealtimeBackpressure,
1409
+ Yn as createRenderer,
1410
+ Kt as createScale,
1408
1411
  ht as createSnapshot,
1409
- mo as createStackedChart,
1410
- Jt as createTheme,
1411
- Pr as createThemeEditor,
1412
- lo as createWebSocketStream,
1413
- Da as crossCorrelation,
1414
- Nr as cumsum,
1415
- _r as cumulativeIntegral,
1416
- Qt as decodeFloat32Array,
1417
- Zt as decompressString,
1418
- _n as defineAndRegister,
1412
+ vr as createStackedChart,
1413
+ jt as createTheme,
1414
+ Dr as createThemeEditor,
1415
+ co as createWebSocketStream,
1416
+ Fa as crossCorrelation,
1417
+ ni as cumsum,
1418
+ qr as cumulativeIntegral,
1419
+ Jt as decodeFloat32Array,
1420
+ Qt as decompressString,
1421
+ Bn as defineAndRegister,
1419
1422
  G as definePlugin,
1420
- Vr as dema,
1421
- Gr as derivative,
1422
- ra as destroyDownsamplePool,
1423
- en as destroyIndicatorPool,
1424
- Ea as detectAnomalies,
1425
- Ar as detectCycles,
1426
- tn as detectIndicatorMarkers,
1427
- Mr as detectPeaks,
1428
- Ia as dominantFrequency,
1429
- ia as downsampleAsync,
1430
- Cr as downsampleLTTB,
1431
- nn as easings,
1432
- Kr as ema,
1433
- an as emaAsync,
1434
- Zo as enableDebugMode,
1435
- on as encodeFloat32Array,
1436
- it as evaluateRendererCompare,
1437
- La as exponentialMovingAverage,
1423
+ ai as dema,
1424
+ Nr as derivative,
1425
+ oa as destroyDownsamplePool,
1426
+ Zt as destroyIndicatorPool,
1427
+ Da as detectAnomalies,
1428
+ Rr as detectCycles,
1429
+ en as detectIndicatorMarkers,
1430
+ Xr as detectPeaks,
1431
+ Ea as dominantFrequency,
1432
+ ra as downsampleAsync,
1433
+ Yr as downsampleLTTB,
1434
+ tn as easings,
1435
+ oi as ema,
1436
+ nn as emaAsync,
1437
+ or as enableDebugMode,
1438
+ an as encodeFloat32Array,
1439
+ rt as evaluateRendererCompare,
1440
+ Ia as exponentialMovingAverage,
1438
1441
  ka as fft,
1439
- Ra as fftFromComplexInput,
1440
- Mn as formatBusinessDayTick,
1441
- No as formatData,
1442
- Fr as formatScientific,
1443
- Dr as formatValue,
1444
- Er as formatWithPrefix,
1445
- Xa as gaussianSmooth,
1446
- ft as generateCVData,
1447
- Ir as generateCycleColors,
1448
- gt as generateNyquistData,
1449
- ut as generateRandomData,
1450
- ct as generateSawtoothWave,
1451
- st as generateSineWave,
1452
- lt as generateSquareWave,
1453
- dt as generateTriangleWave,
1454
- ot as getBaseline,
1455
- Lr as getBestPrefix,
1456
- rn as getChartInitQueue,
1457
- Vo as getClipboardManager,
1458
- sa as getDownsamplePoolSize,
1459
- ko as getGlobalLocale,
1460
- Ro as getLocale,
1461
- Gn as getPluginRegistry,
1442
+ La as fftFromComplexInput,
1443
+ An as formatBusinessDayTick,
1444
+ Qo as formatData,
1445
+ Br as formatScientific,
1446
+ _r as formatValue,
1447
+ Gr as formatWithPrefix,
1448
+ Ra as gaussianSmooth,
1449
+ ut as generateCVData,
1450
+ Xa as generateContours,
1451
+ Wr as generateCycleColors,
1452
+ ft as generateNyquistData,
1453
+ dt as generateRandomData,
1454
+ lt as generateSawtoothWave,
1455
+ it as generateSineWave,
1456
+ st as generateSquareWave,
1457
+ ct as generateTriangleWave,
1458
+ at as getBaseline,
1459
+ zr as getBestPrefix,
1460
+ on as getChartInitQueue,
1461
+ Zo as getClipboardManager,
1462
+ ia as getDownsamplePoolSize,
1463
+ Go as getGlobalLocale,
1464
+ Wo as getLocale,
1465
+ _n as getPluginRegistry,
1462
1466
  Ya as getPositiveFrequencies,
1463
- wr as getPresetNames,
1464
- Sr as getPresetTheme,
1465
- sn as getSharedAnimationEngine,
1466
- ln as getThemeByName,
1467
- ta as getTooltipThemeForChartTheme,
1467
+ Er as getPresetNames,
1468
+ Ir as getPresetTheme,
1469
+ rn as getSharedAnimationEngine,
1470
+ sn as getThemeByName,
1471
+ ea as getTooltipThemeForChartTheme,
1468
1472
  Ba as hammingWindow,
1469
1473
  _a as hanningWindow,
1470
1474
  Ga as highPassFilter,
1471
1475
  Wa as ifft,
1472
1476
  za as ifftComplex,
1473
1477
  Ua as ifftFromArrays,
1474
- Wr as integrate,
1475
- cn as interleaveData,
1478
+ Kr as integrate,
1479
+ ln as interleaveData,
1476
1480
  Cn as isBusinessDay,
1477
- Fn as isBusinessDayScaleActive,
1478
- dr as linkCharts,
1479
- Wn as listPluginsByCategory,
1480
- zn as loadPlugin,
1481
- $a as lowPassFilter,
1482
- la as lowerBoundX,
1483
- ca as lttbDownsample,
1484
- jr as macd,
1485
- dn as macdAsync,
1486
- Dn as mapToBusinessDayScale,
1487
- Oa as medianFilter,
1488
- un as mergeAnimationConfig,
1489
- fn as mergeLayoutOptions,
1490
- da as minMaxDownsample,
1491
- Jr as momentum,
1492
- kr as movingAverage,
1493
- Ha as nextPowerOf2,
1494
- ya as nextTaskId,
1495
- Qr as normalize,
1496
- Zr as obv,
1497
- ua as ohlcDownsampleAsync,
1498
- fa as ohlcMinMaxDownsample,
1499
- gn as parseColor,
1500
- jn as parseColorToRGBA,
1501
- Uo as parseShortcut,
1502
- ei as percentChange,
1481
+ Mn as isBusinessDayScaleActive,
1482
+ $a as joinSegments,
1483
+ pr as linkCharts,
1484
+ Gn as listPluginsByCategory,
1485
+ Wn as loadPlugin,
1486
+ Oa as lowPassFilter,
1487
+ sa as lowerBoundX,
1488
+ la as lttbDownsample,
1489
+ ri as macd,
1490
+ cn as macdAsync,
1491
+ Fn as mapToBusinessDayScale,
1492
+ Ha as medianFilter,
1493
+ dn as mergeAnimationConfig,
1494
+ un as mergeLayoutOptions,
1495
+ ca as minMaxDownsample,
1496
+ ii as momentum,
1497
+ Ur as movingAverage,
1498
+ Va as nextPowerOf2,
1499
+ ma as nextTaskId,
1500
+ si as normalize,
1501
+ li as obv,
1502
+ da as ohlcDownsampleAsync,
1503
+ ua as ohlcMinMaxDownsample,
1504
+ fn as parseColor,
1505
+ Kn as parseColorToRGBA,
1506
+ qo as parseShortcut,
1507
+ ci as percentChange,
1503
1508
  qa as powerSpectrum,
1504
- pn as queueChartInit,
1505
- Xo as registerLocale,
1506
- Un as registerPlugin,
1509
+ gn as queueChartInit,
1510
+ zo as registerLocale,
1511
+ zn as registerPlugin,
1507
1512
  hn as resetChartQueue,
1508
- ti as roc,
1509
- ni as rsi,
1510
- mn as rsiAsync,
1513
+ di as roc,
1514
+ ui as rsi,
1515
+ pn as rsiAsync,
1511
1516
  Na as savitzkyGolay,
1512
- Yo as setGlobalLocale,
1513
- or as showLoading,
1514
- rr as showProgress,
1515
- Va as simpsonsIntegration,
1516
- Ka as singleFrequencyFilter,
1517
- ga as sliceSeriesToViewport,
1518
- ai as sma,
1519
- yn as smaAsync,
1520
- zr as solveLinearSystem,
1521
- oi as standardDeviation,
1522
- xn as stateToUrlHash,
1523
- ri as stochastic,
1524
- Rr as subtractBaseline,
1525
- ja as tTest,
1526
- ii as tema,
1527
- Ja as trapezoidalIntegration,
1528
- pa as upperBoundX,
1529
- vn as urlHashToState,
1530
- fo as useSciPlot,
1531
- Pn as validateChartState,
1532
- Xr as validateData,
1533
- $n as validateManifest,
1534
- si as vwap,
1535
- vt as waitFor,
1536
- wn as waitForAnimations,
1537
- xt as waitForFrames,
1538
- li as wma
1517
+ Uo as setGlobalLocale,
1518
+ cr as showLoading,
1519
+ dr as showProgress,
1520
+ Ka as simpsonsIntegration,
1521
+ ja as singleFrequencyFilter,
1522
+ fa as sliceSeriesToViewport,
1523
+ fi as sma,
1524
+ mn as smaAsync,
1525
+ jr as solveLinearSystem,
1526
+ gi as standardDeviation,
1527
+ yn as stateToUrlHash,
1528
+ hi as stochastic,
1529
+ $r as subtractBaseline,
1530
+ Ja as tTest,
1531
+ pi as tema,
1532
+ Qa as trapezoidalIntegration,
1533
+ ga as upperBoundX,
1534
+ xn as urlHashToState,
1535
+ mo as useChartGroup,
1536
+ yo as useChartSync,
1537
+ xo as useIndicator,
1538
+ vo as useSciChart,
1539
+ Po as useSciPlot,
1540
+ wo as useStackedPlot,
1541
+ So as useVeloPlot,
1542
+ vn as validateChartState,
1543
+ Or as validateData,
1544
+ Un as validateManifest,
1545
+ mi as vwap,
1546
+ xt as waitFor,
1547
+ Pn as waitForAnimations,
1548
+ yt as waitForFrames,
1549
+ yi as wma
1539
1550
  };
1540
1551
  //# sourceMappingURL=velo-plot.full.js.map