waveform-analysis 0.1.65 → 0.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +146 -5
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +1326 -1118
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/WaveformChart.vue.d.ts +7 -2
  6. package/dist/types/components/core/constants.d.ts +2 -0
  7. package/dist/types/components/core/grid.d.ts +1 -1
  8. package/dist/types/components/core/layout.d.ts +2 -2
  9. package/dist/types/components/core/pagination.d.ts +2 -0
  10. package/dist/types/components/core/title.d.ts +2 -1
  11. package/dist/types/components/core/trackLayoutBuilder.d.ts +5 -0
  12. package/dist/types/components/core/types.d.ts +2 -1
  13. package/dist/types/components/core/useWaveformChartController.d.ts +9 -0
  14. package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
  15. package/dist/types/components/core/useWaveformPresentation.d.ts +3 -0
  16. package/dist/types/components/core/useWaveformYAxisLayout.d.ts +31 -0
  17. package/dist/types/components/core/waveformChartTypes.d.ts +11 -2
  18. package/dist/types/components/core/yAxisLayoutMetrics.d.ts +1 -1
  19. package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
  20. package/dist/types/components/data/types.d.ts +1 -1
  21. package/dist/types/components/interaction/integerZoom.d.ts +12 -0
  22. package/dist/types/components/interaction/interactionTarget.d.ts +1 -0
  23. package/dist/types/components/interaction/remoteViewport.d.ts +8 -0
  24. package/dist/types/components/interaction/useWaveformViewport.d.ts +1 -2
  25. package/dist/types/components/interaction/viewportDomain.d.ts +1 -1
  26. package/dist/types/components/interaction/viewportPan.d.ts +4 -0
  27. package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
  28. package/dist/types/components/rendering/WaveformLegend.vue.d.ts +2 -0
  29. package/dist/types/components/rendering/WaveformTrack.vue.d.ts +6 -6
  30. package/dist/types/components/rendering/WaveformTrackAxes.vue.d.ts +5 -1
  31. package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
  32. package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
  33. package/dist/types/data/recordedDampedWaveform.d.ts +1 -0
  34. package/dist/types/demo/types.d.ts +3 -0
  35. package/dist/types/index.d.ts +2 -1
  36. package/dist/types/types/chart.d.ts +17 -0
  37. package/dist/types/types/index.d.ts +1 -1
  38. package/package.json +1 -1
  39. package/src/App.vue +6 -0
  40. package/src/components/WaveformChart.css +5 -0
  41. package/src/components/WaveformChart.vue +3 -0
  42. package/src/components/WaveformChartView.vue +14 -3
  43. package/src/components/core/constants.ts +2 -0
  44. package/src/components/core/grid.ts +4 -1
  45. package/src/components/core/layout.ts +16 -2
  46. package/src/components/core/pagination.ts +17 -0
  47. package/src/components/core/title.ts +7 -3
  48. package/src/components/core/trackLayoutBuilder.ts +39 -59
  49. package/src/components/core/types.ts +2 -0
  50. package/src/components/core/useWaveformChartController.ts +17 -1
  51. package/src/components/core/useWaveformChartLifecycle.ts +11 -17
  52. package/src/components/core/useWaveformLayout.ts +67 -107
  53. package/src/components/core/useWaveformPresentation.ts +27 -3
  54. package/src/components/core/useWaveformYAxisLayout.ts +140 -0
  55. package/src/components/core/waveformChartTypes.ts +15 -0
  56. package/src/components/core/yAxisLayoutMetrics.ts +11 -2
  57. package/src/components/core/yAxisTitleLayout.ts +78 -0
  58. package/src/components/data/types.ts +3 -0
  59. package/src/components/interaction/integerZoom.ts +64 -0
  60. package/src/components/interaction/interactionTarget.ts +10 -0
  61. package/src/components/interaction/remoteViewport.ts +53 -0
  62. package/src/components/interaction/useWaveformViewport.ts +16 -58
  63. package/src/components/interaction/useWaveformZoom.ts +13 -11
  64. package/src/components/interaction/viewportDomain.ts +11 -3
  65. package/src/components/interaction/viewportPan.ts +82 -0
  66. package/src/components/interaction/zoomConstraints.ts +7 -5
  67. package/src/components/rendering/WaveformLegend.vue +10 -1
  68. package/src/components/rendering/WaveformTrack.vue +24 -6
  69. package/src/components/rendering/WaveformTrackAxes.vue +16 -5
  70. package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
  71. package/src/components/rendering/WaveformZeroLines.vue +53 -0
  72. package/src/data/recordedDampedWaveform.ts +3 -0
  73. package/src/data/simulatedWaveforms.ts +12 -10
  74. package/src/demo/DemoChartHost.vue +1 -0
  75. package/src/demo/DemoGridFrameControls.vue +12 -0
  76. package/src/demo/DemoViewControls.vue +4 -0
  77. package/src/demo/types.ts +3 -0
  78. package/src/index.ts +4 -0
  79. package/src/styles.css +3 -3
  80. package/src/types/chart.ts +20 -0
  81. package/src/types/index.ts +3 -0
@@ -12,6 +12,12 @@ export interface WaveformPoint {
12
12
  upperError?: number
13
13
  }
14
14
 
15
+ /** Optional compact title and time-label placement at the card edges. */
16
+ export type WaveformLayoutPreset = 'default' | 'edge-compact'
17
+
18
+ /** Controls unit placement without changing series metadata. */
19
+ export type WaveformUnitDisplayMode = 'axis' | 'legend-single-series'
20
+
15
21
  /**
16
22
  * 显示模式
17
23
  * - independent: 每个波形独立 Y 轴和缩放
@@ -50,6 +56,14 @@ export interface WaveformZoomEndPayload {
50
56
  gesture?: 'wheel' | 'box'
51
57
  }
52
58
 
59
+ /** Final horizontal viewport after a pan; endpoints are always seconds. */
60
+ export interface WaveformPanEndPayload {
61
+ start: number
62
+ end: number
63
+ trackIndex?: number
64
+ seriesIds?: string[]
65
+ }
66
+
53
67
  /** Describes the X-axis viewport targeted by a user zoom gesture before rendering settles. */
54
68
  export interface WaveformZoomIntentPayload {
55
69
  start: number
@@ -253,6 +267,8 @@ export interface WaveformAxesOptions {
253
267
  splitNumber?: number
254
268
  /** Expands Y-axis domains to equal, human-friendly intervals. Defaults to true. */
255
269
  nice?: boolean
270
+ /** Adds this fraction of the automatic Y span above its maximum. Defaults to 0. */
271
+ upperPaddingRatio?: number
256
272
  }
257
273
  }
258
274
 
@@ -266,4 +282,8 @@ export interface WaveformZeroLineOptions {
266
282
  width?: number
267
283
  /** SVG stroke-dasharray. Defaults to '6 4'; use '' for a solid line. */
268
284
  dash?: string
285
+ /** Stroke opacity from 0 to 1. Defaults to 0.5; multiplies the color's alpha. */
286
+ opacity?: number
287
+ /** Hide within this fraction of a Y-axis tick interval from either boundary. Defaults to 0.02. */
288
+ boundaryThreshold?: number
269
289
  }
@@ -6,11 +6,14 @@
6
6
  export type {
7
7
  WaveformPoint,
8
8
  WaveformDisplayMode,
9
+ WaveformUnitDisplayMode,
10
+ WaveformLayoutPreset,
9
11
  WaveformOverlayMode,
10
12
  WaveformInteractionMode,
11
13
  WaveformXDomainStrategy,
12
14
  WaveformZoomIntentPayload,
13
15
  WaveformZoomEndPayload,
16
+ WaveformPanEndPayload,
14
17
  WaveformZoomResetPayload,
15
18
  WaveformAnnotationStyle,
16
19
  WaveformAnnotation,