Skip to content

Releases: ymh0000123/dsh-theme-endfield

dsh-theme-endfield v1.2.3

Choose a tag to compare

@github-actions github-actions released this 17 Oct 12:54

Full Changelog: v1.2.2...v1.2.3

dsh-theme-endfield v1.2.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 11:27

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.json version 的门禁;补 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

Choose a tag to compare

@ymh0000123 ymh0000123 released this 10 Oct 15:32

更新内容

修复

  • 余额胶囊支持 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

Choose a tag to compare

@ymh0000123 ymh0000123 released this 10 Oct 07:06

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() 落位时也会播放。
  • 时长匹配的「仍在说话」闸门,按声道缩放音量。

设置

  • 改用 DSH 的 configForms 传输持久化设置,并加上选择器护栏与预设 chip(#23、#24)。

等高线

  • 可选的 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

Choose a tag to compare

@ymh0000123 ymh0000123 released this 12 Sep 07:43

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

Choose a tag to compare

@ymh0000123 ymh0000123 released this 31 Aug 13:52

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)。

文档

质量

  • check.js(样式表静态校验)与 selftest.js(护栏自检)全部通过;
  • CI 测试套件 19 项全部通过(真实浏览器渲染、等高线平滑/尖点/覆盖率/可访问性、FPS 与速度档位、24/60/120 FPS 性能预算)。

许可证

MIT