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.
- package/README.md +146 -5
- package/dist/index.cjs +1 -1
- package/dist/index.js +1326 -1118
- package/dist/style.css +1 -1
- package/dist/types/components/WaveformChart.vue.d.ts +7 -2
- package/dist/types/components/core/constants.d.ts +2 -0
- package/dist/types/components/core/grid.d.ts +1 -1
- package/dist/types/components/core/layout.d.ts +2 -2
- package/dist/types/components/core/pagination.d.ts +2 -0
- package/dist/types/components/core/title.d.ts +2 -1
- package/dist/types/components/core/trackLayoutBuilder.d.ts +5 -0
- package/dist/types/components/core/types.d.ts +2 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +9 -0
- package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
- package/dist/types/components/core/useWaveformPresentation.d.ts +3 -0
- package/dist/types/components/core/useWaveformYAxisLayout.d.ts +31 -0
- package/dist/types/components/core/waveformChartTypes.d.ts +11 -2
- package/dist/types/components/core/yAxisLayoutMetrics.d.ts +1 -1
- package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/interaction/integerZoom.d.ts +12 -0
- package/dist/types/components/interaction/interactionTarget.d.ts +1 -0
- package/dist/types/components/interaction/remoteViewport.d.ts +8 -0
- package/dist/types/components/interaction/useWaveformViewport.d.ts +1 -2
- package/dist/types/components/interaction/viewportDomain.d.ts +1 -1
- package/dist/types/components/interaction/viewportPan.d.ts +4 -0
- package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
- package/dist/types/components/rendering/WaveformLegend.vue.d.ts +2 -0
- package/dist/types/components/rendering/WaveformTrack.vue.d.ts +6 -6
- package/dist/types/components/rendering/WaveformTrackAxes.vue.d.ts +5 -1
- package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
- package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
- package/dist/types/data/recordedDampedWaveform.d.ts +1 -0
- package/dist/types/demo/types.d.ts +3 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/types/chart.d.ts +17 -0
- package/dist/types/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/App.vue +6 -0
- package/src/components/WaveformChart.css +5 -0
- package/src/components/WaveformChart.vue +3 -0
- package/src/components/WaveformChartView.vue +14 -3
- package/src/components/core/constants.ts +2 -0
- package/src/components/core/grid.ts +4 -1
- package/src/components/core/layout.ts +16 -2
- package/src/components/core/pagination.ts +17 -0
- package/src/components/core/title.ts +7 -3
- package/src/components/core/trackLayoutBuilder.ts +39 -59
- package/src/components/core/types.ts +2 -0
- package/src/components/core/useWaveformChartController.ts +17 -1
- package/src/components/core/useWaveformChartLifecycle.ts +11 -17
- package/src/components/core/useWaveformLayout.ts +67 -107
- package/src/components/core/useWaveformPresentation.ts +27 -3
- package/src/components/core/useWaveformYAxisLayout.ts +140 -0
- package/src/components/core/waveformChartTypes.ts +15 -0
- package/src/components/core/yAxisLayoutMetrics.ts +11 -2
- package/src/components/core/yAxisTitleLayout.ts +78 -0
- package/src/components/data/types.ts +3 -0
- package/src/components/interaction/integerZoom.ts +64 -0
- package/src/components/interaction/interactionTarget.ts +10 -0
- package/src/components/interaction/remoteViewport.ts +53 -0
- package/src/components/interaction/useWaveformViewport.ts +16 -58
- package/src/components/interaction/useWaveformZoom.ts +13 -11
- package/src/components/interaction/viewportDomain.ts +11 -3
- package/src/components/interaction/viewportPan.ts +82 -0
- package/src/components/interaction/zoomConstraints.ts +7 -5
- package/src/components/rendering/WaveformLegend.vue +10 -1
- package/src/components/rendering/WaveformTrack.vue +24 -6
- package/src/components/rendering/WaveformTrackAxes.vue +16 -5
- package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
- package/src/components/rendering/WaveformZeroLines.vue +53 -0
- package/src/data/recordedDampedWaveform.ts +3 -0
- package/src/data/simulatedWaveforms.ts +12 -10
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/demo/DemoGridFrameControls.vue +12 -0
- package/src/demo/DemoViewControls.vue +4 -0
- package/src/demo/types.ts +3 -0
- package/src/index.ts +4 -0
- package/src/styles.css +3 -3
- package/src/types/chart.ts +20 -0
- package/src/types/index.ts +3 -0
package/src/types/chart.ts
CHANGED
|
@@ -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
|
}
|
package/src/types/index.ts
CHANGED
|
@@ -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,
|