dsh-theme-endfield 1.2.3 → 1.2.5
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/README.md +9 -6
- package/client.js +530 -115
- package/docs/audio-notifications.md +1 -1
- package/docs/design-language.md +1 -1
- package/docs/engineering-notes.md +59 -7
- package/docs/features.md +4 -1
- package/docs/preview.gif +0 -0
- package/docs/testing.md +38 -5
- package/index.js +7 -0
- package/lib/audio.js +30 -5
- package/lib/slots.js +3 -2
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# dsh-theme-endfield
|
|
2
2
|
|
|
3
3
|
参考《明日方舟:终末地》官网风格的 DSH Web 主题插件:奶油纸底、墨黑文字、信号黄/武陵青强调色、全直角工业编辑风。
|
|
4
|
+
<img src="docs/preview.gif" alt="dsh-theme-endfield" width="720">
|
|
4
5
|
|
|
5
6
|
- **Client 侧**(`client.js`):通过主题令牌与样式覆盖界面。
|
|
6
7
|
- **Host 侧**(`index.js`):设置持久化与可选的音频通知(派生系统播放器子进程)。
|
|
@@ -50,7 +51,7 @@ dsh plugin --profile web rm dsh-theme-endfield
|
|
|
50
51
|
|
|
51
52
|
| DSH | 设置持久化 | 备注 |
|
|
52
53
|
| --- | --- | --- |
|
|
53
|
-
| **0.2.x**(在 **0.2.0-rc.2** 与 **0.2.1-rc.2**
|
|
54
|
+
| **0.2.x**(在 **0.2.0-rc.2** 与 **0.2.1-rc.2** 上实测;0.2.2-rc.1 的 composer seat 改动见下) | Host 导出 `Config`,浏览器 `ctx.configForms` | 当前支持目标 |
|
|
54
55
|
| 0.1.7 – 0.1.x | 同一套 Config/configForms 接缝 | 无需改动 |
|
|
55
56
|
| ≤ 0.1.5 | `ctx.settings.register` + `ctx.settingsScope` | 自动回落,无需配置 |
|
|
56
57
|
|
|
@@ -60,11 +61,14 @@ dsh plugin --profile web rm dsh-theme-endfield
|
|
|
60
61
|
|
|
61
62
|
### 0.2 改动(v1.1.6 已跟进)
|
|
62
63
|
|
|
63
|
-
0.2
|
|
64
|
+
0.2 改动了四处本插件依赖的应用侧细节,旧写法在 0.2 上会**静默失效**:
|
|
64
65
|
|
|
65
66
|
- **回合状态标签**(“Deep diving…”)从 `@deepseek-ai/dsh-client-ui-conversation` 的渐变文字搬到 `@deepseek-ai/dsh-client-ui-chat` 的遮罩扫光文字,不再有 `turnStatus` 类名;着色改由 `--dsw-alias-label-deep-diving` / `-shimmer` 两个令牌承担,因此旧规则已删除,改在 `theme.overrideTokens` 层换色(留着旧规则时该令牌仍是应用自带值,标签完全没有主题色)。
|
|
66
67
|
- **右侧栏**列名由 `_detailsCol` 改为 `_rightbarCol`,且不透明底色移到列元素本身——等高线图层在右侧栏打开时不会再被整块盖住。
|
|
67
68
|
- **插件卡片展示文案**改由 `locale/<语言>.json` 的 `meta.title` / `meta.description` 提供;`package.json` 的 `dsh.client.inject` 也不再列 0.2 已删除的 `@deepseek-ai/dsh-client-runtime` 与 `@deepseek-ai/dsh-client-ui-slots`,改为列出 0.2 真正的提供方。
|
|
69
|
+
- **composer seat 的 `will-change: transform`**(0.2.2-rc.1):它会让 seat 成为 `position: fixed` 后代的 containing block,而审批白条正是靠 fixed 铺满视口——白条因此塌成窗口底部的一条线,只剩「等待审批」可见([#41](https://github.com/ymh0000123/dsh-theme-endfield/issues/41))。主题在审批面板挂载期间把该提示降回 `auto`,不改 DOM、也不长期关掉上游的合成提示。
|
|
70
|
+
|
|
71
|
+
- **工作区会话行高亮两侧留缝**:app 原生高亮是零几何结构——每行自带 3px 透明描边框,选中态只换背景色;原生淡色下内缩不明显,主题的强高亮色让未上色的描边框透出栏底。主题照原生的结构只换颜色——把描边框刷成同一个高亮色,高亮贴满行盒,文字、栏距、滚动条、圆角(圆角模式 12px)全部保持 app 原生,不再触碰滚动容器的裁剪边界。
|
|
68
72
|
|
|
69
73
|
细节见 [docs/engineering-notes.md](docs/engineering-notes.md)。
|
|
70
74
|
|
|
@@ -108,7 +112,7 @@ npm test
|
|
|
108
112
|
| CI 阻塞门禁(`test:ci`) | Node 22 | 全量减去下面三项 |
|
|
109
113
|
| CI 非阻塞 job | Node 22 | `test:perf` + `test:coverage`,`continue-on-error`,结果只写进摘要 |
|
|
110
114
|
|
|
111
|
-
跑测试请用 Node 22+:浏览器 fixture 依赖全局 `WebSocket`/`fetch`,版本不足会在测试处明确报错(插件本身的运行没有这个要求)。`npm test` 比 CI 的 `test:ci` 多出 `contour-coverage`、`contour-perf
|
|
115
|
+
跑测试请用 Node 22+:浏览器 fixture 依赖全局 `WebSocket`/`fetch`,版本不足会在测试处明确报错(插件本身的运行没有这个要求)。`npm test` 比 CI 的 `test:ci` 多出 `contour-coverage`、`contour-perf` 两项:这两项重(渲染全图 / 性能计时),由 CI 的非阻塞 job 单独跑(`continue-on-error`),结果只写进 PR 摘要而不阻塞合并。
|
|
112
116
|
|
|
113
117
|
## 项目结构
|
|
114
118
|
|
|
@@ -116,8 +120,7 @@ npm test
|
|
|
116
120
|
src/client/ Client 侧源码片段(拼接顺序见 src/client/manifest.js)
|
|
117
121
|
src/host/ Host 侧源码片段(拼接顺序见 src/host/manifest.js)
|
|
118
122
|
src/styles/ theme.css:主题样式表(那一整个模板字面量的内容)
|
|
119
|
-
src/contour-worker.js
|
|
120
|
-
src/contour-webgl.js 等高线 WebGL 源码(同上)
|
|
123
|
+
src/contour/ 等高线 worker 源码:contour-worker.js + contour-webgl.js(npm run build:worker 嵌入产物)
|
|
121
124
|
client.js Client 侧产物,由 src/client/ + src/styles/ 拼接而来
|
|
122
125
|
index.js Host 侧产物,由 src/host/ 拼接而来;package.json 的 main 与 exports["."] 都指向它
|
|
123
126
|
scripts/ 构建与门禁:lib/bundle-build.js 拼接器 + build-*.js 入口
|
|
@@ -127,7 +130,7 @@ sounds/ 生成的通知音(npm run sound:build 重新生成)
|
|
|
127
130
|
cordis.patch.yml Bundle 注入配置
|
|
128
131
|
check.js 样式表静态校验
|
|
129
132
|
selftest.js 校验器自检
|
|
130
|
-
test/
|
|
133
|
+
test/ 渲染、设置、配色与性能测试(tools/ 为截图与目视检查脚本)
|
|
131
134
|
docs/ 设计、功能、工程与测试文档
|
|
132
135
|
SECURITY.md 安全边界:发布产物清单与运行时权限(由 CI 的 package-check.js 与 files 白名单逐项核对)
|
|
133
136
|
screenshots.json 界面截图清单(对应 assets/ 下的 webp)
|