# CHANGELOG

## v0.15.18

- 完善窗口日志颜色标记
- 修复预览图背景颜色为透明
- 修复面板高度首次还原错误
- 增加托盘图标
- 增加可选预览背景画面和填充模式
- 增强支持的纹理格式（例如 webp）

## v0.15.17

- 修改图标配色

## v0.15.16

- 修改模型添加顺序, 每次向顶层添加
- 添加模型后自动选中最近添加的模型S
- 点击预览画面或者选中项发生变化时转移焦点至列表
- 增加移除全部菜单项
- 增加单例模式和命令行文件参数
- 增加文件关联设置

## v0.15.15

- 增加报错信息
- 导入后自动选中最后一项

## v0.15.14

- 将预览画面的首选项移动至上一次状态参数中
- 增加预览画面像素的自动保存和恢复
- 增加日志启动时的版本号输出

## v0.15.13

- 增加程序布局自动存储和还原
- 增加部分预览画面首选项

## v0.15.12

- 增加单个模型和单个轨道的时间因子
- 增加单个轨道的 Alpha 混合参数
- 调整轨道清除命令至右键菜单
- 设置默认标签页为模型
- 完善导入时的报错信息

## v0.15.11

- 修复自定义导出中参数构造错误
- 增加 mov 格式及参数说明

## v0.15.10

- 增加插槽可见性参数, 允许任何情况下对插槽启用和禁用对插槽的渲染

## v0.15.9

- 添加 V34 和 V35 版本支持

## v0.15.8

- 修复渲染纹理过程中可能的 null 错误

## v0.15.7

- 合并社区 CLI 功能项目

## v0.15.6

- 修复导出单个的时长错误
- 修改默认导出背景色为不透明黑色

## v0.15.5

- 修复自定义导出时的画面错误
- 设置 mp4 像素格式为 yuv420p 避免 windows 默认播放器无法打开
- 增加预览画面和导出时的速度参数设置
- 修复一些提示文本错误
- 导出时自动将分辨率向下调整为 2 的倍数, 避免 yuv420p 格式出错

## v0.15.4

- 修复导出时可能的卡死问题
- 增加 webp 格式无损压缩参数

## v0.15.3

- 增加 skel.bytes 后缀识别

## v0.15.2

- 修复首选项文件读取为空时的提示信息
- 工作区参数增加浏览路径

## v0.15.1

- 新版本正式发布

## v0.15.0

### 项目分支变更

自 v0.15.0 开始, 该项目将全面更换至 WPF 框架, Winforms 版本将不再进行功能更新, 只进行 bug 修复.

整个项目将具有下列分支:

- `dev/wf`: Winforms 版本开发分支, 继承 v0.15.0 之前的内容.
- `dev/wpf`: WPF 版本开发分支, v0.15.0 之后的内容.
- `release/wf`: `dev/wf` 的发布分支, 用于保留旧版发布功能.
- `main`: 最新的稳定发布分支, 也就是现在的 WPF 版本发布分支.

所有的本地开发和 pr 操作均在 `dev` 子分支下进行, 确认无误后再合并到对应的发布分支进行发布.

### 项目结构变更

粗略的将一些功能模块划分为独立的库项目:

- `SpineViewer`: 项目主体, UI 和程序逻辑
- `Spine`: 对不同版本 Spine 运行时的封装库, 提供所有必需操作的统一接口
- `SFMLRenderer`: 一个 WPF 控件, 支持渲染 SFML 内容
- `SpineRuntimes/*`: 官方不同版本的运行时库, 部分版本在官方基础上有修改和扩展
- `NLog.Windows.Wpf`: NLog 在 WPF 上的扩展库 (尚未完工)

每个项目的具体内容见各自的 README 文档.

### 功能变更

目前 v0.15.0 仅为 pre-release, 功能尚未完全迁移, 有以下功能变化和预期计划:

- 完善了全屏查看功能. 快捷键 F11 可快速切换全屏/窗口模式, 并且支持全屏模式下, 鼠标移动至边缘唤出操作面板.
- 增加了浏览面板. 支持打开文件夹进行浏览, 可以对指定文件夹下所有模型生成预览图进行查看.
- 支持复制指定模型的参数, 并且可以一键应用到多个模型上, 无法应用的项会忽略.
- 导出功能进行了精简. 分为 4 种类型的导出, 且减少了参数项, 仅保留常用参数.
- 导出方式变化. 导出方式变为直接对选中项然后右键菜单进行导出, 不再受 "显示" 和 "仅渲染选中" 参数影响.
- 版本转换功能将暂时不在新版本中提供, 旧版本中已有的功能仍然可用.
- 未来将增加动态桌面功能.

## v0.12.13

- 导出文件名增加额外的随机字符串

## v0.12.12

- 修复 2.1 版本遗漏的 SkinnedMeshAttachment 附件渲染

## v0.12.11

- 修复可能的闪退错误

## v0.12.10

- 增加纹理全局加载选项

## v0.12.9

- 修复由于未调用 UpdateCache 导致的约束 bug

## v0.12.8

- 增加英语界面文本
- 增加 4.2 版本格式转换
- 修改格式转换中一些问题和编码范式

## v0.12.7

- 修复一些问题

## v0.12.6

- 增加全屏预览
- 增加桌面投影 (实验性功能)
- 增加预览画面背景色设置
- 增加分辨率和颜色预设列表
- 皮肤面板显示 default

## v0.12.5

- 增加插槽属性面板
- 修改皮肤属性面板设置方式为True/False

## v0.12.4

- 增加导出自动分辨率参数
- 增加导出边缘和填充参数
- 增加导出内容溢出参数
- 支持3.7及以下版本多皮肤功能
- 增加3.8版本的骨骼文件二进制和文本格式互转
- 增加格式转换输出文件夹参数
- 修改打开对话框的默认文件后缀筛选为所有类型

## v0.12.3

- 增加按住 ctrl 缩放选中模型
- 增加对骨骼/网格/剪裁的调试渲染
- 换回以前的上下参数面板布局
- 修改窗口缩放模式为 Font -> Dpi
- 修复部分问题

## v0.12.2

- 模型参数分标签显示
- 皮肤/动画列表使用右键菜单进行增删
- 标题栏显示版本号
- 增加 webp 和 avif 动图格式
- 增加导出参数缓存
- 动图默认帧率修改为 24 帧
- 增加保留最后一帧参数

## v0.12.1

- 优化使用体验, 提供初始皮肤/动画空位
- 修复预览画面分辨率调整时父容器尺寸获取错误

## v0.12.0

- 支持皮肤列表 (仅 3.8.x 及以上支持)
- 支持多轨道动画
- 动画和皮肤列表多选时改为取并集
- 修复导出时没有正确处理预乘像素的问题

## v0.11.5

- 导出格式全面支持
- 修复预览图不显示的问题
- 优化列表卡顿问题
- 模型列表增加数量显示

## v0.11.4

- 增加 MP4 导出格式
- 增加导出背景颜色参数
- 增加日志输出 FFMpeg 参数字符串
- 增加导出时任务栏图标执行动效
- 修复预览面板移动模型时物理效果不同步的问题
- 优化部分使用体验

## v0.11.3

- 增加模型隐藏设置属性
- 加宽面板分割条 (4 -> 8 像素)
- 优化属性面板分组显示
- 增加调试纹理

## v0.11.2

- 增加皮肤切换
- 优化模型缩放实现
- 修复部分情况纹理加载异常

## v0.11.1

- 增加 GIF 导出格式
- 增加逐个导出时可选自动时长
- 优化使用体验

## v0.11.0

- 完成导出系统, 支持完整的单帧和帧序列导出功能
- 预览画面增加快进功能

## v0.10.9

- 预览图导出增加名称后缀参数

## v0.10.8

- 完善预览图导出
- 优化骨骼文件选择

## v0.10.7

- 增加仅导出选中
- 增加模型调试属性

## v0.10.6

- 增加文件夹检测
- 增加从剪贴板添加（可复制本地文件/文件夹直接打开）
- 修复预览图导致的批量添加可能卡死

## v0.10.5

- 修复一些问题

## v0.10.4

- 修复一些问题

## v0.10.3

- 增加自动版本检测
- 增加文件拖放打开

## v0.10.2

- 增加列表右键菜单快捷键
- 增加预览缩略图复制
- 增加列表视图切换

## v0.10.1

- 增加列表预览图
- 增加列表预览图导出

## v0.10.0

- 增加了画面和列表的选择联动，并删除了预览画面显示包围盒选项
- 增加了骨骼文件格式转换功能，目前仅支持部分版本的不完整功能
- 优化了部分使用体验

