SDTTTTT

2026-10-21

维护记录

完成的工作

  • 待机屏保的指针交互从「淡到透明」改成「径向散开」:半径内粒子受到向外的斥力,alpha 始终 255,不再出现半透明或空洞 ✅
  • Rust 引擎删掉逐粒子 fade 表:rasterize 固定写 alpha 255,pointer_set(x, y, radius, push) 新增力度参数,斥力在 tick() 的弹簧通道里逐帧施加 ✅
  • 力场按目标位到指针的距离衰减(中心最强、半径处归零),指针停住时散开形状稳定;目标位正好落在指针上时用索引哈希给一个微小方向,避免 NaN ✅
  • 每颗粒子再叠 0.55–1.45 × 的力度抖动与 ±0.35 rad 切向偏移,散开边缘是蓬松的云而不是整齐的椭圆环 ✅
  • JS 删掉 burst() 节流逻辑,pointermove 只更新斥力场;pointer_clear() 后弹簧把粒子送回原位,点击 / 按键仍然负责退出 ✅
  • 默认旋钮调整为 scatterRadius 240 / scatterPower 7;更新 AGENTS.md、bg.html 注释、themes/self/README.md ✅
  • 重建 particles.wasm + particles.sha256(33,492 字节)与 Tailwind 产物 ✅
  • cargo test 40 项全部通过;Playwright 实测:散开时 alpha 只有 0 / 255,指针区域粒子数 5,024 → 340,移开后回到 5,035,点击关闭且 URL 不变 ✅
  • README 文末加上官方 powered by dsh 徽标(带链接的 shields.io 版本,121×20)✅
  • 主题页脚右侧加同一枚徽标,图站内自托管:static/images/powered-by-dsh.svg 是 shields.io 官方渲染的 SVG 原件,页面加载不再依赖第三方主机 ✅
  • opacity-60 从 <footer> 下放到版权 <div>:父级透明度子元素抵消不了,徽标会连 #555 / #4D6BFE 一起发灰 ✅
  • custom.css 新增 .dsh-badge:尺寸锁死 121×20(!important 是 preflight 那股 :not(#\#) 特异性炸弹逼的),默认 75% 透明度、hover / :focus-visible 回满 ✅
  • 重跑 deno task build-css:main.css 字节不变(59,182),main.css.sha256 里 footer.html / custom.css 两条指纹已更新 ✅
  • 桌面 1440 与手机 375 宽度实拍:徽标右缘与容器 px-8 对齐、20px 高垂直居中,窄屏不挤版权行 ✅
  • 首页 hero 与 header 身份块对调:header 左上角改成 32px 圆角头像 + site.Params.name(回退 site.Title),整组仍链接回首页;首页顶部换成大号站点标题 <h1 class="home-title">海边</h1>(桌面 3rem、窄屏 2.25rem)✅
  • baseof.html 的 avatar_url 不再只在首页解析 —— header 每页都要用它,head.html 随之每页 preload 这张 8.6KB 的 webp ✅
  • list.html 删掉原来的「头像 + 名字 + bio」块(bio 参数从此没有渲染方),header.html / list.html / baseof.html 的头注释同步 ✅
  • 重跑 deno task build-css:main.css 59,182 → 58,103 字节(不再发射 h-24 / mb-12 / -mt-2 / mt-3 / my-0 等死类,新增 h-8 / mr-3),指纹一并更新 ✅
  • 实拍 1200 / 375 / 320 三档:头像 + 名字 + 暗色按钮 + 汉堡菜单在 320px 下仍不挤;文章页、归档页的 header 也同步生效 ✅

遇到的问题

  • 最初只把淡出换成均匀斥力,粒子被排成一个很规整的椭圆环,看起来仍像「洞」⚠️ - 给每颗粒子加哈希力度 / 切向抖动后,边缘变成蓬松的散开云。
  • 指针正好落在某颗粒子的目标位时没有径向方向,dx / d 会产生 NaN ⚠️ - 距离小于 1e-3 时用 hash01 补一个稳定的微小偏移。
  • 页脚徽标最初用 absURL 拼路径,本地 hugo server 会去线上取图(部署前就是 404)⚠️ - 改成 relURL,和 bg.html / search.html 的静态资源写法一致。
  • 首页 hero 原来是 96px 大头像,header 只有 72px 高放不下 ⚠️ - 按需求把 header 头像定为 32px 圆角方块,hero 只留标题。

下次建议

  • 如果觉得散开范围太小 / 太大,调 scatterRadius;想改推开力度,调 scatterPower(平衡位移约 12.5 × scatterPower × jitter 设备 px)。
  • 若想要更「爆散」而不是持续推开,可以在 pointermove 里叠加一次小力度 burst(),但要注意和斥力场的叠加。
  • 页脚徽标是自托管 SVG(static/images/powered-by-dsh.svg),别手改它 —— 需要换尺寸 / 文案时直接从 shields.io 抓官方渲染覆盖,保持 121×20。
  • hugo.toml 的 bio = " " 已经没有消费者(原来只喂首页 hero),下次清理配置时可以连同那段注释一起删。
  • 若手机端想要更从容,可以把 header 名字降成 text-xl lg:text-2xl(320px 屏现在刚好放得下)。