# `@netless/slide`

## [示例及具体文档参考](https://github.com/netless-io/netless-slide-demo)

## changelog

### 1.4.47 (2025-12-1)
* 添加 `disableClickDebounce` 选项, 在启用 `enableGlobalClick` 时, 设置为 `true` 可禁用点击防抖功能

### 1.4.46 (2025-11-17)
* 修复特殊机型中, 偶现 `柔化边缘` 特效图丢失问题

### 1.4.45 (2025-11-5)
* 修复冻结 (frozen) 解冻 (release) 后会闪一下的问题

### 1.4.44 (2025-11-3)
* 修复使用混音时, 部分音频无法播放问题

### 1.4.43 (2025-10-31)
* 修复部分 PPT 动画中含有空 to 属性时, 渲染报错问题

### 1.4.41 (2025-10-22)
* 修复图形渐变色填充带有透明度时渲染异常问题
* 修复矩形判断误判, 导致空心矩形渲染异常问题
* 添加 `slide.getNotesForCurrentSlide` 方法, 用于获取当前页面的备注

### 1.4.40 (2025-10-10)
* 修复部分 PPT 中含有空 path 时, 渲染报错问题
* 修复 antialias 参数类型位置错误问题
* 修复带有特效的图形中含有图片时, 图片显示问题

### 1.4.39 (2025-09-15)
* 针对 IOS 15.4 版本开放 antialias 参数, 修复渲染异常问题

### 1.4.38 (2025-09-05)
* 添加文本框旋转行书, 修复部分 PPT 文本倒置问题

### 1.4.37 (2025-7-16)
* 添加 `setStageCountLimit` 静态方法, 用于设置强行清除最大限制, 需设置 `window.__nativeTags.platform`

### 1.4.36 (2025-6-26)
* 修复`safari`无法在播放前调整进度问题

### 1.4.35 (2025-6-16)
* 修复特殊PPT内箭头不显示问题

### 1.4.34 (2025-6-10)
* 修复偶现小内存设备上出现的不同步问题

### 1.4.33 (2025-6-10)
* 修复渲染多次有错误的页面时, 无法继续跳转正常的页面问题

### 1.4.32 (2025-5-21)
* 添加 `userAddClick` 模式, 使得用户可以添加点击事件, 并传入 `slide` 使用

### 1.4.31 (2025-5-19)
* 修复 `pcm` 裸数据播放时, 音视频播放问题

### 1.4.30 (2025-5-16)
* 修复含有音视频时, `slide.frozen` 和 `slide.release` 会引起画面断裂问题

### 1.4.29 (2025-5-16)
* 支持 `pcm` 裸数据播放

### 1.4.28 (2025-5-16)
* 修复包含音视频动画时, PPT自动前进失效问题

### 1.4.27 (2025-5-15)
* 修复当自动换片和自动动画被同时开启时, 会导致PPT自动前进两次的问题

### 1.4.26 (2025-5-15)
* 添加 `enableAutoForward` 参数, 设置为 `true` 时, 可以根据 PPT 内设置的自动换片间隔自动播放, 默认为 `false`

### 1.4.25 (2025-5-12)
* 添加 "三维旋转" 效果

### 1.4.24 (2025-5-9)
* 优化部分 PPT 中图片缓存占用
* 优化图形特效 CPU 占用
* 优化切页动画响应时间

### 1.4.23 (2025-5-8)
* 添加 skipActionWhenFrozen 参数, 控制冻结时是否跳过动作, 默认为 false
* 修复 frozen / release 多次重复调用后 frozen 不生效问题

### 1.4.22 (2025-5-8)
* 添加 transitionResolutionLevel 参数, 控制切页动画截图分辨率, 默认为 2
  * [0] 640 * 360
  * [1] 960 * 540;
  * [2] Normal 1280 * 720; --- default setting for mobile devices.
  * [3] HD 1920 * 1080;
  * [4] 3K 3200 × 1800, greater than 4 is calculated as 4; --- default setting for PC devices.
* 添加 preloadResource 方法, 只加载 json 和 图片资源, 不加载音视频资源, 不生成纹理

### 1.4.21 (2025-4-24)
* 增加缓存指定页码参数

### 1.4.20 (2025-4-23)
* 修复 slide.release 方法有闪烁问题

### 1.4.19 (2025-4-10)
* 修复偶先点击动画触发下一步操作问题

### 1.4.18 (2025-4-8)
* 修复ppt中path长度 < 4 导致渲染报错问题

### 1.4.17 (2025-3-31)
* 添加移动端视频全屏点击视频播放/暂停功能
* 修复音视频url不跟随prefix变化问题

### 1.4.16 (2025-3-24)
* 兼容特殊格式动画
* 添加视频全屏播放点击播放/暂停功能

### 1.4.15 (2025-3-13)
* 兼容WPS创建的动画属性中带有随机数的动画, eg: 跷跷板
* 优化特殊的PPT中sdk占用的gpu缓存

### 1.4.14 (2025-3-10)
* 添加冻结和解冻回调
* 修复进入动画设置到开始状态不会结束音视频播放问题
* 修复从下一页进入本页循环gif停止播放问题
* 兼容特殊格式动画
* 兼容打开WPS外部超链接
* 添加 `enableWebAudio` 选项, 默认为 `false`:
  * `true`: 使用 WebAudio 播放音频, 有概率导致页面内存膨胀
  * `false`: 使用 Audio 播放音频, 可能会导致淡入淡出效果不生效

### 1.4.13 (2025-2-24)
* 修复图片在图形裁剪 + 填充色时颜色填充不生效或有距大色差问题

### 1.4.12 (2024-12-31)
* 修复鸿蒙端首次渲染图片不显示问题

### 1.4.11 (2024-12-5)
* Gif图播放结束显示首帧改为显示最后一帧
* 修复图片颜色-黑白x% 还原度不正确问题
* 修复组合内公式翻转问题 (需要重新发起转换任务)
* 修复擦除动画只播放一次问题
* 提升艺术字还原度

### 1.4.10 (2024-09-10)
* 修复加载资源失败没有正确返回加载错误类型问题

### 1.4.9 (2024-07-10)
* 修复字体描边被切分问题
* 添加使用 `resoucesList` 选项来控制资源加载

### 1.4.6 (2024-06-20)
* 修复含有柔化边缘/发光/阴影特效的图形消失或效果不显示问题

### 1.4.5 (2024-06-13)
* 修复图形内箭头错位问题

### 1.4.4 (2024-06-06)
* 修复因 debounce 异常导致的 canvas 画布变大撑开画面问题
* 修复因全局缓存导致的特效图形消失问题

### 1.4.3 (2024-06-06)
* 不稳定版本, 已弃用

### 1.4.2
* 修复亮度/对比度特效将图片变纯白问题
* 修复发光特效出现整个图形变色问题
* 修复柔化边缘+透明度时出现黑边问题

### 1.4.1
* 修复多次点击后按钮状态不正确问题
* 修复特殊图形位置偏移问题
* 修复前端报`removeChild of undefined`问题

### 1.4.0
* 优化缓存机制

### 1.3.2
* 修复 ios 混音问题 

### 1.2.1
* 修复淡入淡出动画问题 

### 1.2.0
* 添加版本日志系统

### 1.1.12
* 将文字中含有公式的字动画退化为图形动画
* 修复闪烁动画持续时间问题

### 1.1.11
* 修复路径动画跳页后无法恢复到原位问题
* 修复菱形填充会充满图形问题

### 1.1.9
* 修复rtc混音

#### 1.1.2
* 修复退出动画状态没有重置的问题

#### 1.0.3
* 支持部分文字特效
* 支持音视频的声音淡入淡出

#### 1.0.2
* 支持 smart art 多级动画
* 支持音频元素的退出动画

#### 1.0.1
* 支持访问私有存储

#### 0.11.2
* 修复 ppt 显示区域底部白边问题

#### 0.11.1
* 更新 slide 类型定义

#### 0.11.0
* 支持 ios 调整音量大小

#### 0.10.2
* 修复带特效的视频无法播放的问题
* 修复动画引起的视频播放无法同步的问题
* 修复触发器无法正确的控制视频播放问题

#### 0.10.1
* 兼容 wps 图片亮度配置
* rtc 音频问题修复
* 移动端播放器 ui 调整

#### 0.8.6
* 支持通过动画后变色来暂停触发器序列中的无限动画
* 支持艺术字效果
* 修复公式排版错位问题

#### 0.8.5
* 修复 ios canvas 2d 内存泄露
* 修复部分切页动画黑屏

#### 0.8.1
* 兼容 ios webview 无法以 Audio 播放 MP4
* 兼容 ios webview 设置 Audio.volume 无效

#### 0.8.0
* 修复 NVIDIA 显卡切页花屏, 需开启 enableNvidiaDetect 选项
* 新增 canvas2d 渲染模式, 需开启 forceCanvas 选项
* 修复 rtc 音频无法中途播放的问题
* 修复部分带阴影特效的形状展示不全
* 修复翻转文字显示不正确的问题
* 修复无法使用 indexdb 时候造成报错崩溃

#### 0.7.8
* 修复录制参数没有生效

#### 0.7.7
* 新增 "@slide/_request_frozen_" 全局事件, 冻结所有 ppt
* 新增 "@slide/_request_release_" 全局事件, 释放所有 ppt

#### 0.7.6
* 新增 Slide.snapshot 及 Slide.snapshotWithTimingEnd 两个截图 api
* 新增 SLIDE_EVENTS.slideStepEnd 及 SLIDE_EVENTS slideStepStart 两个事件

#### 0.7.5
* 支持全部的元素动画
* 修复字动画位置不正确

#### 0.7.3
* postMessage 获取日志添加 session 控制

#### 0.7.2
* 支持 window.postMessage 消息透传至 native 代码

#### 0.7.1
* 支持以消息形式处理错误和日志

#### 0.7.0
* 支持图片滤镜
* 切页动画支持更多选项

#### 0.6.5
* 修复触发器动画同步状态不一致问题
* 改善切页动画性能
* 修改默认渲染分辨率为 1

#### 0.6.3
* 修复切页动画显示不正确的问题

#### 0.6.2
* 支持动画音效的音量调节

#### 0.6.1
* 修复一处内存泄露代码

#### 0.6.0
* 支持全局音量控制
* rtc 混音接口, 添加 volume 要求

#### 0.5.10
* 修复图片尺寸过大造成安卓端黑屏
* 添加 ISlideRenderOptions.maxResolutionLevel 配置参数
* 进一步降低移动设备内存消耗
* 支持通过视频帧触发的动画类型 (需要重新发起转换任务)

#### 0.5.4
* 修复形状箭头不显示的问题
* Slide.pause 支持暂停音视频的播放
* Slide 添加 fixedFrameSize 配置项, 支持固定 ppt 高宽

#### 0.5.3
* 修复页面切到后台后无法冻结的问题

#### 0.5.2
* CanvasCrash 类型错误新增一种情况(切页动画渲染器创建失败)

#### 0.5.1
* 修复倾斜公式显示异常(需要重新发起 ppt 转换)

#### 0.5.0
* 修改 Slide.frozen 和 Slide.release 为同步方法

#### 0.4.7
* syncReceive 引起的切页不发 syncDispatch 事件

#### 0.4.6
* 预加载过程不会触发 renderError 事件
* 修复路径动画重置位置错误的问题

#### 0.4.5
* 新增 getSizeAsync api

#### 0.4.3
* 新增 hasPrevStep 及 hasNextStep api

#### 0.4.2
* 修复事件穿透问题
* 修复音频重复播放问题
* 修复翻页后触发器动画被重置的问题

#### 0.4.1
* 新增导航代理功能

#### 0.4.0
* 新增资源代理功能

#### 0.3.10
* 新增本地日志下载功能
* 修复加载状态不一致导致无法下一步的问题

#### 0.3.9
* 新增 resourceTimeout 配置
* 修复资源加载引起的错误无法跳转下一页的问题

#### 0.3.8
* subtask 错误添加子任务类型输出，方便定位 bug

#### 0.3.7
* 修复路径动画上一步位置不正确的问题
* Slide.destroy 方法里添加移除所有事件监听器的逻辑
* 修复触发器动画切页后没有重置 slideState 的问题

#### 0.3.6
* 修复获取本地缓存一直挂起的问题
* 添加缓存处理 api, slideInstance.clearSlideCache 和 Slide.clearLocalCache

#### 0.3.4
* 完善日志
* 本地缓存获取超时后走网络请求

#### 0.3.3
* 修复加载资源时销毁 slide 会报错

#### 0.3.2
* 新增错误处理流程
* 新增日志 api

#### 0.2.11
* 新增 maxFPS 配置对切页动画也生效

#### 0.2.10
* 修复字体下划线图片错误的添加到了 document.body 下

#### 0.2.9
* 修复 slide 销毁后, MP4 的 rtc 音频没有停止的问题

#### 0.2.8
* 新增 rtc 混音机制支持
* 修复 interactiveSeq 动画同步状态错误

#### 0.2.6
* 修复 interactive 配置对上下步不生效的问题

#### 0.2.5
* 修复 slide 销毁后还有残余 dom 元素没有移除

#### 0.2.4
* player controller 增加更多信息

#### 0.2.3
* 修复字动画引起的 crash
* 修复若干显示 bug, ppt 还原更准确
* 修复 ios 上 enableGlobalClick 无效的问题

#### 0.2.2
* 添加 enableGlobalClick 参数, 支持点击 ppt 页面执行下一步
* 修复切页动画过程中关闭 ppt 会报错
* 修复 0 高图形的动画不显示问题
* 修复多个颜色动画衔接不正确的问题
* 动画支持 xshear 和 yshear 属性

#### 0.2.1
* 滤镜类动画支持 tmFilter 属性
* 文字图片提供两套(带颜色和不带)

#### 0.1.57
* 降低内存占用
* 修复平铺背景显示不正确
* 修复 tab 键无法显示下划线

#### 0.1.56
* 修复 ios 声音播放错乱的问题

#### 0.1.55
* ipad 及 iphone 2017 年之前设备不支持切页动画

#### 0.1.54
* 修复 y 轴坐标为负的文字显示不全

#### 0.1.53
* 修复 Shape 无法点击
* 修复 pixijs 某些 RenderTexture 没有销毁

#### 0.1.48
* 修复切页动画无法同步

#### 0.1.47
* 修复首次插入 ppt 看不见的问题
* 修复 ios 内存爆炸问题

#### 0.1.45
* 修复 ios canvas2d 上下文无法回收问题
* 修复 ios 显存爆炸问题

#### 0.1.41
* 添加版本号信息到 slide 对象

#### 0.1.5
* 文字销毁处理
* 实现点击动画的同步

#### 0.1.40
* 修复动画公式解析报错
* 添加预加载逻辑

#### 0.1.39
* 修复横排文字显示不全的问题

#### 0.1.38
* 修复下划线显示问题
* 修复竖排文字显示问题
* 修复媒体资源有问题引起的页面崩溃

#### 0.1.36
* 修复无地址视频造成崩溃
* 修复空格的下划线不显示问题
* 修复 gif 速度过快 (delay 列表为 0)
* 修复 layout 和 master 中的页码占位符显示错误

#### 0.1.35
* 修复媒体控制栏位置错误
* 修复 0 高度 GroupShape 不可见问题
* 修复动画快速切换造成状态错乱
* 修复带音频的动画崩溃问题

#### 0.1.34
* 支持 ppt 隐藏页
* 修复冻结图片 zIndex 太高的问题

#### 0.1.32
* slide 添加 frozen 和 release 方法, 可以释放 webgl 上下文并缓存为图片
* 修复图片有一像素白边问题
* 修复动画音效重复播放问题

#### 0.1.28
* 切页动画可配置背景色, ISlideRenderOptions.transactionBgColor
* 修复图片模糊问题
