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,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Worker Pool Manager for Offscreen Rendering
|
|
3
|
+
* @module plugins/offscreen/pool
|
|
4
|
+
*/
|
|
5
|
+
export interface WorkerTask {
|
|
6
|
+
id: string;
|
|
7
|
+
priority: number;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
resolve: (value: ImageBitmap) => void;
|
|
10
|
+
reject: (error: Error) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare class WorkerPool {
|
|
13
|
+
private size;
|
|
14
|
+
private workers;
|
|
15
|
+
private availableWorkers;
|
|
16
|
+
private taskQueue;
|
|
17
|
+
private activeJobs;
|
|
18
|
+
constructor(size: number);
|
|
19
|
+
private initialize;
|
|
20
|
+
private handleWorkerMessage;
|
|
21
|
+
private handleWorkerError;
|
|
22
|
+
private findTask;
|
|
23
|
+
private processQueue;
|
|
24
|
+
submit(priority?: number): Promise<ImageBitmap>;
|
|
25
|
+
getStats(): {
|
|
26
|
+
total: number;
|
|
27
|
+
active: number;
|
|
28
|
+
idle: number;
|
|
29
|
+
queued: number;
|
|
30
|
+
};
|
|
31
|
+
destroy(): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Types for Offscreen rendering plugin
|
|
3
|
+
* @module plugins/offscreen/types
|
|
4
|
+
*/
|
|
5
|
+
export type OffscreenMode = "auto" | "webgl-only" | "all-layers";
|
|
6
|
+
export type OffscreenTransferMode = "offscreen" | "image-bitmap";
|
|
7
|
+
export type OffscreenFallbackMode = "main-thread" | "disable";
|
|
8
|
+
export interface PluginOffscreenConfig {
|
|
9
|
+
/** Enable offscreen rendering (default: false) */
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
/** Rendering mode (default: "auto") */
|
|
12
|
+
mode?: OffscreenMode;
|
|
13
|
+
/** Number of workers in pool (default: 1) */
|
|
14
|
+
workerPool?: number;
|
|
15
|
+
/** Transfer strategy (default: "offscreen") */
|
|
16
|
+
transfer?: OffscreenTransferMode;
|
|
17
|
+
/** Fallback if offscreen unavailable (default: "main-thread") */
|
|
18
|
+
fallback?: OffscreenFallbackMode;
|
|
19
|
+
/** Enable debug logs (default: false) */
|
|
20
|
+
debug?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface OffscreenStats {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
frames: number;
|
|
25
|
+
lastFrameTime: number;
|
|
26
|
+
lastFrameTimestamp: number;
|
|
27
|
+
}
|
|
28
|
+
export interface OffscreenAPI {
|
|
29
|
+
enable(): void;
|
|
30
|
+
disable(): void;
|
|
31
|
+
isEnabled(): boolean;
|
|
32
|
+
updateConfig(config: Partial<PluginOffscreenConfig>): void;
|
|
33
|
+
getStats(): OffscreenStats;
|
|
34
|
+
flush(): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChartPlugin } from '../types';
|
|
2
|
+
import { PluginPatternRecognitionConfig } from './types';
|
|
3
|
+
|
|
4
|
+
export declare function PluginPatternRecognition(userConfig?: Partial<PluginPatternRecognitionConfig>): ChartPlugin<PluginPatternRecognitionConfig>;
|
|
5
|
+
export default PluginPatternRecognition;
|
|
6
|
+
export type { PatternType, PatternDefinition, PatternPoint, PatternSegment, PatternValidationResult, PatternMeasurements, PatternMatch, PatternDetectionResult, PatternDetectionParameters, CustomPatternConfig, PluginPatternRecognitionConfig, PatternDetectedEvent, PatternCompletedEvent, PatternFailedEvent, PatternRecognitionAPI } from './types';
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Recognition Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Provides types for technical pattern recognition in financial and scientific data.
|
|
5
|
+
* Supports common chart patterns like head-shoulders, double tops, triangles.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module plugins/pattern-recognition
|
|
9
|
+
*/
|
|
10
|
+
export type PatternType = 'head-shoulders' | 'inverse-head-shoulders' | 'double-top' | 'double-bottom' | 'triple-top' | 'triple-bottom' | 'ascending-triangle' | 'descending-triangle' | 'symmetrical-triangle' | 'rising-wedge' | 'falling-wedge' | 'rectangle' | 'flag' | 'pennant' | 'custom';
|
|
11
|
+
export interface PatternDefinition {
|
|
12
|
+
/** Pattern identifier */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Pattern type */
|
|
15
|
+
type: PatternType;
|
|
16
|
+
/** Pattern name for display */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Pattern description */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Minimum number of points required */
|
|
21
|
+
minPoints: number;
|
|
22
|
+
/** Maximum number of points allowed */
|
|
23
|
+
maxPoints?: number;
|
|
24
|
+
/** Pattern validation function */
|
|
25
|
+
validator: (points: PatternPoint[]) => PatternValidationResult;
|
|
26
|
+
/** Pattern confidence calculator */
|
|
27
|
+
confidenceCalculator?: (points: PatternPoint[], validation: PatternValidationResult) => number;
|
|
28
|
+
}
|
|
29
|
+
export interface PatternPoint {
|
|
30
|
+
/** X coordinate (time/index) */
|
|
31
|
+
x: number;
|
|
32
|
+
/** Y coordinate (price/value) */
|
|
33
|
+
y: number;
|
|
34
|
+
/** Point type in pattern context */
|
|
35
|
+
type?: 'peak' | 'valley' | 'start' | 'end';
|
|
36
|
+
/** Volume at this point (optional) */
|
|
37
|
+
volume?: number;
|
|
38
|
+
}
|
|
39
|
+
export interface PatternSegment {
|
|
40
|
+
/** Start point */
|
|
41
|
+
start: PatternPoint;
|
|
42
|
+
/** End point */
|
|
43
|
+
end: PatternPoint;
|
|
44
|
+
/** Segment type */
|
|
45
|
+
type: 'support' | 'resistance' | 'trendline';
|
|
46
|
+
/** Segment strength (0-1) */
|
|
47
|
+
strength?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface PatternValidationResult {
|
|
50
|
+
/** Whether pattern is valid */
|
|
51
|
+
valid: boolean;
|
|
52
|
+
/** Confidence score (0-1) */
|
|
53
|
+
confidence: number;
|
|
54
|
+
/** Pattern segments */
|
|
55
|
+
segments: PatternSegment[];
|
|
56
|
+
/** Key points in pattern */
|
|
57
|
+
keyPoints: PatternPoint[];
|
|
58
|
+
/** Pattern measurements */
|
|
59
|
+
measurements?: PatternMeasurements;
|
|
60
|
+
/** Validation errors */
|
|
61
|
+
errors?: string[];
|
|
62
|
+
}
|
|
63
|
+
export interface PatternMeasurements {
|
|
64
|
+
/** Pattern height (high - low) */
|
|
65
|
+
height: number;
|
|
66
|
+
/** Pattern width (duration) */
|
|
67
|
+
width: number;
|
|
68
|
+
/** Pattern slope */
|
|
69
|
+
slope: number;
|
|
70
|
+
/** Volume profile */
|
|
71
|
+
volumeProfile?: {
|
|
72
|
+
increasing: number;
|
|
73
|
+
decreasing: number;
|
|
74
|
+
neutral: number;
|
|
75
|
+
};
|
|
76
|
+
/** Breakout target */
|
|
77
|
+
breakoutTarget?: number;
|
|
78
|
+
/** Stop loss level */
|
|
79
|
+
stopLoss?: number;
|
|
80
|
+
}
|
|
81
|
+
export interface PatternMatch {
|
|
82
|
+
/** Pattern definition */
|
|
83
|
+
pattern: PatternDefinition;
|
|
84
|
+
/** Match confidence (0-1) */
|
|
85
|
+
confidence: number;
|
|
86
|
+
/** Pattern location */
|
|
87
|
+
location: {
|
|
88
|
+
startIndex: number;
|
|
89
|
+
endIndex: number;
|
|
90
|
+
startPoint: PatternPoint;
|
|
91
|
+
endPoint: PatternPoint;
|
|
92
|
+
};
|
|
93
|
+
/** Validation result */
|
|
94
|
+
validation: PatternValidationResult;
|
|
95
|
+
/** Detection timestamp */
|
|
96
|
+
timestamp: number;
|
|
97
|
+
/** Series ID where pattern was found */
|
|
98
|
+
seriesId: string;
|
|
99
|
+
}
|
|
100
|
+
export interface PatternDetectionResult {
|
|
101
|
+
/** All pattern matches found */
|
|
102
|
+
matches: PatternMatch[];
|
|
103
|
+
/** Detection summary */
|
|
104
|
+
summary: {
|
|
105
|
+
totalPatterns: number;
|
|
106
|
+
patternsByType: Record<PatternType, number>;
|
|
107
|
+
averageConfidence: number;
|
|
108
|
+
detectionTime: number;
|
|
109
|
+
};
|
|
110
|
+
/** Processed data points */
|
|
111
|
+
processedPoints: number;
|
|
112
|
+
/** Detection parameters used */
|
|
113
|
+
parameters: PatternDetectionParameters;
|
|
114
|
+
}
|
|
115
|
+
export interface PatternDetectionParameters {
|
|
116
|
+
/** Minimum pattern confidence threshold */
|
|
117
|
+
minConfidence: number;
|
|
118
|
+
/** Maximum patterns to detect */
|
|
119
|
+
maxPatterns?: number;
|
|
120
|
+
/** Pattern types to detect */
|
|
121
|
+
patternTypes: PatternType[];
|
|
122
|
+
/** Sensitivity for peak/valley detection */
|
|
123
|
+
sensitivity: number;
|
|
124
|
+
/** Minimum pattern size (points) */
|
|
125
|
+
minPatternSize: number;
|
|
126
|
+
/** Maximum pattern size (points) */
|
|
127
|
+
maxPatternSize: number;
|
|
128
|
+
/** Overlap tolerance between patterns */
|
|
129
|
+
overlapTolerance: number;
|
|
130
|
+
/** Enable volume confirmation */
|
|
131
|
+
enableVolumeConfirmation: boolean;
|
|
132
|
+
/** Enable trend confirmation */
|
|
133
|
+
enableTrendConfirmation: boolean;
|
|
134
|
+
}
|
|
135
|
+
export interface CustomPatternConfig {
|
|
136
|
+
/** Pattern identifier */
|
|
137
|
+
id: string;
|
|
138
|
+
/** Pattern name */
|
|
139
|
+
name: string;
|
|
140
|
+
/** Point sequence definition */
|
|
141
|
+
pointSequence: {
|
|
142
|
+
type: 'peak' | 'valley' | 'any';
|
|
143
|
+
relativePosition: number;
|
|
144
|
+
constraints?: {
|
|
145
|
+
higherThanPrevious?: boolean;
|
|
146
|
+
lowerThanPrevious?: boolean;
|
|
147
|
+
withinRange?: [number, number];
|
|
148
|
+
};
|
|
149
|
+
}[];
|
|
150
|
+
/** Validation rules */
|
|
151
|
+
validationRules: {
|
|
152
|
+
slopeConstraints?: {
|
|
153
|
+
minSlope?: number;
|
|
154
|
+
maxSlope?: number;
|
|
155
|
+
};
|
|
156
|
+
ratioConstraints?: {
|
|
157
|
+
heightToWidthRatio?: [number, number];
|
|
158
|
+
symmetryRatio?: [number, number];
|
|
159
|
+
};
|
|
160
|
+
volumeConstraints?: {
|
|
161
|
+
increasingVolume?: boolean;
|
|
162
|
+
volumeConfirmation?: boolean;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export interface PluginPatternRecognitionConfig {
|
|
167
|
+
/** Default detection parameters */
|
|
168
|
+
defaultParameters: PatternDetectionParameters;
|
|
169
|
+
/** Custom patterns to register */
|
|
170
|
+
customPatterns?: CustomPatternConfig[];
|
|
171
|
+
/** Enable real-time detection */
|
|
172
|
+
enableRealtime: boolean;
|
|
173
|
+
/** Detection debounce time (ms) */
|
|
174
|
+
debounceTime: number;
|
|
175
|
+
/** Maximum patterns to store in memory */
|
|
176
|
+
maxStoredPatterns: number;
|
|
177
|
+
/** Pattern visualization settings */
|
|
178
|
+
visualization: {
|
|
179
|
+
showPatterns: boolean;
|
|
180
|
+
showLabels: boolean;
|
|
181
|
+
showTargets: boolean;
|
|
182
|
+
colorScheme: Record<PatternType, string>;
|
|
183
|
+
opacity: number;
|
|
184
|
+
lineWidth: number;
|
|
185
|
+
};
|
|
186
|
+
/** Notification settings */
|
|
187
|
+
notifications: {
|
|
188
|
+
enableAlerts: boolean;
|
|
189
|
+
minAlertConfidence: number;
|
|
190
|
+
alertTypes: PatternType[];
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export interface PatternDetectedEvent {
|
|
194
|
+
match: PatternMatch;
|
|
195
|
+
seriesId: string;
|
|
196
|
+
timestamp: number;
|
|
197
|
+
}
|
|
198
|
+
export interface PatternCompletedEvent {
|
|
199
|
+
match: PatternMatch;
|
|
200
|
+
breakoutConfirmed: boolean;
|
|
201
|
+
breakoutDirection: 'upward' | 'downward' | 'none';
|
|
202
|
+
seriesId: string;
|
|
203
|
+
timestamp: number;
|
|
204
|
+
}
|
|
205
|
+
export interface PatternFailedEvent {
|
|
206
|
+
patternType: PatternType;
|
|
207
|
+
reason: string;
|
|
208
|
+
location: {
|
|
209
|
+
startIndex: number;
|
|
210
|
+
endIndex: number;
|
|
211
|
+
};
|
|
212
|
+
seriesId: string;
|
|
213
|
+
timestamp: number;
|
|
214
|
+
}
|
|
215
|
+
export interface PatternRecognitionAPI {
|
|
216
|
+
/** Detect patterns in series data */
|
|
217
|
+
detectPatterns(seriesId: string, data: PatternPoint[], parameters?: Partial<PatternDetectionParameters>): Promise<PatternDetectionResult>;
|
|
218
|
+
/** Register a custom pattern */
|
|
219
|
+
registerCustomPattern(config: CustomPatternConfig): void;
|
|
220
|
+
/** Get all registered patterns */
|
|
221
|
+
getRegisteredPatterns(): PatternDefinition[];
|
|
222
|
+
/** Get pattern matches for a series */
|
|
223
|
+
getPatternMatches(seriesId: string): PatternMatch[];
|
|
224
|
+
/** Clear pattern matches for a series */
|
|
225
|
+
clearPatternMatches(seriesId: string): void;
|
|
226
|
+
/** Enable real-time pattern detection for series */
|
|
227
|
+
enableRealtimeDetection(seriesId: string, parameters?: Partial<PatternDetectionParameters>): void;
|
|
228
|
+
/** Disable real-time pattern detection for series */
|
|
229
|
+
disableRealtimeDetection(seriesId: string): void;
|
|
230
|
+
/** Get pattern statistics */
|
|
231
|
+
getStatistics(seriesId?: string): {
|
|
232
|
+
totalDetections: number;
|
|
233
|
+
patternsByType: Record<PatternType, number>;
|
|
234
|
+
averageConfidence: number;
|
|
235
|
+
detectionRate: number;
|
|
236
|
+
};
|
|
237
|
+
/** Update plugin configuration */
|
|
238
|
+
updateConfig(config: Partial<PluginPatternRecognitionConfig>): void;
|
|
239
|
+
/** Get current configuration */
|
|
240
|
+
getConfig(): PluginPatternRecognitionConfig;
|
|
241
|
+
/** Visualize patterns on chart */
|
|
242
|
+
visualizePatterns(seriesId: string, showTypes?: PatternType[]): void;
|
|
243
|
+
/** Hide pattern visualizations */
|
|
244
|
+
hidePatterns(seriesId: string): void;
|
|
245
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PluginRadarConfig } from './types';
|
|
2
|
+
import { ChartPlugin } from '../types';
|
|
3
|
+
|
|
4
|
+
export declare function PluginRadar(userConfig?: Partial<PluginRadarConfig>): ChartPlugin<PluginRadarConfig>;
|
|
5
|
+
export default PluginRadar;
|
|
6
|
+
export type { PluginRadarConfig, RadarAPI, RadarSeriesData, RadarPoint } from './types';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface RadarPoint {
|
|
2
|
+
category: string;
|
|
3
|
+
value: number;
|
|
4
|
+
}
|
|
5
|
+
export interface RadarSeriesData {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
points: RadarPoint[];
|
|
9
|
+
style?: {
|
|
10
|
+
color?: string;
|
|
11
|
+
fillColor?: string;
|
|
12
|
+
width?: number;
|
|
13
|
+
opacity?: number;
|
|
14
|
+
pointSize?: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface PluginRadarConfig {
|
|
18
|
+
categories: string[];
|
|
19
|
+
maxValue?: number;
|
|
20
|
+
minValue?: number;
|
|
21
|
+
gridLevels?: number;
|
|
22
|
+
showLabels?: boolean;
|
|
23
|
+
labelStyle?: {
|
|
24
|
+
fontSize?: number;
|
|
25
|
+
color?: string;
|
|
26
|
+
fontFamily?: string;
|
|
27
|
+
};
|
|
28
|
+
gridStyle?: {
|
|
29
|
+
color?: string;
|
|
30
|
+
width?: number;
|
|
31
|
+
lineDash?: number[];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface RadarAPI {
|
|
35
|
+
addSeries(data: RadarSeriesData): string;
|
|
36
|
+
removeSeries(id: string): boolean;
|
|
37
|
+
updateSeries(id: string, points: RadarPoint[]): boolean;
|
|
38
|
+
setCategories(categories: string[]): void;
|
|
39
|
+
setMaxValue(value: number): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RegressionData, RegressionResult, LinearRegressionConfig, PolynomialRegressionConfig, ExponentialRegressionConfig, GaussianRegressionConfig } from './types';
|
|
2
|
+
|
|
3
|
+
export declare function linearRegression(data: RegressionData, config?: LinearRegressionConfig): RegressionResult;
|
|
4
|
+
export declare function polynomialRegression(data: RegressionData, config: PolynomialRegressionConfig): RegressionResult;
|
|
5
|
+
export declare function exponentialRegression(data: RegressionData, _config?: ExponentialRegressionConfig): RegressionResult;
|
|
6
|
+
export declare function gaussianRegression(data: RegressionData, _config?: GaussianRegressionConfig): RegressionResult;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChartPlugin } from '../types';
|
|
2
|
+
import { PluginRegressionConfig } from './types';
|
|
3
|
+
|
|
4
|
+
export declare function PluginRegression(userConfig?: Partial<PluginRegressionConfig>): ChartPlugin<PluginRegressionConfig>;
|
|
5
|
+
export default PluginRegression;
|
|
6
|
+
export type { RegressionMethod, RegressionData, RegressionParameters, RegressionStatistics, RegressionResult, LinearRegressionConfig, PolynomialRegressionConfig, ExponentialRegressionConfig, LogarithmicRegressionConfig, PowerRegressionConfig, GaussianRegressionConfig, LorentzianRegressionConfig, SigmoidRegressionConfig, CustomRegressionConfig, PluginRegressionConfig, RegressionCompletedEvent, RegressionFailedEvent, ModelSelectedEvent, RegressionAPI } from './types';
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regression Plugin Types
|
|
3
|
+
*
|
|
4
|
+
* Provides types for advanced scientific regression and curve fitting.
|
|
5
|
+
* Supports linear, polynomial, exponential, logarithmic, and custom models.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module plugins/regression
|
|
9
|
+
*/
|
|
10
|
+
export type RegressionMethod = 'linear' | 'polynomial' | 'exponential' | 'logarithmic' | 'power' | 'gaussian' | 'lorentzian' | 'sigmoid' | 'custom';
|
|
11
|
+
export interface RegressionData {
|
|
12
|
+
/** X values (independent variable) */
|
|
13
|
+
x: Float32Array | Float64Array | number[];
|
|
14
|
+
/** Y values (dependent variable) */
|
|
15
|
+
y: Float32Array | Float64Array | number[];
|
|
16
|
+
/** Weights for weighted regression (optional) */
|
|
17
|
+
weights?: Float32Array | Float64Array | number[];
|
|
18
|
+
/** Standard deviations for y values (for weighted fitting) */
|
|
19
|
+
yErrors?: Float32Array | Float64Array | number[];
|
|
20
|
+
}
|
|
21
|
+
export interface RegressionParameters {
|
|
22
|
+
/** Fitted parameters */
|
|
23
|
+
parameters: number[];
|
|
24
|
+
/** Parameter uncertainties (standard errors) */
|
|
25
|
+
uncertainties?: number[];
|
|
26
|
+
/** Parameter correlation matrix */
|
|
27
|
+
correlationMatrix?: number[][];
|
|
28
|
+
/** Covariance matrix */
|
|
29
|
+
covarianceMatrix?: number[][];
|
|
30
|
+
}
|
|
31
|
+
export interface RegressionStatistics {
|
|
32
|
+
/** Coefficient of determination (R²) */
|
|
33
|
+
rSquared: number;
|
|
34
|
+
/** Adjusted R² */
|
|
35
|
+
adjustedRSquared: number;
|
|
36
|
+
/** Root mean square error */
|
|
37
|
+
rmse: number;
|
|
38
|
+
/** Residual sum of squares */
|
|
39
|
+
rss: number;
|
|
40
|
+
/** Total sum of squares */
|
|
41
|
+
tss: number;
|
|
42
|
+
/** F-statistic */
|
|
43
|
+
fStatistic?: number;
|
|
44
|
+
/** p-value */
|
|
45
|
+
pValue?: number;
|
|
46
|
+
/** Akaike information criterion */
|
|
47
|
+
aic?: number;
|
|
48
|
+
/** Bayesian information criterion */
|
|
49
|
+
bic?: number;
|
|
50
|
+
/** Number of data points */
|
|
51
|
+
n: number;
|
|
52
|
+
/** Number of parameters */
|
|
53
|
+
k: number;
|
|
54
|
+
}
|
|
55
|
+
export interface RegressionResult {
|
|
56
|
+
/** Regression method used */
|
|
57
|
+
method: RegressionMethod;
|
|
58
|
+
/** Fitted parameters */
|
|
59
|
+
parameters: RegressionParameters;
|
|
60
|
+
/** Statistics */
|
|
61
|
+
statistics: RegressionStatistics;
|
|
62
|
+
/** Fitted values (predicted y) */
|
|
63
|
+
fittedValues: Float32Array;
|
|
64
|
+
/** Residuals (observed - fitted) */
|
|
65
|
+
residuals: Float32Array;
|
|
66
|
+
/** Confidence intervals for fitted values */
|
|
67
|
+
confidenceIntervals?: {
|
|
68
|
+
lower: Float32Array;
|
|
69
|
+
upper: Float32Array;
|
|
70
|
+
level: number;
|
|
71
|
+
};
|
|
72
|
+
/** Prediction intervals */
|
|
73
|
+
predictionIntervals?: {
|
|
74
|
+
lower: Float32Array;
|
|
75
|
+
upper: Float32Array;
|
|
76
|
+
level: number;
|
|
77
|
+
};
|
|
78
|
+
/** Goodness of fit assessment */
|
|
79
|
+
goodnessOfFit: 'excellent' | 'good' | 'fair' | 'poor';
|
|
80
|
+
/** Convergence status */
|
|
81
|
+
converged: boolean;
|
|
82
|
+
/** Number of iterations */
|
|
83
|
+
iterations: number;
|
|
84
|
+
/** Processing time in milliseconds */
|
|
85
|
+
processingTime: number;
|
|
86
|
+
}
|
|
87
|
+
export interface LinearRegressionConfig {
|
|
88
|
+
/** Force intercept through origin */
|
|
89
|
+
forceOrigin?: boolean;
|
|
90
|
+
/** Include confidence intervals */
|
|
91
|
+
includeConfidenceIntervals?: boolean;
|
|
92
|
+
/** Confidence level (0-1) */
|
|
93
|
+
confidenceLevel?: number;
|
|
94
|
+
}
|
|
95
|
+
export interface PolynomialRegressionConfig {
|
|
96
|
+
/** Polynomial degree */
|
|
97
|
+
degree: number;
|
|
98
|
+
/** Orthogonal polynomial fitting */
|
|
99
|
+
orthogonal?: boolean;
|
|
100
|
+
/** Regularization parameter (ridge regression) */
|
|
101
|
+
regularization?: number;
|
|
102
|
+
}
|
|
103
|
+
export interface ExponentialRegressionConfig {
|
|
104
|
+
/** Initial guess for amplitude */
|
|
105
|
+
initialAmplitude?: number;
|
|
106
|
+
/** Initial guess for rate */
|
|
107
|
+
initialRate?: number;
|
|
108
|
+
/** Initial guess for offset */
|
|
109
|
+
initialOffset?: number;
|
|
110
|
+
/** Constrain parameters to be positive */
|
|
111
|
+
constrainPositive?: boolean;
|
|
112
|
+
}
|
|
113
|
+
export interface LogarithmicRegressionConfig {
|
|
114
|
+
/** Base of logarithm (default: e) */
|
|
115
|
+
base?: number;
|
|
116
|
+
/** Include constant term */
|
|
117
|
+
includeConstant?: boolean;
|
|
118
|
+
}
|
|
119
|
+
export interface PowerRegressionConfig {
|
|
120
|
+
/** Initial guess for exponent */
|
|
121
|
+
initialExponent?: number;
|
|
122
|
+
/** Initial guess for coefficient */
|
|
123
|
+
initialCoefficient?: number;
|
|
124
|
+
/** Force zero intercept */
|
|
125
|
+
forceZeroIntercept?: boolean;
|
|
126
|
+
}
|
|
127
|
+
export interface GaussianRegressionConfig {
|
|
128
|
+
/** Initial guess for amplitude */
|
|
129
|
+
initialAmplitude?: number;
|
|
130
|
+
/** Initial guess for mean */
|
|
131
|
+
initialMean?: number;
|
|
132
|
+
/** Initial guess for standard deviation */
|
|
133
|
+
initialStd?: number;
|
|
134
|
+
/** Initial guess for offset */
|
|
135
|
+
initialOffset?: number;
|
|
136
|
+
/** Constrain std to be positive */
|
|
137
|
+
constrainStdPositive?: boolean;
|
|
138
|
+
}
|
|
139
|
+
export interface LorentzianRegressionConfig {
|
|
140
|
+
/** Initial guess for amplitude */
|
|
141
|
+
initialAmplitude?: number;
|
|
142
|
+
/** Initial guess for center */
|
|
143
|
+
initialCenter?: number;
|
|
144
|
+
/** Initial guess for width (FWHM) */
|
|
145
|
+
initialWidth?: number;
|
|
146
|
+
/** Initial guess for offset */
|
|
147
|
+
initialOffset?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface SigmoidRegressionConfig {
|
|
150
|
+
/** Type of sigmoid function */
|
|
151
|
+
type?: 'logistic' | 'tanh' | 'arctan';
|
|
152
|
+
/** Initial guess for maximum value */
|
|
153
|
+
initialMax?: number;
|
|
154
|
+
/** Initial guess for minimum value */
|
|
155
|
+
initialMin?: number;
|
|
156
|
+
/** Initial guess for inflection point */
|
|
157
|
+
initialInflection?: number;
|
|
158
|
+
/** Initial guess for steepness */
|
|
159
|
+
initialSteepness?: number;
|
|
160
|
+
}
|
|
161
|
+
export interface CustomRegressionConfig {
|
|
162
|
+
/** Model function: f(x, parameters) */
|
|
163
|
+
modelFunction: (x: number, parameters: number[]) => number;
|
|
164
|
+
/** Jacobian function: ∂f/∂parameters */
|
|
165
|
+
jacobianFunction?: (x: number, parameters: number[]) => number[];
|
|
166
|
+
/** Initial parameter guesses */
|
|
167
|
+
initialParameters: number[];
|
|
168
|
+
/** Parameter bounds */
|
|
169
|
+
parameterBounds?: {
|
|
170
|
+
min: number[];
|
|
171
|
+
max: number[];
|
|
172
|
+
};
|
|
173
|
+
/** Optimization method */
|
|
174
|
+
optimizationMethod?: 'levenberg-marquardt' | 'gradient-descent' | 'newton';
|
|
175
|
+
}
|
|
176
|
+
export interface PluginRegressionConfig {
|
|
177
|
+
/** Default regression method */
|
|
178
|
+
defaultMethod: RegressionMethod;
|
|
179
|
+
/** Enable automatic model selection */
|
|
180
|
+
enableAutoSelection?: boolean;
|
|
181
|
+
/** Model selection criteria */
|
|
182
|
+
modelSelectionCriteria: 'aic' | 'bic' | 'adjusted-r2' | 'cross-validation';
|
|
183
|
+
/** Enable weighted regression */
|
|
184
|
+
enableWeightedRegression?: boolean;
|
|
185
|
+
/** Enable robust regression (outlier-resistant) */
|
|
186
|
+
enableRobustRegression?: boolean;
|
|
187
|
+
/** Robust regression method */
|
|
188
|
+
robustMethod?: 'huber' | 'tukey' | 'least-trimmed-squares';
|
|
189
|
+
/** Maximum number of iterations for non-linear fitting */
|
|
190
|
+
maxIterations: number;
|
|
191
|
+
/** Convergence tolerance */
|
|
192
|
+
convergenceTolerance: number;
|
|
193
|
+
/** Default confidence level */
|
|
194
|
+
defaultConfidenceLevel: number;
|
|
195
|
+
/** Enable parallel processing for large datasets */
|
|
196
|
+
enableParallelProcessing?: boolean;
|
|
197
|
+
/** Chunk size for parallel processing */
|
|
198
|
+
parallelChunkSize?: number;
|
|
199
|
+
}
|
|
200
|
+
export interface RegressionCompletedEvent {
|
|
201
|
+
result: RegressionResult;
|
|
202
|
+
seriesId: string;
|
|
203
|
+
method: RegressionMethod;
|
|
204
|
+
timestamp: number;
|
|
205
|
+
}
|
|
206
|
+
export interface RegressionFailedEvent {
|
|
207
|
+
error: Error | string;
|
|
208
|
+
seriesId: string;
|
|
209
|
+
method: RegressionMethod;
|
|
210
|
+
reason: string;
|
|
211
|
+
timestamp: number;
|
|
212
|
+
}
|
|
213
|
+
export interface ModelSelectedEvent {
|
|
214
|
+
selectedMethod: RegressionMethod;
|
|
215
|
+
candidateResults: RegressionResult[];
|
|
216
|
+
selectionCriteria: string;
|
|
217
|
+
seriesId: string;
|
|
218
|
+
timestamp: number;
|
|
219
|
+
}
|
|
220
|
+
export interface RegressionAPI {
|
|
221
|
+
/** Perform regression analysis */
|
|
222
|
+
fit(seriesId: string, data: RegressionData, method?: RegressionMethod, config?: any): Promise<RegressionResult>;
|
|
223
|
+
/** Fit multiple models and compare */
|
|
224
|
+
fitAndCompare(seriesId: string, data: RegressionData, methods: RegressionMethod[], configs?: any[]): Promise<RegressionResult[]>;
|
|
225
|
+
/** Automatic model selection */
|
|
226
|
+
autoFit(seriesId: string, data: RegressionData, candidateMethods?: RegressionMethod[]): Promise<RegressionResult>;
|
|
227
|
+
/** Get regression results for a series */
|
|
228
|
+
getResults(seriesId: string): RegressionResult[];
|
|
229
|
+
/** Clear regression results for a series */
|
|
230
|
+
clearResults(seriesId: string): void;
|
|
231
|
+
/** Predict values using fitted model */
|
|
232
|
+
predict(seriesId: string, xValues: Float32Array | Float64Array | number[], resultIndex?: number): Float32Array;
|
|
233
|
+
/** Get confidence intervals for predictions */
|
|
234
|
+
getConfidenceIntervals(seriesId: string, xValues: Float32Array | Float64Array | number[], level?: number, resultIndex?: number): {
|
|
235
|
+
lower: Float32Array;
|
|
236
|
+
upper: Float32Array;
|
|
237
|
+
};
|
|
238
|
+
/** Evaluate model on new data */
|
|
239
|
+
evaluate(seriesId: string, data: RegressionData, resultIndex?: number): RegressionStatistics;
|
|
240
|
+
/** Enable real-time fitting for series */
|
|
241
|
+
enableRealtimeFitting(seriesId: string, method?: RegressionMethod, config?: any): void;
|
|
242
|
+
/** Disable real-time fitting for series */
|
|
243
|
+
disableRealtimeFitting(seriesId: string): void;
|
|
244
|
+
/** Get regression statistics summary */
|
|
245
|
+
getStatistics(seriesId?: string): {
|
|
246
|
+
totalFittings: number;
|
|
247
|
+
methodsUsed: Record<RegressionMethod, number>;
|
|
248
|
+
averageRSquared: number;
|
|
249
|
+
averageProcessingTime: number;
|
|
250
|
+
};
|
|
251
|
+
/** Update plugin configuration */
|
|
252
|
+
updateConfig(config: Partial<PluginRegressionConfig>): void;
|
|
253
|
+
/** Get current configuration */
|
|
254
|
+
getConfig(): PluginRegressionConfig;
|
|
255
|
+
/** Visualize regression fit on chart */
|
|
256
|
+
visualizeFit(seriesId: string, resultIndex?: number): void;
|
|
257
|
+
/** Hide regression visualization */
|
|
258
|
+
hideVisualization(seriesId: string): void;
|
|
259
|
+
/** Export regression results */
|
|
260
|
+
exportResults(seriesId: string, format?: 'json' | 'csv' | 'matlab'): string;
|
|
261
|
+
}
|