waveform-analysis 0.1.76 → 0.1.78

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 (27) hide show
  1. package/README.md +22 -29
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/animation/context.d.ts +1 -0
  6. package/dist/types/components/animation/paginationPresentation.d.ts +7 -7
  7. package/dist/types/components/animation/useWaveformAnimations.d.ts +1 -18
  8. package/dist/types/components/core/useWaveformChartController.d.ts +2 -18
  9. package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
  10. package/dist/types/components/rendering/WaveformSeriesLayer.vue.d.ts +0 -1
  11. package/dist/types/components/rendering/WaveformTrack.vue.d.ts +0 -1
  12. package/package.json +1 -1
  13. package/src/components/WaveformChartView.vue +3 -4
  14. package/src/components/animation/config.ts +1 -1
  15. package/src/components/animation/context.ts +9 -1
  16. package/src/components/animation/paginationPresentation.ts +55 -64
  17. package/src/components/animation/trackPresentation.ts +1 -1
  18. package/src/components/animation/useWaveformAnimations.ts +36 -13
  19. package/src/components/controls/useChartCommands.ts +9 -7
  20. package/src/components/core/useWaveformChartController.ts +1 -3
  21. package/src/components/core/useWaveformData.ts +13 -1
  22. package/src/components/core/useWaveformLayout.ts +4 -0
  23. package/src/components/interaction/zoomConstraints.ts +2 -0
  24. package/src/components/rendering/WaveformSeriesLayer.vue +1 -2
  25. package/src/components/rendering/WaveformTrack.vue +1 -6
  26. package/src/demo/remoteWaveformLoader.ts +10 -5
  27. package/src/views/AnimationDemo.vue +14 -5
package/README.md CHANGED
@@ -6,25 +6,6 @@
6
6
  组件使用不可变数据模型:替换 `data` 引用后会重新计算数据域和视口;大数据会按当前可见范围
7
7
  和屏幕像素自动保峰降采样,而 tooltip、最近点查询和标注仍使用完整原始数据。
8
8
 
9
- ## 0.1.76:移除实测通道示例
10
-
11
- 综合示例移除原第11个图框及其真实采样数据,默认保留10个图框;末页只显示实际图框,
12
- 不再补出编号11、12的空图框。README不再介绍该实测通道。
13
- 动画系统和分页淡入继续可用。
14
-
15
- ## 0.1.75:加入动画系统
16
-
17
- 本版本新增系列入场、数据更新、标注动画和分页淡入,动画默认开启。首次入场默认
18
- 1000ms,多系列交错100ms;数据更新、标注和分页淡入默认300ms,采用`cubicInOut`缓动。
19
- 切页仅淡入新页的波形、点、误差棒和标注,轴与网格立即更新;连续翻页只展示最新页。
20
-
21
- 通过`animation`、`animationUpdate`、`animationAnnotation`分别配置效果、时长、缓动和回调,
22
- 或设置`:animation-enabled="false"`恢复静态展示。支持31种D3缓动及公开动画引擎/预设接口。
23
- 总点数达到默认50,000阈值、系统启用减少动态效果或环境缺少RAF时自动静态展示。
24
- 动画不修改原始数据、秒坐标或受控标注;交互和图片导出先提交最终态。
25
-
26
- 详细用法见下文[动画](#动画),本次变更见[最新发布说明](RELEASE_NOTES.md)。
27
-
28
9
  ## 在线示例
29
10
 
30
11
  线上 Demo:[波形分析组件在线示例](https://lqycustomsite.online/waveform-analysis/)。
@@ -41,7 +22,7 @@
41
22
  - 多系列图例、受控显隐、网格分页和最多四根 Y 轴
42
23
  - 自动 Y 轴范围,以及全局、按轨道或按系列配置的固定振幅范围
43
24
  - 按轨道控制水平/垂直网格线的显隐与颜色
44
- - 系列入场、数据更新、标注动画和分页淡入,支持独立配置与静态降级
25
+ - 系列入场、数据更新、标注动画及分页/网格入场重播,支持独立配置与静态降级
45
26
  - 受控标注、右键编辑、拖拽避让和自定义颜色
46
27
  - 标题、图框、坐标轴、零值参考线、净图和渲染参数可配置
47
28
 
@@ -127,7 +108,7 @@ const data = ref<WaveformData>({
127
108
  }"
128
109
  :animation-update="{ enabled: true, duration: 300, easing: 'cubicInOut' }"
129
110
  :animation-annotation="{ enabled: true, type: 'bounce' }"
130
- :animation-threshold="50000"
111
+ :animation-threshold="200000"
131
112
  />
132
113
  ```
133
114
 
@@ -136,7 +117,7 @@ const data = ref<WaveformData>({
136
117
  可显式覆盖。分类 `enabled: false` 只结束该类,恢复不重播;运行中修改时长/效果只影响
137
118
  下次任务。`duration: 0` 同步到终态并忽略该阶段的延迟/交错。
138
119
 
139
- 总有效规范化点数 **>= threshold** 时静态,默认 threshold=50000,0 始终静态。
120
+ 总有效规范化点数 **>= threshold** 时静态,默认 threshold=200000,0 始终静态。
140
121
  计数包括隐藏及非当前页系列,通过 source.length 读取,不按采样点数计算。
141
122
  系统减少动态效果、缺少 RAF 或导出期间同样静态。页面后台暂停,返回扣除后台时间。
142
123
 
@@ -146,10 +127,15 @@ const data = ref<WaveformData>({
146
127
  交互、视口命令、布局变化及 PNG/SVG 导出先提交最新最终态;导出不等待无限动画,仍遵守
147
128
  原有 busy/stale/cancelled/timeout 错误契约和 5 秒上限。Demo `#/animation` 提供分类和效果控制。
148
129
 
149
- 切换分页时,新页波形、散点、误差棒和标注同步淡入,坐标轴与网格立即更新。分页复用
150
- `animationUpdate`(默认 300ms、cubicInOut),关闭该类别或设置 `duration: 0` 会直接显示新页;
151
- 全局关闭、减少动态效果和点数阈值同样生效。连续翻页只保留最新页,不做跨页形变或重播
152
- 长入场动画。自动页码重置与其他布局变更仍静态处理。
130
+ 切换到不同分页或修改网格行列数(包括 1×2)时,目标页重播首次加载的波形绘制动画,
131
+ 曲线、散点和误差棒一起逐步出现,标注等待对应系列绘制完成,坐标轴与网格立即更新。
132
+ 这些操作复用 `animation` 的开关、方向、缓动、延迟及多系列交错配置
133
+ (默认从左向右、cubicInOut,系列间隔100ms)。分页的单系列绘制时长固定为500ms;
134
+ 首次加载与网格调整仍使用 `animation.duration`(默认1000ms)。`animationUpdate` 只控制数据更新。
135
+ 关闭入场类别或设置 `duration: 0` 直接显示完整新页;全局静态降级同样生效。
136
+ 连续翻页或调整网格只播放最终目标,不重新请求数据、不做跨页形变;返回已访问页也重播,
137
+ 同页点击和相同网格尺寸不触发。网格调整引起的页码重置合并为一次重播,其他自动页码重置、
138
+ resize及其他展示设置变化仍静态处理。
153
139
 
154
140
  ### 高级数值引擎
155
141
 
@@ -543,8 +529,14 @@ Y 轴会独立计算:
543
529
  独立图框按稳定 `seriesIds` 分别合并,同次多图框命令可加载所有目标。
544
530
 
545
531
  记录全域通过 `panXDomain` 固定;`initialXDomain` 是首次及重置窗口,可以是全域的一部分。
546
- 它们都不随响应的采样密度、覆盖范围或空结果变化。配置有效 `panXDomain` 时,空系列保留
547
- 身份、图框及交互能力,未加载区域可以继续缩放和平移;本地模式仍使用既有空数据行为。
532
+ 它们都不随响应的采样密度、覆盖范围或空结果变化。组件始终保留传入的空系列的身份、图框
533
+ 及交互能力,不依赖 `panXDomain`;空窗口只隐藏曲线、采样点及误差棒。相同系列 ID 和轨道 ID
534
+ 的空窗口沿用之前的坐标域,首次为空时使用显式坐标域或默认域;无采样点的系列不参与最少
535
+ 可见点约束。配置有效 `panXDomain` 后,未加载区域可以继续缩放和平移。
536
+ Demo 窗口加载器将响应中缺失的已知系列补为空数据,保留顺序及元信息;独立图框请求只更新
537
+ 指定系列,新增系列按响应顺序追加。直接从组件 `data` 删除系列仍会删除对应图框,传入
538
+ `{ kind: 'series', series: [] }` 可清空全部系列;空系列与 `grid.trackOrder` 的空槽位不同,
539
+ 不会被 `hideEmptyTracks` 或末行填充过滤。
548
540
  公开 `normalizeWaveformSeries` 的空系列过滤行为不变。
549
541
 
550
542
  远程 demo 默认开启整数缩放,使用
@@ -1568,7 +1560,8 @@ reset 或旧数字 setter 退出对应 fit 状态;数据引用、可见系列
1568
1560
 
1569
1561
  新命令的 intent/end/reset 附带 `commandId`、`source: 'toolbar' | 'api'`、`action`。
1570
1562
  同次多图框命令共享 commandId,按页顺序通知。放大/缩小/对象 setter 为 `zoom-intent → zoom-change → zoom-end`;
1571
- fit 只有 change/end;对象 reset 只有 reset。其他无变化/禁用/非法/空数据不发操作事件。
1563
+ fit 只有 change/end;对象 reset 只有 reset。其他无变化/禁用/非法/`empty-data` 不发操作事件。
1564
+ 空窗口保留系列时仍可放大、缩小、设置视口和重置;fit 无有效采样点时返回 `empty-data`。
1572
1565
  `zoom-change` 仍为 `[start,end]`。`gesture` 新增 `'command'`,穷举旧 wheel/box 或旧 interactionMode 联合的 TypeScript 消费者需适配新增分支。
1573
1566
 
1574
1567
  宿主应在以下加载方式中选择一种,不同时监听 intent 和 end 发请求: