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
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Annotation } from '../annotations';
|
|
2
|
+
import { Series } from '../Series';
|
|
3
|
+
import { AxisOptions } from '../../types';
|
|
4
|
+
import { Scale } from '../../scales';
|
|
5
|
+
import { PluginManagerImpl } from '../../plugins';
|
|
6
|
+
import { ChartState, SerializeOptions, DeserializeOptions } from '../../serialization';
|
|
7
|
+
|
|
8
|
+
export interface StateManagerContext {
|
|
9
|
+
viewBounds: {
|
|
10
|
+
xMin: number;
|
|
11
|
+
xMax: number;
|
|
12
|
+
yMin: number;
|
|
13
|
+
yMax: number;
|
|
14
|
+
};
|
|
15
|
+
xAxisOptions: AxisOptions;
|
|
16
|
+
xScale: Scale;
|
|
17
|
+
yAxisOptionsMap: Map<string, AxisOptions>;
|
|
18
|
+
yScales: Map<string, Scale>;
|
|
19
|
+
primaryYAxisId: string;
|
|
20
|
+
series: Map<string, Series>;
|
|
21
|
+
pluginManager: PluginManagerImpl;
|
|
22
|
+
showLegend: boolean;
|
|
23
|
+
showControls: boolean;
|
|
24
|
+
showStatistics: boolean;
|
|
25
|
+
autoScroll: boolean;
|
|
26
|
+
getAnnotations: () => Annotation[];
|
|
27
|
+
clearAnnotations: () => void;
|
|
28
|
+
addAnnotation: (annotation: Annotation) => void;
|
|
29
|
+
updateXAxis: (options: Partial<AxisOptions>) => void;
|
|
30
|
+
updateYAxis: (id: string, options: Partial<AxisOptions>) => void;
|
|
31
|
+
removeSeries: (id: string) => void;
|
|
32
|
+
addSeries: (options: any) => void;
|
|
33
|
+
requestRender: () => void;
|
|
34
|
+
}
|
|
35
|
+
export declare class ChartStateManager {
|
|
36
|
+
private ctx;
|
|
37
|
+
constructor(ctx: StateManagerContext);
|
|
38
|
+
/**
|
|
39
|
+
* Export complete chart state
|
|
40
|
+
*/
|
|
41
|
+
serialize(options?: SerializeOptions): ChartState;
|
|
42
|
+
/**
|
|
43
|
+
* Restore chart from saved state
|
|
44
|
+
*/
|
|
45
|
+
deserialize(state: ChartState, options?: DeserializeOptions): void;
|
|
46
|
+
/**
|
|
47
|
+
* Convert current state to URL-safe hash
|
|
48
|
+
*/
|
|
49
|
+
toUrlHash(compress?: boolean): string;
|
|
50
|
+
/**
|
|
51
|
+
* Load state from URL hash
|
|
52
|
+
*/
|
|
53
|
+
fromUrlHash(hash: string, compressed?: boolean): void;
|
|
54
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ChartControls } from '../ChartControls';
|
|
2
|
+
import { ChartLegend } from '../ChartLegend';
|
|
3
|
+
import { ChartTheme } from '../../theme';
|
|
4
|
+
import { ChartOptions } from '../../types';
|
|
5
|
+
import { Series } from '../Series';
|
|
6
|
+
import { InteractionMode } from '../InteractionManager';
|
|
7
|
+
|
|
8
|
+
export interface UIContext {
|
|
9
|
+
container: HTMLDivElement;
|
|
10
|
+
theme: ChartTheme;
|
|
11
|
+
showControls: boolean;
|
|
12
|
+
toolbar?: import('../../types').ToolbarOptions;
|
|
13
|
+
showLegend: boolean;
|
|
14
|
+
/** Legend behavior options */
|
|
15
|
+
legendOptions?: {
|
|
16
|
+
highlightOnHover?: boolean;
|
|
17
|
+
bringToFrontOnHover?: boolean;
|
|
18
|
+
};
|
|
19
|
+
series: Map<string, Series>;
|
|
20
|
+
autoScale: () => void;
|
|
21
|
+
resetZoom: () => void;
|
|
22
|
+
requestRender: () => void;
|
|
23
|
+
exportImage: () => string;
|
|
24
|
+
setPanMode: (active: boolean) => void;
|
|
25
|
+
setMode: (mode: InteractionMode) => void;
|
|
26
|
+
onLegendMove: (x: number, y: number) => void;
|
|
27
|
+
onToggleSmoothing: () => void;
|
|
28
|
+
toggleLegend: () => void;
|
|
29
|
+
onInteractionStart?: () => void;
|
|
30
|
+
onInteractionEnd?: () => void;
|
|
31
|
+
onHoverStart?: () => void;
|
|
32
|
+
onHoverEnd?: () => void;
|
|
33
|
+
/** @param highlightColor - Whether to apply color highlighting */
|
|
34
|
+
onSeriesHoverStart?: (series: Series, highlightColor: boolean) => void;
|
|
35
|
+
/** @param highlightColor - Whether color highlighting was applied */
|
|
36
|
+
onSeriesHoverEnd?: (series: Series, highlightColor: boolean) => void;
|
|
37
|
+
onToggleVisibility?: (series: Series) => void;
|
|
38
|
+
}
|
|
39
|
+
export declare function initControls(ctx: UIContext): ChartControls | null;
|
|
40
|
+
export declare function initLegend(ctx: UIContext, options: ChartOptions): ChartLegend | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Series } from '../../Series';
|
|
2
|
+
import { Bounds, PlotArea } from '../../../types';
|
|
3
|
+
import { Scale } from '../../../scales';
|
|
4
|
+
import { ChartTheme } from '../../../theme';
|
|
5
|
+
|
|
6
|
+
export declare function exportToSVG(series: Series[], _viewBounds: Bounds, plotArea: PlotArea, xAxis: Scale, yAxes: Map<string, Scale>, theme: ChartTheme, width: number, height: number): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart barrel export
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all chart submodules for clean imports.
|
|
5
|
+
*/
|
|
6
|
+
export type { Chart, ExportOptions } from './types';
|
|
7
|
+
export { MARGINS } from './types';
|
|
8
|
+
export { exportToCSV, exportToJSON, exportToImage } from './ChartExporter';
|
|
9
|
+
export { applyZoom, applyPan, } from './ChartNavigation';
|
|
10
|
+
export { autoScaleAll, autoScaleYOnly, handleBoxZoom } from './ChartScaling';
|
|
11
|
+
export type { NavigationContext } from './ChartNavigation';
|
|
12
|
+
export { prepareSeriesData, renderOverlay } from './ChartRenderer';
|
|
13
|
+
export type { RenderContext } from './ChartRenderer';
|
|
14
|
+
export { ChartImpl, createChart } from './ChartCore';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SeriesOptions, HeatmapOptions, SeriesUpdateData } from '../../../types';
|
|
2
|
+
|
|
3
|
+
export declare function addSeries(ctx: any, options: SeriesOptions | HeatmapOptions): void;
|
|
4
|
+
export declare function removeSeries(ctx: any, id: string): void;
|
|
5
|
+
export declare function updateSeries(ctx: any, id: string, data: SeriesUpdateData): void;
|
|
6
|
+
export declare function appendData(ctx: any, id: string, x: number[] | Float32Array, y: number[] | Float32Array): void;
|
|
7
|
+
export declare function setMaxPoints(ctx: any, id: string, maxPoints: number): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Series } from '../../Series';
|
|
2
|
+
import { NativeWebGLRenderer } from '../../../renderer';
|
|
3
|
+
import { Bounds } from '../../../types';
|
|
4
|
+
import { Annotation } from '../../annotations';
|
|
5
|
+
|
|
6
|
+
export interface SeriesManagerContext {
|
|
7
|
+
series: Map<string, Series>;
|
|
8
|
+
renderer: NativeWebGLRenderer;
|
|
9
|
+
viewBounds: Bounds;
|
|
10
|
+
autoScale: () => void;
|
|
11
|
+
requestRender: () => void;
|
|
12
|
+
addAnnotation: (annotation: Annotation) => string;
|
|
13
|
+
xAxisOptions: {
|
|
14
|
+
auto?: boolean;
|
|
15
|
+
};
|
|
16
|
+
yAxisOptionsMap: Map<string, {
|
|
17
|
+
auto?: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
autoScrollEnabled: boolean;
|
|
20
|
+
updateLegend?: () => void;
|
|
21
|
+
addSeries: (options: any) => void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { SeriesOptions, HeatmapOptions, SeriesUpdateData, ZoomOptions, CursorOptions, ChartEventMap, Bounds, AxisOptions } from '../../types';
|
|
2
|
+
import { Series } from '../Series';
|
|
3
|
+
import { Annotation } from '../annotations';
|
|
4
|
+
import { ChartAnimationConfig } from '../animation';
|
|
5
|
+
import { EventEmitter } from '../EventEmitter';
|
|
6
|
+
import { ChartPlugin } from '../../plugins/types';
|
|
7
|
+
|
|
8
|
+
export interface Chart {
|
|
9
|
+
readonly events: EventEmitter<ChartEventMap>;
|
|
10
|
+
addSeries(options: SeriesOptions | HeatmapOptions): void;
|
|
11
|
+
addBar(options: Omit<SeriesOptions, "type">): void;
|
|
12
|
+
addHeatmap(options: Omit<HeatmapOptions, "type">): void;
|
|
13
|
+
removeSeries(id: string): void;
|
|
14
|
+
updateSeries(id: string, data: SeriesUpdateData): void;
|
|
15
|
+
getSeries(id: string): Series | undefined;
|
|
16
|
+
getAllSeries(): Series[];
|
|
17
|
+
appendData(id: string, x: number[] | Float32Array, y: number[] | Float32Array): void;
|
|
18
|
+
setAutoScroll(enabled: boolean): void;
|
|
19
|
+
setMaxPoints(id: string, maxPoints: number): void;
|
|
20
|
+
addFitLine(seriesId: string, type: any, options?: any): string;
|
|
21
|
+
zoom(options: ZoomOptions & {
|
|
22
|
+
animate?: boolean;
|
|
23
|
+
}): void;
|
|
24
|
+
pan(deltaX: number, deltaY: number): void;
|
|
25
|
+
resetZoom(): void;
|
|
26
|
+
getViewBounds(): Bounds;
|
|
27
|
+
enableCursor(options: CursorOptions): void;
|
|
28
|
+
disableCursor(): void;
|
|
29
|
+
resize(width?: number, height?: number): void;
|
|
30
|
+
/** Get current device pixel ratio used for rendering */
|
|
31
|
+
getDPR(): number;
|
|
32
|
+
/** Set device pixel ratio and trigger re-render */
|
|
33
|
+
setDPR(dpr: number): void;
|
|
34
|
+
render(): void;
|
|
35
|
+
on<K extends keyof ChartEventMap>(event: K, handler: (data: ChartEventMap[K]) => void): void;
|
|
36
|
+
off<K extends keyof ChartEventMap>(event: K, handler: (data: ChartEventMap[K]) => void): void;
|
|
37
|
+
destroy(): void;
|
|
38
|
+
exportImage(type?: "png" | "jpeg"): string;
|
|
39
|
+
autoScale(animate?: boolean): void;
|
|
40
|
+
setTheme(theme: string | object): void;
|
|
41
|
+
/** Access to data analysis utilities */
|
|
42
|
+
/** Access to the current active theme (scaled for responsiveness) */
|
|
43
|
+
readonly theme: any;
|
|
44
|
+
/** Access to the base theme (unscaled) */
|
|
45
|
+
readonly baseTheme: any;
|
|
46
|
+
readonly analysis: any;
|
|
47
|
+
readonly animations: any;
|
|
48
|
+
readonly regression: any;
|
|
49
|
+
readonly radar: any;
|
|
50
|
+
readonly ml: any;
|
|
51
|
+
readonly snapshot: any;
|
|
52
|
+
readonly dataExport: any;
|
|
53
|
+
readonly roi: any;
|
|
54
|
+
readonly videoRecorder: any;
|
|
55
|
+
readonly offscreen: any;
|
|
56
|
+
readonly virtualization: any;
|
|
57
|
+
readonly themeEditor: any;
|
|
58
|
+
readonly sync: any;
|
|
59
|
+
readonly brokenAxis: any;
|
|
60
|
+
readonly forecasting: any;
|
|
61
|
+
addAnnotation(annotation: Annotation): string;
|
|
62
|
+
removeAnnotation(id: string): boolean;
|
|
63
|
+
updateAnnotation(id: string, updates: Partial<Annotation>): void;
|
|
64
|
+
getAnnotation(id: string): Annotation | undefined;
|
|
65
|
+
getAnnotations(): Annotation[];
|
|
66
|
+
clearAnnotations(): void;
|
|
67
|
+
exportCSV(options?: ExportOptions): string;
|
|
68
|
+
exportJSON(options?: ExportOptions): string;
|
|
69
|
+
/** Attach a plugin to extend chart functionality */
|
|
70
|
+
use(plugin: ChartPlugin): void;
|
|
71
|
+
/** Access to the tooltip system if the plugin is loaded */
|
|
72
|
+
readonly tooltip?: any;
|
|
73
|
+
/** Animate view bounds to specific target */
|
|
74
|
+
animateTo(options: {
|
|
75
|
+
xRange?: [number, number];
|
|
76
|
+
yRange?: [number, number];
|
|
77
|
+
duration?: number;
|
|
78
|
+
easing?: string;
|
|
79
|
+
}): void;
|
|
80
|
+
/** Get current animation configuration */
|
|
81
|
+
getAnimationConfig(): ChartAnimationConfig;
|
|
82
|
+
/** Update animation configuration */
|
|
83
|
+
setAnimationConfig(config: Partial<ChartAnimationConfig>): void;
|
|
84
|
+
/** Check if any animations are currently running */
|
|
85
|
+
isAnimating(): boolean;
|
|
86
|
+
/** Add a new Y axis dynamically */
|
|
87
|
+
addYAxis(options: AxisOptions): string;
|
|
88
|
+
/** Remove a Y axis by ID */
|
|
89
|
+
removeYAxis(id: string): boolean;
|
|
90
|
+
/** Update Y axis configuration */
|
|
91
|
+
updateYAxis(id: string, options: Partial<AxisOptions>): void;
|
|
92
|
+
/** Update X axis configuration */
|
|
93
|
+
updateXAxis(options: Partial<AxisOptions>): void;
|
|
94
|
+
/** Get Y axis configuration by ID */
|
|
95
|
+
getYAxis(id: string): AxisOptions | undefined;
|
|
96
|
+
/** Get all Y axes configurations */
|
|
97
|
+
getAllYAxes(): AxisOptions[];
|
|
98
|
+
/** Get the primary Y axis ID */
|
|
99
|
+
getPrimaryYAxisId(): string;
|
|
100
|
+
/** Update unified layout configuration */
|
|
101
|
+
updateLayout(options: Partial<import('../layout').LayoutOptions>): void;
|
|
102
|
+
/** Select data points programmatically */
|
|
103
|
+
selectPoints(points: Array<{
|
|
104
|
+
seriesId: string;
|
|
105
|
+
indices: number[];
|
|
106
|
+
}>, mode?: any): void;
|
|
107
|
+
/** Get all currently selected points */
|
|
108
|
+
getSelectedPoints(): any[];
|
|
109
|
+
/** Clear all selections */
|
|
110
|
+
clearSelection(): void;
|
|
111
|
+
/** Hit-test at a pixel coordinate */
|
|
112
|
+
hitTest(pixelX: number, pixelY: number): any | null;
|
|
113
|
+
/** Check if a specific point is selected */
|
|
114
|
+
isPointSelected(seriesId: string, index: number): boolean;
|
|
115
|
+
/** Get selection count */
|
|
116
|
+
getSelectionCount(): number;
|
|
117
|
+
/** Configure selection behavior */
|
|
118
|
+
configureSelection(config: any): void;
|
|
119
|
+
/**
|
|
120
|
+
* Set pan mode (true = pan, false = selection)
|
|
121
|
+
* @deprecated Use setMode('pan') or setMode('select') instead
|
|
122
|
+
*/
|
|
123
|
+
setPanMode(enabled: boolean): void;
|
|
124
|
+
/**
|
|
125
|
+
* Set the interaction mode
|
|
126
|
+
* @param mode - 'pan' for pan/drag, 'boxZoom' for rectangle zoom, 'select' for point selection
|
|
127
|
+
*/
|
|
128
|
+
setMode(mode: 'pan' | 'boxZoom' | 'select' | 'delta' | 'peak'): void;
|
|
129
|
+
/**
|
|
130
|
+
* Get the current interaction mode
|
|
131
|
+
*/
|
|
132
|
+
getMode(): 'pan' | 'boxZoom' | 'select' | 'delta' | 'peak';
|
|
133
|
+
/**
|
|
134
|
+
* Get the Delta Tool instance for advanced measurements
|
|
135
|
+
*/
|
|
136
|
+
getDeltaTool(): any | null;
|
|
137
|
+
/**
|
|
138
|
+
* Get the Peak Tool instance for peak integration
|
|
139
|
+
*/
|
|
140
|
+
getPeakTool(): any | null;
|
|
141
|
+
/**
|
|
142
|
+
* Get a plugin API by name
|
|
143
|
+
*/
|
|
144
|
+
getPlugin<T = any>(name: string): T | null;
|
|
145
|
+
/**
|
|
146
|
+
* Get names of all registered plugins
|
|
147
|
+
*/
|
|
148
|
+
getPluginNames(): string[];
|
|
149
|
+
/** Get current responsive state */
|
|
150
|
+
getResponsiveState(): import('../responsive').ResponsiveState;
|
|
151
|
+
/** Configure responsive behavior */
|
|
152
|
+
configureResponsive(config: Partial<import('../responsive').ResponsiveConfig>): void;
|
|
153
|
+
/** Check if responsive mode is enabled */
|
|
154
|
+
isResponsiveEnabled(): boolean;
|
|
155
|
+
/** Export complete chart state */
|
|
156
|
+
serialize(options?: import('../../serialization').SerializeOptions): import('../../serialization').ChartState;
|
|
157
|
+
/** Restore chart from saved state */
|
|
158
|
+
deserialize(state: import('../../serialization').ChartState, options?: import('../../serialization').DeserializeOptions): void;
|
|
159
|
+
/** Convert current state to URL-safe hash */
|
|
160
|
+
toUrlHash(compress?: boolean): string;
|
|
161
|
+
/** Load state from URL hash */
|
|
162
|
+
fromUrlHash(hash: string, compressed?: boolean): void;
|
|
163
|
+
/** Set custom scales (e.g. for Broken Axis support) */
|
|
164
|
+
setXScale(scale: any): void;
|
|
165
|
+
setYScale(yAxisId: string, scale: any): void;
|
|
166
|
+
/** Use a plugin */
|
|
167
|
+
use(plugin: ChartPlugin | any): Promise<void>;
|
|
168
|
+
/** Destroy the chart and cleanup resources */
|
|
169
|
+
destroy(): void;
|
|
170
|
+
}
|
|
171
|
+
export type { ChartPlugin };
|
|
172
|
+
/** Options for data export */
|
|
173
|
+
export interface ExportOptions {
|
|
174
|
+
/** Series IDs to export (default: all) */
|
|
175
|
+
seriesIds?: string[];
|
|
176
|
+
/** Include headers in CSV (default: true) */
|
|
177
|
+
includeHeaders?: boolean;
|
|
178
|
+
/** Decimal precision (default: 6) */
|
|
179
|
+
precision?: number;
|
|
180
|
+
/** CSV delimiter (default: ',') */
|
|
181
|
+
delimiter?: string;
|
|
182
|
+
}
|
|
183
|
+
export declare const MARGINS: {
|
|
184
|
+
top: number;
|
|
185
|
+
right: number;
|
|
186
|
+
bottom: number;
|
|
187
|
+
left: number;
|
|
188
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sci Plot - Clipboard Module
|
|
3
|
+
*
|
|
4
|
+
* Provides clipboard operations for copying chart data to various formats.
|
|
5
|
+
* Supports copying selected points, visible data, or all data.
|
|
6
|
+
*
|
|
7
|
+
* @module clipboard
|
|
8
|
+
*/
|
|
9
|
+
export type ClipboardFormat = 'tsv' | 'csv' | 'json' | 'markdown';
|
|
10
|
+
export interface ClipboardOptions {
|
|
11
|
+
/** Output format (default: 'tsv' - Excel compatible) */
|
|
12
|
+
format?: ClipboardFormat;
|
|
13
|
+
/** Include column headers (default: true) */
|
|
14
|
+
includeHeaders?: boolean;
|
|
15
|
+
/** Decimal precision (default: 6) */
|
|
16
|
+
precision?: number;
|
|
17
|
+
/** Use scientific notation for very large/small numbers (default: true) */
|
|
18
|
+
scientific?: boolean;
|
|
19
|
+
/** Scientific notation threshold (default: 1e6) */
|
|
20
|
+
scientificThreshold?: number;
|
|
21
|
+
/** Custom column separator (overrides format default) */
|
|
22
|
+
separator?: string;
|
|
23
|
+
/** Custom line separator (default: '\n') */
|
|
24
|
+
lineSeparator?: string;
|
|
25
|
+
/** Include series name in output (default: true for multi-series) */
|
|
26
|
+
includeSeriesName?: boolean;
|
|
27
|
+
/** Custom header names */
|
|
28
|
+
headers?: {
|
|
29
|
+
x?: string;
|
|
30
|
+
y?: string;
|
|
31
|
+
series?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface ClipboardDataPoint {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
seriesId?: string;
|
|
38
|
+
seriesName?: string;
|
|
39
|
+
index?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface ClipboardResult {
|
|
42
|
+
/** Whether the copy was successful */
|
|
43
|
+
success: boolean;
|
|
44
|
+
/** Number of points copied */
|
|
45
|
+
pointCount: number;
|
|
46
|
+
/** Number of series included */
|
|
47
|
+
seriesCount: number;
|
|
48
|
+
/** The formatted text that was copied */
|
|
49
|
+
text?: string;
|
|
50
|
+
/** Error message if failed */
|
|
51
|
+
error?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare class ClipboardManager {
|
|
54
|
+
private defaultOptions;
|
|
55
|
+
constructor(options?: Partial<ClipboardOptions>);
|
|
56
|
+
/**
|
|
57
|
+
* Copy data points to clipboard
|
|
58
|
+
*/
|
|
59
|
+
copyPoints(points: ClipboardDataPoint[], options?: Partial<ClipboardOptions>): Promise<ClipboardResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Copy series data to clipboard
|
|
62
|
+
*/
|
|
63
|
+
copySeries(seriesData: {
|
|
64
|
+
id: string;
|
|
65
|
+
name?: string;
|
|
66
|
+
x: Float32Array | Float64Array;
|
|
67
|
+
y: Float32Array | Float64Array;
|
|
68
|
+
}[], options?: Partial<ClipboardOptions>): Promise<ClipboardResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Format data points to string
|
|
71
|
+
*/
|
|
72
|
+
formatPoints(points: ClipboardDataPoint[], options: ClipboardOptions): string;
|
|
73
|
+
/**
|
|
74
|
+
* Format as delimited text (TSV/CSV)
|
|
75
|
+
*/
|
|
76
|
+
private formatAsDelimited;
|
|
77
|
+
/**
|
|
78
|
+
* Format as JSON
|
|
79
|
+
*/
|
|
80
|
+
private formatAsJson;
|
|
81
|
+
/**
|
|
82
|
+
* Format as Markdown table
|
|
83
|
+
*/
|
|
84
|
+
private formatAsMarkdown;
|
|
85
|
+
/**
|
|
86
|
+
* Format a number for output
|
|
87
|
+
*/
|
|
88
|
+
private formatNumber;
|
|
89
|
+
/**
|
|
90
|
+
* Round a number to specified precision
|
|
91
|
+
*/
|
|
92
|
+
private roundNumber;
|
|
93
|
+
/**
|
|
94
|
+
* Write text to system clipboard
|
|
95
|
+
*/
|
|
96
|
+
private writeToClipboard;
|
|
97
|
+
/**
|
|
98
|
+
* Fallback clipboard copy using hidden textarea
|
|
99
|
+
*/
|
|
100
|
+
private fallbackCopyToClipboard;
|
|
101
|
+
/**
|
|
102
|
+
* Read from clipboard (for paste functionality)
|
|
103
|
+
*/
|
|
104
|
+
readFromClipboard(): Promise<string | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Parse clipboard text to data points
|
|
107
|
+
*/
|
|
108
|
+
parseClipboardData(text: string, format?: ClipboardFormat): ClipboardDataPoint[];
|
|
109
|
+
/**
|
|
110
|
+
* Detect format from text content
|
|
111
|
+
*/
|
|
112
|
+
private detectFormat;
|
|
113
|
+
/**
|
|
114
|
+
* Parse JSON data
|
|
115
|
+
*/
|
|
116
|
+
private parseJson;
|
|
117
|
+
/**
|
|
118
|
+
* Set default options
|
|
119
|
+
*/
|
|
120
|
+
setDefaults(options: Partial<ClipboardOptions>): void;
|
|
121
|
+
/**
|
|
122
|
+
* Get current default options
|
|
123
|
+
*/
|
|
124
|
+
getDefaults(): ClipboardOptions;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the global clipboard manager instance
|
|
128
|
+
*/
|
|
129
|
+
export declare function getClipboardManager(): ClipboardManager;
|
|
130
|
+
/**
|
|
131
|
+
* Copy data points to clipboard (convenience function)
|
|
132
|
+
*/
|
|
133
|
+
export declare function copyToClipboard(points: ClipboardDataPoint[], options?: Partial<ClipboardOptions>): Promise<ClipboardResult>;
|
|
134
|
+
/**
|
|
135
|
+
* Format data as delimited string (without copying)
|
|
136
|
+
*/
|
|
137
|
+
export declare function formatData(points: ClipboardDataPoint[], options?: Partial<ClipboardOptions>): string;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sci Plot - Debug Overlay Module
|
|
3
|
+
*
|
|
4
|
+
* Provides a visual debug overlay showing performance metrics,
|
|
5
|
+
* rendering info, and chart state for development and debugging.
|
|
6
|
+
*
|
|
7
|
+
* @module debug
|
|
8
|
+
*/
|
|
9
|
+
export interface DebugStats {
|
|
10
|
+
/** Current frames per second */
|
|
11
|
+
fps: number;
|
|
12
|
+
/** Average frame time in ms */
|
|
13
|
+
frameTime: number;
|
|
14
|
+
/** Total number of points being rendered */
|
|
15
|
+
pointCount: number;
|
|
16
|
+
/** Number of visible series */
|
|
17
|
+
seriesCount: number;
|
|
18
|
+
/** Current view bounds */
|
|
19
|
+
viewBounds: {
|
|
20
|
+
xMin: number;
|
|
21
|
+
xMax: number;
|
|
22
|
+
yMin: number;
|
|
23
|
+
yMax: number;
|
|
24
|
+
};
|
|
25
|
+
/** WebGL/WebGPU renderer info */
|
|
26
|
+
rendererInfo: {
|
|
27
|
+
type: 'webgl' | 'webgpu' | 'unknown';
|
|
28
|
+
vendor?: string;
|
|
29
|
+
renderer?: string;
|
|
30
|
+
};
|
|
31
|
+
/** Memory usage estimate (bytes) */
|
|
32
|
+
memoryEstimate: number;
|
|
33
|
+
/** Number of draw calls per frame */
|
|
34
|
+
drawCalls: number;
|
|
35
|
+
/** Whether GPU downsampling is active */
|
|
36
|
+
downsamplingActive: boolean;
|
|
37
|
+
/** Device pixel ratio */
|
|
38
|
+
devicePixelRatio: number;
|
|
39
|
+
/** Canvas dimensions */
|
|
40
|
+
canvasSize: {
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
};
|
|
44
|
+
/** Plot area dimensions */
|
|
45
|
+
plotArea: {
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
width: number;
|
|
49
|
+
height: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface DebugOverlayOptions {
|
|
53
|
+
/** Show FPS counter (default: true) */
|
|
54
|
+
showFps?: boolean;
|
|
55
|
+
/** Show point count (default: true) */
|
|
56
|
+
showPointCount?: boolean;
|
|
57
|
+
/** Show view bounds (default: true) */
|
|
58
|
+
showBounds?: boolean;
|
|
59
|
+
/** Show renderer info (default: true) */
|
|
60
|
+
showRendererInfo?: boolean;
|
|
61
|
+
/** Show memory estimate (default: true) */
|
|
62
|
+
showMemory?: boolean;
|
|
63
|
+
/** Show draw calls (default: true) */
|
|
64
|
+
showDrawCalls?: boolean;
|
|
65
|
+
/** Position: 'top-left', 'top-right', 'bottom-left', 'bottom-right' */
|
|
66
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
67
|
+
/** Background opacity (0-1, default: 0.8) */
|
|
68
|
+
opacity?: number;
|
|
69
|
+
/** Font size in pixels (default: 11) */
|
|
70
|
+
fontSize?: number;
|
|
71
|
+
/** Update interval in ms (default: 250) */
|
|
72
|
+
updateInterval?: number;
|
|
73
|
+
/** Custom CSS class name */
|
|
74
|
+
className?: string;
|
|
75
|
+
}
|
|
76
|
+
export declare class DebugOverlay {
|
|
77
|
+
private container;
|
|
78
|
+
private element;
|
|
79
|
+
private options;
|
|
80
|
+
private visible;
|
|
81
|
+
private updateIntervalId;
|
|
82
|
+
private statsProvider;
|
|
83
|
+
private lastStats;
|
|
84
|
+
private frameCount;
|
|
85
|
+
private lastFpsUpdate;
|
|
86
|
+
private currentFps;
|
|
87
|
+
private frameTimes;
|
|
88
|
+
constructor(container: HTMLElement, options?: DebugOverlayOptions);
|
|
89
|
+
/**
|
|
90
|
+
* Set the stats provider function
|
|
91
|
+
*/
|
|
92
|
+
setStatsProvider(provider: () => Partial<DebugStats>): void;
|
|
93
|
+
/**
|
|
94
|
+
* Record a frame for FPS calculation
|
|
95
|
+
*/
|
|
96
|
+
recordFrame(frameTime?: number): void;
|
|
97
|
+
/**
|
|
98
|
+
* Show the debug overlay
|
|
99
|
+
*/
|
|
100
|
+
show(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Hide the debug overlay
|
|
103
|
+
*/
|
|
104
|
+
hide(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Toggle visibility
|
|
107
|
+
*/
|
|
108
|
+
toggle(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Check if visible
|
|
111
|
+
*/
|
|
112
|
+
isVisible(): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Update the display with new stats
|
|
115
|
+
*/
|
|
116
|
+
update(stats?: Partial<DebugStats>): void;
|
|
117
|
+
/**
|
|
118
|
+
* Get current stats
|
|
119
|
+
*/
|
|
120
|
+
getStats(): Partial<DebugStats>;
|
|
121
|
+
/**
|
|
122
|
+
* Destroy the overlay
|
|
123
|
+
*/
|
|
124
|
+
destroy(): void;
|
|
125
|
+
private createElement;
|
|
126
|
+
private destroyElement;
|
|
127
|
+
private getPositionStyles;
|
|
128
|
+
private startUpdates;
|
|
129
|
+
private stopUpdates;
|
|
130
|
+
private getAverageFrameTime;
|
|
131
|
+
private renderStats;
|
|
132
|
+
private formatNumber;
|
|
133
|
+
private formatBytes;
|
|
134
|
+
private formatValue;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Create a debug overlay for a chart container
|
|
138
|
+
*/
|
|
139
|
+
export declare function createDebugOverlay(container: HTMLElement, options?: DebugOverlayOptions): DebugOverlay;
|
|
140
|
+
/**
|
|
141
|
+
* Quick enable debug mode (attaches to first chart container found)
|
|
142
|
+
*/
|
|
143
|
+
export declare function enableDebugMode(options?: DebugOverlayOptions): DebugOverlay | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core module exports
|
|
3
|
+
*/
|
|
4
|
+
export { createChart, type Chart, type ChartOptions, type ExportOptions } from './Chart';
|
|
5
|
+
export { Series } from './Series';
|
|
6
|
+
export { EventEmitter } from './EventEmitter';
|
|
7
|
+
export { OverlayRenderer } from './OverlayRenderer';
|
|
8
|
+
export { InteractionManager, type InteractionMode } from './InteractionManager';
|
|
9
|
+
export * from './annotations';
|
|
10
|
+
export * from './selection';
|
|
11
|
+
export * from './responsive';
|
|
12
|
+
export * from './loading';
|
|
13
|
+
export * from './locale';
|
|
14
|
+
export * from './keybindings';
|
|
15
|
+
export * from './debug';
|
|
16
|
+
export * from './clipboard';
|
|
17
|
+
export * from './sync';
|