wait4xandGLM-5.3 d9721cdbd8 feat(heatmap): 热力图方案 v2——六案重做,含「贪吃蛇」(5j 预览迭代)
用户看过 v1 五案后反馈「不是很满意」,并要求「类似贪吃蛇般的方案」,故重做六案:
F 贪吃蛇 / G 心跳呼吸 / H 雨滴涟漪 / I 3D 地形 / J 周冠军柱 / K 显微镜。

**贪吃蛇(F)的关键设计判断**:真实数据 371 格里只有 51 天有贡献(总 306 次),
若照 GitHub 的做法"只吃有贡献的格子",蛇有 86% 的行程毫无反馈、看起来像卡住。
改为「爬过即留淡色轨迹 + 有贡献处强调色加重」,并把节奏 55ms→30ms(371 格约 11 秒
爬完一年),末尾给出「走过 371 格,吃到 51 天」的收束统计。

其余五案:
- G 心跳呼吸:按当日贡献量给每格不同的呼吸时长(3.4s→1.2s),纯 CSS 合成层动画
- H 雨滴涟漪:以「最后一次贡献」为圆心按距离错峰扩散,扫过闪一下;可重播
- I 3D 地形:贡献量当海拔(translateZ 0–14px),指针倾斜整块网格
- J 周冠军柱:月度总计柱状图,进视口逐根升起,悬停柱子联动高亮该月所有格子
- K 显微镜:指针处浮起圆镜,放大 5×5 邻域(用数据档位绘制)+ 日期与次数

六案共同约束:accent 只做高亮不参与数据编码(数据仍由 ink 四档承载)、
reduced-motion 全部静态、离开视口即停(IntersectionObserver)、零第三方依赖。

验证: 构建 52 页 exit 0;content-lint 52 页 0/0/0;Playwright 逐案实测——
      F 蛇身逐格推进至 371/371、吃到 51 天、读数实时更新;
      G 52 格动画 hmBreath 时长生效(2.6/3.35/3.06s…);
      H wrap.play 且 animationName=hmWave;
      I .hg-raise 有 translateZ 且容器 matrix3d 倾斜;
      J 柱子 grow 后高 14px、13 个月、悬停联动 28 格;
      K 圆镜 25 个迷你格 + 日期读数 + 焦点格 1;
      390 零横向溢出;reduced-motion 下 breath none / 蛇静态全亮 / 地形无倾斜

Spec: 2026-11-03_blog-5j-content-refine (热力图预览 v2)

Co-authored-by: GLM-5.3
2026-11-04 20:47:25 +08:00
2026-11-04 20:14:59 +08:00
S
Description
my-blog source (dual-writing main repo)
36 MiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 80.4%
Astro 8.9%
TypeScript 3.5%
HTML 2.7%
Python 2.2%
Other 2.3%