dsh-pet-live2d 2.3.4 → 3.0.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,120 @@
1
1
  # 更新日志
2
2
 
3
+ ## 3.0.0
4
+
5
+ **桌面端正式随插件一起发布。** 装完插件、在设置里选「桌面」,她就在桌面上——
6
+ 不用去下别的任何东西(Windows x64 自带平台二进制;其它平台装插件时会被 npm 静默跳过,
7
+ 插件照常工作,只是"桌面"那一项不可用)。
8
+
9
+ ### 新:桌面端二进制随包分发
10
+
11
+ `dsh-pet-live2d-desktop-win32-x64` 作为**可选依赖**随主包安装。以前它是悬空的
12
+ (那个包在 npm 上根本不存在),所以桌面端只能靠设置里那个「下载桌面端」按钮现拉一份;
13
+ 现在**装完就有**,下载那条路保留作为兜底。
14
+
15
+ ### 修:她固定在**自己那块屏**上
16
+
17
+ 用户报的:"宠物应该是在固定位置,现在我鼠标在不同屏幕上宠物居然会跟随我的鼠标所在的屏幕。"
18
+
19
+ 以前窗口每帧跟着光标换屏。现在:**启动时落到光标所在屏,之后由你决定**——
20
+ 托盘菜单里有「屏幕」子菜单,列出每块屏的分辨率与位置,当前那块打点。
21
+ 指针移到别的屏,她待在原地、只是视线贴到屏幕边缘。
22
+
23
+ ### 修:只在焦点在她身上时才跟随鼠标
24
+
25
+ 用户报的:"只有焦点在宠物上才有跟随。" 桌面端原来靠 `pointermove`,而那个事件**只在指针
26
+ 落在她窗口上时**才会送到页面 —— 你在别的程序里打字时,她的视线是死的。
27
+
28
+ 现在由壳每 33ms 读一次**全局光标**喂给页面,所以**不管焦点在哪**她都跟着你。
29
+ 跟随范围也改成一道**正圆**距离曲线(一个半径说了算):范围内完全跟随,
30
+ 超出后平滑收回、并回到她自己的正前方(原来是方形硬边界 + 到边缘就侧着一直盯着)。
31
+
32
+ ### 修:托盘菜单四项都失效
33
+
34
+ 用户报的四条,三条是同一个根因:**壳发的窗口事件根本到不了页面**。
35
+
36
+ | 你看到的 | 真相 |
37
+ |---|---|
38
+ | 「设置…」点了没效果 | Tauri 的 `window.emit()` **不发 DOM 事件**、只走 IPC,而页面里没有 `window.__TAURI__` |
39
+ | 「归位」点了没反应 | 同上 |
40
+ | 「藏起来」过一会儿又自己出来 | 没记住"是用户藏的",显示循环一秒后又把她显示出来了 |
41
+ | 「屏幕」里选中的圆点不更新 | 菜单是启动时建好就定住的 |
42
+
43
+ 现在给页面送动作走**命令队列**(HTTP,页面每 33ms 取一次),用户的显隐意图单独记着,
44
+ 菜单每次状态变化重建。
45
+
46
+ ### 修:右下角那片"空白却摸得到"的区域
47
+
48
+ 用户报的:"触摸区域在右下角有一大片奇怪的可触摸区域,那里明明什么都没有。"
49
+
50
+ 尾巴那一层原来是**几何并集**(包围盒 128×162px,占舞台 43%×54%),而"算不算落在她身上"
51
+ 用的是**栅格**(还带一格膨胀)。两套几何不一致,差集就是你摸得到、判定却不认的那片空白。
52
+ 现在尾巴也按**同一套栅格**重采(实测那片区域 14 格 → **0** 格)。
53
+
54
+ ### 修:摸头/摸尾巴不再打断你正在看的东西
55
+
56
+ 用户报的:"摸头和摸尾巴不要还原当前动作啊,随机到哪一个插槽里的就放哪一个插槽里的就行了。"
57
+
58
+ 以前摸一下头,反应结束时会把身体交还待机 —— 你刚选好的「掏出手机」就没了。
59
+ 现在反应优先走"**只换随机到的那个槽位**",动作类的演完会**接回原来的动作**。
60
+ 另外反应留下来的表情/情绪**过 12 秒自己收回默认**(摸三下头,最后一下之后才开始数)。
61
+
62
+ ### 修:「自拍」右手不抬
63
+
64
+ 用户报的:"动作里的自拍动画会动,但装扮里的不会动。" 而且一直是**右手没抬起来**。
65
+
66
+ 查下来是"保姿势录像"每帧把当前动作的曲线压住了:自拍的抬手曲线(`phone5`)在跑
67
+ (实测涨到 9.7),但「掏出手机」定格时录下的那一帧里它是 0,而那一帧每帧被写回去 ——
68
+ 写在动作之后,曲线就白跑了。现在**当前动作自己写的参数不再被回放覆盖**。
69
+
70
+ ### 修:重锤出击前先清掉冲突的表情
71
+
72
+ 用户要求:"重锤出击动作应该判断一下当前眼部是不是 晕晕/呆呆眼,情绪是不是 开心兴奋/闭眼口水,
73
+ 如果是应该先把眼部或情绪还原为默认。"
74
+
75
+ 挥锤是清醒有力的动作,而 `Hammer` 只写手臂参数、脸一概不管 —— 眼部停在「晕晕」、
76
+ 情绪停在「闭眼口水」时挥锤,画面上就是"一个晕乎乎、闭着眼流口水的人在奋力挥锤"。
77
+ 现在开演前只清**列出来的**那几个选项(你选的其它眼睛不会被这一锤抹掉),清单可在设置里改。
78
+
79
+ ### 修:桌面端的设置与 DSH 里的设置不同步
80
+
81
+ 用户报的:"桌面的设置与 dsh 里的设置没有同步。"
82
+
83
+ 根因是**两边根本不在同一个 localStorage 里**:桌面端页面是
84
+ `http://127.0.0.1:<随机端口>`,DSH 是 `http://127.0.0.1:3080`,浏览器按 origin 隔离。
85
+ 现在三类**跨窗口该一致**的设置(手感滑杆 / 相位池子与开关 / 装扮)放在
86
+ `%DSH_HOME%\pet-settings.json`,两个界面都读写它,3 秒内互相跟上。
87
+ **位置与大小仍然各窗口各一份**(她贴屏幕右下角还是贴面板右下角,本来就是两件事)。
88
+
89
+ ## 2.3.5
90
+
91
+ ### 新:设置里可以选"她在页面内还是桌面上"
92
+
93
+ 设置 → 桌宠 多了一张「显示位置」卡,三个选项:
94
+
95
+ | 选项 | 效果 |
96
+ |---|---|
97
+ | **自动**(默认) | 桌面端在跑就用桌面,否则留在 DSH 页面里 |
98
+ | **页面内** | 永远在 DSH 页面里(随 DSH 启停) |
99
+ | **桌面** | 永远在桌面上;没跑就**自动拉起**一个 |
100
+
101
+ **同一时刻只有一只。** 两边靠一个共用的小文件(`%DSH_HOME%\pet-desktop.json`)协调:
102
+ 桌面端每秒刷一次心跳,页面侧每秒读一次,规则是"心跳新鲜且没选页面内 → 桌面端接管",
103
+ 否则页面里那只接管。桌面端退出时立刻清心跳,所以**页面里那只马上就回来**,不用等超时。
104
+
105
+ 桌面端的二进制由**平台子包**随插件一起装(Windows x64 现在有;其它平台装插件时会被 npm
106
+ 静默跳过,插件照常工作,只是设置里那一项不可用)。这一项不需要你手动装任何东西。
107
+
108
+ ### 修:设置页整个打不开(2.3.5 之前那一版引入的)
109
+
110
+ 症状很怪:**宠物一切正常,只有设置页打不开**。原因是新加的「显示位置」那张卡读了一个
111
+ **宠物组件内部的 ref**,而设置页那一节渲染在**宠物组件之外**(它挂在 DSH 设置页上),
112
+ 于是渲染时直接 `ReferenceError`,整节设置崩掉。
113
+
114
+ 现在显示层状态放在模块级的小 store 里,宠物与设置页都从那里读。
115
+ 顺带给验证套件补了 `cdp-settings-render`:它**真的渲染一次设置正文**并断言没有未捕获异常
116
+ —— 以前 19 个 driver 只验"那一节注册上了",这种崩法能一路绿灯。
117
+
3
118
  ## 2.3.4
4
119
 
5
120
  ### 修:摸尾巴"很难点到" —— 尾巴的判定区域和可点区域都收紧了
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  > 你自己改过的那份**不会被覆盖**(判定是内容指纹,改过就一个字都不碰),
11
11
  > 想拿回随包版本就把目录删掉、重启 `dsh web`,它会重新装一份。更新日志见 [CHANGELOG.md](CHANGELOG.md)。
12
12
 
13
- ![桌宠](docs/preview.png)
13
+ ![界面预览:DS鲸鱼娘桌宠(大肥鱼 pet-live2d)](docs/banner.png)
14
14
 
15
15
  ## 功能
16
16
 
package/docs/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 截图
2
2
 
3
- 这个目录用于放插件截图。目前**空着**是刻意的:
3
+ 这个目录放插件用到的图片(仓库根 `README.md` 引用它们)。
4
4
 
5
5
  插件自带的示例模型是 DS鲸鱼娘,属于第三方美术资产,以 **CC BY-NC-SA 4.0** 授权
6
6
  (署名 · 非商业 · 相同方式共享),版权链为 上善无形 → ZipZipPipe → 氵六青。
@@ -8,9 +8,22 @@
8
8
 
9
9
  这里的图片:
10
10
 
11
- - `preview.png` — 桌宠与面板的整体截图(300px 宽,建议跑 `tools/browser-test/cdp-final.mjs` 生成)
12
- - `downscale-fix.png` — 缩小时线条清晰度的前后对比
13
- - `qq-group.png` — 交流群二维码(群号 974641848),被仓库根 `README.md` 的「交流群」一节引用。
14
- 它不是美术资产,不受 CC BY-NC-SA 约束,但仍然随包分发(`files` 里有 `docs`)。
11
+ - `banner.png` — 仓库门面横幅(2730×1536),**AI 辅助生成的二创图**:以本插件的实拍截图
12
+ 与角色设定为参考重绘,属于 CC BY-NC-SA 4.0 的**改编作品**,使用时同样要署名三位版权所有人、
13
+ 不得商用、并以同一协议分发。
14
+ - `panel.jpg` — 右键面板实拍:宠物 + 「动作 8 / 装扮 20」两个页签 + 大小滑杆 + 归位(深色主题,
15
+ 2 倍分辨率)。由 `tools/browser-test/` 的测试台现拍,随插件改动会过期,更新界面时请重拍。
16
+ - `looks.jpg` — 六种造型拼图(默认待机 / 爱心眼 / 星星眼吐舌 / 调皮猫猫手 / 重锤出击 / 挤番茄酱),
17
+ 同样由测试台现拍并裁掉透明边。
18
+ - `downscale-fix.png` — 缩小时线条清晰度的前后对比。
19
+
20
+ 这三张(`banner.png` / `panel.jpg` / `looks.jpg`)在 [`../screenshots.json`](../screenshots.json) 里
21
+ 声明为市场卡片图:**顺序就是卡片上的顺序**,改图之后记得同步那个文件。
22
+ - `preview.png` — **旧截图,别再引用**:底下那条「收起 / 归位 / − / +」工具条已经删掉了
23
+ (现在右键才出面版)。替换它的是 `panel.jpg`,留在这里只作历史对照。
24
+ - `qq-group.png` — 交流群二维码(群号 974641848)。它不是美术资产,不受 CC BY-NC-SA 约束,
25
+ 但仍然随包分发(`files` 里有 `docs`)。
26
+
27
+ 所有图片都随 npm 包分发(`files` 里有 `docs`),所以别往这里塞大图。
28
+ 本地草稿(大尺寸原图、截图源文件)放仓库之外的 `local-assets/`,已在 `.gitignore` 中排除。
15
29
 
16
- 当前这些图片保存在仓库之外的 `local-assets/screenshots/`,已在 `.gitignore` 中排除。
Binary file
package/docs/looks.jpg ADDED
Binary file
package/docs/panel.jpg ADDED
Binary file