Repository navigation
Releases: ymh0000123/dsh-theme-endfield
Release list
dsh-theme-endfield v1.2.3
Full Changelog: v1.2.2...v1.2.3
dsh-theme-endfield v1.2.2
dsh-theme-endfield v1.2.2
自 v1.2.1 起补齐了余额胶囊的防遮挡与等高线的窄窗适配,并修掉三处视觉缺陷。
新增
余额胶囊(d5efc4c)
- 侧栏自动让位:ResizeObserver 监听布局列(宽度 ≥96px 视为展开),侧栏打开时胶囊淡出;MutationObserver 在列重新挂载时重新武装。默认关闭,设置页开启。
- 指针靠近自动让位:指针进入胶囊周围 160px 半宽、上 -8 / 下 12 的带内时淡出;rAF 节流 + 240ms 迟滞,防止贴近时抖动。默认开启。
- 停靠位置:新增
balanceCapsulePosition(居中 / 靠左 / 靠右),用专用 CSS 变体把胶囊停到屏幕边缘、彻底避开侧栏遮挡区,改动立即生效。
以上两个隐藏开关走完整六点偏好链:client prefs store、fields、中英文案、设置页行、宿主 FIELD_DEFAULTS、测试 fixture。
等高线(1f92563)
- 窄视口自适应密度:视口短边 <640px 时层级数从 20 线性递减到 10(320px 触底,下限 6),凸起数 22 → 12;≥640px 与出厂值逐字节一致。
- 375×812 实测:路径数 62 →
54,最薄分区墨迹 3.56%(8×5 网格无空白格),嵌套环从 89 层降到 3~4 层。 - 新增
contourLevelsFor/contourBumpsFor,被等高线候选构建、覆盖率评分与提取三处共用;worker 内核同步镜像。
修复
- 清掉盖在等高线图层上的三条不透明色带(#36,5b83aa5):输入区底衬、侧栏会话列表底部的 24px 端帽、Windows 标题栏的页面条带与原生 Electron 覆盖层。
- 余额胶囊里的圆形不再是方角(d8c9b37):宿主把
corner-shape继承进每个元素,只写裸的round会被盖过;现对胶囊内 27px 表盘、进度环、时钟点与三个图标方块逐条钉上corner-shape: round !important。 - 输入框卡片不再使用 backdrop-filter(d098ad9):它会让元素成为 fixed 后代的包含块,发送按钮 tooltip 按视口坐标定位却被按收缩后的卡片盒解析而被裁掉,同时触发反复重测与可见抖动。改用同色不透明底。
工程
- 新增 npm Trusted Publishing 工作流(b88d2f6):经 OIDC 发布,不存
NPM_TOKEN;加上 tag ==package.jsonversion 的门禁;补repository/homepage/bugs元数据,npm 页面带上 provenance。 - 同一工作流里创建 GitHub Release(fd1eaf8):一次 tag 同时发 npm 与开 Release,并刻意排在 npm 发布之后——发布失败不该留下一个声称「已发布」的 Release。
- 发布前补齐浏览器前置(06fed48):工作流复用了
test:ci清单却漏了它依赖的环境,Chrome 从未被定位,发布会在测试门禁处中断。 - 发布产物回到 CommonJS 入口(d5efc4c):
main指回index.js,files不再包含手写的 ESM 入口index.mjs。
安装 / 升级
npm i -g dsh-theme-endfield@1.2.2完整改动:v1.2.1...v1.2.2
dsh-theme-endfield v1.2.1
更新内容
修复
- 余额胶囊支持 API key 用户(#34 / #35 方向,d1dffc4):只配置了
DEEPSEEK_API_KEY而未登录 DeepSeek 账号的环境,余额胶囊不再永远显示--。宿主余额桥现在优先通过凭据服务解析的 API key 请求官方https://api.deepseek.com/user/balance,仅在未配置 key 时回退 DSH 账号登录路(deepseekAccount),钱包数据结构与页面端契约保持不变。
新特性
- 流式输出平滑滚动(b7d0394):流式回答滚动不再触碰应用自身的滚动位置。
修复(v1.2.0 之后合入)
- 宿主入口 ESM 竞态(#33,fe66764):schemastery 改经 ESM 入口加载,赢得
require(esm)竞态(ERR_REQUIRE_ESM_RACE_CONDITION),避免插件在并发启动中加载失败。
安装 / 升级
npm i -g dsh-theme-endfield@1.2.1或从附件下载 index.mjs + index.js + client.js。
dsh-theme-endfield v1.2.0
dsh-theme-endfield v1.2.0
自 v1.0.1 以来的第一个功能版本。远程 main 自 1.1.x 起就一直在往前跑,中间那批版本号
没有单独发过发行版,这次一次性把 package.json 的版本号与 tag 对齐到 1.2.0,
version 与 tag 仍然一一对应。
新增
DSH 0.2 支持(#27)
- 适配 0.2 的 app hooks、manifest 与插件卡片元数据;等高线的走样与开销一并修正。
音频通知
- 宿主侧的开始 / 结束提示音与设置分区,声音槽位由宿主决定。
- 页面观测式的「需要人介入」触发,宿主接缝不生效的场景同样能用。
- 启动提示音在设置分区晚于
apply()落位时也会播放。 - 时长匹配的「仍在说话」闸门,按声道缩放音量。
设置
等高线
- 可选的 Worker 与 WebGL 渲染器。
- 可选的磨砂玻璃,并区分表格选中态。
- 可选的有界鼠标形变(鼠标拖尾)。
余额 / 额度胶囊
- 由
dsh-codearts-auth声道切换驱动的额度胶囊模式。 - 胶囊主数字可在「剩余」与「已用」之间切换。
- 同一 provider 的额度请求按 5 分钟节流;余额胶囊桥接。
修复
- 修复 DSH 0.2 上水印掉到视口底边的问题(#29)。
- 重绘完全权限确认条与审批面板为通栏色带,并撤掉宿主的 squircle。
- 修掉分片拼装时把空行留在下一个分片头部的问题。
- 磨砂玻璃折叠面板的护栏、badge 悬停作用域。
- 等高线在 worker 失败重入后只保留一条动画链。
- 构建产物内嵌 worker,不再依赖行尾符。
- 宿主侧在没有
ctx.inject时也能挂载。 - 去掉启动期的写入探测;音频通知默认关闭。
- 单个损坏的声音文件不再拖垮审批瀑布。
工程
client.js与index.js拆成src/分片,三份产物都加了--check构建护栏
(源码是真源,产物是拼出来的)。- CI 不再静默放过
--check门禁;性能摘要如实反映 outcome。 - 安全文档写明真实信任边界,
files白名单与SECURITY.md第 1 节逐项对齐。
安装 / 升级
dsh plugin --profile web add github:ymh0000123/dsh-theme-endfield#v1.2.0已安装的按原方式更新即可;重启或重新加载 web profile 后生效。
完整改动:v1.0.1...v1.2.0
dsh-theme-endfield v1.0.1
dsh-theme-endfield v1.0.1
修复型发布:自 v1.0.0 以来的全部提交都是 bug 修复,没有新增功能或配置项。本版起
package.json 的版本号与 tag 同步递增 —— v1.0.0 的 tag 指向迁移前的 localStorage 实现,
却与当时的 main 同标 1.0.0,仅凭版本号无法区分(见 #15 的说明)。
修复
设置持久化(#15、#13)
- 复合字段改为按 schema 声明的字段名写入(
thunderAnim、contourAnim、contourFps、
contourSpeed、contourScrollPause、watermarkPersist),不再落到 kebab 拼写的未声明
键上。这正是「开启动画不生效 / 开关刷新后复位 / 重装无效」的根因:写入确实发生了,只是
写到了宿主不认的字段上。 - 已经被旧版本写坏的文档会在读取时迁移,不需要手改
settings.yaml。 - 命名空间尚未就绪时的改动会被保留,并在就绪后补写;把某项改回默认值也不再被误判为
「无需写入」而丢弃。
选择器(#17)
- DSH 0.1.2-rc.1 重建了 CSS module,全部 hash 改变,基于 hash 的选择器会静默失效。主题改为
匹配语义化 class 后缀与结构属性;新增test/selector-guard.test.js,一旦 hash 依赖回来
就会失败。
字体作用域
- 不再声明应用自己的
--dsw-font-family/--ds-font-family-code:主题字体只作用于主题
自己的元素,注入应用根节点的第三方挂件不再被连带换掉字体。
安全扫描
- 清掉
check.js与两个测试中会被插件安装闸门判成 HIGH 的签名误报(RegExp#exec、
GITHUB_*变量名前缀、char-code 构造字符),并新增
SECURITY.md:
发布产物边界、误报清单,以及有意保留的开发期工具特征。按发布产物文件集扫描的结果是
high = 0。
安装 / 升级
dsh plugin --profile web add github:ymh0000123/dsh-theme-endfield#v1.0.1已安装的按原方式更新即可;重启或重新加载 web profile 后生效。
完整改动:v1.0.0...v1.0.1
dsh-theme-endfield v1.0.0
dsh-theme-endfield v1.0.0
DSH Web 主题插件,参考《明日方舟:终末地》官网风格:奶油纸底、墨黑文字、信号黄/武陵青强调色、全直角工业编辑风。只运行在 Client 侧,通过主题令牌和样式覆盖界面,不修改应用代码。
安装
dsh plugin --profile web add github:ymh0000123/dsh-theme-endfield重启或重新加载 web profile 后生效。卸载:
dsh plugin --profile web rm dsh-theme-endfield功能
在 设置 › 终末地主题设置 中调整(全部设置 localStorage 持久化,文案中英文即时切换):
- 主题:总开关、谷地黄/武陵青双配色、直角/圆角模式;
- 背景:等高线地形图背景(真等值线场渲染)、动态等高线(24/60/120 FPS × 1x/2x/4x 独立调节)、ENDFIELD 背景水印(支持对话页保持显示);
- 动画:终末地主视觉风格整屏启动加载动画(含预览);
- 娱乐:雷霆大字「任务开始/任务完成」播报(含预览)与砸入入场动画。
亮点
- 等高线是标量场的真等值线(高斯凸起 + 长波正弦 + marching squares),变形时环线像真实地形一样合并、分裂;
- 动态等高线尊重系统「减少动态效果」偏好;关闭时零逐帧开销(整个 rAF 循环停掉);
- 120 FPS 档实测单帧 p95 ≈ 3.5–4.0ms,低于 8.3ms/帧预算;
- 启动加载动画用墙钟时间推导进度 + rAF/setInterval 双时钟驱动 + 硬性保险丝,任何情况下遮罩都必定移除;
- 附带一批自动生效的可读性修正(对比度全部达 WCAG AA)。
文档
- docs/design-language.md — 色板、令牌映射与对比度规则
- docs/features.md — 功能行为、默认值、存储键与边界情况
- docs/engineering-notes.md — 算法、层叠、动画和性能实现说明
- docs/testing.md — 校验脚本与测试套件说明
质量
check.js(样式表静态校验)与selftest.js(护栏自检)全部通过;- CI 测试套件 19 项全部通过(真实浏览器渲染、等高线平滑/尖点/覆盖率/可访问性、FPS 与速度档位、24/60/120 FPS 性能预算)。
许可证
MIT