[spine-utils.js (line 35)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/js/spine-utils.js:35) 统一拦截绝对路径、..、Windows 盘符、UNC、URI、控制字符和符号链接越界。 跨素材贴图只能使用已枚举、验证且位于 Eagle 素材目录内的文件。 [spine-render.js (line 62)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/js/spine-render.js:62) 已删除未经验证的路径备用拼接。 自动缩略图只写当前回调提供的 dest,不再调用接口改写同组素材。 已删除后台整组补刷进程及 relatedDataPaths。 [viewer/spine.html (line 482)](/Users/tianmokeji/Desktop/特效/SpineViewer/SpineViewer/viewer/spine.html:482) 的手动缩略图只针对当前素材,并核对素材 ID、文件名和扩展名。 当前素材已有自定义缩略图时,会提示替换后无法自动恢复并要求确认。 手动生成的中间文件改存系统临时目录,API 失败时不再直接写 Eagle 素材目录。 八种语言文案及 README 已同步。 处理历史日志遗留问题
SpineViewer 1.1.1
Eagle 的离线 Spine 骨骼动画预览插件,支持 Spine 3.4、3.5、3.6、3.7、3.8、4.0、4.1、4.2、4.3。
本包为windows和macos通用包,同时适用于 Windows x64 与 macOS Apple 芯片。
功能与使用
- 将同一套骨骼文件(
.skel/.skel.bytes/ Spine.json)、图集(.atlas/.atlas.txt)和配套贴图一起导入 Eagle,建议放在同一个 Eagle 文件夹内,并保留文件名配对关系。 - 打开骨骼或图集文件即可预览。普通图片仍使用 Eagle 原生预览。
- 支持动画和皮肤切换、播放/暂停(空格)、循环、速度、时间轴拖动、缩放适配、背景与预乘 Alpha(PMA)切换。
- 自动生成带 Spine 标记和版本号的当前素材缩略图,也可在预览器中主动将当前帧设为当前素材的自定义缩略图。已有自定义缩略图时会先确认;插件不会自动改写同组其他素材。
- 若导入时资源尚未配齐,会先显示回退图;补齐后请使用 Eagle 的“刷新缩略图”重新生成。
安全与隐私
- Atlas 贴图只允许安全的相对路径;绝对路径、
..、盘符、UNC、URI 和越界符号链接会被拒绝。跨素材配对只使用当前 Eagle 素材库中已枚举并验证的素材。 - 自动缩略图只写 Eagle 为当前素材提供的目标,不会改写同组其他素材。手动设置也只作用于当前素材;已有自定义缩略图时会先确认。
- 诊断日志默认关闭。显式设置
SPINEVIEWER_DEBUG_LOG=1时,日志只写系统临时目录,不写插件目录,也不会进入安装包。
平台与依赖
node_modules/@napi-rs/ 下并排携带三个包,运行时由 @napi-rs/canvas 依据 process.platform 与 process.arch 自动选择,未匹配的平台包不会被加载:
| 平台 | 原生包目录 |
|---|---|
| Windows x64 | canvas-win32-x64-msvc |
| macOS Apple 芯片 | canvas-darwin-arm64 |
| 公共代码(两平台共用) | canvas |
原生包版本均为 0.1.66。
清单使用 platform: all / arch: all。本包未包含 macOS Intel 与 Windows ARM64 的原生二进制:这两种环境下动画预览仍可正常使用。
多语言
界面支持简体中文、繁体中文、English、日本語、한국어、Русский、Español、Deutsch,随 Eagle 的界面语言切换,无法识别时回退到简体中文。文案位于 _locales/。
第三方许可证见 LICENSES/,分发已保留。