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.
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/EventEmitter-DAbs2K1C.js +60 -0
- package/dist/EventEmitter-DAbs2K1C.js.map +1 -0
- package/dist/core/Chart.d.ts +15 -0
- package/dist/core/ChartControls.d.ts +41 -0
- package/dist/core/ChartInitQueue.d.ts +50 -0
- package/dist/core/ChartLegend.d.ts +74 -0
- package/dist/core/ChartStatistics.d.ts +18 -0
- package/dist/core/EventEmitter.d.ts +30 -0
- package/dist/core/InteractionManager.d.ts +96 -0
- package/dist/core/OverlayRenderer.d.ts +89 -0
- package/dist/core/Series.d.ts +4 -0
- package/dist/core/animation/AnimationEngine.d.ts +156 -0
- package/dist/core/animation/index.d.ts +6 -0
- package/dist/core/annotations/AnnotationManager.d.ts +61 -0
- package/dist/core/annotations/index.d.ts +5 -0
- package/dist/core/annotations/types.d.ts +159 -0
- package/dist/core/chart/ChartAnimatedNavigation.d.ts +53 -0
- package/dist/core/chart/ChartAxisManager.d.ts +61 -0
- package/dist/core/chart/ChartCore.d.ts +336 -0
- package/dist/core/chart/ChartExporter.d.ts +18 -0
- package/dist/core/chart/ChartNavigation.d.ts +33 -0
- package/dist/core/chart/ChartPluginBridge.d.ts +34 -0
- package/dist/core/chart/ChartRenderLoop.d.ts +100 -0
- package/dist/core/chart/ChartRenderer.d.ts +52 -0
- package/dist/core/chart/ChartScaling.d.ts +31 -0
- package/dist/core/chart/ChartSeries.d.ts +4 -0
- package/dist/core/chart/ChartSetup.d.ts +67 -0
- package/dist/core/chart/ChartStateManager.d.ts +54 -0
- package/dist/core/chart/ChartUI.d.ts +40 -0
- package/dist/core/chart/exporter/SVGExporter.d.ts +6 -0
- package/dist/core/chart/exporter/index.d.ts +5 -0
- package/dist/core/chart/index.d.ts +14 -0
- package/dist/core/chart/series/SeriesActions.d.ts +7 -0
- package/dist/core/chart/series/SeriesBuffer.d.ts +4 -0
- package/dist/core/chart/series/index.d.ts +6 -0
- package/dist/core/chart/series/types.d.ts +22 -0
- package/dist/core/chart/types.d.ts +188 -0
- package/dist/core/clipboard/index.d.ts +137 -0
- package/dist/core/debug/index.d.ts +143 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/keybindings/index.d.ts +157 -0
- package/dist/core/layout/index.d.ts +12 -0
- package/dist/core/layout/types.d.ts +165 -0
- package/dist/core/loading/index.d.ts +104 -0
- package/dist/core/locale/index.d.ts +91 -0
- package/dist/core/responsive/ResponsiveManager.d.ts +133 -0
- package/dist/core/responsive/index.d.ts +4 -0
- package/dist/core/selection/SelectionManager.d.ts +165 -0
- package/dist/core/selection/index.d.ts +4 -0
- package/dist/core/series/Series.d.ts +73 -0
- package/dist/core/series/SeriesBounds.d.ts +3 -0
- package/dist/core/series/SeriesDataUtils.d.ts +7 -0
- package/dist/core/series/index.d.ts +6 -0
- package/dist/core/sync/index.d.ts +147 -0
- package/dist/core/theme-editor/index.d.ts +122 -0
- package/dist/examples/PluginDemonstration.d.ts +20 -0
- package/dist/examples.d.ts +25 -0
- package/dist/gpu/adapter/gpuRenderer.d.ts +135 -0
- package/dist/gpu/adapter/index.d.ts +7 -0
- package/dist/gpu/adapter/seriesAdapter.d.ts +88 -0
- package/dist/gpu/backends/webgl/WebGLBackend.d.ts +42 -0
- package/dist/gpu/backends/webgl/index.d.ts +5 -0
- package/dist/gpu/backends/webgl/programFactory.d.ts +30 -0
- package/dist/gpu/backends/webgl/shaders.d.ts +14 -0
- package/dist/gpu/backends/webgpu/MassiveDataRenderer.d.ts +111 -0
- package/dist/gpu/backends/webgpu/WebGPUBackend.d.ts +58 -0
- package/dist/gpu/backends/webgpu/pipelines/bandPipeline.d.ts +24 -0
- package/dist/gpu/backends/webgpu/pipelines/heatmapPipeline.d.ts +28 -0
- package/dist/gpu/backends/webgpu/pipelines/index.d.ts +10 -0
- package/dist/gpu/backends/webgpu/pipelines/instancedLinePipeline.d.ts +23 -0
- package/dist/gpu/backends/webgpu/pipelines/instancedPointPipeline.d.ts +25 -0
- package/dist/gpu/backends/webgpu/pipelines/linePipeline.d.ts +23 -0
- package/dist/gpu/backends/webgpu/pipelines/pointPipeline.d.ts +28 -0
- package/dist/gpu/backends/webgpu/pipelines/trianglePipeline.d.ts +5 -0
- package/dist/gpu/backends/webgpu/pipelines/triangleShader.d.ts +1 -0
- package/dist/gpu/backends/webgpu/shaders/heatmap.wgsl.d.ts +8 -0
- package/dist/gpu/backends/webgpu/shaders/index.d.ts +8 -0
- package/dist/gpu/backends/webgpu/shaders/instanced.wgsl.d.ts +16 -0
- package/dist/gpu/backends/webgpu/shaders/line.wgsl.d.ts +8 -0
- package/dist/gpu/backends/webgpu/shaders/point.wgsl.d.ts +9 -0
- package/dist/gpu/benchmark/benchmark.d.ts +74 -0
- package/dist/gpu/benchmark/index.d.ts +5 -0
- package/dist/gpu/compute/gpuCompute.d.ts +72 -0
- package/dist/gpu/compute/index.d.ts +6 -0
- package/dist/gpu/compute/shaders.d.ts +9 -0
- package/dist/gpu/drawList.d.ts +77 -0
- package/dist/gpu/examples/gallery.d.ts +20 -0
- package/dist/gpu/examples/index.d.ts +3 -0
- package/dist/gpu/examples/webgpu-line-demo.d.ts +8 -0
- package/dist/gpu/examples/webgpu-triangle.d.ts +1 -0
- package/dist/gpu/frame.d.ts +25 -0
- package/dist/gpu/index.d.ts +24 -0
- package/dist/gpu/resources/bufferStore.d.ts +40 -0
- package/dist/gpu/resources/index.d.ts +9 -0
- package/dist/gpu/resources/pipelineCache.d.ts +33 -0
- package/dist/gpu/resources/textureStore.d.ts +41 -0
- package/dist/gpu/types.d.ts +47 -0
- package/dist/index-BMiZoKmm.js +536 -0
- package/dist/index-BMiZoKmm.js.map +1 -0
- package/dist/index-Ce2JgkH_.js +282 -0
- package/dist/index-Ce2JgkH_.js.map +1 -0
- package/dist/index-D8ifudJH.js +2431 -0
- package/dist/index-D8ifudJH.js.map +1 -0
- package/dist/index-Dag88bW4.js +499 -0
- package/dist/index-Dag88bW4.js.map +1 -0
- package/dist/index-qhscKTDy.js +309 -0
- package/dist/index-qhscKTDy.js.map +1 -0
- package/dist/index-x4stH3jD.js +282 -0
- package/dist/index-x4stH3jD.js.map +1 -0
- package/dist/index.core-CYu3tydL.js +7252 -0
- package/dist/index.core-CYu3tydL.js.map +1 -0
- package/dist/index.core.d.ts +20 -0
- package/dist/index.d.ts +51 -0
- package/dist/overlay/CanvasOverlay.d.ts +102 -0
- package/dist/overlay/index.d.ts +4 -0
- package/dist/plugins/3d/Area3DRenderer.d.ts +122 -0
- package/dist/plugins/3d/Axes3D.d.ts +104 -0
- package/dist/plugins/3d/Bubble3DRenderer.d.ts +198 -0
- package/dist/plugins/3d/Impulse3DRenderer.d.ts +130 -0
- package/dist/plugins/3d/Line3DRenderer.d.ts +118 -0
- package/dist/plugins/3d/PointCloud3DRenderer.d.ts +84 -0
- package/dist/plugins/3d/Raycaster3D.d.ts +137 -0
- package/dist/plugins/3d/Ribbon3DRenderer.d.ts +83 -0
- package/dist/plugins/3d/SurfaceBar3DRenderer.d.ts +92 -0
- package/dist/plugins/3d/SurfaceMesh3DRenderer.d.ts +130 -0
- package/dist/plugins/3d/Tooltip3D.d.ts +71 -0
- package/dist/plugins/3d/VectorField3DRenderer.d.ts +86 -0
- package/dist/plugins/3d/Voxel3DRenderer.d.ts +89 -0
- package/dist/plugins/3d/Waterfall3DRenderer.d.ts +94 -0
- package/dist/plugins/3d/camera/OrbitCamera.d.ts +99 -0
- package/dist/plugins/3d/camera/index.d.ts +1 -0
- package/dist/plugins/3d/colorThemes.d.ts +39 -0
- package/dist/plugins/3d/controls/OrbitController.d.ts +69 -0
- package/dist/plugins/3d/controls/index.d.ts +1 -0
- package/dist/plugins/3d/index.d.ts +50 -0
- package/dist/plugins/3d/math/Mat4.d.ts +33 -0
- package/dist/plugins/3d/math/Vec3.d.ts +37 -0
- package/dist/plugins/3d/math/index.d.ts +4 -0
- package/dist/plugins/3d/mesh/InstancedMesh.d.ts +42 -0
- package/dist/plugins/3d/mesh/geometry.d.ts +34 -0
- package/dist/plugins/3d/mesh/index.d.ts +2 -0
- package/dist/plugins/3d/series/Area3D.d.ts +17 -0
- package/dist/plugins/3d/series/Column3D.d.ts +20 -0
- package/dist/plugins/3d/series/Heatmap3D.d.ts +17 -0
- package/dist/plugins/3d/series/Impulse3D.d.ts +16 -0
- package/dist/plugins/3d/series/PointLine3D.d.ts +20 -0
- package/dist/plugins/3d/series/Ribbon3D.d.ts +17 -0
- package/dist/plugins/3d/series/Scatter3D.d.ts +21 -0
- package/dist/plugins/3d/series/SurfaceMesh3D.d.ts +35 -0
- package/dist/plugins/3d/series/Waterfall3D.d.ts +38 -0
- package/dist/plugins/3d/series/index.d.ts +13 -0
- package/dist/plugins/3d/series/types.d.ts +143 -0
- package/dist/plugins/3d/shader/index.d.ts +2 -0
- package/dist/plugins/3d/shader/programs.d.ts +24 -0
- package/dist/plugins/3d/shader/sources.d.ts +27 -0
- package/dist/plugins/3d/types.d.ts +71 -0
- package/dist/plugins/3d.d.ts +3 -0
- package/dist/plugins/3d.js +5498 -0
- package/dist/plugins/3d.js.map +1 -0
- package/dist/plugins/PluginContext.d.ts +53 -0
- package/dist/plugins/PluginManager.d.ts +129 -0
- package/dist/plugins/PluginRegistry.d.ts +38 -0
- package/dist/plugins/analysis/SeriesFit.d.ts +3 -0
- package/dist/plugins/analysis/contours.d.ts +20 -0
- package/dist/plugins/analysis/fft.d.ts +138 -0
- package/dist/plugins/analysis/filters.d.ts +76 -0
- package/dist/plugins/analysis/fitting.d.ts +24 -0
- package/dist/plugins/analysis/index.d.ts +29 -0
- package/dist/plugins/analysis/indicators.d.ts +148 -0
- package/dist/plugins/analysis/math.d.ts +32 -0
- package/dist/plugins/analysis/statistics.d.ts +78 -0
- package/dist/plugins/analysis/utils.d.ts +150 -0
- package/dist/plugins/analysis.d.ts +3 -0
- package/dist/plugins/analysis.js +1202 -0
- package/dist/plugins/analysis.js.map +1 -0
- package/dist/plugins/annotations/index.d.ts +16 -0
- package/dist/plugins/annotations.d.ts +3 -0
- package/dist/plugins/annotations.js +438 -0
- package/dist/plugins/annotations.js.map +1 -0
- package/dist/plugins/anomaly-detection/algorithms.d.ts +38 -0
- package/dist/plugins/anomaly-detection/index.d.ts +16 -0
- package/dist/plugins/anomaly-detection/types.d.ts +57 -0
- package/dist/plugins/broken-axis/BrokenAxisScale.d.ts +24 -0
- package/dist/plugins/broken-axis/exports.d.ts +6 -0
- package/dist/plugins/broken-axis/index.d.ts +6 -0
- package/dist/plugins/broken-axis/types.d.ts +50 -0
- package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +40 -0
- package/dist/plugins/builtins/crosshair/index.d.ts +1 -0
- package/dist/plugins/builtins/data-logger/DataLoggerPlugin.d.ts +11 -0
- package/dist/plugins/builtins/data-logger/index.d.ts +1 -0
- package/dist/plugins/builtins/direction-indicator/DirectionIndicatorPlugin.d.ts +17 -0
- package/dist/plugins/builtins/direction-indicator/index.d.ts +2 -0
- package/dist/plugins/builtins/grid-highlight/GridHighlightPlugin.d.ts +17 -0
- package/dist/plugins/builtins/grid-highlight/index.d.ts +1 -0
- package/dist/plugins/builtins/index.d.ts +25 -0
- package/dist/plugins/builtins/stats/StatsPlugin.d.ts +11 -0
- package/dist/plugins/builtins/stats/index.d.ts +1 -0
- package/dist/plugins/builtins/watermark/WatermarkPlugin.d.ts +15 -0
- package/dist/plugins/builtins/watermark/index.d.ts +1 -0
- package/dist/plugins/caching/exports.d.ts +6 -0
- package/dist/plugins/caching/index.d.ts +6 -0
- package/dist/plugins/caching/types.d.ts +120 -0
- package/dist/plugins/clipboard/index.d.ts +20 -0
- package/dist/plugins/clipboard.d.ts +3 -0
- package/dist/plugins/clipboard.js +270 -0
- package/dist/plugins/clipboard.js.map +1 -0
- package/dist/plugins/context-menu/index.d.ts +12 -0
- package/dist/plugins/context-menu/renderer.d.ts +43 -0
- package/dist/plugins/context-menu/types.d.ts +202 -0
- package/dist/plugins/context-menu.d.ts +3 -0
- package/dist/plugins/context-menu.js +621 -0
- package/dist/plugins/context-menu.js.map +1 -0
- package/dist/plugins/data-export/formatters.d.ts +34 -0
- package/dist/plugins/data-export/index.d.ts +15 -0
- package/dist/plugins/data-export/types.d.ts +166 -0
- package/dist/plugins/data-export.d.ts +3 -0
- package/dist/plugins/data-export.js +463 -0
- package/dist/plugins/data-export.js.map +1 -0
- package/dist/plugins/data-transform/index.d.ts +6 -0
- package/dist/plugins/data-transform/types.d.ts +34 -0
- package/dist/plugins/debug/index.d.ts +24 -0
- package/dist/plugins/debug.d.ts +3 -0
- package/dist/plugins/debug.js +330 -0
- package/dist/plugins/debug.js.map +1 -0
- package/dist/plugins/drag-edit/exports.d.ts +6 -0
- package/dist/plugins/drag-edit/index.d.ts +6 -0
- package/dist/plugins/drag-edit/types.d.ts +118 -0
- package/dist/plugins/forecasting/algorithms.d.ts +6 -0
- package/dist/plugins/forecasting/exports.d.ts +3 -0
- package/dist/plugins/forecasting/index.d.ts +11 -0
- package/dist/plugins/forecasting/types.d.ts +88 -0
- package/dist/plugins/gpu/index.d.ts +24 -0
- package/dist/plugins/gpu.d.ts +3 -0
- package/dist/plugins/gpu.js +2430 -0
- package/dist/plugins/gpu.js.map +1 -0
- package/dist/plugins/i18n/index.d.ts +22 -0
- package/dist/plugins/i18n.d.ts +3 -0
- package/dist/plugins/i18n.js +37 -0
- package/dist/plugins/i18n.js.map +1 -0
- package/dist/plugins/index.d.ts +110 -0
- package/dist/plugins/keyboard/index.d.ts +15 -0
- package/dist/plugins/keyboard.d.ts +3 -0
- package/dist/plugins/keyboard.js +8 -0
- package/dist/plugins/keyboard.js.map +1 -0
- package/dist/plugins/latex/exports.d.ts +6 -0
- package/dist/plugins/latex/index.d.ts +8 -0
- package/dist/plugins/latex/parser.d.ts +6 -0
- package/dist/plugins/latex/renderer.d.ts +6 -0
- package/dist/plugins/latex/symbols.d.ts +28 -0
- package/dist/plugins/latex/types.d.ts +88 -0
- package/dist/plugins/lazy-load/exports.d.ts +6 -0
- package/dist/plugins/lazy-load/index.d.ts +6 -0
- package/dist/plugins/lazy-load/types.d.ts +121 -0
- package/dist/plugins/loading/index.d.ts +15 -0
- package/dist/plugins/loading.d.ts +3 -0
- package/dist/plugins/loading.js +7 -0
- package/dist/plugins/loading.js.map +1 -0
- package/dist/plugins/ml-integration/exports.d.ts +11 -0
- package/dist/plugins/ml-integration/index.d.ts +6 -0
- package/dist/plugins/ml-integration/native-algorithms.d.ts +69 -0
- package/dist/plugins/ml-integration/types.d.ts +74 -0
- package/dist/plugins/offscreen/exports.d.ts +6 -0
- package/dist/plugins/offscreen/index.d.ts +6 -0
- package/dist/plugins/offscreen/pool.d.ts +32 -0
- package/dist/plugins/offscreen/types.d.ts +35 -0
- package/dist/plugins/pattern-recognition/index.d.ts +6 -0
- package/dist/plugins/pattern-recognition/patterns.d.ts +3 -0
- package/dist/plugins/pattern-recognition/types.d.ts +245 -0
- package/dist/plugins/radar/index.d.ts +6 -0
- package/dist/plugins/radar/types.d.ts +40 -0
- package/dist/plugins/regression/algorithms.d.ts +6 -0
- package/dist/plugins/regression/index.d.ts +6 -0
- package/dist/plugins/regression/types.d.ts +261 -0
- package/dist/plugins/roi/exports.d.ts +6 -0
- package/dist/plugins/roi/index.d.ts +49 -0
- package/dist/plugins/roi/types.d.ts +60 -0
- package/dist/plugins/snapshot/index.d.ts +11 -0
- package/dist/plugins/snapshot/types.d.ts +38 -0
- package/dist/plugins/streaming/index.d.ts +32 -0
- package/dist/plugins/streaming.d.ts +3 -0
- package/dist/plugins/streaming.js +13 -0
- package/dist/plugins/streaming.js.map +1 -0
- package/dist/plugins/sync/index.d.ts +22 -0
- package/dist/plugins/sync.d.ts +3 -0
- package/dist/plugins/sync.js +261 -0
- package/dist/plugins/sync.js.map +1 -0
- package/dist/plugins/theme-editor/index.d.ts +18 -0
- package/dist/plugins/theme-editor.d.ts +3 -0
- package/dist/plugins/theme-editor.js +7 -0
- package/dist/plugins/theme-editor.js.map +1 -0
- package/dist/plugins/tools/delta-tool/index.d.ts +159 -0
- package/dist/plugins/tools/index.d.ts +21 -0
- package/dist/plugins/tools/peak-tool/index.d.ts +159 -0
- package/dist/plugins/tools/tooltip/TooltipManager.d.ts +213 -0
- package/dist/plugins/tools/tooltip/TooltipPositioner.d.ts +83 -0
- package/dist/plugins/tools/tooltip/TooltipRenderer.d.ts +64 -0
- package/dist/plugins/tools/tooltip/index.d.ts +18 -0
- package/dist/plugins/tools/tooltip/templates/AnnotationTemplate.d.ts +18 -0
- package/dist/plugins/tools/tooltip/templates/CrosshairTemplate.d.ts +39 -0
- package/dist/plugins/tools/tooltip/templates/DefaultTemplate.d.ts +30 -0
- package/dist/plugins/tools/tooltip/templates/HeatmapTemplate.d.ts +34 -0
- package/dist/plugins/tools/tooltip/templates/MinimalTemplate.d.ts +26 -0
- package/dist/plugins/tools/tooltip/templates/RangeTemplate.d.ts +18 -0
- package/dist/plugins/tools/tooltip/templates/ScientificTemplate.d.ts +34 -0
- package/dist/plugins/tools/tooltip/templates/index.d.ts +27 -0
- package/dist/plugins/tools/tooltip/themes.d.ts +48 -0
- package/dist/plugins/tools/tooltip/types.d.ts +396 -0
- package/dist/plugins/tools.d.ts +3 -0
- package/dist/plugins/tools.js +9 -0
- package/dist/plugins/tools.js.map +1 -0
- package/dist/plugins/types.d.ts +451 -0
- package/dist/plugins/video-recorder/exports.d.ts +6 -0
- package/dist/plugins/video-recorder/index.d.ts +6 -0
- package/dist/plugins/video-recorder/types.d.ts +55 -0
- package/dist/plugins/virtualization/exports.d.ts +6 -0
- package/dist/plugins/virtualization/index.d.ts +6 -0
- package/dist/plugins/virtualization/types.d.ts +48 -0
- package/dist/react/SciPlot.d.ts +60 -0
- package/dist/react/index.d.ts +5 -0
- package/dist/react/useSciPlot.d.ts +56 -0
- package/dist/renderer/BarRenderer.d.ts +14 -0
- package/dist/renderer/CandlestickRenderer.d.ts +12 -0
- package/dist/renderer/GaugeRenderer.d.ts +3 -0
- package/dist/renderer/HeatmapRenderer.d.ts +15 -0
- package/dist/renderer/NativeWebGLRenderer.d.ts +16 -0
- package/dist/renderer/PolarRenderer.d.ts +64 -0
- package/dist/renderer/RendererInterface.d.ts +70 -0
- package/dist/renderer/SankeyRenderer.d.ts +3 -0
- package/dist/renderer/WebGPURenderer.d.ts +16 -0
- package/dist/renderer/index.d.ts +13 -0
- package/dist/renderer/native/NativeWebGLRenderer.d.ts +31 -0
- package/dist/renderer/native/bufferStore.d.ts +11 -0
- package/dist/renderer/native/draw.d.ts +47 -0
- package/dist/renderer/native/programFactory.d.ts +3 -0
- package/dist/renderer/native/renderFrame.d.ts +3 -0
- package/dist/renderer/native/shaderSources.d.ts +6 -0
- package/dist/renderer/native/textureStore.d.ts +8 -0
- package/dist/renderer/native/types.d.ts +77 -0
- package/dist/renderer/native/utils.d.ts +31 -0
- package/dist/renderer/radar/RadarRenderer.d.ts +71 -0
- package/dist/renderer/radar/index.d.ts +10 -0
- package/dist/renderer/shaders.d.ts +77 -0
- package/dist/renderer/ternary/TernaryRenderer.d.ts +39 -0
- package/dist/renderer/ternary/index.d.ts +6 -0
- package/dist/renderer/ternary/types.d.ts +56 -0
- package/dist/scales/index.d.ts +54 -0
- package/dist/serialization/index.d.ts +153 -0
- package/dist/streaming/backpressure.d.ts +179 -0
- package/dist/streaming/index.d.ts +7 -0
- package/dist/streaming/mock.d.ts +12 -0
- package/dist/streaming/types.d.ts +57 -0
- package/dist/streaming/utils.d.ts +19 -0
- package/dist/streaming/websocket.d.ts +6 -0
- package/dist/testing/index.d.ts +225 -0
- package/dist/theme/colorSchemes.d.ts +56 -0
- package/dist/theme/index.d.ts +138 -0
- package/dist/types.d.ts +753 -0
- package/dist/utils-Dbro9-qM.js +254 -0
- package/dist/utils-Dbro9-qM.js.map +1 -0
- package/dist/velo-plot.d.ts +1 -0
- package/dist/velo-plot.full.d.ts +1 -0
- package/dist/velo-plot.full.js +5804 -0
- package/dist/velo-plot.full.js.map +1 -0
- package/dist/velo-plot.js +31 -0
- package/dist/velo-plot.js.map +1 -0
- package/dist/workers/downsample.d.ts +34 -0
- package/dist/workers/downsample.worker.d.ts +46 -0
- package/package.json +185 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,753 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for Sci Plot
|
|
3
|
+
*/
|
|
4
|
+
/** 2D point */
|
|
5
|
+
export interface Point {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}
|
|
9
|
+
/** Rectangular bounds */
|
|
10
|
+
export interface Bounds {
|
|
11
|
+
xMin: number;
|
|
12
|
+
xMax: number;
|
|
13
|
+
yMin: number;
|
|
14
|
+
yMax: number;
|
|
15
|
+
}
|
|
16
|
+
/** Range tuple [min, max] */
|
|
17
|
+
export type Range = [number, number];
|
|
18
|
+
export type ScaleType = "linear" | "log";
|
|
19
|
+
export interface AxisOptions {
|
|
20
|
+
/** Unique ID for the axis (defaults to 'default') */
|
|
21
|
+
id?: string;
|
|
22
|
+
/** Axis position */
|
|
23
|
+
position?: "left" | "right" | "top" | "bottom";
|
|
24
|
+
/** Scale type */
|
|
25
|
+
scale?: ScaleType;
|
|
26
|
+
/** Axis label (e.g., 'E / V') */
|
|
27
|
+
label?: string;
|
|
28
|
+
/** Unit for formatting (e.g., 'V', 'A') */
|
|
29
|
+
unit?: string;
|
|
30
|
+
/** Unit prefix: 'auto' for automatic (µ, n, m, etc.) */
|
|
31
|
+
prefix?: "auto" | "µ" | "n" | "m" | "" | "k" | "M";
|
|
32
|
+
/** Fixed minimum value */
|
|
33
|
+
min?: number;
|
|
34
|
+
/** Fixed maximum value */
|
|
35
|
+
max?: number;
|
|
36
|
+
/** Enable autoscaling */
|
|
37
|
+
auto?: boolean;
|
|
38
|
+
/** Invert the axis direction when painting values */
|
|
39
|
+
invertAxis?: boolean;
|
|
40
|
+
/** Force scientific notation (e.g., 1.2 × 10⁵) */
|
|
41
|
+
scientific?: boolean;
|
|
42
|
+
/** Axis color (line, ticks, labels) - defaults to theme */
|
|
43
|
+
color?: string;
|
|
44
|
+
/** Axis line width in pixels (default: 1) */
|
|
45
|
+
lineWidth?: number;
|
|
46
|
+
/** Show axis line (default: true) */
|
|
47
|
+
showLine?: boolean;
|
|
48
|
+
/** Show tick marks (default: true) */
|
|
49
|
+
showTicks?: boolean;
|
|
50
|
+
/** Show labels (default: true) */
|
|
51
|
+
showLabels?: boolean;
|
|
52
|
+
/** Show grid lines for this axis (default: true for primary, false for secondary) */
|
|
53
|
+
showGrid?: boolean;
|
|
54
|
+
/** Grid line color (default: from theme) */
|
|
55
|
+
gridColor?: string;
|
|
56
|
+
/** Grid line opacity (default: from theme) */
|
|
57
|
+
gridOpacity?: number;
|
|
58
|
+
/** Offset from edge in pixels (for stacking multiple axes) */
|
|
59
|
+
offset?: number;
|
|
60
|
+
/** Whether this axis is visible (default: true) */
|
|
61
|
+
visible?: boolean;
|
|
62
|
+
/** Associated series IDs (auto-scale will only consider these series) */
|
|
63
|
+
seriesIds?: string[];
|
|
64
|
+
/** Label font size in pixels */
|
|
65
|
+
labelFontSize?: number;
|
|
66
|
+
/** Label rotation in degrees (useful for crowded X-axis) */
|
|
67
|
+
labelRotation?: number;
|
|
68
|
+
}
|
|
69
|
+
export type SeriesType = "line" | "scatter" | "line+scatter" | "step" | "step+scatter" | "band" | "area" | "bar" | "heatmap" | "candlestick" | "polar" | "radar" | "boxplot" | "waterfall" | "gauge" | "sankey" | "ternary";
|
|
70
|
+
/** Step mode defines where the step occurs */
|
|
71
|
+
export type StepMode = "before" | "after" | "center";
|
|
72
|
+
/** Error bar direction */
|
|
73
|
+
export type ErrorBarDirection = "both" | "positive" | "negative";
|
|
74
|
+
export interface SeriesData {
|
|
75
|
+
/** X values (potential, time, etc.) */
|
|
76
|
+
x: Float32Array | Float64Array;
|
|
77
|
+
/** Y values (current, charge, etc.) */
|
|
78
|
+
y: Float32Array | Float64Array;
|
|
79
|
+
/** Symmetric Y error (±error) */
|
|
80
|
+
yError?: Float32Array | Float64Array;
|
|
81
|
+
/** Asymmetric Y error - positive direction (upward) */
|
|
82
|
+
yErrorPlus?: Float32Array | Float64Array;
|
|
83
|
+
/** Asymmetric Y error - negative direction (downward) */
|
|
84
|
+
yErrorMinus?: Float32Array | Float64Array;
|
|
85
|
+
/** Symmetric X error (±error) - for horizontal error bars */
|
|
86
|
+
xError?: Float32Array | Float64Array;
|
|
87
|
+
/** Asymmetric X error - positive direction (rightward) */
|
|
88
|
+
xErrorPlus?: Float32Array | Float64Array;
|
|
89
|
+
/** Asymmetric X error - negative direction (leftward) */
|
|
90
|
+
xErrorMinus?: Float32Array | Float64Array;
|
|
91
|
+
/** Second Y-values for band/area charts (lower boundary or baseline) */
|
|
92
|
+
y2?: Float32Array | Float64Array;
|
|
93
|
+
/** Open values for OHLC/Candlestick */
|
|
94
|
+
open?: Float32Array | Float64Array;
|
|
95
|
+
/** High values for OHLC/Candlestick */
|
|
96
|
+
high?: Float32Array | Float64Array;
|
|
97
|
+
/** Low values for OHLC/Candlestick */
|
|
98
|
+
low?: Float32Array | Float64Array;
|
|
99
|
+
/** Close values for OHLC/Candlestick */
|
|
100
|
+
close?: Float32Array | Float64Array;
|
|
101
|
+
/** Radar data - axes labels and values */
|
|
102
|
+
radar?: {
|
|
103
|
+
axes: string[];
|
|
104
|
+
values: number[];
|
|
105
|
+
};
|
|
106
|
+
/** Median values for BoxPlot */
|
|
107
|
+
/** Gauge data */
|
|
108
|
+
value?: number;
|
|
109
|
+
min?: number;
|
|
110
|
+
max?: number;
|
|
111
|
+
/** Sankey data */
|
|
112
|
+
nodes?: string[];
|
|
113
|
+
links?: {
|
|
114
|
+
source: string | number;
|
|
115
|
+
target: string | number;
|
|
116
|
+
value: number;
|
|
117
|
+
}[];
|
|
118
|
+
median?: Float32Array | Float64Array;
|
|
119
|
+
/** Outlier values for BoxPlot [ [x, y], [x, y], ... ] or flattened [x0, y0, x1, y1, ...] per box?
|
|
120
|
+
* For simplicity, let's use an array of arrays of numbers or similar.
|
|
121
|
+
*/
|
|
122
|
+
outliers?: number[][];
|
|
123
|
+
}
|
|
124
|
+
/** Error bar styling options */
|
|
125
|
+
export interface ErrorBarStyle {
|
|
126
|
+
/** Show error bars (default: true if error data present) */
|
|
127
|
+
visible?: boolean;
|
|
128
|
+
/** Error bar color (default: same as series) */
|
|
129
|
+
color?: string;
|
|
130
|
+
/** Error bar line width (default: 1) */
|
|
131
|
+
width?: number;
|
|
132
|
+
/** Cap width in pixels (default: 6) */
|
|
133
|
+
capWidth?: number;
|
|
134
|
+
/** Show caps at the end of error bars (default: true) */
|
|
135
|
+
showCaps?: boolean;
|
|
136
|
+
/** Opacity (default: 0.7) */
|
|
137
|
+
opacity?: number;
|
|
138
|
+
/** Direction: show both, positive only, or negative only */
|
|
139
|
+
direction?: ErrorBarDirection;
|
|
140
|
+
}
|
|
141
|
+
export interface SeriesStyle {
|
|
142
|
+
/** Line/point color (hex or rgb) */
|
|
143
|
+
color?: string;
|
|
144
|
+
/** Line width in pixels */
|
|
145
|
+
width?: number;
|
|
146
|
+
/** Opacity (0-1) */
|
|
147
|
+
opacity?: number;
|
|
148
|
+
/** For scatter: point size */
|
|
149
|
+
pointSize?: number;
|
|
150
|
+
/** Smoothing factor (0 = none, 1 = full) */
|
|
151
|
+
smoothing?: number;
|
|
152
|
+
/** Step mode: where the step transition occurs (default: 'after') */
|
|
153
|
+
stepMode?: StepMode;
|
|
154
|
+
/** Error bar styling */
|
|
155
|
+
errorBars?: ErrorBarStyle;
|
|
156
|
+
/** Scatter symbol shape (default: 'circle') */
|
|
157
|
+
symbol?: ScatterSymbol;
|
|
158
|
+
/** Dash pattern [dash, gap] - empty for solid */
|
|
159
|
+
lineDash?: number[];
|
|
160
|
+
/** Radar-specific styling */
|
|
161
|
+
radar?: {
|
|
162
|
+
/** Fill area under radar line */
|
|
163
|
+
fill?: boolean;
|
|
164
|
+
/** Fill color (overrides color for fill) */
|
|
165
|
+
fillColor?: string;
|
|
166
|
+
/** Fill opacity */
|
|
167
|
+
fillOpacity?: number;
|
|
168
|
+
/** Show axis labels */
|
|
169
|
+
showLabels?: boolean;
|
|
170
|
+
/** Label font size */
|
|
171
|
+
labelSize?: number;
|
|
172
|
+
/** Number of levels for background grid */
|
|
173
|
+
levels?: number;
|
|
174
|
+
/** Start angle in degrees */
|
|
175
|
+
startAngle?: number;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/** Available scatter symbol shapes */
|
|
179
|
+
export type ScatterSymbol = "circle" | "square" | "diamond" | "triangle" | "triangleDown" | "cross" | "x" | "star";
|
|
180
|
+
export interface SeriesOptions {
|
|
181
|
+
/** Unique identifier */
|
|
182
|
+
id: string;
|
|
183
|
+
/** Series type */
|
|
184
|
+
type: SeriesType;
|
|
185
|
+
/** ID of the Y Axis this series belongs to */
|
|
186
|
+
yAxisId?: string;
|
|
187
|
+
/** Data arrays */
|
|
188
|
+
data: SeriesData;
|
|
189
|
+
/** Visual style */
|
|
190
|
+
style?: SeriesStyle;
|
|
191
|
+
/** Visibility */
|
|
192
|
+
visible?: boolean;
|
|
193
|
+
/** Display name in legend */
|
|
194
|
+
name?: string;
|
|
195
|
+
/** Cycle number (for CV) */
|
|
196
|
+
cycle?: number;
|
|
197
|
+
/** Maximum number of points to keep (rolling window) */
|
|
198
|
+
maxPoints?: number;
|
|
199
|
+
/** Identifier for stacking series (same ID will be stacked together) */
|
|
200
|
+
stackId?: string;
|
|
201
|
+
}
|
|
202
|
+
export interface SeriesUpdateData {
|
|
203
|
+
/** New X values */
|
|
204
|
+
x?: Float32Array | Float64Array;
|
|
205
|
+
/** New Y values */
|
|
206
|
+
y?: Float32Array | Float64Array;
|
|
207
|
+
/** New Y2 values (for bands) */
|
|
208
|
+
y2?: Float32Array | Float64Array;
|
|
209
|
+
/** New Open values (for candlesticks) */
|
|
210
|
+
open?: Float32Array | Float64Array;
|
|
211
|
+
/** New High values (for candlesticks) */
|
|
212
|
+
high?: Float32Array | Float64Array;
|
|
213
|
+
/** New Low values (for candlesticks) */
|
|
214
|
+
low?: Float32Array | Float64Array;
|
|
215
|
+
/** New Close values (for candlesticks) */
|
|
216
|
+
close?: Float32Array | Float64Array;
|
|
217
|
+
/** New value for Gauge charts */
|
|
218
|
+
value?: number;
|
|
219
|
+
/** New nodes for Sankey diagrams */
|
|
220
|
+
nodes?: any[];
|
|
221
|
+
/** New links for Sankey diagrams */
|
|
222
|
+
links?: any[];
|
|
223
|
+
/** If true, append to existing data; if false, replace */
|
|
224
|
+
append?: boolean;
|
|
225
|
+
}
|
|
226
|
+
export interface BarStyle extends Omit<SeriesStyle, "pointSize" | "symbol" | "smoothing" | "stepMode"> {
|
|
227
|
+
/** Bar width in data units (auto if not specified) */
|
|
228
|
+
barWidth?: number;
|
|
229
|
+
/** Gap between bars as a fraction of bar width (default: 0.2) */
|
|
230
|
+
barGap?: number;
|
|
231
|
+
/** Bar alignment: 'center' (default) | 'edge' */
|
|
232
|
+
barAlign?: "center" | "edge";
|
|
233
|
+
}
|
|
234
|
+
/** Color scale names for heatmaps */
|
|
235
|
+
export type ColorScaleName = "viridis" | "plasma" | "inferno" | "magma" | "jet" | "grayscale";
|
|
236
|
+
/** Interpolation method for heatmap rendering */
|
|
237
|
+
export type InterpolationType = "nearest" | "bilinear";
|
|
238
|
+
export interface PlotArea {
|
|
239
|
+
/** X position of plot area relative to canvas */
|
|
240
|
+
x: number;
|
|
241
|
+
/** Y position of plot area relative to canvas */
|
|
242
|
+
y: number;
|
|
243
|
+
/** Width of plot area */
|
|
244
|
+
width: number;
|
|
245
|
+
/** Height of plot area */
|
|
246
|
+
height: number;
|
|
247
|
+
/** Inner margins from container edges */
|
|
248
|
+
left?: number;
|
|
249
|
+
/** Inner margins from container edges */
|
|
250
|
+
right?: number;
|
|
251
|
+
/** Inner margins from container edges */
|
|
252
|
+
top?: number;
|
|
253
|
+
/** Inner margins from container edges */
|
|
254
|
+
bottom?: number;
|
|
255
|
+
}
|
|
256
|
+
export interface CursorState {
|
|
257
|
+
enabled: boolean;
|
|
258
|
+
x: number;
|
|
259
|
+
y: number;
|
|
260
|
+
crosshair: boolean;
|
|
261
|
+
tooltipText?: string;
|
|
262
|
+
/**
|
|
263
|
+
* Value display mode for cursor coordinates
|
|
264
|
+
* - 'disabled': No coordinate values shown
|
|
265
|
+
* - 'floating': Values shown next to cursor (default)
|
|
266
|
+
* - 'corner': Values shown in fixed corner position
|
|
267
|
+
*/
|
|
268
|
+
valueDisplayMode?: 'disabled' | 'floating' | 'corner';
|
|
269
|
+
/** Corner position when valueDisplayMode is 'corner' */
|
|
270
|
+
cornerPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
271
|
+
}
|
|
272
|
+
export interface AxisLabels {
|
|
273
|
+
x?: string;
|
|
274
|
+
y?: string;
|
|
275
|
+
}
|
|
276
|
+
export interface ColorScale {
|
|
277
|
+
/** Color scale name */
|
|
278
|
+
name: ColorScaleName;
|
|
279
|
+
/** Minimum value for color mapping */
|
|
280
|
+
min?: number;
|
|
281
|
+
/** Maximum value for color mapping */
|
|
282
|
+
max?: number;
|
|
283
|
+
/** Use logarithmic scale (default: false) */
|
|
284
|
+
logScale?: boolean;
|
|
285
|
+
}
|
|
286
|
+
export interface HeatmapData {
|
|
287
|
+
/** X-axis values (column positions) */
|
|
288
|
+
xValues: Float32Array | Float64Array | number[];
|
|
289
|
+
/** Y-axis values (row positions) */
|
|
290
|
+
yValues: Float32Array | Float64Array | number[];
|
|
291
|
+
/** Z-values (intensity) as flattened 2D matrix [row-major order] */
|
|
292
|
+
zValues: Float32Array | Float64Array | number[];
|
|
293
|
+
}
|
|
294
|
+
export interface HeatmapStyle {
|
|
295
|
+
/** Color scale configuration */
|
|
296
|
+
colorScale?: ColorScale;
|
|
297
|
+
/** Interpolation method (default: 'bilinear') */
|
|
298
|
+
interpolation?: InterpolationType;
|
|
299
|
+
/** Show colorbar legend (default: true) */
|
|
300
|
+
showColorbar?: boolean;
|
|
301
|
+
/** Opacity (default: 1.0) */
|
|
302
|
+
opacity?: number;
|
|
303
|
+
}
|
|
304
|
+
export interface HeatmapOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
305
|
+
type: "heatmap";
|
|
306
|
+
/** Heatmap data with X, Y, Z values */
|
|
307
|
+
data: HeatmapData;
|
|
308
|
+
/** Heatmap-specific styling */
|
|
309
|
+
style?: HeatmapStyle;
|
|
310
|
+
}
|
|
311
|
+
/** Polar coordinate mode */
|
|
312
|
+
export type PolarMode = "radians" | "degrees";
|
|
313
|
+
/** Polar data structure */
|
|
314
|
+
export interface PolarData {
|
|
315
|
+
/** Radial values (distance from origin) */
|
|
316
|
+
r: Float32Array | Float64Array | number[];
|
|
317
|
+
/** Angular values (theta) */
|
|
318
|
+
theta: Float32Array | Float64Array | number[];
|
|
319
|
+
}
|
|
320
|
+
/** Polar chart styling options */
|
|
321
|
+
export interface PolarStyle extends Omit<SeriesStyle, "stepMode"> {
|
|
322
|
+
/** Angular unit mode (default: 'degrees') */
|
|
323
|
+
angleMode?: PolarMode;
|
|
324
|
+
/** Fill the area to origin (default: false) */
|
|
325
|
+
fill?: boolean;
|
|
326
|
+
/** Fill color (default: same as line color with opacity) */
|
|
327
|
+
fillColor?: string;
|
|
328
|
+
/** Fill opacity (default: 0.3) */
|
|
329
|
+
fillOpacity?: number;
|
|
330
|
+
/** Close the path (connect last point to first) */
|
|
331
|
+
closePath?: boolean;
|
|
332
|
+
/** Show radial grid lines (default: true) */
|
|
333
|
+
showRadialGrid?: boolean;
|
|
334
|
+
/** Show angular grid lines (default: true) */
|
|
335
|
+
showAngularGrid?: boolean;
|
|
336
|
+
/** Number of angular divisions (default: 12 for 30° intervals) */
|
|
337
|
+
angularDivisions?: number;
|
|
338
|
+
}
|
|
339
|
+
/** Polar series options */
|
|
340
|
+
export interface PolarOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
341
|
+
type: "polar";
|
|
342
|
+
/** Polar coordinate data */
|
|
343
|
+
data: PolarData;
|
|
344
|
+
/** Polar-specific styling */
|
|
345
|
+
style?: PolarStyle;
|
|
346
|
+
}
|
|
347
|
+
/** Radar data structure */
|
|
348
|
+
export interface RadarData {
|
|
349
|
+
/** Axis labels */
|
|
350
|
+
axes: string[];
|
|
351
|
+
/** Values for each axis (0-1 normalized) */
|
|
352
|
+
values: number[];
|
|
353
|
+
}
|
|
354
|
+
/** Radar chart styling */
|
|
355
|
+
export interface RadarStyle {
|
|
356
|
+
/** Line/point color (hex or rgb) */
|
|
357
|
+
color?: string;
|
|
358
|
+
/** Line width in pixels */
|
|
359
|
+
width?: number;
|
|
360
|
+
/** Opacity (0-1) */
|
|
361
|
+
opacity?: number;
|
|
362
|
+
/** Point size */
|
|
363
|
+
pointSize?: number;
|
|
364
|
+
/** Fill area under radar line */
|
|
365
|
+
fill?: boolean;
|
|
366
|
+
/** Fill color (overrides color for fill) */
|
|
367
|
+
fillColor?: string;
|
|
368
|
+
/** Fill opacity */
|
|
369
|
+
fillOpacity?: number;
|
|
370
|
+
/** Show axis labels */
|
|
371
|
+
showLabels?: boolean;
|
|
372
|
+
/** Label font size */
|
|
373
|
+
labelSize?: number;
|
|
374
|
+
/** Number of levels for background grid */
|
|
375
|
+
levels?: number;
|
|
376
|
+
/** Start angle in degrees */
|
|
377
|
+
startAngle?: number;
|
|
378
|
+
/** Show background grid */
|
|
379
|
+
showGrid?: boolean;
|
|
380
|
+
/** Grid color */
|
|
381
|
+
gridColor?: string;
|
|
382
|
+
/** Grid opacity */
|
|
383
|
+
gridOpacity?: number;
|
|
384
|
+
}
|
|
385
|
+
/** Radar chart options */
|
|
386
|
+
export interface RadarOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
387
|
+
type: "radar";
|
|
388
|
+
/** Radar data with axes and values */
|
|
389
|
+
data: RadarData;
|
|
390
|
+
/** Radar-specific styling */
|
|
391
|
+
style?: RadarStyle;
|
|
392
|
+
}
|
|
393
|
+
export interface GaugeRange {
|
|
394
|
+
from: number;
|
|
395
|
+
to: number;
|
|
396
|
+
color: string;
|
|
397
|
+
label?: string;
|
|
398
|
+
}
|
|
399
|
+
export interface GaugeStyle {
|
|
400
|
+
/** Needle color (default: #333) */
|
|
401
|
+
needleColor?: string;
|
|
402
|
+
/** Needle width (default: 3) */
|
|
403
|
+
needleWidth?: number;
|
|
404
|
+
/** Ranges of colors (e.g., green for good, red for bad) */
|
|
405
|
+
ranges?: GaugeRange[];
|
|
406
|
+
/** Radius of the gauge (0-1, default: 0.8) */
|
|
407
|
+
radius?: number;
|
|
408
|
+
/** Start angle in degrees (default: 135) */
|
|
409
|
+
startAngle?: number;
|
|
410
|
+
/** End angle in degrees (default: 405) */
|
|
411
|
+
endAngle?: number;
|
|
412
|
+
/** Show value text in center (default: true) */
|
|
413
|
+
showValue?: boolean;
|
|
414
|
+
/** Value text color */
|
|
415
|
+
valueColor?: string;
|
|
416
|
+
/** Value font size */
|
|
417
|
+
valueSize?: number;
|
|
418
|
+
/** Label for the gauge */
|
|
419
|
+
label?: string;
|
|
420
|
+
}
|
|
421
|
+
export interface GaugeData {
|
|
422
|
+
value: number;
|
|
423
|
+
min: number;
|
|
424
|
+
max: number;
|
|
425
|
+
}
|
|
426
|
+
export interface GaugeOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
427
|
+
type: "gauge";
|
|
428
|
+
data: GaugeData;
|
|
429
|
+
style?: GaugeStyle;
|
|
430
|
+
}
|
|
431
|
+
export interface SankeyLink {
|
|
432
|
+
source: string | number;
|
|
433
|
+
target: string | number;
|
|
434
|
+
value: number;
|
|
435
|
+
color?: string;
|
|
436
|
+
}
|
|
437
|
+
export interface SankeyNode {
|
|
438
|
+
id: string | number;
|
|
439
|
+
name?: string;
|
|
440
|
+
color?: string;
|
|
441
|
+
}
|
|
442
|
+
export interface SankeyData {
|
|
443
|
+
nodes: SankeyNode[] | string[];
|
|
444
|
+
links: SankeyLink[];
|
|
445
|
+
}
|
|
446
|
+
export interface SankeyStyle {
|
|
447
|
+
/** Node width in pixels (default: 20) */
|
|
448
|
+
nodeWidth?: number;
|
|
449
|
+
/** Padding between nodes (default: 10) */
|
|
450
|
+
nodePadding?: number;
|
|
451
|
+
/** Color palette for nodes */
|
|
452
|
+
palette?: string[];
|
|
453
|
+
/** Link opacity (default: 0.2) */
|
|
454
|
+
linkOpacity?: number;
|
|
455
|
+
/** Show labels (default: true) */
|
|
456
|
+
showLabels?: boolean;
|
|
457
|
+
}
|
|
458
|
+
export interface SankeyOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
459
|
+
type: "sankey";
|
|
460
|
+
data: SankeyData;
|
|
461
|
+
style?: SankeyStyle;
|
|
462
|
+
}
|
|
463
|
+
/** Ternary data structure (3 components that sum to 1) */
|
|
464
|
+
export interface TernaryData {
|
|
465
|
+
/** Component A values (0-1) - top vertex */
|
|
466
|
+
a: number[];
|
|
467
|
+
/** Component B values (0-1) - bottom-left vertex */
|
|
468
|
+
b: number[];
|
|
469
|
+
/** Component C values (0-1) - bottom-right vertex */
|
|
470
|
+
c: number[];
|
|
471
|
+
}
|
|
472
|
+
/** Ternary chart styling options */
|
|
473
|
+
export interface TernaryStyle {
|
|
474
|
+
/** Point size for scatter mode */
|
|
475
|
+
pointSize?: number;
|
|
476
|
+
/** Point color */
|
|
477
|
+
color?: string;
|
|
478
|
+
/** Fill opacity for regions */
|
|
479
|
+
fillOpacity?: number;
|
|
480
|
+
/** Grid line color */
|
|
481
|
+
gridColor?: string;
|
|
482
|
+
/** Grid line width */
|
|
483
|
+
gridWidth?: number;
|
|
484
|
+
/** Number of grid divisions (default: 10) */
|
|
485
|
+
gridDivisions?: number;
|
|
486
|
+
}
|
|
487
|
+
/** Ternary chart options */
|
|
488
|
+
export interface TernaryOptions extends Omit<SeriesOptions, "data" | "style"> {
|
|
489
|
+
type: "ternary";
|
|
490
|
+
data: TernaryData;
|
|
491
|
+
style?: TernaryStyle;
|
|
492
|
+
/** Label for component A (top vertex) */
|
|
493
|
+
labelA?: string;
|
|
494
|
+
/** Label for component B (bottom-left vertex) */
|
|
495
|
+
labelB?: string;
|
|
496
|
+
/** Label for component C (bottom-right vertex) */
|
|
497
|
+
labelC?: string;
|
|
498
|
+
/** Show grid lines (default: true) */
|
|
499
|
+
showGrid?: boolean;
|
|
500
|
+
/** Show component labels (default: true) */
|
|
501
|
+
showLabels?: boolean;
|
|
502
|
+
}
|
|
503
|
+
export interface ChartOptions {
|
|
504
|
+
/** Target container element */
|
|
505
|
+
container: HTMLDivElement;
|
|
506
|
+
/** Renderer backend selection (default: 'webgl') */
|
|
507
|
+
renderer?: "webgl" | "webgpu";
|
|
508
|
+
/** X-axis configuration */
|
|
509
|
+
xAxis?: AxisOptions;
|
|
510
|
+
/** Y-axis configuration (single or array) */
|
|
511
|
+
yAxis?: AxisOptions | AxisOptions[];
|
|
512
|
+
/** Background color (overrides theme) */
|
|
513
|
+
background?: string;
|
|
514
|
+
/** Device pixel ratio (default: window.devicePixelRatio) */
|
|
515
|
+
devicePixelRatio?: number;
|
|
516
|
+
/** Theme name or custom theme object */
|
|
517
|
+
theme?: string | object;
|
|
518
|
+
/** Color scheme for multi-series charts (default: auto-selected based on theme) */
|
|
519
|
+
colorScheme?: string;
|
|
520
|
+
/** Show legend (default: from theme) */
|
|
521
|
+
showLegend?: boolean;
|
|
522
|
+
/** Initial legend position {x, y} in pixels relative to chart area */
|
|
523
|
+
legendPosition?: {
|
|
524
|
+
x: number;
|
|
525
|
+
y: number;
|
|
526
|
+
};
|
|
527
|
+
/** Show in-chart controls (default: false) */
|
|
528
|
+
showControls?: boolean;
|
|
529
|
+
/** Detailed toolbar configuration */
|
|
530
|
+
toolbar?: ToolbarOptions;
|
|
531
|
+
/** Automatically follow new data (default: false) */
|
|
532
|
+
autoScroll?: boolean;
|
|
533
|
+
/** Show statistics panel (default: false) */
|
|
534
|
+
showStatistics?: boolean;
|
|
535
|
+
/** Tooltip configuration */
|
|
536
|
+
tooltip?: import('./plugins/tools/tooltip/types').TooltipOptions;
|
|
537
|
+
/** Animation configuration */
|
|
538
|
+
animations?: import('./core/animation').ChartAnimationConfig | boolean;
|
|
539
|
+
/** Responsive design configuration */
|
|
540
|
+
responsive?: import('./core/responsive').ResponsiveConfig | boolean;
|
|
541
|
+
/** Initial plugins to load */
|
|
542
|
+
plugins?: any[];
|
|
543
|
+
/** Loading indicator configuration */
|
|
544
|
+
loading?: boolean | import('./plugins/loading').PluginLoadingConfig;
|
|
545
|
+
/**
|
|
546
|
+
* Detailed layout configuration for chart components
|
|
547
|
+
* Controls positioning, spacing, and behavior of legend, crosshair, toolbar, etc.
|
|
548
|
+
*/
|
|
549
|
+
layout?: import('./core/layout').LayoutOptions;
|
|
550
|
+
/** Read-only mode: disable all interactions (default: false) */
|
|
551
|
+
readOnly?: boolean;
|
|
552
|
+
/** Enable debug overlay showing FPS, memory, etc. (default: false) */
|
|
553
|
+
debug?: boolean | import('./core/debug').DebugOverlayOptions;
|
|
554
|
+
/** Locale configuration for number/date formatting (default: 'en-US') */
|
|
555
|
+
locale?: string | import('./core/locale').LocaleConfig;
|
|
556
|
+
/** Enable keyboard shortcuts (default: true if not readOnly) */
|
|
557
|
+
keyBindings?: boolean | import('./core/keybindings').KeyBinding[];
|
|
558
|
+
/** Enable clipboard operations (default: true) */
|
|
559
|
+
clipboard?: boolean | import('./core/clipboard').ClipboardOptions;
|
|
560
|
+
}
|
|
561
|
+
export interface ToolbarButtons {
|
|
562
|
+
pan?: boolean;
|
|
563
|
+
boxZoom?: boolean;
|
|
564
|
+
select?: boolean;
|
|
565
|
+
delta?: boolean;
|
|
566
|
+
peak?: boolean;
|
|
567
|
+
reset?: boolean;
|
|
568
|
+
autoscale?: boolean;
|
|
569
|
+
type?: boolean;
|
|
570
|
+
smooth?: boolean;
|
|
571
|
+
export?: boolean;
|
|
572
|
+
legend?: boolean;
|
|
573
|
+
}
|
|
574
|
+
export interface ToolbarOptions {
|
|
575
|
+
/** Show the toolbar (default: true if showControls is true) */
|
|
576
|
+
show?: boolean;
|
|
577
|
+
/** Buttons to show in the toolbar */
|
|
578
|
+
buttons?: ToolbarButtons;
|
|
579
|
+
/** Whether the toolbar can be pinned (default: true) */
|
|
580
|
+
pinnable?: boolean;
|
|
581
|
+
}
|
|
582
|
+
export interface ZoomOptions {
|
|
583
|
+
/** X-axis range [min, max] */
|
|
584
|
+
x?: Range;
|
|
585
|
+
/** Y-axis range [min, max] */
|
|
586
|
+
y?: Range;
|
|
587
|
+
/** ID of the specific Y axis to zoom (if applicable) */
|
|
588
|
+
axisId?: string;
|
|
589
|
+
/** Animate the transition */
|
|
590
|
+
animate?: boolean;
|
|
591
|
+
}
|
|
592
|
+
export interface CursorOptions {
|
|
593
|
+
/** Enable cursor */
|
|
594
|
+
enabled?: boolean;
|
|
595
|
+
/** Snap to nearest data point */
|
|
596
|
+
snap?: boolean;
|
|
597
|
+
/** Show crosshair lines */
|
|
598
|
+
crosshair?: boolean;
|
|
599
|
+
/** Custom tooltip formatter */
|
|
600
|
+
formatter?: (x: number, y: number, seriesId: string) => string;
|
|
601
|
+
/**
|
|
602
|
+
* Value display mode for X,Y coordinates (default: 'floating')
|
|
603
|
+
* - 'disabled': No coordinate values shown (crosshair lines only)
|
|
604
|
+
* - 'floating': Values shown in tooltip next to cursor
|
|
605
|
+
* - 'corner': Values shown in fixed corner position
|
|
606
|
+
*/
|
|
607
|
+
valueDisplayMode?: 'disabled' | 'floating' | 'corner';
|
|
608
|
+
/**
|
|
609
|
+
* Corner position when valueDisplayMode is 'corner' (default: 'top-left')
|
|
610
|
+
*/
|
|
611
|
+
cornerPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
612
|
+
/**
|
|
613
|
+
* Crosshair line style (default: 'dashed')
|
|
614
|
+
*/
|
|
615
|
+
lineStyle?: 'solid' | 'dashed' | 'dotted';
|
|
616
|
+
}
|
|
617
|
+
export interface ZoomEvent {
|
|
618
|
+
x: Range;
|
|
619
|
+
y: Range;
|
|
620
|
+
}
|
|
621
|
+
export interface PanEvent {
|
|
622
|
+
deltaX: number;
|
|
623
|
+
deltaY: number;
|
|
624
|
+
}
|
|
625
|
+
export interface HoverEvent {
|
|
626
|
+
point: Point;
|
|
627
|
+
seriesId: string;
|
|
628
|
+
dataIndex: number;
|
|
629
|
+
}
|
|
630
|
+
export interface ClickEvent {
|
|
631
|
+
point: Point;
|
|
632
|
+
seriesId?: string;
|
|
633
|
+
dataIndex?: number;
|
|
634
|
+
}
|
|
635
|
+
/** Data loading progress event */
|
|
636
|
+
export interface DataLoadingEvent {
|
|
637
|
+
/** Current progress 0-100 */
|
|
638
|
+
progress: number;
|
|
639
|
+
/** Number of points loaded so far */
|
|
640
|
+
pointsLoaded: number;
|
|
641
|
+
/** Total points to load (if known) */
|
|
642
|
+
totalPoints?: number;
|
|
643
|
+
/** Current operation message */
|
|
644
|
+
message?: string;
|
|
645
|
+
}
|
|
646
|
+
/** Delta measurement result */
|
|
647
|
+
export interface DeltaMeasurement {
|
|
648
|
+
/** First point X data coordinate */
|
|
649
|
+
x1: number;
|
|
650
|
+
/** First point Y data coordinate */
|
|
651
|
+
y1: number;
|
|
652
|
+
/** Second point X data coordinate */
|
|
653
|
+
x2: number;
|
|
654
|
+
/** Second point Y data coordinate */
|
|
655
|
+
y2: number;
|
|
656
|
+
/** Delta X (x2 - x1) */
|
|
657
|
+
deltaX: number;
|
|
658
|
+
/** Delta Y (y2 - y1) */
|
|
659
|
+
deltaY: number;
|
|
660
|
+
/** Slope (deltaY / deltaX) */
|
|
661
|
+
slope: number;
|
|
662
|
+
/** Euclidean distance */
|
|
663
|
+
distance: number;
|
|
664
|
+
/** First point pixel X */
|
|
665
|
+
pixelX1: number;
|
|
666
|
+
/** First point pixel Y */
|
|
667
|
+
pixelY1: number;
|
|
668
|
+
/** Second point pixel X */
|
|
669
|
+
pixelX2: number;
|
|
670
|
+
/** Second point pixel Y */
|
|
671
|
+
pixelY2: number;
|
|
672
|
+
}
|
|
673
|
+
/** Peak integration result */
|
|
674
|
+
export interface PeakMeasurement {
|
|
675
|
+
/** Start point X data coordinate */
|
|
676
|
+
x1: number;
|
|
677
|
+
/** Start point Y data coordinate */
|
|
678
|
+
y1: number;
|
|
679
|
+
/** End point X data coordinate */
|
|
680
|
+
x2: number;
|
|
681
|
+
/** End point Y data coordinate */
|
|
682
|
+
y2: number;
|
|
683
|
+
/** Area above baseline */
|
|
684
|
+
area: number;
|
|
685
|
+
/** Total integral (raw area under curve) */
|
|
686
|
+
integral: number;
|
|
687
|
+
/** Baseline slope */
|
|
688
|
+
baselineSlope: number;
|
|
689
|
+
/** Baseline Y-intercept */
|
|
690
|
+
baselineIntercept: number;
|
|
691
|
+
/** Maximum peak height above baseline */
|
|
692
|
+
peakHeight: number;
|
|
693
|
+
/** Peak location X (data) */
|
|
694
|
+
peakX: number;
|
|
695
|
+
/** Peak location Y (data, above baseline) */
|
|
696
|
+
peakY: number;
|
|
697
|
+
/** Start point pixel X */
|
|
698
|
+
pixelX1: number;
|
|
699
|
+
/** Start point pixel Y */
|
|
700
|
+
pixelY1: number;
|
|
701
|
+
/** End point pixel X */
|
|
702
|
+
pixelX2: number;
|
|
703
|
+
/** End point pixel Y */
|
|
704
|
+
pixelY2: number;
|
|
705
|
+
}
|
|
706
|
+
/** Chart event map for type-safe event handling */
|
|
707
|
+
export interface ChartEventMap {
|
|
708
|
+
zoom: ZoomEvent;
|
|
709
|
+
pan: PanEvent;
|
|
710
|
+
hover: HoverEvent | null;
|
|
711
|
+
click: ClickEvent;
|
|
712
|
+
resize: {
|
|
713
|
+
width: number;
|
|
714
|
+
height: number;
|
|
715
|
+
};
|
|
716
|
+
render: {
|
|
717
|
+
fps: number;
|
|
718
|
+
frameTime: number;
|
|
719
|
+
};
|
|
720
|
+
legendMove: {
|
|
721
|
+
x: number;
|
|
722
|
+
y: number;
|
|
723
|
+
};
|
|
724
|
+
autoScale: undefined;
|
|
725
|
+
pointSelect: import('./core/selection').PointSelectEvent;
|
|
726
|
+
regionSelect: import('./core/selection').RegionSelectEvent;
|
|
727
|
+
selectionChange: {
|
|
728
|
+
selected: import('./core/selection').SelectedPoint[];
|
|
729
|
+
previous: import('./core/selection').SelectedPoint[];
|
|
730
|
+
};
|
|
731
|
+
selectionClear: undefined;
|
|
732
|
+
dataLoading: DataLoadingEvent;
|
|
733
|
+
deltaMeasure: DeltaMeasurement;
|
|
734
|
+
peakMeasure: PeakMeasurement;
|
|
735
|
+
}
|
|
736
|
+
/** GPU uniform values */
|
|
737
|
+
export interface Uniforms {
|
|
738
|
+
scale: [number, number];
|
|
739
|
+
translate: [number, number];
|
|
740
|
+
color: [number, number, number, number];
|
|
741
|
+
resolution: [number, number];
|
|
742
|
+
}
|
|
743
|
+
/** Buffer configuration */
|
|
744
|
+
export interface BufferConfig {
|
|
745
|
+
usage: "static" | "dynamic" | "stream";
|
|
746
|
+
data: Float32Array;
|
|
747
|
+
}
|
|
748
|
+
/** Render state */
|
|
749
|
+
export interface RenderState {
|
|
750
|
+
needsRender: boolean;
|
|
751
|
+
lastFrameTime: number;
|
|
752
|
+
frameCount: number;
|
|
753
|
+
}
|