velo-plot 1.11.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 (370) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/EventEmitter-DAbs2K1C.js +60 -0
  4. package/dist/EventEmitter-DAbs2K1C.js.map +1 -0
  5. package/dist/core/Chart.d.ts +15 -0
  6. package/dist/core/ChartControls.d.ts +41 -0
  7. package/dist/core/ChartInitQueue.d.ts +50 -0
  8. package/dist/core/ChartLegend.d.ts +74 -0
  9. package/dist/core/ChartStatistics.d.ts +18 -0
  10. package/dist/core/EventEmitter.d.ts +30 -0
  11. package/dist/core/InteractionManager.d.ts +96 -0
  12. package/dist/core/OverlayRenderer.d.ts +89 -0
  13. package/dist/core/Series.d.ts +4 -0
  14. package/dist/core/animation/AnimationEngine.d.ts +156 -0
  15. package/dist/core/animation/index.d.ts +6 -0
  16. package/dist/core/annotations/AnnotationManager.d.ts +61 -0
  17. package/dist/core/annotations/index.d.ts +5 -0
  18. package/dist/core/annotations/types.d.ts +159 -0
  19. package/dist/core/chart/ChartAnimatedNavigation.d.ts +53 -0
  20. package/dist/core/chart/ChartAxisManager.d.ts +61 -0
  21. package/dist/core/chart/ChartCore.d.ts +336 -0
  22. package/dist/core/chart/ChartExporter.d.ts +18 -0
  23. package/dist/core/chart/ChartNavigation.d.ts +33 -0
  24. package/dist/core/chart/ChartPluginBridge.d.ts +34 -0
  25. package/dist/core/chart/ChartRenderLoop.d.ts +100 -0
  26. package/dist/core/chart/ChartRenderer.d.ts +52 -0
  27. package/dist/core/chart/ChartScaling.d.ts +31 -0
  28. package/dist/core/chart/ChartSeries.d.ts +4 -0
  29. package/dist/core/chart/ChartSetup.d.ts +67 -0
  30. package/dist/core/chart/ChartStateManager.d.ts +54 -0
  31. package/dist/core/chart/ChartUI.d.ts +40 -0
  32. package/dist/core/chart/exporter/SVGExporter.d.ts +6 -0
  33. package/dist/core/chart/exporter/index.d.ts +5 -0
  34. package/dist/core/chart/index.d.ts +14 -0
  35. package/dist/core/chart/series/SeriesActions.d.ts +7 -0
  36. package/dist/core/chart/series/SeriesBuffer.d.ts +4 -0
  37. package/dist/core/chart/series/index.d.ts +6 -0
  38. package/dist/core/chart/series/types.d.ts +22 -0
  39. package/dist/core/chart/types.d.ts +188 -0
  40. package/dist/core/clipboard/index.d.ts +137 -0
  41. package/dist/core/debug/index.d.ts +143 -0
  42. package/dist/core/index.d.ts +17 -0
  43. package/dist/core/keybindings/index.d.ts +157 -0
  44. package/dist/core/layout/index.d.ts +12 -0
  45. package/dist/core/layout/types.d.ts +165 -0
  46. package/dist/core/loading/index.d.ts +104 -0
  47. package/dist/core/locale/index.d.ts +91 -0
  48. package/dist/core/responsive/ResponsiveManager.d.ts +133 -0
  49. package/dist/core/responsive/index.d.ts +4 -0
  50. package/dist/core/selection/SelectionManager.d.ts +165 -0
  51. package/dist/core/selection/index.d.ts +4 -0
  52. package/dist/core/series/Series.d.ts +73 -0
  53. package/dist/core/series/SeriesBounds.d.ts +3 -0
  54. package/dist/core/series/SeriesDataUtils.d.ts +7 -0
  55. package/dist/core/series/index.d.ts +6 -0
  56. package/dist/core/sync/index.d.ts +147 -0
  57. package/dist/core/theme-editor/index.d.ts +122 -0
  58. package/dist/examples/PluginDemonstration.d.ts +20 -0
  59. package/dist/examples.d.ts +25 -0
  60. package/dist/gpu/adapter/gpuRenderer.d.ts +135 -0
  61. package/dist/gpu/adapter/index.d.ts +7 -0
  62. package/dist/gpu/adapter/seriesAdapter.d.ts +88 -0
  63. package/dist/gpu/backends/webgl/WebGLBackend.d.ts +42 -0
  64. package/dist/gpu/backends/webgl/index.d.ts +5 -0
  65. package/dist/gpu/backends/webgl/programFactory.d.ts +30 -0
  66. package/dist/gpu/backends/webgl/shaders.d.ts +14 -0
  67. package/dist/gpu/backends/webgpu/MassiveDataRenderer.d.ts +111 -0
  68. package/dist/gpu/backends/webgpu/WebGPUBackend.d.ts +58 -0
  69. package/dist/gpu/backends/webgpu/pipelines/bandPipeline.d.ts +24 -0
  70. package/dist/gpu/backends/webgpu/pipelines/heatmapPipeline.d.ts +28 -0
  71. package/dist/gpu/backends/webgpu/pipelines/index.d.ts +10 -0
  72. package/dist/gpu/backends/webgpu/pipelines/instancedLinePipeline.d.ts +23 -0
  73. package/dist/gpu/backends/webgpu/pipelines/instancedPointPipeline.d.ts +25 -0
  74. package/dist/gpu/backends/webgpu/pipelines/linePipeline.d.ts +23 -0
  75. package/dist/gpu/backends/webgpu/pipelines/pointPipeline.d.ts +28 -0
  76. package/dist/gpu/backends/webgpu/pipelines/trianglePipeline.d.ts +5 -0
  77. package/dist/gpu/backends/webgpu/pipelines/triangleShader.d.ts +1 -0
  78. package/dist/gpu/backends/webgpu/shaders/heatmap.wgsl.d.ts +8 -0
  79. package/dist/gpu/backends/webgpu/shaders/index.d.ts +8 -0
  80. package/dist/gpu/backends/webgpu/shaders/instanced.wgsl.d.ts +16 -0
  81. package/dist/gpu/backends/webgpu/shaders/line.wgsl.d.ts +8 -0
  82. package/dist/gpu/backends/webgpu/shaders/point.wgsl.d.ts +9 -0
  83. package/dist/gpu/benchmark/benchmark.d.ts +74 -0
  84. package/dist/gpu/benchmark/index.d.ts +5 -0
  85. package/dist/gpu/compute/gpuCompute.d.ts +72 -0
  86. package/dist/gpu/compute/index.d.ts +6 -0
  87. package/dist/gpu/compute/shaders.d.ts +9 -0
  88. package/dist/gpu/drawList.d.ts +77 -0
  89. package/dist/gpu/examples/gallery.d.ts +20 -0
  90. package/dist/gpu/examples/index.d.ts +3 -0
  91. package/dist/gpu/examples/webgpu-line-demo.d.ts +8 -0
  92. package/dist/gpu/examples/webgpu-triangle.d.ts +1 -0
  93. package/dist/gpu/frame.d.ts +25 -0
  94. package/dist/gpu/index.d.ts +24 -0
  95. package/dist/gpu/resources/bufferStore.d.ts +40 -0
  96. package/dist/gpu/resources/index.d.ts +9 -0
  97. package/dist/gpu/resources/pipelineCache.d.ts +33 -0
  98. package/dist/gpu/resources/textureStore.d.ts +41 -0
  99. package/dist/gpu/types.d.ts +47 -0
  100. package/dist/index-BMiZoKmm.js +536 -0
  101. package/dist/index-BMiZoKmm.js.map +1 -0
  102. package/dist/index-Ce2JgkH_.js +282 -0
  103. package/dist/index-Ce2JgkH_.js.map +1 -0
  104. package/dist/index-D8ifudJH.js +2431 -0
  105. package/dist/index-D8ifudJH.js.map +1 -0
  106. package/dist/index-Dag88bW4.js +499 -0
  107. package/dist/index-Dag88bW4.js.map +1 -0
  108. package/dist/index-qhscKTDy.js +309 -0
  109. package/dist/index-qhscKTDy.js.map +1 -0
  110. package/dist/index-x4stH3jD.js +282 -0
  111. package/dist/index-x4stH3jD.js.map +1 -0
  112. package/dist/index.core-CYu3tydL.js +7252 -0
  113. package/dist/index.core-CYu3tydL.js.map +1 -0
  114. package/dist/index.core.d.ts +20 -0
  115. package/dist/index.d.ts +51 -0
  116. package/dist/overlay/CanvasOverlay.d.ts +102 -0
  117. package/dist/overlay/index.d.ts +4 -0
  118. package/dist/plugins/3d/Area3DRenderer.d.ts +122 -0
  119. package/dist/plugins/3d/Axes3D.d.ts +104 -0
  120. package/dist/plugins/3d/Bubble3DRenderer.d.ts +198 -0
  121. package/dist/plugins/3d/Impulse3DRenderer.d.ts +130 -0
  122. package/dist/plugins/3d/Line3DRenderer.d.ts +118 -0
  123. package/dist/plugins/3d/PointCloud3DRenderer.d.ts +84 -0
  124. package/dist/plugins/3d/Raycaster3D.d.ts +137 -0
  125. package/dist/plugins/3d/Ribbon3DRenderer.d.ts +83 -0
  126. package/dist/plugins/3d/SurfaceBar3DRenderer.d.ts +92 -0
  127. package/dist/plugins/3d/SurfaceMesh3DRenderer.d.ts +130 -0
  128. package/dist/plugins/3d/Tooltip3D.d.ts +71 -0
  129. package/dist/plugins/3d/VectorField3DRenderer.d.ts +86 -0
  130. package/dist/plugins/3d/Voxel3DRenderer.d.ts +89 -0
  131. package/dist/plugins/3d/Waterfall3DRenderer.d.ts +94 -0
  132. package/dist/plugins/3d/camera/OrbitCamera.d.ts +99 -0
  133. package/dist/plugins/3d/camera/index.d.ts +1 -0
  134. package/dist/plugins/3d/colorThemes.d.ts +39 -0
  135. package/dist/plugins/3d/controls/OrbitController.d.ts +69 -0
  136. package/dist/plugins/3d/controls/index.d.ts +1 -0
  137. package/dist/plugins/3d/index.d.ts +50 -0
  138. package/dist/plugins/3d/math/Mat4.d.ts +33 -0
  139. package/dist/plugins/3d/math/Vec3.d.ts +37 -0
  140. package/dist/plugins/3d/math/index.d.ts +4 -0
  141. package/dist/plugins/3d/mesh/InstancedMesh.d.ts +42 -0
  142. package/dist/plugins/3d/mesh/geometry.d.ts +34 -0
  143. package/dist/plugins/3d/mesh/index.d.ts +2 -0
  144. package/dist/plugins/3d/series/Area3D.d.ts +17 -0
  145. package/dist/plugins/3d/series/Column3D.d.ts +20 -0
  146. package/dist/plugins/3d/series/Heatmap3D.d.ts +17 -0
  147. package/dist/plugins/3d/series/Impulse3D.d.ts +16 -0
  148. package/dist/plugins/3d/series/PointLine3D.d.ts +20 -0
  149. package/dist/plugins/3d/series/Ribbon3D.d.ts +17 -0
  150. package/dist/plugins/3d/series/Scatter3D.d.ts +21 -0
  151. package/dist/plugins/3d/series/SurfaceMesh3D.d.ts +35 -0
  152. package/dist/plugins/3d/series/Waterfall3D.d.ts +38 -0
  153. package/dist/plugins/3d/series/index.d.ts +13 -0
  154. package/dist/plugins/3d/series/types.d.ts +143 -0
  155. package/dist/plugins/3d/shader/index.d.ts +2 -0
  156. package/dist/plugins/3d/shader/programs.d.ts +24 -0
  157. package/dist/plugins/3d/shader/sources.d.ts +27 -0
  158. package/dist/plugins/3d/types.d.ts +71 -0
  159. package/dist/plugins/3d.d.ts +3 -0
  160. package/dist/plugins/3d.js +5498 -0
  161. package/dist/plugins/3d.js.map +1 -0
  162. package/dist/plugins/PluginContext.d.ts +53 -0
  163. package/dist/plugins/PluginManager.d.ts +129 -0
  164. package/dist/plugins/PluginRegistry.d.ts +38 -0
  165. package/dist/plugins/analysis/SeriesFit.d.ts +3 -0
  166. package/dist/plugins/analysis/contours.d.ts +20 -0
  167. package/dist/plugins/analysis/fft.d.ts +138 -0
  168. package/dist/plugins/analysis/filters.d.ts +76 -0
  169. package/dist/plugins/analysis/fitting.d.ts +24 -0
  170. package/dist/plugins/analysis/index.d.ts +29 -0
  171. package/dist/plugins/analysis/indicators.d.ts +148 -0
  172. package/dist/plugins/analysis/math.d.ts +32 -0
  173. package/dist/plugins/analysis/statistics.d.ts +78 -0
  174. package/dist/plugins/analysis/utils.d.ts +150 -0
  175. package/dist/plugins/analysis.d.ts +3 -0
  176. package/dist/plugins/analysis.js +1202 -0
  177. package/dist/plugins/analysis.js.map +1 -0
  178. package/dist/plugins/annotations/index.d.ts +16 -0
  179. package/dist/plugins/annotations.d.ts +3 -0
  180. package/dist/plugins/annotations.js +438 -0
  181. package/dist/plugins/annotations.js.map +1 -0
  182. package/dist/plugins/anomaly-detection/algorithms.d.ts +38 -0
  183. package/dist/plugins/anomaly-detection/index.d.ts +16 -0
  184. package/dist/plugins/anomaly-detection/types.d.ts +57 -0
  185. package/dist/plugins/broken-axis/BrokenAxisScale.d.ts +24 -0
  186. package/dist/plugins/broken-axis/exports.d.ts +6 -0
  187. package/dist/plugins/broken-axis/index.d.ts +6 -0
  188. package/dist/plugins/broken-axis/types.d.ts +50 -0
  189. package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +40 -0
  190. package/dist/plugins/builtins/crosshair/index.d.ts +1 -0
  191. package/dist/plugins/builtins/data-logger/DataLoggerPlugin.d.ts +11 -0
  192. package/dist/plugins/builtins/data-logger/index.d.ts +1 -0
  193. package/dist/plugins/builtins/direction-indicator/DirectionIndicatorPlugin.d.ts +17 -0
  194. package/dist/plugins/builtins/direction-indicator/index.d.ts +2 -0
  195. package/dist/plugins/builtins/grid-highlight/GridHighlightPlugin.d.ts +17 -0
  196. package/dist/plugins/builtins/grid-highlight/index.d.ts +1 -0
  197. package/dist/plugins/builtins/index.d.ts +25 -0
  198. package/dist/plugins/builtins/stats/StatsPlugin.d.ts +11 -0
  199. package/dist/plugins/builtins/stats/index.d.ts +1 -0
  200. package/dist/plugins/builtins/watermark/WatermarkPlugin.d.ts +15 -0
  201. package/dist/plugins/builtins/watermark/index.d.ts +1 -0
  202. package/dist/plugins/caching/exports.d.ts +6 -0
  203. package/dist/plugins/caching/index.d.ts +6 -0
  204. package/dist/plugins/caching/types.d.ts +120 -0
  205. package/dist/plugins/clipboard/index.d.ts +20 -0
  206. package/dist/plugins/clipboard.d.ts +3 -0
  207. package/dist/plugins/clipboard.js +270 -0
  208. package/dist/plugins/clipboard.js.map +1 -0
  209. package/dist/plugins/context-menu/index.d.ts +12 -0
  210. package/dist/plugins/context-menu/renderer.d.ts +43 -0
  211. package/dist/plugins/context-menu/types.d.ts +202 -0
  212. package/dist/plugins/context-menu.d.ts +3 -0
  213. package/dist/plugins/context-menu.js +621 -0
  214. package/dist/plugins/context-menu.js.map +1 -0
  215. package/dist/plugins/data-export/formatters.d.ts +34 -0
  216. package/dist/plugins/data-export/index.d.ts +15 -0
  217. package/dist/plugins/data-export/types.d.ts +166 -0
  218. package/dist/plugins/data-export.d.ts +3 -0
  219. package/dist/plugins/data-export.js +463 -0
  220. package/dist/plugins/data-export.js.map +1 -0
  221. package/dist/plugins/data-transform/index.d.ts +6 -0
  222. package/dist/plugins/data-transform/types.d.ts +34 -0
  223. package/dist/plugins/debug/index.d.ts +24 -0
  224. package/dist/plugins/debug.d.ts +3 -0
  225. package/dist/plugins/debug.js +330 -0
  226. package/dist/plugins/debug.js.map +1 -0
  227. package/dist/plugins/drag-edit/exports.d.ts +6 -0
  228. package/dist/plugins/drag-edit/index.d.ts +6 -0
  229. package/dist/plugins/drag-edit/types.d.ts +118 -0
  230. package/dist/plugins/forecasting/algorithms.d.ts +6 -0
  231. package/dist/plugins/forecasting/exports.d.ts +3 -0
  232. package/dist/plugins/forecasting/index.d.ts +11 -0
  233. package/dist/plugins/forecasting/types.d.ts +88 -0
  234. package/dist/plugins/gpu/index.d.ts +24 -0
  235. package/dist/plugins/gpu.d.ts +3 -0
  236. package/dist/plugins/gpu.js +2430 -0
  237. package/dist/plugins/gpu.js.map +1 -0
  238. package/dist/plugins/i18n/index.d.ts +22 -0
  239. package/dist/plugins/i18n.d.ts +3 -0
  240. package/dist/plugins/i18n.js +37 -0
  241. package/dist/plugins/i18n.js.map +1 -0
  242. package/dist/plugins/index.d.ts +110 -0
  243. package/dist/plugins/keyboard/index.d.ts +15 -0
  244. package/dist/plugins/keyboard.d.ts +3 -0
  245. package/dist/plugins/keyboard.js +8 -0
  246. package/dist/plugins/keyboard.js.map +1 -0
  247. package/dist/plugins/latex/exports.d.ts +6 -0
  248. package/dist/plugins/latex/index.d.ts +8 -0
  249. package/dist/plugins/latex/parser.d.ts +6 -0
  250. package/dist/plugins/latex/renderer.d.ts +6 -0
  251. package/dist/plugins/latex/symbols.d.ts +28 -0
  252. package/dist/plugins/latex/types.d.ts +88 -0
  253. package/dist/plugins/lazy-load/exports.d.ts +6 -0
  254. package/dist/plugins/lazy-load/index.d.ts +6 -0
  255. package/dist/plugins/lazy-load/types.d.ts +121 -0
  256. package/dist/plugins/loading/index.d.ts +15 -0
  257. package/dist/plugins/loading.d.ts +3 -0
  258. package/dist/plugins/loading.js +7 -0
  259. package/dist/plugins/loading.js.map +1 -0
  260. package/dist/plugins/ml-integration/exports.d.ts +11 -0
  261. package/dist/plugins/ml-integration/index.d.ts +6 -0
  262. package/dist/plugins/ml-integration/native-algorithms.d.ts +69 -0
  263. package/dist/plugins/ml-integration/types.d.ts +74 -0
  264. package/dist/plugins/offscreen/exports.d.ts +6 -0
  265. package/dist/plugins/offscreen/index.d.ts +6 -0
  266. package/dist/plugins/offscreen/pool.d.ts +32 -0
  267. package/dist/plugins/offscreen/types.d.ts +35 -0
  268. package/dist/plugins/pattern-recognition/index.d.ts +6 -0
  269. package/dist/plugins/pattern-recognition/patterns.d.ts +3 -0
  270. package/dist/plugins/pattern-recognition/types.d.ts +245 -0
  271. package/dist/plugins/radar/index.d.ts +6 -0
  272. package/dist/plugins/radar/types.d.ts +40 -0
  273. package/dist/plugins/regression/algorithms.d.ts +6 -0
  274. package/dist/plugins/regression/index.d.ts +6 -0
  275. package/dist/plugins/regression/types.d.ts +261 -0
  276. package/dist/plugins/roi/exports.d.ts +6 -0
  277. package/dist/plugins/roi/index.d.ts +49 -0
  278. package/dist/plugins/roi/types.d.ts +60 -0
  279. package/dist/plugins/snapshot/index.d.ts +11 -0
  280. package/dist/plugins/snapshot/types.d.ts +38 -0
  281. package/dist/plugins/streaming/index.d.ts +32 -0
  282. package/dist/plugins/streaming.d.ts +3 -0
  283. package/dist/plugins/streaming.js +13 -0
  284. package/dist/plugins/streaming.js.map +1 -0
  285. package/dist/plugins/sync/index.d.ts +22 -0
  286. package/dist/plugins/sync.d.ts +3 -0
  287. package/dist/plugins/sync.js +261 -0
  288. package/dist/plugins/sync.js.map +1 -0
  289. package/dist/plugins/theme-editor/index.d.ts +18 -0
  290. package/dist/plugins/theme-editor.d.ts +3 -0
  291. package/dist/plugins/theme-editor.js +7 -0
  292. package/dist/plugins/theme-editor.js.map +1 -0
  293. package/dist/plugins/tools/delta-tool/index.d.ts +159 -0
  294. package/dist/plugins/tools/index.d.ts +21 -0
  295. package/dist/plugins/tools/peak-tool/index.d.ts +159 -0
  296. package/dist/plugins/tools/tooltip/TooltipManager.d.ts +213 -0
  297. package/dist/plugins/tools/tooltip/TooltipPositioner.d.ts +83 -0
  298. package/dist/plugins/tools/tooltip/TooltipRenderer.d.ts +64 -0
  299. package/dist/plugins/tools/tooltip/index.d.ts +18 -0
  300. package/dist/plugins/tools/tooltip/templates/AnnotationTemplate.d.ts +18 -0
  301. package/dist/plugins/tools/tooltip/templates/CrosshairTemplate.d.ts +39 -0
  302. package/dist/plugins/tools/tooltip/templates/DefaultTemplate.d.ts +30 -0
  303. package/dist/plugins/tools/tooltip/templates/HeatmapTemplate.d.ts +34 -0
  304. package/dist/plugins/tools/tooltip/templates/MinimalTemplate.d.ts +26 -0
  305. package/dist/plugins/tools/tooltip/templates/RangeTemplate.d.ts +18 -0
  306. package/dist/plugins/tools/tooltip/templates/ScientificTemplate.d.ts +34 -0
  307. package/dist/plugins/tools/tooltip/templates/index.d.ts +27 -0
  308. package/dist/plugins/tools/tooltip/themes.d.ts +48 -0
  309. package/dist/plugins/tools/tooltip/types.d.ts +396 -0
  310. package/dist/plugins/tools.d.ts +3 -0
  311. package/dist/plugins/tools.js +9 -0
  312. package/dist/plugins/tools.js.map +1 -0
  313. package/dist/plugins/types.d.ts +451 -0
  314. package/dist/plugins/video-recorder/exports.d.ts +6 -0
  315. package/dist/plugins/video-recorder/index.d.ts +6 -0
  316. package/dist/plugins/video-recorder/types.d.ts +55 -0
  317. package/dist/plugins/virtualization/exports.d.ts +6 -0
  318. package/dist/plugins/virtualization/index.d.ts +6 -0
  319. package/dist/plugins/virtualization/types.d.ts +48 -0
  320. package/dist/react/SciPlot.d.ts +60 -0
  321. package/dist/react/index.d.ts +5 -0
  322. package/dist/react/useSciPlot.d.ts +56 -0
  323. package/dist/renderer/BarRenderer.d.ts +14 -0
  324. package/dist/renderer/CandlestickRenderer.d.ts +12 -0
  325. package/dist/renderer/GaugeRenderer.d.ts +3 -0
  326. package/dist/renderer/HeatmapRenderer.d.ts +15 -0
  327. package/dist/renderer/NativeWebGLRenderer.d.ts +16 -0
  328. package/dist/renderer/PolarRenderer.d.ts +64 -0
  329. package/dist/renderer/RendererInterface.d.ts +70 -0
  330. package/dist/renderer/SankeyRenderer.d.ts +3 -0
  331. package/dist/renderer/WebGPURenderer.d.ts +16 -0
  332. package/dist/renderer/index.d.ts +13 -0
  333. package/dist/renderer/native/NativeWebGLRenderer.d.ts +31 -0
  334. package/dist/renderer/native/bufferStore.d.ts +11 -0
  335. package/dist/renderer/native/draw.d.ts +47 -0
  336. package/dist/renderer/native/programFactory.d.ts +3 -0
  337. package/dist/renderer/native/renderFrame.d.ts +3 -0
  338. package/dist/renderer/native/shaderSources.d.ts +6 -0
  339. package/dist/renderer/native/textureStore.d.ts +8 -0
  340. package/dist/renderer/native/types.d.ts +77 -0
  341. package/dist/renderer/native/utils.d.ts +31 -0
  342. package/dist/renderer/radar/RadarRenderer.d.ts +71 -0
  343. package/dist/renderer/radar/index.d.ts +10 -0
  344. package/dist/renderer/shaders.d.ts +77 -0
  345. package/dist/renderer/ternary/TernaryRenderer.d.ts +39 -0
  346. package/dist/renderer/ternary/index.d.ts +6 -0
  347. package/dist/renderer/ternary/types.d.ts +56 -0
  348. package/dist/scales/index.d.ts +54 -0
  349. package/dist/serialization/index.d.ts +153 -0
  350. package/dist/streaming/backpressure.d.ts +179 -0
  351. package/dist/streaming/index.d.ts +7 -0
  352. package/dist/streaming/mock.d.ts +12 -0
  353. package/dist/streaming/types.d.ts +57 -0
  354. package/dist/streaming/utils.d.ts +19 -0
  355. package/dist/streaming/websocket.d.ts +6 -0
  356. package/dist/testing/index.d.ts +225 -0
  357. package/dist/theme/colorSchemes.d.ts +56 -0
  358. package/dist/theme/index.d.ts +138 -0
  359. package/dist/types.d.ts +753 -0
  360. package/dist/utils-Dbro9-qM.js +254 -0
  361. package/dist/utils-Dbro9-qM.js.map +1 -0
  362. package/dist/velo-plot.d.ts +1 -0
  363. package/dist/velo-plot.full.d.ts +1 -0
  364. package/dist/velo-plot.full.js +5804 -0
  365. package/dist/velo-plot.full.js.map +1 -0
  366. package/dist/velo-plot.js +31 -0
  367. package/dist/velo-plot.js.map +1 -0
  368. package/dist/workers/downsample.d.ts +34 -0
  369. package/dist/workers/downsample.worker.d.ts +46 -0
  370. package/package.json +185 -0
@@ -0,0 +1,56 @@
1
+ import { RefObject } from 'react';
2
+ import { Chart, ChartOptions } from '../core/Chart';
3
+ import { SeriesOptions, SeriesUpdateData, ZoomOptions, Bounds } from '../types';
4
+
5
+ export interface UseSciPlotOptions extends Omit<ChartOptions, "container"> {
6
+ /** Auto-resize on container changes */
7
+ autoResize?: boolean;
8
+ }
9
+ export interface UseSciPlotReturn {
10
+ /** Chart instance (null until initialized) */
11
+ chart: Chart | null;
12
+ /** Whether the chart is ready */
13
+ isReady: boolean;
14
+ /** Error during initialization */
15
+ error: Error | null;
16
+ /** Current view bounds */
17
+ bounds: Bounds | null;
18
+ /** Add a series */
19
+ addSeries: (options: SeriesOptions) => void;
20
+ /** Update series data */
21
+ updateSeries: (id: string, data: SeriesUpdateData) => void;
22
+ /** Remove a series */
23
+ removeSeries: (id: string) => void;
24
+ /** Set zoom range */
25
+ zoom: (options: ZoomOptions) => void;
26
+ /** Reset zoom to show all data */
27
+ resetZoom: () => void;
28
+ }
29
+ /**
30
+ * React hook for using Sci Plot
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * function MyChart() {
35
+ * const canvasRef = useRef<HTMLCanvasElement>(null);
36
+ * const { chart, isReady, addSeries, zoom } = useSciPlot(canvasRef, {
37
+ * xAxis: { label: 'E / V' },
38
+ * yAxis: { label: 'I / A' }
39
+ * });
40
+ *
41
+ * useEffect(() => {
42
+ * if (isReady) {
43
+ * addSeries({
44
+ * id: 'cv-1',
45
+ * type: 'line',
46
+ * data: { x: xData, y: yData },
47
+ * style: { color: '#ff0055' }
48
+ * });
49
+ * }
50
+ * }, [isReady]);
51
+ *
52
+ * return <canvas ref={canvasRef} />;
53
+ * }
54
+ * ```
55
+ */
56
+ export declare function useSciPlot(containerRef: RefObject<HTMLDivElement>, options?: UseSciPlotOptions): UseSciPlotReturn;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Prepare bar chart data for WebGL rendering
3
+ * Creates rectangle vertices for each bar (2 triangles per bar = 6 vertices)
4
+ *
5
+ * @param x - X positions of bar centers
6
+ * @param y - Y heights of bars
7
+ * @param barWidth - Width of each bar in data units
8
+ * @returns Interleaved vertex data ready for gl.TRIANGLES
9
+ */
10
+ export declare function interleaveBarData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[], barWidth: number): Float32Array;
11
+ /**
12
+ * Calculate automatic bar width based on data spacing
13
+ */
14
+ export declare function calculateBarWidth(x: Float32Array | Float64Array | number[]): number;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Candlestick Renderer Utilities
3
+ */
4
+ /**
5
+ * Interleave data for candlestick rendering
6
+ * Each candle is represented by a body (box) and a wick (line/thin box)
7
+ * Returns a Float32Array of interleaved [x, y] coordinates for TRIANGLES
8
+ */
9
+ export declare function interleaveCandlestickData(x: Float32Array | Float64Array, open: Float32Array | Float64Array, high: Float32Array | Float64Array, low: Float32Array | Float64Array, close: Float32Array | Float64Array, width: number): {
10
+ bullish: Float32Array;
11
+ bearish: Float32Array;
12
+ };
@@ -0,0 +1,3 @@
1
+ import { GaugeData, GaugeStyle, PlotArea } from '../types';
2
+
3
+ export declare function drawGauge(ctx: CanvasRenderingContext2D, data: GaugeData, style: GaugeStyle, plotArea: PlotArea): void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Prepare Heatmap data for WebGL rendering
3
+ * Creates a mesh of triangles for the grid.
4
+ *
5
+ * @param x - X coordinates of grid columns
6
+ * @param y - Y coordinates of grid rows
7
+ * @param z - Z values (matrix flattened in row-major order: width=x.length, height=y.length)
8
+ * @returns Interleaved data [x, y, value, ...] ready for gl.TRIANGLES
9
+ */
10
+ export declare function interleaveHeatmapData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[], z: Float32Array | Float64Array | number[]): Float32Array;
11
+ /**
12
+ * Generates a colormap texture data
13
+ * Viridis approximation
14
+ */
15
+ export declare function getColormap(name?: string): Uint8Array;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * NativeWebGLRenderer - Zero-dependency WebGL renderer
3
+ *
4
+ * This renderer uses raw WebGL APIs without any external libraries.
5
+ * Performance is identical (or slightly better) than regl since
6
+ * we eliminate the abstraction layer overhead.
7
+ *
8
+ * Key optimizations:
9
+ * - Pre-compiled shaders (compiled once, reused)
10
+ * - Uniform updates via GPU (no buffer recreation for zoom/pan)
11
+ * - Buffer pooling for dynamic data
12
+ * - Minimal state changes per frame
13
+ */
14
+ export { NativeWebGLRenderer } from './native/NativeWebGLRenderer';
15
+ export { interleaveBandData, interleaveData, interleaveStepData, interleaveErrorData, interleaveBoxPlotData, interleaveWaterfallData, parseColor, brightenColor, } from './native/utils';
16
+ export type { NativeRenderOptions, NativeSeriesRenderData } from './native/types';
@@ -0,0 +1,64 @@
1
+ import { PolarData, PolarMode } from '../types';
2
+
3
+ /**
4
+ * Convert polar coordinates to Cartesian coordinates
5
+ *
6
+ * @param r - Radial values (distance from origin)
7
+ * @param theta - Angular values
8
+ * @param angleMode - 'degrees' or 'radians'
9
+ * @returns Interleaved [x, y] vertex data
10
+ */
11
+ export declare function polarToCartesian(r: Float32Array | Float64Array | number[], theta: Float32Array | Float64Array | number[], angleMode?: PolarMode): Float32Array;
12
+ /**
13
+ * Prepare polar data for line rendering with optional path closing
14
+ *
15
+ * @param data - Polar coordinate data
16
+ * @param angleMode - Angular unit mode
17
+ * @param closePath - Whether to connect last point to first
18
+ * @returns Cartesian vertex data
19
+ */
20
+ export declare function interleavePolarLineData(data: PolarData, angleMode?: PolarMode, closePath?: boolean): Float32Array;
21
+ /**
22
+ * Prepare polar data for filled area rendering
23
+ * Creates triangles from origin to each line segment
24
+ *
25
+ * @param data - Polar coordinate data
26
+ * @param angleMode - Angular unit mode
27
+ * @param closePath - Whether to close the path
28
+ * @returns Triangle vertex data for gl.TRIANGLES
29
+ */
30
+ export declare function interleavePolarFillData(data: PolarData, angleMode?: PolarMode, closePath?: boolean): Float32Array;
31
+ /**
32
+ * Generate polar grid lines (radial and angular)
33
+ *
34
+ * @param maxRadius - Maximum radial value
35
+ * @param radialDivisions - Number of concentric circles
36
+ * @param angularDivisions - Number of radial lines (spokes)
37
+ * @param angleMode - Angular unit mode
38
+ * @returns Object with radial and angular grid line data
39
+ */
40
+ export declare function generatePolarGrid(maxRadius: number, radialDivisions?: number, angularDivisions?: number, angleMode?: PolarMode): {
41
+ radialLines: Float32Array;
42
+ angularLines: Float32Array;
43
+ };
44
+ /**
45
+ * Calculate bounds for polar data
46
+ *
47
+ * @param data - Polar coordinate data
48
+ * @returns Cartesian bounds {xMin, xMax, yMin, yMax}
49
+ */
50
+ export declare function calculatePolarBounds(data: PolarData): {
51
+ xMin: number;
52
+ xMax: number;
53
+ yMin: number;
54
+ yMax: number;
55
+ maxRadius: number;
56
+ };
57
+ /**
58
+ * Normalize angular values to [0, 360) degrees or [0, 2π) radians
59
+ *
60
+ * @param theta - Angular values
61
+ * @param angleMode - Angular unit mode
62
+ * @returns Normalized angles
63
+ */
64
+ export declare function normalizeAngles(theta: Float32Array | Float64Array | number[], angleMode?: PolarMode): Float32Array;
@@ -0,0 +1,70 @@
1
+ import { Bounds } from '../types';
2
+
3
+ export interface SeriesRenderData {
4
+ id: string;
5
+ buffer: WebGLBuffer;
6
+ count: number;
7
+ style: any;
8
+ visible: boolean;
9
+ type: string;
10
+ zBounds?: {
11
+ min: number;
12
+ max: number;
13
+ };
14
+ colormapTexture?: WebGLTexture;
15
+ }
16
+ export interface RenderOptions {
17
+ bounds: Bounds;
18
+ backgroundColor?: [number, number, number, number];
19
+ }
20
+ /**
21
+ * Common interface for all WebGL renderer implementations
22
+ */
23
+ export interface IWebGLRenderer {
24
+ /** Check if WebGL is available and initialized */
25
+ readonly available: boolean;
26
+ /**
27
+ * Create or update a GPU buffer with interleaved X,Y data
28
+ * @param id - Unique buffer identifier
29
+ * @param data - Interleaved Float32Array [x0, y0, x1, y1, ...]
30
+ */
31
+ createBuffer(id: string, data: Float32Array): void;
32
+ /**
33
+ * Get a buffer by ID
34
+ */
35
+ getBuffer(id: string): WebGLBuffer | undefined;
36
+ /**
37
+ * Delete a buffer and free GPU memory
38
+ */
39
+ deleteBuffer(id: string): void;
40
+ /**
41
+ * Create a 1D texture for heatmaps
42
+ */
43
+ createColormapTexture(id: string, data: Uint8Array): WebGLTexture;
44
+ /**
45
+ * Render a frame with all visible series
46
+ */
47
+ render(series: SeriesRenderData[], options: RenderOptions): void;
48
+ /**
49
+ * Handle canvas resize
50
+ */
51
+ resize(): void;
52
+ /**
53
+ * Get WebGL capabilities/limits
54
+ */
55
+ getLimits(): Record<string, unknown>;
56
+ /**
57
+ * Cleanup and destroy all GPU resources
58
+ */
59
+ destroy(): void;
60
+ }
61
+ /**
62
+ * Create a WebGL renderer (Native WebGL)
63
+ *
64
+ * @param canvas - Target canvas element
65
+ */
66
+ export declare function createRenderer(canvas: HTMLCanvasElement): IWebGLRenderer;
67
+ /**
68
+ * Create a renderer synchronously (native only)
69
+ */
70
+ export { NativeWebGLRenderer as createNativeRenderer } from './NativeWebGLRenderer';
@@ -0,0 +1,3 @@
1
+ import { SankeyData, SankeyStyle, PlotArea } from '../types';
2
+
3
+ export declare function drawSankey(ctx: CanvasRenderingContext2D, data: SankeyData, style: SankeyStyle, plotArea: PlotArea): void;
@@ -0,0 +1,16 @@
1
+ export interface WebGPURendererOptions {
2
+ powerPreference?: "low-power" | "high-performance";
3
+ preferredFormat?: string;
4
+ antialias?: boolean;
5
+ }
6
+ export declare class WebGPURenderer {
7
+ readonly available: boolean;
8
+ private canvas;
9
+ private adapter;
10
+ private device;
11
+ private context;
12
+ constructor(canvas: HTMLCanvasElement, opts?: WebGPURendererOptions);
13
+ static isSupported(): boolean;
14
+ init(opts?: WebGPURendererOptions): Promise<void>;
15
+ destroy(): void;
16
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Renderer module exports
3
+ */
4
+ export { NativeWebGLRenderer, interleaveData, interleaveStepData, interleaveBandData, interleaveErrorData, interleaveBoxPlotData, interleaveWaterfallData, parseColor, type NativeSeriesRenderData, type NativeRenderOptions, } from './NativeWebGLRenderer';
5
+ export { type IWebGLRenderer, type SeriesRenderData, type RenderOptions, createRenderer, createNativeRenderer, } from './RendererInterface';
6
+ export { WebGPURenderer, type WebGPURendererOptions } from './WebGPURenderer';
7
+ export * from './shaders';
8
+ export * from './radar';
9
+ export { interleaveBarData, calculateBarWidth } from './BarRenderer';
10
+ export { interleaveHeatmapData, getColormap } from './HeatmapRenderer';
11
+ export { interleaveCandlestickData } from './CandlestickRenderer';
12
+ export { polarToCartesian, interleavePolarLineData, interleavePolarFillData, generatePolarGrid, calculatePolarBounds, normalizeAngles, } from './PolarRenderer';
13
+ export * from './ternary';
@@ -0,0 +1,31 @@
1
+ import { NativeRenderOptions, NativeSeriesRenderData } from './types';
2
+
3
+ export declare class NativeWebGLRenderer {
4
+ private canvas;
5
+ private gl;
6
+ private dpr;
7
+ private programs;
8
+ private buffers;
9
+ private textures;
10
+ private isInitialized;
11
+ setDPR(dpr: number): void;
12
+ constructor(canvas: HTMLCanvasElement);
13
+ get available(): boolean;
14
+ createBuffer(id: string, data: Float32Array): void;
15
+ updateBuffer(id: string, data: Float32Array, offsetInBytes: number): boolean;
16
+ getGL(): WebGLRenderingContext;
17
+ getBuffer(id: string): WebGLBuffer | undefined;
18
+ deleteBuffer(id: string): void;
19
+ createColormapTexture(id: string, data: Uint8Array): WebGLTexture;
20
+ getTexture(id: string): WebGLTexture | undefined;
21
+ render(series: NativeSeriesRenderData[], options: NativeRenderOptions): void;
22
+ resize(): void;
23
+ getLimits(): {
24
+ maxTextureSize: any;
25
+ maxViewportDims: any;
26
+ renderer: any;
27
+ vendor: any;
28
+ };
29
+ destroy(): void;
30
+ }
31
+ export type { NativeSeriesRenderData, NativeRenderOptions } from './types';
@@ -0,0 +1,11 @@
1
+ export declare class BufferStore {
2
+ private gl;
3
+ private buffers;
4
+ private bufferSizes;
5
+ constructor(gl: WebGLRenderingContext);
6
+ createBuffer(id: string, data: Float32Array): void;
7
+ updateBuffer(id: string, data: Float32Array, offsetInBytes: number): boolean;
8
+ getBuffer(id: string): WebGLBuffer | undefined;
9
+ deleteBuffer(id: string): void;
10
+ destroy(): void;
11
+ }
@@ -0,0 +1,47 @@
1
+ import { Bounds } from '../../types';
2
+ import { ShaderProgram } from './types';
3
+
4
+ export declare function calculateUniforms(bounds: Bounds, invertX?: boolean): {
5
+ scale: [number, number];
6
+ translate: [number, number];
7
+ };
8
+ export declare function renderLine(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
9
+ scale: [number, number];
10
+ translate: [number, number];
11
+ }, color: [number, number, number, number], width?: number): void;
12
+ export declare function renderBand(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
13
+ scale: [number, number];
14
+ translate: [number, number];
15
+ }, color: [number, number, number, number]): void;
16
+ export declare function renderPoints(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
17
+ scale: [number, number];
18
+ translate: [number, number];
19
+ }, color: [number, number, number, number], pointSize: number, symbol?: string): void;
20
+ export declare function renderHeatmap(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
21
+ scale: [number, number];
22
+ translate: [number, number];
23
+ }, zBounds?: {
24
+ min: number;
25
+ max: number;
26
+ }, texture?: WebGLTexture): void;
27
+ export declare function renderBar(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
28
+ scale: [number, number];
29
+ translate: [number, number];
30
+ }, color: [number, number, number, number]): void;
31
+ export declare function renderErrorBars(gl: WebGLRenderingContext, prog: ShaderProgram, buffer: WebGLBuffer, count: number, uniforms: {
32
+ scale: [number, number];
33
+ translate: [number, number];
34
+ }, color: [number, number, number, number], width?: number): void;
35
+ export declare function renderBoxPlot(gl: WebGLRenderingContext, programs: {
36
+ line: ShaderProgram;
37
+ point: ShaderProgram;
38
+ }, data: {
39
+ boxBuffer: WebGLBuffer;
40
+ boxCount: number;
41
+ linesBuffer: WebGLBuffer;
42
+ linesCount: number;
43
+ }, uniforms: {
44
+ scale: [number, number];
45
+ translate: [number, number];
46
+ }, style: any): void;
47
+ export declare function computeSeriesColor(style: any): [number, number, number, number];
@@ -0,0 +1,3 @@
1
+ import { ProgramBundle } from './types';
2
+
3
+ export declare function createProgramBundle(gl: WebGLRenderingContext): ProgramBundle;
@@ -0,0 +1,3 @@
1
+ import { NativeRenderOptions, NativeSeriesRenderData, ProgramBundle } from './types';
2
+
3
+ export declare function renderFrame(gl: WebGLRenderingContext, canvas: HTMLCanvasElement, dpr: number, programs: ProgramBundle, series: NativeSeriesRenderData[], options: NativeRenderOptions): void;
@@ -0,0 +1,6 @@
1
+ export declare const LINE_VERT = "\nprecision highp float;\nattribute vec2 position;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\n\nvoid main() {\n vec2 pos = position * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n}\n";
2
+ export declare const LINE_FRAG = "\nprecision highp float;\nuniform vec4 uColor;\n\nvoid main() {\n gl_FragColor = uColor;\n}\n";
3
+ export declare const POINT_VERT = "\nprecision highp float;\nattribute vec2 position;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nuniform float uPointSize;\n\nvoid main() {\n vec2 pos = position * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = uPointSize;\n}\n";
4
+ export declare const POINT_FRAG = "\nprecision highp float;\nuniform vec4 uColor;\nuniform int uSymbol;\n\nfloat sdCircle(vec2 p, float r) {\n return length(p) - r;\n}\n\nfloat sdBox(vec2 p, vec2 b) {\n vec2 d = abs(p) - b;\n return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);\n}\n\nfloat sdTriangle(vec2 p, float r) {\n const float k = sqrt(3.0);\n p.x = abs(p.x) - r;\n p.y = p.y + r / k;\n if (p.x + k * p.y > 0.0) p = vec2(p.x - k * p.y, -k * p.x - p.y) / 2.0;\n p.x -= clamp(p.x, -2.0 * r, 0.0);\n return -length(p) * sign(p.y);\n}\n\nfloat sdDiamond(vec2 p, float r) {\n return (abs(p.x) + abs(p.y)) - r;\n}\n\nfloat sdCross(vec2 p, float r, float thickness) {\n vec2 d = abs(p);\n float s1 = sdBox(d, vec2(r, thickness));\n float s2 = sdBox(d, vec2(thickness, r));\n return min(s1, s2);\n}\n\nfloat sdX(vec2 p, float r, float thickness) {\n float c = cos(0.785398);\n float s = sin(0.785398);\n mat2 m = mat2(c, -s, s, c);\n return sdCross(m * p, r, thickness);\n}\n\nfloat sdStar(vec2 p, float r, float rf) {\n const vec2 k1 = vec2(0.80901699, -0.58778525);\n const vec2 k2 = vec2(-k1.x, k1.y);\n p.x = abs(p.x);\n p -= 2.0 * max(dot(k1, p), 0.0) * k1;\n p -= 2.0 * max(dot(k2, p), 0.0) * k2;\n p.x = abs(p.x);\n p.y -= r;\n vec2 ba = rf * vec2(-k1.y, k1.x) - vec2(0, 1);\n float h = clamp(dot(p, ba) / dot(ba, ba), 0.0, r);\n return length(p - ba * h) * sign(p.y * ba.x - p.x * ba.y);\n}\n\nvoid main() {\n vec2 p = gl_PointCoord - vec2(0.5);\n float d = 0.0;\n\n if (uSymbol == 0) {\n d = sdCircle(p, 0.45);\n } else if (uSymbol == 1) {\n d = sdBox(p, vec2(0.35));\n } else if (uSymbol == 2) {\n d = sdDiamond(p, 0.45);\n } else if (uSymbol == 3) {\n d = sdTriangle(vec2(p.x, p.y + 0.1), 0.4);\n } else if (uSymbol == 4) {\n d = sdTriangle(vec2(p.x, -p.y + 0.1), 0.4);\n } else if (uSymbol == 5) {\n d = sdCross(p, 0.45, 0.15);\n } else if (uSymbol == 6) {\n d = sdX(p, 0.45, 0.15);\n } else if (uSymbol == 7) {\n d = sdStar(p, 0.45, 0.4);\n }\n\n if (d > 0.02) discard;\n\n float alpha = 1.0 - smoothstep(0.0, 0.02, d);\n gl_FragColor = vec4(uColor.rgb, uColor.a * alpha);\n}\n";
5
+ export declare const HEATMAP_VERT = "\nprecision highp float;\nattribute vec2 aPosition;\nattribute float aValue;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nvarying float vValue;\n\nvoid main() {\n gl_Position = vec4(aPosition * uScale + uTranslate, 0.0, 1.0);\n vValue = aValue;\n}\n";
6
+ export declare const HEATMAP_FRAG = "\nprecision highp float;\nvarying float vValue;\nuniform float uMinValue;\nuniform float uMaxValue;\nuniform sampler2D uColormap;\n\nvoid main() {\n float range = uMaxValue - uMinValue;\n float t = (vValue - uMinValue) / (range != 0.0 ? range : 1.0);\n t = clamp(t, 0.0, 1.0);\n gl_FragColor = texture2D(uColormap, vec2(t, 0.5));\n}\n";
@@ -0,0 +1,8 @@
1
+ export declare class TextureStore {
2
+ private gl;
3
+ private textures;
4
+ constructor(gl: WebGLRenderingContext);
5
+ createColormapTexture(id: string, data: Uint8Array): WebGLTexture;
6
+ getTexture(id: string): WebGLTexture | undefined;
7
+ destroy(): void;
8
+ }
@@ -0,0 +1,77 @@
1
+ import { Bounds } from '../../types';
2
+
3
+ export interface NativeSeriesRenderData {
4
+ id: string;
5
+ buffer: WebGLBuffer;
6
+ count: number;
7
+ style: any;
8
+ visible: boolean;
9
+ type: "line" | "scatter" | "line+scatter" | "step" | "step+scatter" | "band" | "bar" | "heatmap" | "candlestick" | "boxplot" | "waterfall";
10
+ /** For step types: pre-computed step buffer */
11
+ stepBuffer?: WebGLBuffer;
12
+ stepCount?: number;
13
+ /** Optional specific Y-bounds for this series (overrides global bounds) */
14
+ yBounds?: {
15
+ min: number;
16
+ max: number;
17
+ };
18
+ /** Heatmap specific */
19
+ zBounds?: {
20
+ min: number;
21
+ max: number;
22
+ };
23
+ colormap?: string;
24
+ colormapTexture?: WebGLTexture;
25
+ /** Error bars */
26
+ errorBuffer?: WebGLBuffer;
27
+ errorCount?: number;
28
+ /** Box plot specific */
29
+ boxBuffer?: WebGLBuffer;
30
+ boxCount?: number;
31
+ boxLinesBuffer?: WebGLBuffer;
32
+ boxLinesCount?: number;
33
+ /** Waterfall specific */
34
+ wfPositiveBuffer?: WebGLBuffer;
35
+ wfPositiveCount?: number;
36
+ wfNegativeBuffer?: WebGLBuffer;
37
+ wfNegativeCount?: number;
38
+ wfSubtotalBuffer?: WebGLBuffer;
39
+ wfSubtotalCount?: number;
40
+ wfConnectorBuffer?: WebGLBuffer;
41
+ wfConnectorCount?: number;
42
+ }
43
+ export interface NativeRenderOptions {
44
+ bounds: Bounds;
45
+ invertX?: boolean;
46
+ backgroundColor?: [number, number, number, number];
47
+ plotArea?: {
48
+ x: number;
49
+ y: number;
50
+ width: number;
51
+ height: number;
52
+ };
53
+ plotAreaBackground?: [number, number, number, number];
54
+ }
55
+ export interface ShaderProgram {
56
+ program: WebGLProgram;
57
+ attributes: {
58
+ position: number;
59
+ value?: number;
60
+ };
61
+ uniforms: {
62
+ uScale: WebGLUniformLocation;
63
+ uTranslate: WebGLUniformLocation;
64
+ uColor: WebGLUniformLocation | null;
65
+ uPointSize: WebGLUniformLocation | null;
66
+ uSymbol: WebGLUniformLocation | null;
67
+ uMinValue: WebGLUniformLocation | null;
68
+ uMaxValue: WebGLUniformLocation | null;
69
+ uColormap: WebGLUniformLocation | null;
70
+ };
71
+ }
72
+ export type ProgramMode = "line" | "point" | "heatmap";
73
+ export interface ProgramBundle {
74
+ lineProgram: ShaderProgram;
75
+ pointProgram: ShaderProgram;
76
+ heatmapProgram: ShaderProgram;
77
+ }
@@ -0,0 +1,31 @@
1
+ export declare function parseColor(color: string): [number, number, number, number];
2
+ export declare function brightenColor(color: string, isDarkTheme?: boolean): string;
3
+ export declare function interleaveData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[]): Float32Array;
4
+ export declare function interleaveStepData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[], mode?: "before" | "after" | "center"): Float32Array;
5
+ export declare function interleaveBandData(x: Float32Array | Float64Array | number[], y1: Float32Array | Float64Array | number[], y2: Float32Array | Float64Array | number[]): Float32Array;
6
+ export declare function interleaveErrorData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[], yErr?: {
7
+ yError?: Float32Array | Float64Array;
8
+ yErrorMinus?: Float32Array | Float64Array;
9
+ yErrorPlus?: Float32Array | Float64Array;
10
+ }, xErr?: {
11
+ xError?: Float32Array | Float64Array;
12
+ xErrorMinus?: Float32Array | Float64Array;
13
+ xErrorPlus?: Float32Array | Float64Array;
14
+ }): Float32Array;
15
+ export declare function interleaveBoxPlotData(x: Float32Array | Float64Array | number[], min: Float32Array | Float64Array | number[], q1: Float32Array | Float64Array | number[], median: Float32Array | Float64Array | number[], q3: Float32Array | Float64Array | number[], max: Float32Array | Float64Array | number[], width: number): {
16
+ lines: Float32Array;
17
+ boxes: Float32Array;
18
+ };
19
+ /**
20
+ * Interleave data for Waterfall charts
21
+ * Creates rectangles that show cumulative changes from a running total
22
+ */
23
+ export declare function interleaveWaterfallData(x: Float32Array | Float64Array | number[], y: Float32Array | Float64Array | number[], width: number, isSubtotal?: boolean[]): {
24
+ positiveData: Float32Array;
25
+ negativeData: Float32Array;
26
+ subtotalData: Float32Array;
27
+ connectorData: Float32Array;
28
+ positiveCount: number;
29
+ negativeCount: number;
30
+ subtotalCount: number;
31
+ };
@@ -0,0 +1,71 @@
1
+ import { RadarData, RadarStyle } from '../../types';
2
+
3
+ export interface RadarPoint {
4
+ x: number;
5
+ y: number;
6
+ axisIndex: number;
7
+ value: number;
8
+ }
9
+ export interface RadarGrid {
10
+ levels: number;
11
+ maxRadius: number;
12
+ center: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ startAngle: number;
17
+ angleStep: number;
18
+ }
19
+ export declare class RadarRenderer {
20
+ private ctx;
21
+ private width;
22
+ private height;
23
+ private grid;
24
+ constructor(ctx: CanvasRenderingContext2D, width: number, height: number);
25
+ /**
26
+ * Convert radar data to screen coordinates
27
+ */
28
+ private dataToPoints;
29
+ /**
30
+ * Draw radar grid (background circles and radial lines)
31
+ */
32
+ drawGrid(data: RadarData, style: RadarStyle): void;
33
+ /**
34
+ * Draw axis labels
35
+ */
36
+ drawLabels(data: RadarData, style: RadarStyle): void;
37
+ /**
38
+ * Draw radar chart
39
+ */
40
+ drawRadar(data: RadarData, style: RadarStyle): void;
41
+ /**
42
+ * Render complete radar chart
43
+ */
44
+ render(data: RadarData, style: RadarStyle): void;
45
+ /**
46
+ * Render multiple radar charts (for comparison)
47
+ */
48
+ renderMultiple(datasets: {
49
+ data: RadarData;
50
+ style: RadarStyle;
51
+ }[]): void;
52
+ /**
53
+ * Get screen coordinates for a specific axis
54
+ */
55
+ getAxisCoordinates(axisIndex: number, value: number, style: RadarStyle): {
56
+ x: number;
57
+ y: number;
58
+ };
59
+ /**
60
+ * Update canvas dimensions
61
+ */
62
+ updateDimensions(width: number, height: number): void;
63
+ /**
64
+ * Get grid configuration
65
+ */
66
+ getGrid(): RadarGrid;
67
+ /**
68
+ * Set grid configuration
69
+ */
70
+ setGrid(grid: Partial<RadarGrid>): void;
71
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Radar Chart Renderer - Index
3
+ *
4
+ * Exports radar chart rendering utilities.
5
+ *
6
+ * @packageDocumentation
7
+ * @module renderer/radar
8
+ */
9
+ export { RadarRenderer } from './RadarRenderer';
10
+ export type { RadarPoint, RadarGrid } from './RadarRenderer';