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,49 @@
1
+ import { PluginContext, InteractionEvent, PluginManifest } from '../types';
2
+
3
+ export interface RoiPoint {
4
+ x: number;
5
+ y: number;
6
+ }
7
+ export interface RoiRegion {
8
+ id: string;
9
+ tool: "rectangle" | "circle" | "polygon" | "lasso";
10
+ points: RoiPoint[];
11
+ color?: string;
12
+ fill?: string;
13
+ }
14
+ export interface RoiMaskResult {
15
+ regionId: string;
16
+ seriesId: string;
17
+ masks: boolean[];
18
+ }
19
+ export interface RoiSelectedEvent {
20
+ region: RoiRegion;
21
+ seriesIds: string[];
22
+ masks: RoiMaskResult[];
23
+ }
24
+ export interface RoiAPI {
25
+ setTool(tool: RoiTool): void;
26
+ clear(): void;
27
+ getRegions(): RoiRegion[];
28
+ removeRegion(id: string): void;
29
+ calculateMasks(regionId: string): RoiMaskResult[];
30
+ isEnabled(): boolean;
31
+ setEnabled(enabled: boolean): void;
32
+ }
33
+ export type RoiTool = "rectangle" | "circle" | "polygon" | "lasso";
34
+ export interface PluginROIConfig {
35
+ defaultTool?: RoiTool;
36
+ stroke?: string;
37
+ fill?: string;
38
+ enabled?: boolean;
39
+ mask?: boolean;
40
+ }
41
+ export declare const PluginROI: (config?: PluginROIConfig) => {
42
+ manifest: PluginManifest;
43
+ onInit(pluginCtx: PluginContext): void;
44
+ onDestroy(): void;
45
+ onInteraction(_pluginCtx: PluginContext, event: InteractionEvent): void;
46
+ onRenderOverlay(pluginCtx: PluginContext): void;
47
+ api: RoiAPI;
48
+ };
49
+ export type RoiEvent = "roi:selected" | "roi:created" | "roi:cleared";
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @fileoverview Types for ROI (Region of Interest) plugin
3
+ * @module plugins/roi/types
4
+ */
5
+ export type RoiTool = "rectangle" | "polygon" | "lasso" | "circle";
6
+ export interface RoiPoint {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface RoiRegion {
11
+ id: string;
12
+ tool: RoiTool;
13
+ points: RoiPoint[];
14
+ createdAt: number;
15
+ }
16
+ export interface RoiMaskResult {
17
+ seriesId: string;
18
+ indices: number[];
19
+ }
20
+ export interface PluginRoiConfig {
21
+ /** Enable ROI tools (default: true) */
22
+ enabled?: boolean;
23
+ /** Active tools (default: all) */
24
+ tools?: RoiTool[];
25
+ /** Active tool for creation (default: rectangle) */
26
+ defaultTool?: RoiTool;
27
+ /** Whether to mask (filter) data outside ROI (default: false) */
28
+ mask?: boolean;
29
+ /** Persistent regions (default: true) */
30
+ persistent?: boolean;
31
+ /** Allow additive selection (default: true) */
32
+ additive?: boolean;
33
+ /** Stroke color (default: theme accent) */
34
+ stroke?: string;
35
+ /** Fill color (default: rgba(0, 242, 255, 0.15)) */
36
+ fill?: string;
37
+ /** Line width (default: 1.5) */
38
+ lineWidth?: number;
39
+ /** Debug logging (default: false) */
40
+ debug?: boolean;
41
+ }
42
+ export interface RoiEvent {
43
+ region: RoiRegion;
44
+ seriesIds: string[];
45
+ }
46
+ export interface RoiSelectedEvent extends RoiEvent {
47
+ masks: RoiMaskResult[];
48
+ }
49
+ export interface RoiAPI {
50
+ setTool(tool: RoiTool): void;
51
+ getTool(): RoiTool;
52
+ enable(): void;
53
+ disable(): void;
54
+ isEnabled(): boolean;
55
+ clear(): void;
56
+ getRegions(): RoiRegion[];
57
+ selectRegion(id: string): RoiMaskResult[];
58
+ maskSeries(seriesId: string, indices: number[]): void;
59
+ updateConfig(config: Partial<PluginRoiConfig>): void;
60
+ }
@@ -0,0 +1,11 @@
1
+ import { ChartPlugin } from '../types';
2
+ import { PluginSnapshotConfig } from './types';
3
+
4
+ /**
5
+ * SciPlot Snapshot Plugin
6
+ *
7
+ * Captures the current chart view with all layers (WebGL + Overlay).
8
+ */
9
+ export declare function PluginSnapshot(config?: PluginSnapshotConfig): ChartPlugin<PluginSnapshotConfig>;
10
+ export default PluginSnapshot;
11
+ export type { SnapshotFormat, SnapshotResolution, SnapshotExportOptions, SnapshotExportAPI, PluginSnapshotConfig } from './types';
@@ -0,0 +1,38 @@
1
+ /**
2
+ * SciPlot - Snapshot Export Plugin Types
3
+ */
4
+ export type SnapshotFormat = 'png' | 'jpeg' | 'webp';
5
+ /**
6
+ * Snapshot Resolution presets or scale factor
7
+ */
8
+ export type SnapshotResolution = 'standard' | '2k' | '4k' | '8k' | number;
9
+ export interface SnapshotExportOptions {
10
+ /** Image format (default: 'png') */
11
+ format?: SnapshotFormat;
12
+ /** Image quality 0-1 (for jpeg/webp) */
13
+ quality?: number;
14
+ /** Resolution preset or scale factor (default: 'standard') */
15
+ resolution?: SnapshotResolution;
16
+ /** Whether to include the background of the chart (default: true) */
17
+ includeBackground?: boolean;
18
+ /** Whether to include annotations and overlays (default: true) */
19
+ includeOverlays?: boolean;
20
+ /** Custom watermark text */
21
+ watermarkText?: string;
22
+ /** Transparent background (only for png/webp) */
23
+ transparent?: boolean;
24
+ /** Filename for download */
25
+ fileName?: string;
26
+ /** Whether to trigger automatic download */
27
+ download?: boolean;
28
+ }
29
+ export interface SnapshotExportAPI {
30
+ /** Takes a snapshot and returns the data URL or Blob */
31
+ takeSnapshot(options?: SnapshotExportOptions): Promise<string | Blob>;
32
+ /** Takes a snapshot and triggers a browser download */
33
+ downloadSnapshot(options?: SnapshotExportOptions): Promise<void>;
34
+ }
35
+ export interface PluginSnapshotConfig {
36
+ /** Default options for all snapshots */
37
+ defaultOptions?: SnapshotExportOptions;
38
+ }
@@ -0,0 +1,32 @@
1
+ import { ChartPlugin } from '../types';
2
+ /**
3
+ * Sci Plot - Streaming Plugin
4
+ *
5
+ * Provides real-time data streaming capabilities including:
6
+ * - WebSocket connections
7
+ * - Backpressure management
8
+ * - Mock data streaming for testing
9
+ *
10
+ * @module plugins/streaming
11
+ */
12
+ export { createWebSocketStream, } from '../../streaming/websocket';
13
+ export { connectStreamToChart, createMessageParser, } from '../../streaming/utils';
14
+ export { BackpressureManager, CircularBuffer, createBackpressureManager, } from '../../streaming/backpressure';
15
+ export { createMockStream } from '../../streaming/mock';
16
+ export * from '../../streaming/types';
17
+ export interface PluginStreamingConfig {
18
+ /** Default WebSocket URL */
19
+ url?: string;
20
+ /** Backpressure strategy */
21
+ backpressure?: {
22
+ maxBufferSize?: number;
23
+ overflowStrategy?: "drop-oldest" | "drop-newest" | "error";
24
+ };
25
+ }
26
+ /**
27
+ * SciPlot Streaming Plugin
28
+ *
29
+ * Enables seamless integration with real-time data sources.
30
+ */
31
+ export declare function PluginStreaming(_config?: PluginStreamingConfig): ChartPlugin<PluginStreamingConfig>;
32
+ export default PluginStreaming;
@@ -0,0 +1,3 @@
1
+ export * from './streaming/index'
2
+ import SciPlot from './streaming/index'
3
+ export default SciPlot
@@ -0,0 +1,13 @@
1
+ import { B as r, C as s, P as t, a as c, e as n, b as o, d as u, c as g, P as m } from "../index-BMiZoKmm.js";
2
+ export {
3
+ r as BackpressureManager,
4
+ s as CircularBuffer,
5
+ t as PluginStreaming,
6
+ c as connectStreamToChart,
7
+ n as createBackpressureManager,
8
+ o as createMessageParser,
9
+ u as createMockStream,
10
+ g as createWebSocketStream,
11
+ m as default
12
+ };
13
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,22 @@
1
+ import { ChartPlugin } from '../types';
2
+ /**
3
+ * SciPlot Engine - Chart Sync Plugin
4
+ *
5
+ * Provides synchronization between multiple chart instances.
6
+ *
7
+ * @module plugins/sync
8
+ */
9
+ export * from '../../core/sync';
10
+ export interface PluginSyncConfig {
11
+ /** Group ID to join */
12
+ groupId?: string;
13
+ /** Sync axes: 'x' | 'y' | 'both' */
14
+ syncAxes?: "x" | "y" | "both";
15
+ }
16
+ /**
17
+ * SciPlot Sync Plugin
18
+ *
19
+ * Enables smooth coordination and synchronization between separate chart instances.
20
+ */
21
+ export declare function PluginSync(config?: PluginSyncConfig): ChartPlugin<PluginSyncConfig>;
22
+ export default PluginSync;
@@ -0,0 +1,3 @@
1
+ export * from './sync/index'
2
+ import SciPlot from './sync/index'
3
+ export default SciPlot
@@ -0,0 +1,261 @@
1
+ var h = Object.defineProperty;
2
+ var l = (o, t, s) => t in o ? h(o, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : o[t] = s;
3
+ var a = (o, t, s) => l(o, typeof t != "symbol" ? t + "" : t, s);
4
+ class c {
5
+ constructor(t) {
6
+ a(this, "charts", /* @__PURE__ */ new Map());
7
+ a(this, "options");
8
+ a(this, "eventHandlers", /* @__PURE__ */ new Map());
9
+ a(this, "isUpdating", !1);
10
+ a(this, "debounceTimers", /* @__PURE__ */ new Map());
11
+ this.options = {
12
+ axis: "x",
13
+ syncCursor: !0,
14
+ syncSelection: !1,
15
+ syncZoom: !0,
16
+ syncPan: !0,
17
+ debounce: 0,
18
+ bidirectional: !0,
19
+ ...t
20
+ };
21
+ }
22
+ /**
23
+ * Add a chart to the group
24
+ */
25
+ add(t) {
26
+ const s = t.getId();
27
+ return this.charts.has(s) ? (console.warn(`[ChartGroup] Chart ${s} is already in the group`), this) : (this.charts.set(s, t), this.attachEventHandlers(t), this);
28
+ }
29
+ /**
30
+ * Add multiple charts at once
31
+ */
32
+ addAll(...t) {
33
+ for (const s of t)
34
+ this.add(s);
35
+ return this;
36
+ }
37
+ /**
38
+ * Remove a chart from the group
39
+ */
40
+ remove(t) {
41
+ const s = t.getId();
42
+ return this.charts.has(s) ? (this.detachEventHandlers(t), this.charts.delete(s), this) : this;
43
+ }
44
+ /**
45
+ * Get all charts in the group
46
+ */
47
+ getCharts() {
48
+ return Array.from(this.charts.values());
49
+ }
50
+ /**
51
+ * Get chart count
52
+ */
53
+ size() {
54
+ return this.charts.size;
55
+ }
56
+ /**
57
+ * Check if a chart is in the group
58
+ */
59
+ has(t) {
60
+ return this.charts.has(t.getId());
61
+ }
62
+ /**
63
+ * Set synchronization axis
64
+ */
65
+ syncAxis(t) {
66
+ return this.options.axis = t, this;
67
+ }
68
+ /**
69
+ * Enable/disable cursor synchronization
70
+ */
71
+ syncCursor(t) {
72
+ return this.options.syncCursor = t, this;
73
+ }
74
+ /**
75
+ * Enable/disable selection synchronization
76
+ */
77
+ syncSelection(t) {
78
+ return this.options.syncSelection = t, this;
79
+ }
80
+ /**
81
+ * Synchronize all charts to a specific view
82
+ */
83
+ syncTo(t, s) {
84
+ this.propagateZoom(s || "", t);
85
+ }
86
+ /**
87
+ * Reset all charts to auto-scale
88
+ */
89
+ resetAll() {
90
+ for (const t of this.charts.values())
91
+ t.zoom({ x: void 0, y: void 0 });
92
+ }
93
+ /**
94
+ * Clear all selections in the group
95
+ */
96
+ clearAllSelections() {
97
+ var t;
98
+ for (const s of this.charts.values())
99
+ (t = s.clearSelection) == null || t.call(s);
100
+ }
101
+ /**
102
+ * Destroy the group and cleanup
103
+ */
104
+ destroy() {
105
+ for (const t of this.charts.values())
106
+ this.detachEventHandlers(t);
107
+ this.charts.clear(), this.eventHandlers.clear();
108
+ for (const t of this.debounceTimers.values())
109
+ clearTimeout(t);
110
+ this.debounceTimers.clear();
111
+ }
112
+ // ============================================
113
+ // Private Methods
114
+ // ============================================
115
+ attachEventHandlers(t) {
116
+ const s = t.getId(), i = /* @__PURE__ */ new Map();
117
+ if (this.options.syncZoom) {
118
+ const n = (...e) => {
119
+ const r = e[0];
120
+ this.handleZoom(s, r);
121
+ };
122
+ t.on("zoom", n), i.set("zoom", n);
123
+ }
124
+ if (this.options.syncPan) {
125
+ const n = (...e) => {
126
+ const r = e[0];
127
+ this.handlePan(s, r);
128
+ };
129
+ t.on("pan", n), i.set("pan", n);
130
+ }
131
+ if (this.options.syncCursor) {
132
+ const n = (...e) => {
133
+ const r = e[0];
134
+ this.handleCursor(s, r);
135
+ };
136
+ t.on("hover", n), i.set("hover", n);
137
+ }
138
+ if (this.options.syncSelection) {
139
+ const n = (...e) => {
140
+ const r = e[0];
141
+ this.handleSelection(s, r);
142
+ };
143
+ t.on("selectionChange", n), i.set("selectionChange", n);
144
+ }
145
+ this.eventHandlers.set(s, i);
146
+ }
147
+ detachEventHandlers(t) {
148
+ const s = t.getId(), i = this.eventHandlers.get(s);
149
+ if (i) {
150
+ for (const [n, e] of i.entries())
151
+ t.off(n, e);
152
+ this.eventHandlers.delete(s);
153
+ }
154
+ }
155
+ handleZoom(t, s) {
156
+ if (this.isUpdating) return;
157
+ const i = {};
158
+ (this.options.axis === "x" || this.options.axis === "xy") && (i.xMin = s.x[0], i.xMax = s.x[1]), (this.options.axis === "y" || this.options.axis === "xy") && (i.yMin = s.y[0], i.yMax = s.y[1]), this.debounceAction(`zoom-${t}`, () => {
159
+ this.propagateZoom(t, i);
160
+ });
161
+ }
162
+ handlePan(t, s) {
163
+ if (this.isUpdating) return;
164
+ const i = this.options.axis === "x" || this.options.axis === "xy" ? s.deltaX : 0, n = this.options.axis === "y" || this.options.axis === "xy" ? s.deltaY : 0;
165
+ i === 0 && n === 0 || this.debounceAction(`pan-${t}`, () => {
166
+ this.propagatePan(t, i, n);
167
+ });
168
+ }
169
+ handleCursor(t, s) {
170
+ var i, n;
171
+ if (!this.isUpdating)
172
+ for (const [e, r] of this.charts.entries())
173
+ e !== t && (s != null && s.point ? (i = r.setExternalCursor) == null || i.call(r, s.point.x, s.point.y) : (n = r.clearExternalCursor) == null || n.call(r));
174
+ }
175
+ handleSelection(t, s) {
176
+ if (!(this.isUpdating || !this.options.syncSelection))
177
+ for (const [i, n] of this.charts.entries())
178
+ ;
179
+ }
180
+ propagateZoom(t, s) {
181
+ if (!this.isUpdating) {
182
+ this.isUpdating = !0;
183
+ try {
184
+ for (const [i, n] of this.charts.entries()) {
185
+ if (i === t && !this.options.bidirectional || i === t) continue;
186
+ const e = {
187
+ animate: !1
188
+ };
189
+ s.xMin !== void 0 && s.xMax !== void 0 && (e.x = [s.xMin, s.xMax]), s.yMin !== void 0 && s.yMax !== void 0 && (e.y = [s.yMin, s.yMax]), n.zoom(e);
190
+ }
191
+ } finally {
192
+ this.isUpdating = !1;
193
+ }
194
+ }
195
+ }
196
+ propagatePan(t, s, i) {
197
+ if (!this.isUpdating) {
198
+ this.isUpdating = !0;
199
+ try {
200
+ for (const [n, e] of this.charts.entries())
201
+ n !== t && e.pan(s, i);
202
+ } finally {
203
+ this.isUpdating = !1;
204
+ }
205
+ }
206
+ }
207
+ debounceAction(t, s) {
208
+ if (this.options.debounce <= 0) {
209
+ s();
210
+ return;
211
+ }
212
+ const i = this.debounceTimers.get(t);
213
+ i && clearTimeout(i);
214
+ const n = window.setTimeout(() => {
215
+ this.debounceTimers.delete(t), s();
216
+ }, this.options.debounce);
217
+ this.debounceTimers.set(t, n);
218
+ }
219
+ }
220
+ function d(o, t) {
221
+ const s = new c(t);
222
+ return s.addAll(...o), s;
223
+ }
224
+ function p(o, t, s) {
225
+ return d([o, t], s);
226
+ }
227
+ function y(o, t, s = "x") {
228
+ return new c({
229
+ axis: s,
230
+ bidirectional: !1,
231
+ syncCursor: !0,
232
+ syncZoom: !0,
233
+ syncPan: !0
234
+ }).addAll(o, t);
235
+ }
236
+ const u = {
237
+ name: "velo-plot-sync",
238
+ version: "1.0.0",
239
+ description: "Multi-chart synchronization for velo-plot",
240
+ provides: ["interaction"],
241
+ tags: ["sync", "multi-chart", "coordination"]
242
+ };
243
+ function x(o = {}) {
244
+ return {
245
+ manifest: u,
246
+ onInit(t) {
247
+ o.groupId;
248
+ },
249
+ onDestroy(t) {
250
+ }
251
+ };
252
+ }
253
+ export {
254
+ c as ChartGroup,
255
+ x as PluginSync,
256
+ d as createChartGroup,
257
+ y as createMasterSlave,
258
+ x as default,
259
+ p as linkCharts
260
+ };
261
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sources":["../../src/core/sync/index.ts","../../src/plugins/sync/index.ts"],"sourcesContent":["/**\n * Sci Plot - Chart Synchronization Module\n * \n * Provides synchronization between multiple charts:\n * - Synchronized zoom/pan (X, Y, or both)\n * - Shared crosshair cursor\n * - Coordinated selection\n * - Event propagation between linked charts\n * \n * @module sync\n */\n\nimport type { Bounds, Range } from \"../../types\";\n\n// ============================================\n// Types\n// ============================================\n\nexport type SyncAxis = 'x' | 'y' | 'xy' | 'none';\n\nexport interface SyncOptions {\n /** Synchronize axis (default: 'x') */\n axis?: SyncAxis;\n /** Synchronize cursor position (default: true) */\n syncCursor?: boolean;\n /** Synchronize selection state (default: false) */\n syncSelection?: boolean;\n /** Synchronize zoom level (default: true) */\n syncZoom?: boolean;\n /** Synchronize pan (default: true) */\n syncPan?: boolean;\n /** Debounce time for sync events in ms (default: 0) */\n debounce?: number;\n /** Enable bidirectional sync (default: true) */\n bidirectional?: boolean;\n}\n\nexport interface ChartLike {\n /** Unique identifier for the chart */\n getId(): string;\n /** Get current view bounds */\n getViewBounds(): Bounds;\n /** Set view bounds (zoom) */\n zoom(options: { x?: Range; y?: Range; animate?: boolean }): void;\n /** Pan the chart */\n pan(dx: number, dy: number): void;\n /** Get cursor position */\n getCursorPosition?(): { x: number; y: number } | null;\n /** Set external cursor position */\n setExternalCursor?(x: number, y: number): void;\n /** Clear external cursor */\n clearExternalCursor?(): void;\n /** Get selected points */\n getSelectedPoints?(): { seriesId: string; indices: number[] }[];\n /** Set selection */\n selectPoints?(points: { seriesId: string; indices: number[] }[]): void;\n /** Clear selection */\n clearSelection?(): void;\n /** Subscribe to events */\n on(event: string, callback: (...args: unknown[]) => void): void;\n /** Unsubscribe from events */\n off(event: string, callback: (...args: unknown[]) => void): void;\n}\n\nexport interface SyncEvent {\n /** Source chart ID */\n sourceId: string;\n /** Event type */\n type: 'zoom' | 'pan' | 'cursor' | 'selection' | 'bounds';\n /** Event data */\n data: unknown;\n}\n\n// ============================================\n// Chart Group Implementation\n// ============================================\n\nexport class ChartGroup {\n private charts: Map<string, ChartLike> = new Map();\n private options: Required<SyncOptions>;\n private eventHandlers: Map<string, Map<string, (...args: unknown[]) => void>> = new Map();\n private isUpdating: boolean = false;\n private debounceTimers: Map<string, number> = new Map();\n\n constructor(options?: SyncOptions) {\n this.options = {\n axis: 'x',\n syncCursor: true,\n syncSelection: false,\n syncZoom: true,\n syncPan: true,\n debounce: 0,\n bidirectional: true,\n ...options,\n };\n }\n\n /**\n * Add a chart to the group\n */\n add(chart: ChartLike): this {\n const chartId = chart.getId();\n \n if (this.charts.has(chartId)) {\n console.warn(`[ChartGroup] Chart ${chartId} is already in the group`);\n return this;\n }\n\n this.charts.set(chartId, chart);\n this.attachEventHandlers(chart);\n \n return this;\n }\n\n /**\n * Add multiple charts at once\n */\n addAll(...charts: ChartLike[]): this {\n for (const chart of charts) {\n this.add(chart);\n }\n return this;\n }\n\n /**\n * Remove a chart from the group\n */\n remove(chart: ChartLike): this {\n const chartId = chart.getId();\n \n if (!this.charts.has(chartId)) {\n return this;\n }\n\n this.detachEventHandlers(chart);\n this.charts.delete(chartId);\n \n return this;\n }\n\n /**\n * Get all charts in the group\n */\n getCharts(): ChartLike[] {\n return Array.from(this.charts.values());\n }\n\n /**\n * Get chart count\n */\n size(): number {\n return this.charts.size;\n }\n\n /**\n * Check if a chart is in the group\n */\n has(chart: ChartLike): boolean {\n return this.charts.has(chart.getId());\n }\n\n /**\n * Set synchronization axis\n */\n syncAxis(axis: SyncAxis): this {\n this.options.axis = axis;\n return this;\n }\n\n /**\n * Enable/disable cursor synchronization\n */\n syncCursor(enabled: boolean): this {\n this.options.syncCursor = enabled;\n return this;\n }\n\n /**\n * Enable/disable selection synchronization\n */\n syncSelection(enabled: boolean): this {\n this.options.syncSelection = enabled;\n return this;\n }\n\n /**\n * Synchronize all charts to a specific view\n */\n syncTo(bounds: Partial<Bounds>, excludeChartId?: string): void {\n this.propagateZoom(excludeChartId || '', bounds);\n }\n\n /**\n * Reset all charts to auto-scale\n */\n resetAll(): void {\n for (const chart of this.charts.values()) {\n chart.zoom({ x: undefined, y: undefined });\n }\n }\n\n /**\n * Clear all selections in the group\n */\n clearAllSelections(): void {\n for (const chart of this.charts.values()) {\n chart.clearSelection?.();\n }\n }\n\n /**\n * Destroy the group and cleanup\n */\n destroy(): void {\n for (const chart of this.charts.values()) {\n this.detachEventHandlers(chart);\n }\n this.charts.clear();\n this.eventHandlers.clear();\n \n // Clear any pending debounce timers\n for (const timerId of this.debounceTimers.values()) {\n clearTimeout(timerId);\n }\n this.debounceTimers.clear();\n }\n\n // ============================================\n // Private Methods\n // ============================================\n\n private attachEventHandlers(chart: ChartLike): void {\n const chartId = chart.getId();\n const handlers = new Map<string, (...args: unknown[]) => void>();\n\n // Zoom handler\n if (this.options.syncZoom) {\n const zoomHandler = (...args: unknown[]) => {\n const e = args[0] as { x: Range; y: Range };\n this.handleZoom(chartId, e);\n };\n chart.on('zoom', zoomHandler);\n handlers.set('zoom', zoomHandler);\n }\n\n // Pan handler\n if (this.options.syncPan) {\n const panHandler = (...args: unknown[]) => {\n const e = args[0] as { deltaX: number; deltaY: number };\n this.handlePan(chartId, e);\n };\n chart.on('pan', panHandler);\n handlers.set('pan', panHandler);\n }\n\n // Cursor handler\n if (this.options.syncCursor) {\n const hoverHandler = (...args: unknown[]) => {\n const e = args[0] as { point?: { x: number; y: number } } | null;\n this.handleCursor(chartId, e);\n };\n chart.on('hover', hoverHandler);\n handlers.set('hover', hoverHandler);\n }\n\n // Selection handler\n if (this.options.syncSelection) {\n const selectionHandler = (...args: unknown[]) => {\n const e = args[0] as { selected: unknown[] };\n this.handleSelection(chartId, e);\n };\n chart.on('selectionChange', selectionHandler);\n handlers.set('selectionChange', selectionHandler);\n }\n\n this.eventHandlers.set(chartId, handlers);\n }\n\n private detachEventHandlers(chart: ChartLike): void {\n const chartId = chart.getId();\n const handlers = this.eventHandlers.get(chartId);\n \n if (!handlers) return;\n\n for (const [event, handler] of handlers.entries()) {\n chart.off(event, handler);\n }\n\n this.eventHandlers.delete(chartId);\n }\n\n private handleZoom(sourceId: string, event: { x: Range; y: Range }): void {\n if (this.isUpdating) return;\n \n const bounds: Partial<Bounds> = {};\n \n if (this.options.axis === 'x' || this.options.axis === 'xy') {\n bounds.xMin = event.x[0];\n bounds.xMax = event.x[1];\n }\n \n if (this.options.axis === 'y' || this.options.axis === 'xy') {\n bounds.yMin = event.y[0];\n bounds.yMax = event.y[1];\n }\n\n this.debounceAction(`zoom-${sourceId}`, () => {\n this.propagateZoom(sourceId, bounds);\n });\n }\n\n private handlePan(sourceId: string, event: { deltaX: number; deltaY: number }): void {\n if (this.isUpdating) return;\n\n const dx = (this.options.axis === 'x' || this.options.axis === 'xy') ? event.deltaX : 0;\n const dy = (this.options.axis === 'y' || this.options.axis === 'xy') ? event.deltaY : 0;\n\n if (dx === 0 && dy === 0) return;\n\n this.debounceAction(`pan-${sourceId}`, () => {\n this.propagatePan(sourceId, dx, dy);\n });\n }\n\n private handleCursor(sourceId: string, event: { point?: { x: number; y: number } } | null): void {\n if (this.isUpdating) return;\n\n for (const [chartId, chart] of this.charts.entries()) {\n if (chartId === sourceId) continue;\n \n if (event?.point) {\n chart.setExternalCursor?.(event.point.x, event.point.y);\n } else {\n chart.clearExternalCursor?.();\n }\n }\n }\n\n private handleSelection(sourceId: string, _event: { selected: unknown[] }): void {\n if (this.isUpdating || !this.options.syncSelection) return;\n\n // Selection sync is more complex - we need to map indices across charts\n // For now, just clear selection on other charts when one changes\n for (const [chartId, _chart] of this.charts.entries()) {\n if (chartId === sourceId) continue;\n // In a full implementation, you'd map selection by data values\n // For basic sync, we just notify that selection changed\n }\n }\n\n private propagateZoom(sourceId: string, bounds: Partial<Bounds>): void {\n if (this.isUpdating) return;\n \n this.isUpdating = true;\n\n try {\n for (const [chartId, chart] of this.charts.entries()) {\n if (chartId === sourceId && !this.options.bidirectional) continue;\n if (chartId === sourceId) continue;\n\n const zoomOptions: { x?: Range; y?: Range; animate?: boolean } = {\n animate: false,\n };\n\n if (bounds.xMin !== undefined && bounds.xMax !== undefined) {\n zoomOptions.x = [bounds.xMin, bounds.xMax];\n }\n\n if (bounds.yMin !== undefined && bounds.yMax !== undefined) {\n zoomOptions.y = [bounds.yMin, bounds.yMax];\n }\n\n chart.zoom(zoomOptions);\n }\n } finally {\n this.isUpdating = false;\n }\n }\n\n private propagatePan(sourceId: string, dx: number, dy: number): void {\n if (this.isUpdating) return;\n \n this.isUpdating = true;\n\n try {\n for (const [chartId, chart] of this.charts.entries()) {\n if (chartId === sourceId) continue;\n chart.pan(dx, dy);\n }\n } finally {\n this.isUpdating = false;\n }\n }\n\n private debounceAction(key: string, action: () => void): void {\n if (this.options.debounce <= 0) {\n action();\n return;\n }\n\n // Clear existing timer\n const existingTimer = this.debounceTimers.get(key);\n if (existingTimer) {\n clearTimeout(existingTimer);\n }\n\n // Set new timer\n const timerId = window.setTimeout(() => {\n this.debounceTimers.delete(key);\n action();\n }, this.options.debounce);\n\n this.debounceTimers.set(key, timerId);\n }\n}\n\n// ============================================\n// Convenience Functions\n// ============================================\n\n/**\n * Create a chart group with specified charts\n */\nexport function createChartGroup(\n charts: ChartLike[],\n options?: SyncOptions\n): ChartGroup {\n const group = new ChartGroup(options);\n group.addAll(...charts);\n return group;\n}\n\n/**\n * Link two charts for synchronized viewing\n */\nexport function linkCharts(\n chart1: ChartLike,\n chart2: ChartLike,\n options?: SyncOptions\n): ChartGroup {\n return createChartGroup([chart1, chart2], options);\n}\n\n/**\n * Create a master-slave relationship (master controls slave)\n */\nexport function createMasterSlave(\n master: ChartLike,\n slave: ChartLike,\n axis: SyncAxis = 'x'\n): ChartGroup {\n return new ChartGroup({\n axis,\n bidirectional: false,\n syncCursor: true,\n syncZoom: true,\n syncPan: true,\n }).addAll(master, slave);\n}\n","/**\n * SciPlot Engine - Chart Sync Plugin\n * \n * Provides synchronization between multiple chart instances.\n * \n * @module plugins/sync\n */\n\nexport * from \"../../core/sync\";\n\nimport type { PluginManifest, ChartPlugin, PluginContext } from \"../types\";\n\nexport interface PluginSyncConfig {\n /** Group ID to join */\n groupId?: string;\n /** Sync axes: 'x' | 'y' | 'both' */\n syncAxes?: \"x\" | \"y\" | \"both\";\n}\n\nconst manifestSync: PluginManifest = {\n name: \"velo-plot-sync\",\n version: \"1.0.0\",\n description: \"Multi-chart synchronization for velo-plot\",\n provides: [\"interaction\"],\n tags: [\"sync\", \"multi-chart\", \"coordination\"],\n};\n\n/**\n * SciPlot Sync Plugin\n * \n * Enables smooth coordination and synchronization between separate chart instances.\n */\nexport function PluginSync(config: PluginSyncConfig = {}): ChartPlugin<PluginSyncConfig> {\n void config;\n return {\n manifest: manifestSync,\n\n onInit(_ctx: PluginContext) { \n if (config.groupId) {\n // Join the specified group\n }\n },\n\n onDestroy(_ctx: PluginContext) {\n }\n };\n}\n\nexport default PluginSync;\n"],"names":["ChartGroup","options","__publicField","chart","chartId","charts","axis","enabled","bounds","excludeChartId","_a","timerId","handlers","zoomHandler","args","e","panHandler","hoverHandler","selectionHandler","event","handler","sourceId","dx","dy","_b","_event","_chart","zoomOptions","key","action","existingTimer","createChartGroup","group","linkCharts","chart1","chart2","createMasterSlave","master","slave","manifestSync","PluginSync","config","_ctx"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ThemeEditor, EditorTheme, ThemePreset } from '../../core/theme-editor';
2
+ import { ChartPlugin } from '../types';
3
+
4
+ export interface PluginThemeEditorConfig {
5
+ /** Initial theme to edit */
6
+ initialTheme?: string;
7
+ /** Position in the UI */
8
+ position?: "left" | "right";
9
+ }
10
+ /**
11
+ * SciPlot Theme Editor Plugin
12
+ *
13
+ * Adds a visual panel to customize chart colors and styles.
14
+ */
15
+ export declare function PluginThemeEditor(_config?: PluginThemeEditorConfig): ChartPlugin<PluginThemeEditorConfig>;
16
+ export { ThemeEditor };
17
+ export type { EditorTheme, ThemePreset };
18
+ export default PluginThemeEditor;
@@ -0,0 +1,3 @@
1
+ export * from './theme-editor/index'
2
+ import SciPlot from './theme-editor/index'
3
+ export default SciPlot
@@ -0,0 +1,7 @@
1
+ import { P as o, T as r, P as t } from "../index-Dag88bW4.js";
2
+ export {
3
+ o as PluginThemeEditor,
4
+ r as ThemeEditor,
5
+ t as default
6
+ };
7
+ //# sourceMappingURL=theme-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-editor.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}