Skip to content

dsh-boot-compass v0.3.0

Choose a tag to compare

@linshufan21 linshufan21 released this 16 Oct 14:12
· 3 commits to main since this release

DSH 全屏启动动画:首帧是一条纯 CSS 覆盖层,在 DSH 画出加载卡之前就接住画面,随后播完五阶段罗盘序列再交接给主界面。纯代码,零视频资源。

0.3.0:编排从七拍重切成五阶段 —— 核心唤醒 → 环形展开 → 轨道汇聚 → 能量同步 → 稳定定格,默认时长 3000 → 4500 ms,就绪 gate 0.76 → 0.84,最后一拍由「穿镜头飞离」改成「稳定定格」。

画面加了真正的空间纵深:同一套透视坐标系 + 分层 Z + 相机推拉 + 两条倾斜轨道。过程里实测出一个 Chromium 行为并据此改了实现 —— 伪元素的 translateZ 会被整个丢弃(改成 0 或 ±600 画面逐位相同,而真实元素的 Z 正常:.core 给 Z=300 后投影由 360 变 491 px),所以倾斜轨道的前后关系改为靠绘制顺序表达,顺带修掉了原先「远轨压在表盘上、近轨藏在表盘后」的反向 bug。

同时修掉两处一直空转的「减弱动效」降级:.a{animation-name:none} 打不过 .wm-i.a{animation-name:wmIn} 这类复合选择器,.bg{transform:none} 又打不过 #bg 的 ID 规则 —— 修之前 114 条动画里有 105 条照跑、远场纵深也没压平。现在入场一律零插值、只在交接保留 4% 时长的淡出。

另外按 WCAG 实测修了浅色主题 6 处对比度不达标、把入场缓动换成强 ease-out、远场加了空气透视、收了雷达扫描的峰值亮度。验证:10/10 冻帧两次采集逐位相同、重放判定 11/11、深浅两套主题对比度全部达标、6× 降频下交错 A/B 四轮稳定在 59.5–59.8 fps。

0.2.0 起:关掉窗口再从托盘打开,动画会重播一遍。 判定不在网页里做 —— Page Visibility 分不清「窗口真被隐藏」和「只是被别的窗口盖住」,所以宿主侧用 DSH 自带的 koffi 直接问 Windows(IsWindowVisible / IsIconic)。于是 alt-tab 切回来不会重播,最小化再还原会。Windows 专属,其它平台这个功能静静地不生效。

0.2.1:安装说明修正。 发版 24 小时内,pnpm 的 minimumReleaseAge(新版本冷静期)会让不带版本号的安装静默落到旧版 —— exit 0、不报错,看起来就像"装上了新版"。这段时间请写死版本号(add dsh-boot-compass@<版本>),并注意 profile 的 minimumReleaseAgeExclude 里同一个包名只认第一条规则,多行要合并成一行。另外桌面的 desktop profile 被宿主 CLI 独占(dsh plugin --profile desktop 会被拒绝),只能在客户端的插件页里装。

0.2.2:README 重写。 补上「首次(冷)启动起步那一下可能顿一下」的成因与实测 —— 注入行 62,259 字节,V8 冷解析 0.51–0.53 ms,所以顿挫不是脚本体积,而是挂载那一刻(建 shadow root、181 条 CSS 规则、106 条动画)与 DSH 自身启动抢主线程。同时补齐定位、时间线、兼容性表、更新路径(含 24 小时冷静期)、项目结构与常见问题。

安装:

dsh plugin --profile <profile> add dsh-boot-compass

或用本页附件里的压缩包。完整说明见 README。