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,135 @@
1
+ import { SeriesStyle } from './seriesAdapter';
2
+
3
+ /**
4
+ * Bounds interface matching the original
5
+ */
6
+ export interface Bounds {
7
+ xMin: number;
8
+ xMax: number;
9
+ yMin: number;
10
+ yMax: number;
11
+ }
12
+ /**
13
+ * Series render data matching NativeSeriesRenderData
14
+ */
15
+ export interface GpuSeriesRenderData {
16
+ id: string;
17
+ type: "line" | "scatter" | "line+scatter" | "step" | "step+scatter" | "band" | "bar" | "heatmap";
18
+ visible: boolean;
19
+ style: SeriesStyle;
20
+ /** Y-bounds for multi-axis support */
21
+ yBounds?: {
22
+ min: number;
23
+ max: number;
24
+ };
25
+ /** Heatmap specific */
26
+ zBounds?: {
27
+ min: number;
28
+ max: number;
29
+ };
30
+ colormap?: string;
31
+ }
32
+ /**
33
+ * Render options matching NativeRenderOptions
34
+ */
35
+ export interface GpuRenderOptions {
36
+ bounds: Bounds;
37
+ backgroundColor?: [number, number, number, number];
38
+ plotArea?: {
39
+ x: number;
40
+ y: number;
41
+ width: number;
42
+ height: number;
43
+ };
44
+ }
45
+ /**
46
+ * Backend preference
47
+ */
48
+ export type BackendPreference = "webgpu" | "webgl" | "auto";
49
+ /**
50
+ * GPU Renderer options
51
+ */
52
+ export interface GpuRendererOptions {
53
+ backend?: BackendPreference;
54
+ powerPreference?: "low-power" | "high-performance";
55
+ }
56
+ /**
57
+ * GPU Renderer - Unified renderer using the GPU abstraction layer
58
+ */
59
+ export declare class GpuRenderer {
60
+ private canvas;
61
+ private options;
62
+ private backend;
63
+ private adapter;
64
+ private dpr;
65
+ private isInitialized;
66
+ private backendType;
67
+ private bufferDataMap;
68
+ private stepBufferDataMap;
69
+ private colormapDataMap;
70
+ constructor(canvas: HTMLCanvasElement, options?: GpuRendererOptions);
71
+ /**
72
+ * Initialize the renderer
73
+ */
74
+ init(): Promise<boolean>;
75
+ /**
76
+ * Check if renderer is available
77
+ */
78
+ get available(): boolean;
79
+ /**
80
+ * Get the active backend type
81
+ */
82
+ get activeBackend(): "webgpu" | "webgl" | null;
83
+ /**
84
+ * Set device pixel ratio
85
+ */
86
+ setDPR(dpr: number): void;
87
+ /**
88
+ * Create or update a buffer
89
+ */
90
+ createBuffer(id: string, data: Float32Array): void;
91
+ /**
92
+ * Update a buffer partially
93
+ */
94
+ updateBuffer(id: string, data: Float32Array, offsetInBytes: number): boolean;
95
+ /**
96
+ * Get a buffer's data
97
+ */
98
+ getBuffer(id: string): Float32Array | undefined;
99
+ /**
100
+ * Delete a buffer
101
+ */
102
+ deleteBuffer(id: string): void;
103
+ /**
104
+ * Create or update a step buffer
105
+ */
106
+ createStepBuffer(id: string, data: Float32Array): void;
107
+ /**
108
+ * Create colormap texture
109
+ */
110
+ createColormapTexture(id: string, data: Uint8Array): void;
111
+ /**
112
+ * Render a frame
113
+ */
114
+ render(series: GpuSeriesRenderData[], options: GpuRenderOptions): void;
115
+ /**
116
+ * Build draw list from series data
117
+ */
118
+ private buildDrawList;
119
+ /**
120
+ * Handle canvas resize
121
+ */
122
+ resize(): void;
123
+ /**
124
+ * Get renderer limits
125
+ */
126
+ getLimits(): Record<string, unknown>;
127
+ /**
128
+ * Destroy the renderer
129
+ */
130
+ destroy(): void;
131
+ }
132
+ /**
133
+ * Create a GPU renderer (async)
134
+ */
135
+ export declare function createGpuRenderer(canvas: HTMLCanvasElement, options?: GpuRendererOptions): Promise<GpuRenderer | null>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Adapter Index - Export all adapter utilities
3
+ */
4
+ export { SeriesAdapter, parseColorToRGBA, } from './seriesAdapter';
5
+ export type { SeriesData, SeriesStyle, } from './seriesAdapter';
6
+ export { GpuRenderer, createGpuRenderer, } from './gpuRenderer';
7
+ export type { Bounds, GpuSeriesRenderData, GpuRenderOptions, BackendPreference, GpuRendererOptions, } from './gpuRenderer';
@@ -0,0 +1,88 @@
1
+ import { DrawList } from '../drawList';
2
+ import { GpuBackend, RGBA } from '../types';
3
+
4
+ /**
5
+ * Series style from the original renderer
6
+ */
7
+ export interface SeriesStyle {
8
+ color?: string | RGBA;
9
+ opacity?: number;
10
+ lineWidth?: number;
11
+ pointSize?: number;
12
+ symbol?: string;
13
+ }
14
+ /**
15
+ * Series render data from the chart system
16
+ */
17
+ export interface SeriesData {
18
+ id: string;
19
+ type: "line" | "scatter" | "line+scatter" | "step" | "step+scatter" | "band" | "bar" | "heatmap";
20
+ visible: boolean;
21
+ /** Main vertex data */
22
+ data: Float32Array;
23
+ /** Style properties */
24
+ style: SeriesStyle;
25
+ /** For step charts */
26
+ stepData?: Float32Array;
27
+ /** Y-axis bounds for multi-axis support */
28
+ yBounds?: {
29
+ min: number;
30
+ max: number;
31
+ };
32
+ /** For heatmaps */
33
+ zBounds?: {
34
+ min: number;
35
+ max: number;
36
+ };
37
+ colormapData?: Uint8Array;
38
+ colormap?: string;
39
+ }
40
+ /**
41
+ * Mutable color tuple for internal use
42
+ */
43
+ type MutableRGBA = [number, number, number, number];
44
+ /**
45
+ * Parse color from various formats to RGBA
46
+ */
47
+ export declare function parseColorToRGBA(color: string | RGBA | undefined): MutableRGBA;
48
+ /**
49
+ * Series Adapter class
50
+ *
51
+ * Manages the conversion of chart series to GPU resources and draw calls.
52
+ */
53
+ export declare class SeriesAdapter {
54
+ private backend;
55
+ private seriesBufferMap;
56
+ private seriesStepBufferMap;
57
+ private seriesTextureMap;
58
+ constructor(backend: GpuBackend);
59
+ /**
60
+ * Get buffer ID for a series
61
+ */
62
+ private getBufferId;
63
+ /**
64
+ * Get step buffer ID for a series
65
+ */
66
+ private getStepBufferId;
67
+ /**
68
+ * Get texture ID for a series
69
+ */
70
+ private getTextureId;
71
+ /**
72
+ * Update series data in GPU buffers
73
+ */
74
+ updateSeries(series: SeriesData): void;
75
+ /**
76
+ * Remove a series from GPU resources
77
+ */
78
+ removeSeries(seriesId: string): void;
79
+ /**
80
+ * Build draw list from series array
81
+ */
82
+ buildDrawList(seriesArray: SeriesData[]): DrawList;
83
+ /**
84
+ * Cleanup all resources
85
+ */
86
+ destroy(): void;
87
+ }
88
+ export {};
@@ -0,0 +1,42 @@
1
+ import { BufferDescriptor, BufferId, GpuBackend, GpuBackendInfo, GpuViewport, Texture1DDescriptor, TextureId } from '../../types';
2
+ import { DrawList } from '../../drawList';
3
+ import { FrameUniforms } from '../../frame';
4
+
5
+ export interface WebGLBackendOptions {
6
+ antialias?: boolean;
7
+ preserveDrawingBuffer?: boolean;
8
+ powerPreference?: "default" | "low-power" | "high-performance";
9
+ }
10
+ export declare class WebGLBackend implements GpuBackend {
11
+ readonly info: GpuBackendInfo;
12
+ private canvas;
13
+ private opts;
14
+ private gl;
15
+ private viewport;
16
+ private dpr;
17
+ private programs;
18
+ private buffers;
19
+ private textures;
20
+ constructor(canvas: HTMLCanvasElement, opts?: WebGLBackendOptions);
21
+ static isSupported(): boolean;
22
+ init(): Promise<void>;
23
+ setViewport(viewport: GpuViewport): void;
24
+ createOrUpdateBuffer(id: BufferId, data: ArrayBufferView, desc?: Partial<BufferDescriptor>): void;
25
+ deleteBuffer(id: BufferId): void;
26
+ createOrUpdateTexture1D(id: TextureId, data: Uint8Array, desc?: Partial<Texture1DDescriptor>): void;
27
+ deleteTexture(id: TextureId): void;
28
+ render(drawList: DrawList, frame: FrameUniforms): void;
29
+ renderWithBounds(drawList: DrawList, frame: FrameUniforms, bounds: {
30
+ xMin: number;
31
+ xMax: number;
32
+ yMin: number;
33
+ yMax: number;
34
+ }): void;
35
+ private renderDrawCall;
36
+ private renderLine;
37
+ private renderPoints;
38
+ private renderBand;
39
+ private renderTriangles;
40
+ private renderHeatmap;
41
+ destroy(): void;
42
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * WebGL Backend Index
3
+ */
4
+ export { WebGLBackend } from './WebGLBackend';
5
+ export type { WebGLBackendOptions } from './WebGLBackend';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WebGL Program Factory
3
+ *
4
+ * Utilities for compiling and linking WebGL shader programs.
5
+ */
6
+ export interface ShaderProgram {
7
+ program: WebGLProgram;
8
+ attributes: Record<string, number>;
9
+ uniforms: Record<string, WebGLUniformLocation | null>;
10
+ }
11
+ /**
12
+ * Create a shader program from source
13
+ */
14
+ export declare function createProgram(gl: WebGLRenderingContext, vertSource: string, fragSource: string, attributeNames: string[], uniformNames: string[]): ShaderProgram;
15
+ /**
16
+ * All programs used by the WebGL backend
17
+ */
18
+ export interface ProgramBundle {
19
+ line: ShaderProgram;
20
+ point: ShaderProgram;
21
+ heatmap: ShaderProgram;
22
+ }
23
+ /**
24
+ * Create all shader programs
25
+ */
26
+ export declare function createAllPrograms(gl: WebGLRenderingContext): ProgramBundle;
27
+ /**
28
+ * Destroy all programs
29
+ */
30
+ export declare function destroyPrograms(gl: WebGLRenderingContext, bundle: ProgramBundle): void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WebGL Shader Sources
3
+ *
4
+ * GLSL shaders for the WebGL backend.
5
+ * These match the functionality of the WebGPU WGSL shaders.
6
+ */
7
+ export declare const LINE_VERT_GLSL = "\nprecision highp float;\nattribute vec2 aPosition;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\n\nvoid main() {\n vec2 pos = aPosition * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n}\n";
8
+ export declare const LINE_FRAG_GLSL = "\nprecision highp float;\nuniform vec4 uColor;\n\nvoid main() {\n gl_FragColor = uColor;\n}\n";
9
+ export declare const POINT_VERT_GLSL = "\nprecision highp float;\nattribute vec2 aPosition;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nuniform float uPointSize;\n\nvoid main() {\n vec2 pos = aPosition * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = uPointSize;\n}\n";
10
+ export declare const POINT_FRAG_GLSL = "\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";
11
+ export declare const HEATMAP_VERT_GLSL = "\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";
12
+ export declare const HEATMAP_FRAG_GLSL = "\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";
13
+ export declare const TRIANGLE_VERT_GLSL = "\nprecision highp float;\nattribute vec2 aPosition;\nattribute vec4 aColor;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nvarying vec4 vColor;\n\nvoid main() {\n vec2 pos = aPosition * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n vColor = aColor;\n}\n";
14
+ export declare const TRIANGLE_FRAG_GLSL = "\nprecision highp float;\nvarying vec4 vColor;\n\nvoid main() {\n gl_FragColor = vColor;\n}\n";
@@ -0,0 +1,111 @@
1
+ /**
2
+ * MassiveDataRenderer - Optimized renderer for 100M+ points
3
+ *
4
+ * Features:
5
+ * - Chunked buffer upload with progress
6
+ * - Batched draw calls to avoid GPU timeout
7
+ * - LOD (Level of Detail) with GPU downsampling
8
+ * - Storage buffers for instanced rendering
9
+ * - Streaming data generation
10
+ */
11
+ export interface MassiveDataConfig {
12
+ maxPointsPerBatch: number;
13
+ chunkSizeBytes: number;
14
+ enableLOD: boolean;
15
+ lodLevels: number;
16
+ onProgress?: (phase: string, progress: number) => void;
17
+ onStats?: (stats: RenderStats) => void;
18
+ }
19
+ export interface RenderStats {
20
+ totalPoints: number;
21
+ renderedPoints: number;
22
+ bufferSizeMB: number;
23
+ uploadTimeMs: number;
24
+ frameTimeMs: number;
25
+ fps: number;
26
+ lodLevel: number;
27
+ batchCount: number;
28
+ }
29
+ export interface LODLevel {
30
+ buffer: any;
31
+ pointCount: number;
32
+ factor: number;
33
+ }
34
+ export declare class MassiveDataRenderer {
35
+ private device;
36
+ private context;
37
+ private format;
38
+ private config;
39
+ private linePipeline;
40
+ private lineBindGroupLayout;
41
+ private uniformBuffer;
42
+ private storageBuffer;
43
+ private bindGroup;
44
+ private totalPoints;
45
+ private lodLevels;
46
+ private currentLOD;
47
+ private lastFrameTime;
48
+ private frameCount;
49
+ private lastFpsTime;
50
+ private currentFps;
51
+ private viewport;
52
+ constructor(device: any, // GPUDevice
53
+ context: any, // GPUCanvasContext
54
+ format: any, // GPUTextureFormat
55
+ config?: Partial<MassiveDataConfig>);
56
+ /**
57
+ * Initialize render pipelines
58
+ */
59
+ init(): Promise<void>;
60
+ /**
61
+ * Set viewport dimensions
62
+ */
63
+ setViewport(width: number, height: number): void;
64
+ /**
65
+ * Upload data with chunked progress
66
+ */
67
+ uploadData(data: Float32Array): Promise<void>;
68
+ /**
69
+ * Build LOD levels using GPU downsampling
70
+ */
71
+ private buildLOD;
72
+ /**
73
+ * Select appropriate LOD level based on visible range
74
+ */
75
+ selectLOD(visibleRange: number, totalRange: number): number;
76
+ /**
77
+ * Render frame with batching
78
+ */
79
+ render(options: {
80
+ bounds: {
81
+ xMin: number;
82
+ xMax: number;
83
+ yMin: number;
84
+ yMax: number;
85
+ };
86
+ color?: [number, number, number, number];
87
+ lineWidth?: number;
88
+ time?: number;
89
+ lodLevel?: number;
90
+ }): void;
91
+ /**
92
+ * Generate streaming sine wave data
93
+ */
94
+ static generateSineWaveData(pointCount: number, onProgress?: (progress: number) => void): Promise<Float32Array>;
95
+ /**
96
+ * Get current stats
97
+ */
98
+ getStats(): RenderStats;
99
+ /**
100
+ * Get available LOD levels
101
+ */
102
+ getLODLevels(): {
103
+ level: number;
104
+ pointCount: number;
105
+ factor: number;
106
+ }[];
107
+ /**
108
+ * Cleanup resources
109
+ */
110
+ destroy(): void;
111
+ }
@@ -0,0 +1,58 @@
1
+ import { BufferDescriptor, BufferId, GpuBackend, GpuBackendInfo, GpuViewport, Texture1DDescriptor, TextureId } from '../../types';
2
+ import { DrawList } from '../../drawList';
3
+ import { FrameUniforms } from '../../frame';
4
+
5
+ export interface WebGPUBackendOptions {
6
+ powerPreference?: "low-power" | "high-performance";
7
+ preferredFormat?: string;
8
+ }
9
+ export declare class WebGPUBackend implements GpuBackend {
10
+ readonly info: GpuBackendInfo;
11
+ private canvas;
12
+ private opts;
13
+ private viewport;
14
+ private adapter;
15
+ private device;
16
+ private context;
17
+ private format;
18
+ private buffers;
19
+ private textures;
20
+ private trianglePipeline;
21
+ private linePipeline;
22
+ private pointPipeline;
23
+ private bandPipeline;
24
+ private heatmapPipeline;
25
+ private heatmapBindGroups;
26
+ constructor(canvas: HTMLCanvasElement, opts?: WebGPUBackendOptions);
27
+ static isSupported(): boolean;
28
+ init(): Promise<void>;
29
+ setViewport(viewport: GpuViewport): void;
30
+ createOrUpdateBuffer(id: BufferId, data: ArrayBufferView, desc?: Partial<BufferDescriptor>): void;
31
+ deleteBuffer(id: BufferId): void;
32
+ createOrUpdateTexture1D(id: TextureId, data: Uint8Array, desc?: Partial<Texture1DDescriptor>): void;
33
+ deleteTexture(id: TextureId): void;
34
+ /**
35
+ * Initialize all pipelines lazily
36
+ */
37
+ private ensurePipelines;
38
+ render(drawList: DrawList, frame: FrameUniforms): void;
39
+ /**
40
+ * Render with explicit bounds (for integration with chart system)
41
+ */
42
+ renderWithBounds(drawList: DrawList, frame: FrameUniforms, bounds: {
43
+ xMin: number;
44
+ xMax: number;
45
+ yMin: number;
46
+ yMax: number;
47
+ }): void;
48
+ /**
49
+ * Render a single draw call
50
+ */
51
+ private renderDrawCall;
52
+ private renderTriangles;
53
+ private renderLine;
54
+ private renderPoints;
55
+ private renderBand;
56
+ private renderHeatmap;
57
+ destroy(): void;
58
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Band Pipeline - WebGPU pipeline for rendering band/area fills
3
+ *
4
+ * Uses triangle-strip topology for efficient area rendering.
5
+ * Reuses the line shader with different primitive topology.
6
+ * Uses `any` types for WebGPU objects to avoid requiring @webgpu/types.
7
+ */
8
+ export interface BandPipelineBundle {
9
+ pipeline: any;
10
+ bindGroupLayout: any;
11
+ uniformBuffer: any;
12
+ bindGroup: any;
13
+ vertexStride: number;
14
+ }
15
+ export interface BandUniforms {
16
+ scale: [number, number];
17
+ translate: [number, number];
18
+ color: [number, number, number, number];
19
+ }
20
+ export declare function createBandPipeline(device: any, // GPUDevice
21
+ format: string): BandPipelineBundle;
22
+ export declare function updateBandUniforms(device: any, // GPUDevice
23
+ uniformBuffer: any, // GPUBuffer
24
+ uniforms: BandUniforms): void;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Heatmap Pipeline - WebGPU pipeline for rendering heatmaps with colormap textures
3
+ *
4
+ * Uses `any` types for WebGPU objects to avoid requiring @webgpu/types.
5
+ */
6
+ export interface HeatmapPipelineBundle {
7
+ pipeline: any;
8
+ bindGroupLayout: any;
9
+ uniformBuffer: any;
10
+ sampler: any;
11
+ vertexStride: number;
12
+ }
13
+ export interface HeatmapUniforms {
14
+ scale: [number, number];
15
+ translate: [number, number];
16
+ minValue: number;
17
+ maxValue: number;
18
+ }
19
+ export declare function createHeatmapPipeline(device: any, // GPUDevice
20
+ format: string): HeatmapPipelineBundle;
21
+ export declare function createHeatmapBindGroup(device: any, // GPUDevice
22
+ layout: any, // GPUBindGroupLayout
23
+ uniformBuffer: any, // GPUBuffer
24
+ sampler: any, // GPUSampler
25
+ colormapTexture: any): any;
26
+ export declare function updateHeatmapUniforms(device: any, // GPUDevice
27
+ uniformBuffer: any, // GPUBuffer
28
+ uniforms: HeatmapUniforms): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Pipeline Index - Export all WebGPU pipelines
3
+ */
4
+ export { createTrianglePipeline, type TrianglePipelineBundle, } from './trianglePipeline';
5
+ export { createLinePipeline, updateLineUniforms, type LinePipelineBundle, type LineUniforms, } from './linePipeline';
6
+ export { createPointPipeline, updatePointUniforms, SYMBOL_MAP, type PointPipelineBundle, type PointUniforms, } from './pointPipeline';
7
+ export { createHeatmapPipeline, createHeatmapBindGroup, updateHeatmapUniforms, type HeatmapPipelineBundle, type HeatmapUniforms, } from './heatmapPipeline';
8
+ export { createBandPipeline, updateBandUniforms, type BandPipelineBundle, type BandUniforms, } from './bandPipeline';
9
+ export { createInstancedLinePipeline, createInstancedLineBindGroup, updateInstancedLineUniforms, type InstancedLinePipelineBundle, type InstancedLineUniforms, } from './instancedLinePipeline';
10
+ export { createInstancedPointPipeline, createInstancedPointBindGroup, updateInstancedPointUniforms, SYMBOL_TYPE_MAP, type InstancedPointPipelineBundle, type InstancedPointUniforms, } from './instancedPointPipeline';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Instanced Line Pipeline - For rendering large datasets efficiently
3
+ *
4
+ * Uses storage buffers and instancing to render millions of line segments.
5
+ * Each instance represents one line segment between consecutive points.
6
+ */
7
+ export interface InstancedLinePipelineBundle {
8
+ pipeline: any;
9
+ bindGroupLayout: any;
10
+ uniformBuffer: any;
11
+ vertexStride: number;
12
+ }
13
+ export interface InstancedLineUniforms {
14
+ scale: [number, number];
15
+ translate: [number, number];
16
+ color: [number, number, number, number];
17
+ lineWidth: number;
18
+ aspectRatio: number;
19
+ pointCount: number;
20
+ }
21
+ export declare function createInstancedLinePipeline(device: any, format: string): InstancedLinePipelineBundle;
22
+ export declare function createInstancedLineBindGroup(device: any, layout: any, uniformBuffer: any, pointBuffer: any): any;
23
+ export declare function updateInstancedLineUniforms(device: any, uniformBuffer: any, uniforms: InstancedLineUniforms): void;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Instanced Point Pipeline - For rendering large scatter datasets
3
+ *
4
+ * Uses storage buffers and instancing to render millions of points.
5
+ */
6
+ export interface InstancedPointPipelineBundle {
7
+ pipeline: any;
8
+ bindGroupLayout: any;
9
+ uniformBuffer: any;
10
+ vertexStride: number;
11
+ }
12
+ export interface InstancedPointUniforms {
13
+ scale: [number, number];
14
+ translate: [number, number];
15
+ color: [number, number, number, number];
16
+ pointSize: number;
17
+ symbolType: number;
18
+ viewportWidth: number;
19
+ viewportHeight: number;
20
+ pointCount: number;
21
+ }
22
+ export declare function createInstancedPointPipeline(device: any, format: string): InstancedPointPipelineBundle;
23
+ export declare function createInstancedPointBindGroup(device: any, layout: any, uniformBuffer: any, pointBuffer: any): any;
24
+ export declare function updateInstancedPointUniforms(device: any, uniformBuffer: any, uniforms: InstancedPointUniforms): void;
25
+ export declare const SYMBOL_TYPE_MAP: Record<string, number>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Line Pipeline - WebGPU pipeline for rendering lines with uniform buffer
3
+ *
4
+ * Uses `any` types for WebGPU objects to avoid requiring @webgpu/types
5
+ * (following the pattern of the original WebGPUBackend.ts)
6
+ */
7
+ export interface LinePipelineBundle {
8
+ pipeline: any;
9
+ bindGroupLayout: any;
10
+ uniformBuffer: any;
11
+ bindGroup: any;
12
+ vertexStride: number;
13
+ }
14
+ export interface LineUniforms {
15
+ scale: [number, number];
16
+ translate: [number, number];
17
+ color: [number, number, number, number];
18
+ }
19
+ export declare function createLinePipeline(device: any, // GPUDevice
20
+ format: string): LinePipelineBundle;
21
+ export declare function updateLineUniforms(device: any, // GPUDevice
22
+ uniformBuffer: any, // GPUBuffer
23
+ uniforms: LineUniforms): void;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Point Pipeline - WebGPU pipeline for rendering scatter points with SDF symbols
3
+ *
4
+ * Uses instanced rendering where each point is rendered as a quad (2 triangles).
5
+ * Uses `any` types for WebGPU objects to avoid requiring @webgpu/types.
6
+ */
7
+ export interface PointPipelineBundle {
8
+ pipeline: any;
9
+ bindGroupLayout: any;
10
+ uniformBuffer: any;
11
+ bindGroup: any;
12
+ quadBuffer: any;
13
+ vertexStride: number;
14
+ }
15
+ export interface PointUniforms {
16
+ scale: [number, number];
17
+ translate: [number, number];
18
+ color: [number, number, number, number];
19
+ pointSize: number;
20
+ symbol: number;
21
+ viewport: [number, number];
22
+ }
23
+ export declare function createPointPipeline(device: any, // GPUDevice
24
+ format: string): PointPipelineBundle;
25
+ export declare function updatePointUniforms(device: any, // GPUDevice
26
+ uniformBuffer: any, // GPUBuffer
27
+ uniforms: PointUniforms): void;
28
+ export declare const SYMBOL_MAP: Record<string, number>;
@@ -0,0 +1,5 @@
1
+ export interface TrianglePipelineBundle {
2
+ pipeline: any;
3
+ vertexStride: number;
4
+ }
5
+ export declare function createTrianglePipeline(device: any, format: string): TrianglePipelineBundle;
@@ -0,0 +1 @@
1
+ export declare const TRIANGLE_SHADER_WGSL = "\nstruct VSOut {\n @builtin(position) pos: vec4<f32>,\n @location(0) color: vec4<f32>,\n};\n\n@vertex\nfn vs_main(\n @location(0) position: vec2<f32>,\n @location(1) color: vec4<f32>\n) -> VSOut {\n var out: VSOut;\n out.pos = vec4<f32>(position, 0.0, 1.0);\n out.color = color;\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOut) -> @location(0) vec4<f32> {\n return in.color;\n}\n";