chore(backlog): 记录 g277 完成

This commit is contained in:
HIsheR
2026-10-26 23:03:29 +08:00
parent b5576c7082
commit 414c61a002
2 changed files with 10 additions and 0 deletions
+9
View File
@@ -2879,6 +2879,15 @@
"status": "done",
"domain": "new",
"notes": "svg 元素必须 createElementNS,h() 只能造 HTML——写了个 svgEl 小工具统一 setAttribute,避免每处重复三行。全等值除零保护写成 max - min || span 兜底 1:所有点落中线才是正确观感,直接除会得到 Infinity 把折线扔出画布。踩坑:statistic.value 是 Signal<number> 而非数字,demo 里直接传 1284 会类型报错——演示代码也算源码,得按真实 API 写。踩坑:写 backlog 备注时把表达式放进反引号、整串又用 bash 双引号包着,反引号被当作命令替换执行掉了(备注里凭空少一句),改用脚本落盘。"
},
{
"id": "g277",
"title": "新增日历热力图组件 heatmap",
"motivation": "活跃度看板(提交、工单、登录)最直观的表达是「一年一张格子图」:一眼看出哪几天密集、哪几周空窗。此前库里没有任何日历型图形——calendar 是可选日期的交互组件,timeline 是一维事件流,都表达不了「二维时间密度」。于是这类页面只能引第三方图表库,为一张格子图背上整套坐标轴体系。",
"acceptance": "新增 heatmap(props):values 只给有数据的日期(缺失按 0 渲染),同日多条自动求和;末列对齐到本周(周一起算的完整七行),按最大值归一成四档浓度 + 零档;格子尺寸与网格行高同源(cellSize),悬停 title 给日期与数量、formatValue 可自定义;图例「少 → 多」五格与色阶同源;样式只消费 --ua-* 令牌(色阶走 color-mix + --ua-alpha-*),禁止新增硬编码阴影 / 时长 / 字号;十处落点全同步,npm run check 全绿",
"status": "done",
"domain": "new",
"notes": "格子的浓度是「相对」而不是绝对:按当批数据的最大值归一,所以它回答「哪天更密」,不回答「数值多高」——这点必须写进文档,否则会有人拿它当绝对值比较两张图。末列对齐用「今天 + 到本周日的天数」再回退 12 周,保证最后一列永远完整,不会因为今天是周三就少三格。踩坑复现:写 backlog 备注时把表达式放进反引号、整串又被 bash 双引号包住,反引号被当成命令替换执行、备注少一句(g276 已踩一次),这轮改成先把条目写成 JSON 文件再读,彻底绕开 shell 解释。"
}
]
}