# Changelog

版本历史按时间倒序（较新在上）。条目沿用项目原始中文记录，英文版欢迎提交 PR。

History is listed newest first. Entries are kept in their original Chinese; English translations are welcome via PR.

## 0.6.3 待机：只去掉自己跳上窗口

- 0.6.2 把待机时的走动、起身、坐下也一起去掉了，这一版恢复：待机时她会走走、在窗口上沿坐下或站起来、晃晃腿、伸懒腰，并随机做小动作、换表情。
- 唯一去掉的是「自己跳上输入框或窗口」。`scripts/check-idle.mjs` 模拟 10 分钟待机，确认没有任何跳跃，同时仍会走动、做动作、换表情。

## 0.6.2 转盘半透明 · 设置里动作 / 表情分开 · 待机不乱跳 · 头像图标 · 只保留一个形象

- **转盘**：扇区半透明，带轻微背景模糊，文字加了浅色描边，压在任何背景上都看得清。
- **设置 → 右键转盘**：「动作」和「表情」上下分成两组，各有标题，不再用切换标签。列表只保留能原地做的：去掉了行走、坐下、蹲下这类会让她移动位置的动作，去掉了「说话口型」等技术性表情，同名的只留一个。
- **待机**：不再自己跳上输入框或窗口，并加入随机的轻柔小动作和表情（0.6.3 起走动、起身、坐下照常保留）。常用的动作和表情用转盘手动触发。
- **图标**：侧边栏和设置页头部改用希可儿的圆形头像（`public/thumbs/avatar.png`，由 `scripts/render-thumbs.mjs` 从模型渲染）。
- **形象**：只保留 DeepSeek Reset，去掉设置里的形象选择和鲸鱼女仆模型（安装包从 21.6 MB 降到 9.1 MB）。模型署名放在设置页底部。插件配置里的自定义 `.vrm` 仍然可用，配置了时设置里才会出现形象选择。

## 0.6.1 设置页重做 · 右键转盘 · 端庄坐姿 · 切换模式由她说话提示

- **设置 → 希可儿mate**：卡片式，去掉图标表情和大段说明。从上到下是「形象」（模型缩略图，点一下就换，下面一行注明模型作者）、「模式」（窗口 / 桌面，二选一）、「大小」（拖动条）、「右键转盘」（转盘预览 + 动作 / 表情两栏，点选放进转盘，最多 6 个），诊断信息折叠在最下面。
- **右键转盘**：右键她，在光标处弹出圆形转盘：选好的动作和表情，加上「桌面模式 / 窗口模式」和「隐藏」。悬停时中间显示完整名称，点中间关闭。
- **换模型**：内置 DeepSeek Reset 和鲸鱼女仆两个形象，在设置里直接选，页面里立即换；桌面模式下会用新形象重新打开桌面窗口。选择记在浏览器里（`dsh-whale-mate.model`）。插件配置的自定义 `.vrm` 也会作为一个选项出现。
- **坐姿**：不管用哪段坐姿动画，坐下时双膝和双脚都并拢，小腿略向后收、脚尖微微绷直，只有很轻的同步摆动，不再分开双腿晃脚。裙子坐下时盖腿的形状按这个腿型生成。
- **黑色细刺**：模型里有几处顶点带着零碎的远端骨骼权重（手臂网格里有几根缝在裙子上的线带绑在胯骨上、飘带带着大腿权重）。加载时会清理这些零碎权重，所有绑在胯骨上的衣物都按顶点跟随裙子一起盖到腿上，坐下时裙边不再有黑刺。
- **切换模式不弹窗**：开启或关闭桌面模式时不再弹提示框，由她在气泡里说，例如「好呀，我去桌面上等你～」「正在准备桌面…50%」「我到桌面上啦！」「去不了桌面……（原因）」「我回来啦～」。详细错误在设置的「模式」卡片和诊断信息里。
- **图标**：侧边栏恢复蓝色鲸鱼 🐋，设置里的名称是「希可儿mate」。

## 0.6.0 改名希可儿 · 右键菜单精简 · 大小拖动条 · 桌面模式坐在输入框上 · 坐下不再穿模

- **改名**：角色改叫「希可儿」，界面、菜单、提示和智能体工具说明里都已替换。插件包名和存储键仍是 `dsh-plugin-whale-mate` / `dsh-whale-mate`，升级不丢设置。
- **右键菜单**：默认只有「切换到桌面模式 / 切换到窗口模式」和「隐藏希可儿」。去掉了「坐到窗口上」「回到窗口里」「回到输入框上」等条目；她坐在哪里由拖动和模式切换决定。
- **常用动作和表情**：设置 → 希可儿桌宠 →「右键常用动作和表情」，最多选 8 个，会按顺序以图标格子显示在右键菜单顶部。桌面模式下同步到桌面窗口。
- **动作与表情面板**：入口先从菜单和设置里去掉；面板代码和 `openMotionMenu()` 保留，排版定下来后再放回。
- **大小**：设置里改成拖动条（160–640 px），默认从 300 调到 360。仍是旧默认值 300 的设置会自动升级，自己选过的大小保留。
- **桌面模式坐在输入框上**：页面上报输入框在窗口里的位置，桌面窗口按「原生窗口位置 + 输入框在窗口内的偏移」放出一个输入框座位，开启桌面模式后她默认坐在输入框上，跟着窗口移动。Windows 上，若有别的窗口挡在 Harness 前面盖住了输入框（或 Harness 顶边），她会在片刻后离开被挡住的座位。
- **坐下穿模**：DeepSeek Reset 的裙子和围裙几乎只绑在胯骨上，坐下时大腿会直接穿出裙子。加载时为挂在胯骨上的衣物生成每条腿一个「坐姿垂坠」形变（含法线，MToon 描边也跟着走；小蝴蝶结整体平移），每帧按大腿实际抬起的角度混合：坐下时裙子盖在腿上、从膝盖垂下，走路和被拖动时按抬腿幅度跟随。
- **修复**：后台转发给桌面窗口的命令白名单漏了 `openMotionMenu`，桌面模式下点「动作与表情」不起作用；现在一并放行 `setFavorites` / `playChoice`。

## 0.5.10 修复：官方桌面版开启桌面模式后窗口立即退出（Cannot find module 'koffi'）

- **现象**：运行时装好后，桌面窗口一启动就退出，提示 `桌面窗口异常退出：Error: Cannot find module 'koffi'`。
- **原因**：Windows 上识别 Harness 窗口和其他应用窗口要用原生模块 koffi。它原来写在 `dependencies` 里，但从 ZIP 手动安装的插件目录没有 `node_modules`，官方桌面版也不会替插件执行 `npm install`，所以找不到它。加载失败的异常又发生在窗口初始化里，于是整个桌面窗口退出。
- **修复**：
  - koffi（MIT）随插件一起发布：`desktop/vendor/koffi/` 里是 koffi 3.1.0 的 JS 加载器和 `@koromix/koffi-win32-x64` 3.1.0 的官方预编译二进制（约 1 MB）。`desktop/koffi.cjs` 优先加载这一份，加载不了才用已安装的 `koffi` 包。`package.json` 不再有运行时依赖。
  - 原生跟踪不可用时不再崩溃：Harness 窗口改为按页面上报的位置跟随（与网页版相同），「坐在任意窗口上」在设置里显示为不可用。
- **验证**：用 0.5.9 的 ZIP 内容（无 `node_modules`）在 Electron 里以官方桌面模式启动，复现了一样的报错；新版同样条件下能正常启动并坐到 Harness 窗口上沿。新增 `test/koffi-bundle.test.mjs`，检查安装包里带有 koffi、二进制是 x64 的 Node-API 模块且与 npm 发布版一致、找不到 koffi 时只报错不抛异常。Windows 上实际加载这份二进制还需要在真机上确认。

## 0.5.9 修复：官方桌面版下载运行时后解压失败（Invalid package …default_app.asar）

- **现象**：在官方 Windows 桌面版里开启桌面模式，运行时下载并通过校验后，6 次尝试全部报 `Invalid package …\electron-v44.10.2-win32-x64.tmp\resources\default_app.asar`。
- **原因**：官方桌面版用 Electron 的 RunAsNode 模式运行插件后台。在这种模式下，Electron 会把所有以 `.asar` 结尾的路径当作压缩包处理，而 Electron 运行时自带 `resources/default_app.asar`，所以写入这个文件时出错，重试时删除它也会出错。普通 Node（网页版 dsh）里没有这个问题。
- **修复**：在解压、清理和替换运行时目录的同步步骤里临时设置 `process.noAsar = true`，结束后恢复原值，其他代码不受影响。上次失败留下的 `.tmp` 目录会在下一次尝试时自动清掉。
- **验证**：新增 `test/runtime-asar.test.mjs`，在真实 Electron 的 `ELECTRON_RUN_AS_NODE=1` 环境下跑完整的下载→校验→解压→二次重装。修复前能复现与现场完全相同的错误，修复后通过。运行方式：`WHALE_MATE_TEST_ELECTRON=<electron 可执行文件> npm test`。

## 0.5.8 坐在任意窗口上 · 新动作与表情面板 · 默认更大

**坐在其他程序的窗口上（Windows 桌面模式）**

- 桌面层每 120 ms 读一次系统窗口列表（Win32 `EnumWindows`，按前后层级），把普通程序窗口的顶边当作座位。把她拖到任意窗口顶边松手，或右键 →「跳到别的窗口上」即可。
- 她坐着的那个窗口每 33 ms 单独刷新位置：拖动窗口时她跟着走。窗口被最小化或关闭时她会掉下去，落到下面的窗口或任务栏上。另一个窗口盖住她的座位约 1 秒后，她也会跳下来。弹出菜单和提示框不算遮挡。
- 跳过的窗口：任务栏、桌面、工具窗口、无标题窗口、太小的窗口，以及贴着屏幕顶端、头顶没空间的窗口（如最大化窗口）。Harness 自己的窗口仍是单独的「坐到 Harness 窗口上」。
- 有其他窗口可坐时，Harness 最小化后她会留在桌面上；不再跟着 Harness 一起隐藏。
- 只读取窗口矩形、进程号、类名和样式位，不读取标题文字或窗口内容，也不向外发送任何数据。开销：可见顶层窗口通常有几十个，每次刷新是几百次系统调用，CPU 占用远低于 1%。
- macOS 和 Linux 暂不支持坐到其他程序窗口上，设置页会注明；在这两个平台上，她和以前一样只能坐在 Harness 窗口和屏幕底部。

**动作与表情面板**（右键 →「动作与表情…」，或设置页按钮）

- 面板打开在她旁边，不挡住她；分类标签页带数量；按钮改为两列卡片，标出循环/单次、是否坐姿。
- 点击后面板保持打开，可以连续试；正在播放的卡片会高亮，底部显示当前动作，并有「停止」按钮。
- 「表情」页把 6 个基础表情（笑脸、放松、惊讶、难过、生气、闭眼）和 9 段表情片段放在一起；另补上欢呼、鞠躬、摇头、伸懒腰、害羞等内置动作。
- 227 个暂时不能播放的源文件收进底部折叠区，不再作为灰色按钮混在列表里。

**默认更大**：默认尺寸从 220 px 改为 300 px；尺寸档位改为 小 240 / 中 300 / 大 380 / 特大 460。之前自动保存的 220 会升级一次，自己选过的尺寸不变。

验证：

- 单元测试 44/44，包括真实 Koffi 调用 C ABI 夹具，覆盖新增的 `GetWindowLongPtrW`、`GetWindowTextLengthW`、`IsWindow`。
- `scripts/check-any-window.cjs` 15/15：Linux + Xvfb + openbox，真实 Electron 叠加层和 3 个真实窗口，只替换了系统窗口列表这一层。覆盖：落到其他窗口、随窗口移动、Harness 最小化后留在桌面、被遮挡后跳下、跳到别的窗口、窗口最小化后掉落、回到 Harness，以及面板的位置、播放、高亮和表情。
- `check-harness-window` 11/11、`check-spawn` 7/7，并在真实 Harness Web 页面中检查了面板。
- **Windows 实机尚未验证**，真实 Win32 窗口列表需要在 Windows 上确认。

## 0.5.7 无需 Unity 的替代动作

新增 10 段 Quaternius 完整骨骼动画，当前共 33 项可播放动作/表情。没有新增 npm 依赖，也不要求安装 Unity、Blender 或其他软件。

新增：轻松待机、站着聊天、律动舞蹈、伸手互动、伸手取物、坐姿待机、坐着聊天、蹲姿待机、端庄行走、自然行走。右键希可儿 → 动作库，可按坐姿、交流、舞蹈、行走等分类选取。循环片段手动选择后至少播放 3 秒。

- 坐到窗沿时自动使用新坐姿；选取坐姿片段时，如果当前在屏幕底部，会先回到可用窗沿，避免双脚被屏幕边缘裁切。
- 回复时根据站姿或坐姿使用相应聊天动作；「跳个舞」使用新舞蹈。缺失动作包时仍回退到程序动作。
- 坐姿高度由窗口座位控制，避免叠加源动作的下沉位移。坐着挥手等动作继续保护腿部。
- 作者提供的 `A_TPose` 作为参考，不使用动画首帧猜参考姿态。骨骼有真实旋转变化；新数据包含 52 个骨骼和手指。
- 两个原仓库的 250 项源目录保留，另列 10 段 Quaternius 动画片段。原仓库 130 项待 Humanoid 求值、84 项缺少主体数据的状态没有变更；不是“原仓库所有动作已恢复”。

仅使用现有 Node.js / Three.js 工具转换：

```sh
node scripts/import-quaternius-motions.mjs /path/to/glTF/AnimationLibrary_Godot_Standard.gltf test/local-motions/quaternius.json --install
npm run build
```

本地预览 `http://localhost:8795/test/motions.html`；下载目录 `releases/0.5.7/`。旧包保持不变，已有 Electron 运行时可以继续使用。验证包含 37 项单元测试、5 项源文件分类测试、9 项浏览器检查（逐项播放 33 项、真实舞蹈变化、座位高度、表情复位及缺包回退）和 7 项 Linux Electron 检查。尚未验证 Windows 实机。

## 0.5.6 动作库扩展

不需要安装 Unity 即可使用本版已经转换的 23 项：14 个 GI-Engine FBX 骨骼动作、9 个 Mate-Engine / GI-Engine 表情片段。右键希可儿 →「动作库…」可按分类搜索并播放；「停止当前动作」返回当前站姿或坐姿。Harness 页面和独立桌面窗口均可使用，`pet_action` 也包含全部已转换动作的名称。

- 新增握拳、挠头、抚胸、摊手、叉腰、比耶、伸手、背手、摆身、张望、点头。
- 表情片段按原始 Unity 标量曲线的 Hermite 切线采样，映射到 VRM 的情绪、眨眼和五个口型；播放结束后复位。角色未提供的表情通道会被忽略。
- 坐着或走着播放骨骼动作时保护腿部；上身片段仅驱动对应脊柱或头颈，表情片段不覆盖身体。
- 动作包内有完整去重目录和源文件 SHA-256。两个动画目录共 484 个文件、250 项不同内容，23 项可播；经后续逐通道复查，130 项需 Unity Humanoid 求值，84 项缺少主体动画数据，13 项为模型、道具或特效源资源。待转换项禁用播放并说明原因，**并未完成全部动作接入**。
- 这些仓库中的资源是 FBX 和 Unity `.anim`；本次动画目录未发现原始 VMD / VRMA。不能将 muscle 数值直接当作关节角度。没有 Unity 时，130 项的忠实转换仍受阻；本版未尝试用外观相似的程序动作冒充源动作。
- 部分 FBX 含多个动画层；Three.js 仅读取首层，因此不保证与 Unity 中的合成结果完全一致。原坐姿和原舞蹈保留。

本地预览：`node scripts/serve.mjs 8795`，打开 `http://localhost:8795/test/motions.html`。本版 ZIP/TGZ 位于 `releases/0.5.6/`。离线 Electron 运行时仍可使用 `releases/0.5.4/` 的 Windows x64 包；本次没有更换运行时。

复现转换（开发工作区，需要已安装的 Three.js 和 Python PyYAML）：

```sh
node scripts/import-gi-motions.mjs /path/to/GI-Engine public/motions.json
python3 scripts/catalog-motions.py /path/to/Mate-Engine /path/to/GI-Engine public/motions.json
npm run build
```

验证：36 项单元测试、8 项真实 VRM 浏览器检查（逐项播放全部 23 项、搜索菜单、待转换禁用、口型复位、坐姿保护、缺包回退），以及 6 项 Linux 独立 Electron 检查通过。另已目视检查主要新增姿态。没有 Windows 实机验证条件。

## 0.5.5 本地动作适配试用

现有动作主要来自程序生成的欧拉角摆动。此版为本次个人本地试用接入 GI-Engine 的三段真实 FBX 动画：自然待机（6.8 秒）、行走循环（约 1.067 秒）、挥手循环（0.6 秒，交互时播放 2.4 秒）。它们不是 `.vmd` 文件。

- 根据源 `.meta` 中的参考骨架与人形映射转换，51 个骨骼含手指；四元数插值、循环首尾混合及动作切换平滑。
- 行走和站立按角色体型对齐脚底；坐着挥手仅覆盖上半身，保留座位与腿部姿态。
- 页面内和独立 Electron 桌面窗口加载同一个 `public/motions.json`；缺失或无效时保留程序动作并报告错误，角色不会消失。
- localhost 对比预览：`node scripts/serve.mjs 8795` 后访问 `http://localhost:8795/test/motions.html`。预览是浏览器中的动作演示，不是 Windows 原生窗口感知验证。

素材来自本地 GI-Engine checkout `7544dab99f1d1509a2e61ed995b13f4ae4f4145e` 中的 AGIA 资源。**动画不属于本插件的 MIT 代码许可；转换后的数据未取得公开再分发的书面授权，本仓库不为其授予任何许可，版权归原作者所有，权利人提出要求时会移除相应片段。** 来源、原作者及限制见 `ASSET_LICENSES.md` 与 `public/animation-notices/GI-Engine-LICENSE.md`。未复制两个引擎的实现代码。

没有将 Mate-Engine 的 Unity Humanoid `.anim` muscle 数值粗略映射为骨骼角度；该路径需要 Unity 正确评估后导出。原坐姿与舞蹈仍保留；本版不宣称支持任意 VMD 的 IK、表情或物理。行走 FBX 的附加动画层尚未重建。

验证：34 项单元测试、5 项真实 VRM 浏览器动作检查、6 项 Linux 独立 Electron 进程检查通过。检查覆盖脚底对齐、腿部实际变化、坐姿挥手的下半身保护、动作包加载失败回退与桌面进程资源服务。尚未在用户 Windows 实机验证。

## 0.5.4 下载恢复与 Windows 离线安装

用户的后续诊断确认失败发生在独立 Electron 运行时下载阶段，叠加层尚未启动。旧下载器中断即删除已下载数据，且仅显示 `fetch failed`，无法区分具体网络原因。

- 每个来源最多尝试三次，连接或数据连续等待超过 30 秒即重试；npmmirror 失败后尝试 GitHub。
- 保留 `.part` 文件及其对应 SHA-256，支持跨重试、跨来源和重启后的 HTTP Range 续传。来源不支持 Range 时安全重新下载；错误范围不拼接；完整校验失败不安装。
- 显示下载来源、尝试次数、校验/解压阶段及底层网络错误码；修复取消后立即重试的旧任务覆盖状态问题。
- 这些改动不改变 Windows 代理设置，也不关闭 TLS 校验。网络无法访问两个来源时，请使用离线包。

Windows x64 离线包 `whale-mate-runtime-44.10.2-win32-x64-offline.zip` 包含官方 Electron 原始压缩包、官方校验清单和安装脚本。与 **0.5.3 / 0.5.4** 均兼容，无需先升级插件即可绕过下载失败：

1. 完全退出 Harness，包括系统托盘中的程序。
2. 解压整个离线包到普通文件夹，双击 `install-runtime.cmd`，无需管理员权限。
3. 脚本核对内置 SHA-256 后解压到 `%USERPROFILE%\.dsh-whale-mate\runtime\electron-v44.10.2-win32-x64`（如配置了 `DSH_WHALE_MATE_HOME` 则使用该目录），写入完成标记。
4. 重新打开 Harness，点击“到桌面上去”。运行时应直接被识别，无需再次下载。

安装脚本不联网、不修改官方 Harness 安装目录；中途失败不会写入最终完成标记，已有不完整目录会被保留为备份。运行时解压约 370 MiB，安装前请至少预留 1 GB 空间。

验证：28 项单元测试通过，涵盖断流续传、忽略/错误 Range、超时、取消、文件写入失败、镜像切换和 SHA-256 拒绝。5 项真实浏览器菜单检查通过，涵盖重试进度和异步下载错误提示。Windows 原始归档与官方 SHA-256 相符且 ZIP 完整性检查通过。Windows 安装脚本和真实桌面坐窗效果仍需目标机器验证。

## 0.5.3 启动诊断修正

针对「右键到桌面上去后菜单关闭，角色仍在页面内」：确认 0.5.2 的右键入口没有当前界面的下载/启动/错误提示。浏览器回归复现：start 请求已发送、运行时在下载、角色仍在页面、当前界面提示数量为零。

0.5.3 增加当前界面的进度/错误提示、15 秒控制请求超时、无效响应检查，保留最近启动请求的 HTTP 状态及错误；诊断增加 Host PID/父 PID/原生目标 PID/叠加层 PID。配置 Electron 路径不存在时明确报错，避免静默返回。

16 项单元测试和 3 项真实菜单点击回归通过。该版本修正静默失败并补充诊断，**尚未确定用户 Windows 上的实际启动失败原因**；需要现场 download、lastExit、running/ready、tracking 状态，不能据此宣称 Windows 坐窗已修好。

## 0.5.2 Windows desktop fix / 验收

对照官方源码提交 `8bd073392eef6f54e921a093b95076248eb08cbb`（desktop `0.2.2-alpha.3`）的 `apps/desktop/src/host-process.ts`、`node-environment.ts`、`main.ts` 和 `preload-app.ts` 实现。插件在 Host 子进程运行，官方 preload 没有提供主窗口位置接口，因此通过 Host 的父进程 PID 限定原生窗口读取，保留独立透明叠加层。

1. 完全退出官方桌面版，移除旧版插件，安装 `dsh-plugin-whale-mate-0.5.7.tgz` 到 **desktop** profile，再启动应用。
2. 设置 → 希可儿桌宠 → 开启桌面模式。确认前后端均为 0.5.2，显示「已连接官方 Windows 桌面窗口」，诊断 `tracking.source` 为 `official-desktop-win32`。若显示页面跟随，不能当作原生适配成功。
3. 把 Harness 窗口顶部留出约 220 像素：开启即坐上沿，角色上半身应显示在窗口外。移动、缩放窗口，她应跟随；最小化及关闭到托盘时隐藏；恢复后回到同一座位。
4. 最大化窗口：使用靠内座位以保留头部空间；恢复普通窗口后回到真实上沿。尝试跨 100% / 150% 缩放显示器、改变页面缩放、点击角色旁边的桌面，检查跟随与鼠标穿透。

可复现的回归命令：

```sh
npm test
npm run build
# Linux: needs xvfb, openbox, xcompmgr and an Electron binary
xvfb-run -a -s '-screen 0 1600x1000x24' sh scripts/check-harness-window-linux.sh /path/to/electron
# Independent child process / inherited RunAsNode regression
xvfb-run -a -s '-screen 0 1600x900x24' node scripts/check-spawn.mjs /path/to/electron
# Windows: same real-window fixture, this time calling the actual Win32 reader
C:/path/to/electron.exe scripts/check-harness-window.cjs
```

完整官方桌面版在真实 Windows 上的验收尚未在本 Linux 服务器执行。

本轮验证：15 项单元测试、11 项 Electron 窗口状态检查、5 项独立进程启动/隐藏/恢复/关闭检查通过。窗口状态夹具和透明画布检查不能替代 Windows 桌面合成、鼠标穿透的实机验证。

## 原骨架动画复查与重定向实验

先前将非空 `m_RotationCurves` 判为“可用的原骨架动作”，没有核对旋转轨迹的实际目标节点，导致 88 项被错误归为仅需重定向。现已修正。

- 84 项：只有头发、衣袖等附属骨骼旋转，以及 MotionT/MotionQ 通道，没有主体骨骼旋转或肌肉通道。安装 Unity 本身不能补回这些文件缺失的数据。
- 2 项：含 Humanoid 肌肉曲线的混合动画，需要完整求值，不能只取附属旋转。
- 2 项：相机/材质特效，不是人物动作。

思考、挥手、鼓掌三个样本已实际转换并在 VRM 中试播；46 个目标骨骼在片段内的最大角度变化仅为约 0.000003°（浮点误差），不能计为成功。失败产物未加入插件动作包。现有 23 项可播放动作/表情保留。

细节与复现方法见 `test/experiments/README.md`；逐文件证据见 `test/local-motions/generic-audit.json`。源检查器新增 5 项测试，避免把附属骨骼路径中的父节点误当作直接动画目标。已有 0.5.6 压缩包未覆盖；本次是工作区实验与目录纠错，没有新增可播放动作的发行包。
