velo-plot 3.0.0 → 4.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +22 -15
  2. package/dist/ChartCore-KYG2HTcK.js +7474 -0
  3. package/dist/ChartCore-KYG2HTcK.js.map +1 -0
  4. package/dist/GpuChartRenderer-Dxc0hrQA.js +75 -0
  5. package/dist/GpuChartRenderer-Dxc0hrQA.js.map +1 -0
  6. package/dist/{index.core-BmZe2jRQ.js → PluginRegistry-CDf_jcnp.js} +19 -33
  7. package/dist/PluginRegistry-CDf_jcnp.js.map +1 -0
  8. package/dist/SVGDocumentBuilder-C-uLkcFW.js +83 -0
  9. package/dist/SVGDocumentBuilder-C-uLkcFW.js.map +1 -0
  10. package/dist/angular-hooks.js +1 -1
  11. package/dist/angular.js +8 -8
  12. package/dist/{axisFormat-CzumxpCL.js → axisFormat-Sz4WIJfQ.js} +2 -2
  13. package/dist/{axisFormat-CzumxpCL.js.map → axisFormat-Sz4WIJfQ.js.map} +1 -1
  14. package/dist/{chartSyncBridge-DbWrwtyP.js → chartSyncBridge-C1uRy0ZS.js} +12 -11
  15. package/dist/{chartSyncBridge-DbWrwtyP.js.map → chartSyncBridge-C1uRy0ZS.js.map} +1 -1
  16. package/dist/core/ChartStatistics.d.ts +1 -1
  17. package/dist/core/chart/ChartCore.d.ts +19 -20
  18. package/dist/core/chart/ChartFeatureHooks.d.ts +7 -0
  19. package/dist/core/chart/ChartRenderLoop.d.ts +5 -0
  20. package/dist/core/chart/ChartRenderer.d.ts +9 -0
  21. package/dist/core/chart/ChartSetup.d.ts +1 -0
  22. package/dist/core/chart/chartExportPatch.d.ts +2 -0
  23. package/dist/core/chart/exporter/SVGExporter.d.ts +9 -7
  24. package/dist/core/chart/exporter/svg/SVGDocumentBuilder.d.ts +27 -0
  25. package/dist/core/chart/exporter/svg/SVGExportContext.d.ts +147 -0
  26. package/dist/core/chart/exporter/svg/SVGOrchestrator.d.ts +3 -0
  27. package/dist/core/chart/exporter/svg/SVGThemeAdapter.d.ts +22 -0
  28. package/dist/core/chart/exporter/svg/__tests__/testFixtures.d.ts +46 -0
  29. package/dist/core/chart/exporter/svg/__tests__/visualTestUtils.d.ts +12 -0
  30. package/dist/core/chart/exporter/svg/overlay/axes.d.ts +4 -0
  31. package/dist/core/chart/exporter/svg/overlay/border.d.ts +4 -0
  32. package/dist/core/chart/exporter/svg/overlay/errorBars.d.ts +7 -0
  33. package/dist/core/chart/exporter/svg/overlay/grid.d.ts +4 -0
  34. package/dist/core/chart/exporter/svg/overlay/index.d.ts +12 -0
  35. package/dist/core/chart/exporter/svg/overlay/legend.d.ts +4 -0
  36. package/dist/core/chart/exporter/svg/overlay/pluginCharts.d.ts +6 -0
  37. package/dist/core/chart/exporter/svg/overlay/polarGrid.d.ts +4 -0
  38. package/dist/core/chart/exporter/svg/overlay/specialChart.d.ts +15 -0
  39. package/dist/core/chart/exporter/svg/overlay/title.d.ts +4 -0
  40. package/dist/core/chart/exporter/svg/plugins/annotations.d.ts +5 -0
  41. package/dist/core/chart/exporter/svg/plugins/brokenAxis.d.ts +20 -0
  42. package/dist/core/chart/exporter/svg/plugins/latex.d.ts +9 -0
  43. package/dist/core/chart/exporter/svg/plugins/register.d.ts +8 -0
  44. package/dist/core/chart/exporter/svg/plugins/regression.d.ts +33 -0
  45. package/dist/core/chart/exporter/svg/plugins/roi.d.ts +12 -0
  46. package/dist/core/chart/exporter/svg/plugins/tradeMarkers.d.ts +3 -0
  47. package/dist/core/chart/exporter/svg/plugins/types.d.ts +28 -0
  48. package/dist/core/chart/exporter/svg/plugins/watermark.d.ts +13 -0
  49. package/dist/core/chart/exporter/svg/series/band.d.ts +6 -0
  50. package/dist/core/chart/exporter/svg/series/bar.d.ts +6 -0
  51. package/dist/core/chart/exporter/svg/series/boxplot.d.ts +6 -0
  52. package/dist/core/chart/exporter/svg/series/candlestick.d.ts +6 -0
  53. package/dist/core/chart/exporter/svg/series/finitePoints.d.ts +6 -0
  54. package/dist/core/chart/exporter/svg/series/gauge.d.ts +5 -0
  55. package/dist/core/chart/exporter/svg/series/heatmap.d.ts +6 -0
  56. package/dist/core/chart/exporter/svg/series/indicator.d.ts +6 -0
  57. package/dist/core/chart/exporter/svg/series/line.d.ts +12 -0
  58. package/dist/core/chart/exporter/svg/series/polar.d.ts +6 -0
  59. package/dist/core/chart/exporter/svg/series/radar.d.ts +5 -0
  60. package/dist/core/chart/exporter/svg/series/registry.d.ts +10 -0
  61. package/dist/core/chart/exporter/svg/series/sankey.d.ts +5 -0
  62. package/dist/core/chart/exporter/svg/series/scatter.d.ts +1 -0
  63. package/dist/core/chart/exporter/svg/series/ternary.d.ts +7 -0
  64. package/dist/core/chart/exporter/svg/series/waterfall.d.ts +6 -0
  65. package/dist/core/chart/exporter/svg/seriesAtTimestamp.d.ts +4 -0
  66. package/dist/core/chart/exporter/svg/seriesUtils.d.ts +3 -0
  67. package/dist/core/chart/exporter/svg/symbols.d.ts +5 -0
  68. package/dist/core/chart/exporter/svg/tickUtils.d.ts +9 -0
  69. package/dist/core/chart/mountSVGString.d.ts +5 -0
  70. package/dist/core/chart/overlaySeriesRegistry.d.ts +7 -0
  71. package/dist/core/chart/series/SeriesActions.d.ts +1 -0
  72. package/dist/core/chart/series/SeriesBufferLite.d.ts +13 -0
  73. package/dist/core/chart/series/seriesOptionsRegistry.d.ts +8 -0
  74. package/dist/core/chart/series/seriesTypeRegistry.d.ts +5 -0
  75. package/dist/core/chart/types.d.ts +2 -2
  76. package/dist/core/stacked/StackSVGComposer.d.ts +14 -0
  77. package/dist/core/stacked/index.d.ts +3 -2
  78. package/dist/core/stacked/types.d.ts +12 -4
  79. package/dist/createStackedChart-DjA3aJAu.js +2761 -0
  80. package/dist/createStackedChart-DjA3aJAu.js.map +1 -0
  81. package/dist/{hooks-CYPCxoZx.js → hooks-4wQH27r9.js} +7 -7
  82. package/dist/{hooks-CYPCxoZx.js.map → hooks-4wQH27r9.js.map} +1 -1
  83. package/dist/{index-qunX30Xu.js → index-B7PTX94B.js} +2133 -2133
  84. package/dist/index-B7PTX94B.js.map +1 -0
  85. package/dist/{index-BMiZoKmm.js → index-BgrvqltV.js} +67 -67
  86. package/dist/index-BgrvqltV.js.map +1 -0
  87. package/dist/index-Bj-xyXY6.js +582 -0
  88. package/dist/index-Bj-xyXY6.js.map +1 -0
  89. package/dist/index-qhscKTDy.js.map +1 -1
  90. package/dist/index.core.d.ts +8 -6
  91. package/dist/index.d.ts +1 -14
  92. package/dist/plugins/3d.js +3 -1
  93. package/dist/plugins/3d.js.map +1 -1
  94. package/dist/plugins/PluginManager.d.ts +5 -0
  95. package/dist/plugins/analysis.js.map +1 -1
  96. package/dist/plugins/annotations.js +8 -7
  97. package/dist/plugins/annotations.js.map +1 -1
  98. package/dist/plugins/broken-axis.js +198 -152
  99. package/dist/plugins/broken-axis.js.map +1 -1
  100. package/dist/plugins/createPlugin.d.ts +8 -0
  101. package/dist/plugins/debug.js +32 -32
  102. package/dist/plugins/debug.js.map +1 -1
  103. package/dist/plugins/forecasting.js +273 -258
  104. package/dist/plugins/forecasting.js.map +1 -1
  105. package/dist/plugins/gpu.js +2033 -209
  106. package/dist/plugins/gpu.js.map +1 -1
  107. package/dist/plugins/i18n.js +286 -23
  108. package/dist/plugins/i18n.js.map +1 -1
  109. package/dist/plugins/latex.js +766 -207
  110. package/dist/plugins/latex.js.map +1 -1
  111. package/dist/plugins/loading/index.d.ts +1 -2
  112. package/dist/plugins/loading.js +3 -4
  113. package/dist/plugins/ml-integration.js +107 -93
  114. package/dist/plugins/ml-integration.js.map +1 -1
  115. package/dist/plugins/offscreen.js +11 -10
  116. package/dist/plugins/offscreen.js.map +1 -1
  117. package/dist/plugins/radar/types.d.ts +11 -0
  118. package/dist/plugins/radar.js +64 -53
  119. package/dist/plugins/radar.js.map +1 -1
  120. package/dist/plugins/regression.js +254 -256
  121. package/dist/plugins/regression.js.map +1 -1
  122. package/dist/plugins/roi/index.d.ts +2 -0
  123. package/dist/plugins/roi.js +184 -145
  124. package/dist/plugins/roi.js.map +1 -1
  125. package/dist/plugins/snapshot.js +20 -15
  126. package/dist/plugins/snapshot.js.map +1 -1
  127. package/dist/plugins/streaming.js +1 -1
  128. package/dist/plugins/tools.js +1 -1
  129. package/dist/plugins/types.d.ts +4 -0
  130. package/dist/react.js +55 -58
  131. package/dist/react.js.map +1 -1
  132. package/dist/regression-HNdyk1Dm.js +28 -0
  133. package/dist/regression-HNdyk1Dm.js.map +1 -0
  134. package/dist/renderer/ChartSeriesRenderer.d.ts +3 -2
  135. package/dist/renderer/NativeWebGLRenderer.d.ts +2 -1
  136. package/dist/renderer/SVGChartRenderer.d.ts +15 -0
  137. package/dist/renderer/SankeyRenderer.d.ts +1 -0
  138. package/dist/renderer/native/NativeWebGLRenderer.d.ts +5 -1
  139. package/dist/renderer/native/draw.d.ts +2 -47
  140. package/dist/renderer/native/drawCore.d.ts +27 -0
  141. package/dist/renderer/native/drawExtended.d.ts +29 -0
  142. package/dist/renderer/native/frameRenderExtended.d.ts +1 -0
  143. package/dist/renderer/native/frameRenderRegistry.d.ts +27 -0
  144. package/dist/renderer/native/programFactoryCore.d.ts +6 -0
  145. package/dist/renderer/native/programFactoryExtended.d.ts +4 -0
  146. package/dist/renderer/native/utils.d.ts +3 -29
  147. package/dist/renderer/native/utilsCore.d.ts +14 -0
  148. package/dist/renderer/native/utilsExtended.d.ts +17 -0
  149. package/dist/renderer/overlaySeriesExtended.d.ts +1 -0
  150. package/dist/renderer/registerExtendedSeries.d.ts +1 -0
  151. package/dist/renderer/registerSVG.d.ts +5 -0
  152. package/dist/renderer/registerWebGPU.d.ts +2 -0
  153. package/dist/renderer/sankeyLayout.d.ts +29 -0
  154. package/dist/renderer/seriesBufferExtended.d.ts +4 -0
  155. package/dist/scientific/index.d.ts +1 -5
  156. package/dist/scientific/registerScientific.d.ts +1 -0
  157. package/dist/scientific.js +41 -41
  158. package/dist/solid.js +56 -59
  159. package/dist/solid.js.map +1 -1
  160. package/dist/svelte.js +26 -29
  161. package/dist/svelte.js.map +1 -1
  162. package/dist/tickUtils-B_X-ha13.js +41 -0
  163. package/dist/tickUtils-B_X-ha13.js.map +1 -0
  164. package/dist/trading/index.d.ts +1 -4
  165. package/dist/trading/registerTrading.d.ts +3 -0
  166. package/dist/trading.js +42 -42
  167. package/dist/types.d.ts +5 -4
  168. package/dist/velo-plot.full.js +1951 -1275
  169. package/dist/velo-plot.full.js.map +1 -1
  170. package/dist/velo-plot.js +33 -28
  171. package/dist/velo-plot.js.map +1 -1
  172. package/dist/vue/VeloPlot.vue.d.ts +1 -1
  173. package/dist/vue/index.d.ts +33 -33
  174. package/dist/vue.js +17 -20
  175. package/dist/vue.js.map +1 -1
  176. package/package.json +14 -1
  177. package/dist/ChartCore-BpzRvN4Y.js +0 -8467
  178. package/dist/ChartCore-BpzRvN4Y.js.map +0 -1
  179. package/dist/createStackedChart-Dm-YqUT7.js +0 -756
  180. package/dist/createStackedChart-Dm-YqUT7.js.map +0 -1
  181. package/dist/gpuRenderer-BpaMYz-k.js +0 -1848
  182. package/dist/gpuRenderer-BpaMYz-k.js.map +0 -1
  183. package/dist/index-BMiZoKmm.js.map +0 -1
  184. package/dist/index-qunX30Xu.js.map +0 -1
  185. package/dist/index-x4stH3jD.js +0 -282
  186. package/dist/index-x4stH3jD.js.map +0 -1
  187. package/dist/index.core-BmZe2jRQ.js.map +0 -1
  188. package/dist/mockDatafeed-DHIDPcpX.js +0 -515
  189. package/dist/mockDatafeed-DHIDPcpX.js.map +0 -1
  190. package/dist/symbols-DT0eLlpW.js +0 -568
  191. package/dist/symbols-DT0eLlpW.js.map +0 -1
package/dist/trading.js CHANGED
@@ -1,13 +1,13 @@
1
- import { D as P, e as b, d as v, k as B, l as E, o as S, n as U, c as H } from "./ChartCore-BpzRvN4Y.js";
2
- import { c as k } from "./createStackedChart-Dm-YqUT7.js";
3
- import { c as L, b as R, f as G, i as K, a as j, m as X } from "./axisFormat-CzumxpCL.js";
1
+ import { a as P, f as b, g as v, c as B } from "./createStackedChart-DjA3aJAu.js";
2
+ import { c as S, b as U, f as H, i as I, a as k, m as _ } from "./axisFormat-Sz4WIJfQ.js";
3
+ import { P as R, a as G, b as K, c as j, d as X } from "./index-Bj-xyXY6.js";
4
4
  import { PluginAnnotations as q } from "./plugins/annotations.js";
5
- import { P as J, a as N, b as O, c as Q } from "./mockDatafeed-DHIDPcpX.js";
6
- import { PluginKeyboard as W } from "./plugins/keyboard.js";
7
- import { P as $ } from "./index-BMiZoKmm.js";
8
- import { C as te } from "./index-CaXWSOTk.js";
5
+ import { PluginKeyboard as J } from "./plugins/keyboard.js";
6
+ import { P as O } from "./index-BgrvqltV.js";
7
+ import { C as V } from "./index-CaXWSOTk.js";
8
+ import { D as Z, e as $, d as ee, c as te } from "./ChartCore-KYG2HTcK.js";
9
9
  const p = 864e5;
10
- function w(e) {
10
+ function g(e) {
11
11
  let a = e >>> 0;
12
12
  return () => {
13
13
  a = a + 1831565813 >>> 0;
@@ -16,7 +16,7 @@ function w(e) {
16
16
  };
17
17
  }
18
18
  function h(e) {
19
- return e !== void 0 ? w(e) : Math.random;
19
+ return e !== void 0 ? g(e) : Math.random;
20
20
  }
21
21
  function D(e, a, t = Date.UTC(2024, 0, 2)) {
22
22
  const l = typeof e == "object" ? e : { startMs: e, seed: a };
@@ -25,31 +25,31 @@ function D(e, a, t = Date.UTC(2024, 0, 2)) {
25
25
  seed: l.seed
26
26
  };
27
27
  }
28
- function x(e, a = Date.UTC(2024, 0, 2), t) {
29
- const { startMs: l, seed: d } = D(a, t), n = h(d), u = new Float64Array(e), c = new Float32Array(e), f = new Float32Array(e), m = new Float32Array(e), s = new Float32Array(e), y = new Float32Array(e);
28
+ function w(e, a = Date.UTC(2024, 0, 2), t) {
29
+ const { startMs: l, seed: y } = D(a, t), n = h(y), u = new Float64Array(e), c = new Float32Array(e), f = new Float32Array(e), d = new Float32Array(e), s = new Float32Array(e), m = new Float32Array(e);
30
30
  let i = l, r = 100;
31
31
  for (let o = 0; o < e; o++) {
32
32
  for (; new Date(i).getUTCDay() === 0 || new Date(i).getUTCDay() === 6; )
33
33
  i += p;
34
34
  u[o] = i, c[o] = r;
35
35
  const A = (n() - 0.48) * 3;
36
- s[o] = r + A, f[o] = Math.max(c[o], s[o]) + n() * 1.5, m[o] = Math.min(c[o], s[o]) - n() * 1.5, y[o] = 5e5 + n() * 2e6, r = s[o], i += p;
36
+ s[o] = r + A, f[o] = Math.max(c[o], s[o]) + n() * 1.5, d[o] = Math.min(c[o], s[o]) - n() * 1.5, m[o] = 5e5 + n() * 2e6, r = s[o], i += p;
37
37
  }
38
- return { x: u, open: c, high: f, low: m, close: s, volume: y };
38
+ return { x: u, open: c, high: f, low: d, close: s, volume: m };
39
39
  }
40
- function g(e, a = Date.UTC(2024, 0, 1), t) {
41
- const { startMs: l, seed: d } = D(
40
+ function x(e, a = Date.UTC(2024, 0, 1), t) {
41
+ const { startMs: l, seed: y } = D(
42
42
  a,
43
43
  t,
44
44
  Date.UTC(2024, 0, 1)
45
- ), n = h(d), u = new Float64Array(e), c = new Float32Array(e), f = new Float32Array(e), m = new Float32Array(e), s = new Float32Array(e), y = new Float32Array(e);
45
+ ), n = h(y), u = new Float64Array(e), c = new Float32Array(e), f = new Float32Array(e), d = new Float32Array(e), s = new Float32Array(e), m = new Float32Array(e);
46
46
  let i = 100;
47
47
  for (let r = 0; r < e; r++) {
48
48
  u[r] = l + r * p, c[r] = i;
49
49
  const o = (n() - 0.48) * 3;
50
- s[r] = i + o, f[r] = Math.max(c[r], s[r]) + n() * 1.5, m[r] = Math.min(c[r], s[r]) - n() * 1.5, y[r] = 5e5 + n() * 2e6, i = s[r];
50
+ s[r] = i + o, f[r] = Math.max(c[r], s[r]) + n() * 1.5, d[r] = Math.min(c[r], s[r]) - n() * 1.5, m[r] = 5e5 + n() * 2e6, i = s[r];
51
51
  }
52
- return { x: u, open: c, high: f, low: m, close: s, volume: y };
52
+ return { x: u, open: c, high: f, low: d, close: s, volume: m };
53
53
  }
54
54
  function M(e) {
55
55
  let a = 0;
@@ -64,32 +64,32 @@ function T(e) {
64
64
  return a;
65
65
  }
66
66
  export {
67
- te as ChartGroup,
68
- P as DARK_THEME,
69
- b as DEFAULT_THEME,
70
- v as LIGHT_THEME,
67
+ V as ChartGroup,
68
+ Z as DARK_THEME,
69
+ $ as DEFAULT_THEME,
70
+ ee as LIGHT_THEME,
71
71
  q as PluginAnnotations,
72
- J as PluginDrawingTools,
73
- W as PluginKeyboard,
74
- N as PluginReplay,
75
- $ as PluginStreaming,
76
- B as addIndicatorToChart,
77
- L as applyBusinessDayX,
78
- O as barsToOhlc,
79
- E as buildIndicatorPaneFromPreset,
80
- R as businessDaySpanMs,
81
- S as computeHeikinAshi,
82
- U as computeIndicatorFromSeries,
83
- H as createChart,
84
- Q as createMockDatafeed,
85
- k as createStackedChart,
72
+ R as PluginDrawingTools,
73
+ J as PluginKeyboard,
74
+ G as PluginReplay,
75
+ O as PluginStreaming,
76
+ P as addIndicatorToChart,
77
+ S as applyBusinessDayX,
78
+ K as barsToOhlc,
79
+ b as buildIndicatorPaneFromPreset,
80
+ U as businessDaySpanMs,
81
+ j as computeHeikinAshi,
82
+ v as computeIndicatorFromSeries,
83
+ te as createChart,
84
+ X as createMockDatafeed,
85
+ B as createStackedChart,
86
86
  T as findHighestBarIndex,
87
87
  M as findLowestBarIndex,
88
- G as formatBusinessDayTick,
89
- x as generateBusinessDayOhlcv,
90
- g as generateContinuousOhlcv,
91
- K as isBusinessDay,
92
- j as isBusinessDayScaleActive,
93
- X as mapToBusinessDayScale
88
+ H as formatBusinessDayTick,
89
+ w as generateBusinessDayOhlcv,
90
+ x as generateContinuousOhlcv,
91
+ I as isBusinessDay,
92
+ k as isBusinessDayScaleActive,
93
+ _ as mapToBusinessDayScale
94
94
  };
95
95
  //# sourceMappingURL=trading.js.map
package/dist/types.d.ts CHANGED
@@ -225,9 +225,9 @@ export interface SeriesUpdateData {
225
225
  /** New value for Gauge charts */
226
226
  value?: number;
227
227
  /** New nodes for Sankey diagrams */
228
- nodes?: any[];
228
+ nodes?: SankeyNode[] | string[];
229
229
  /** New links for Sankey diagrams */
230
- links?: any[];
230
+ links?: SankeyLink[];
231
231
  /** If true, append to existing data; if false, replace */
232
232
  append?: boolean;
233
233
  }
@@ -519,9 +519,10 @@ export interface ChartOptions {
519
519
  * `'webgpu'` uses the GPU abstraction layer (WebGPU when available, otherwise
520
520
  * falls back to WebGL2 with a console warning). Use `chart.getActiveRenderer()`
521
521
  * to inspect the runtime backend. Boxplot/waterfall series render on WebGL only.
522
+ * `'svg'` renders the chart as live vector SVG (same createChart API; 3D excluded).
522
523
  * @see docs/adr/001-webgpu-renderer-strategy.md
523
524
  */
524
- renderer?: "webgl" | "webgpu";
525
+ renderer?: "webgl" | "webgpu" | "svg";
525
526
  /** X-axis configuration */
526
527
  xAxis?: AxisOptions;
527
528
  /** Y-axis configuration (single or array) */
@@ -556,7 +557,7 @@ export interface ChartOptions {
556
557
  /** Responsive design configuration */
557
558
  responsive?: import('./core/responsive').ResponsiveConfig | boolean;
558
559
  /** Initial plugins to load */
559
- plugins?: any[];
560
+ plugins?: import('./plugins/types').ChartPlugin[];
560
561
  /** Loading indicator configuration */
561
562
  loading?: boolean | import('./plugins/loading').PluginLoadingConfig;
562
563
  /**