diff --git a/.ua/backlog.json b/.ua/backlog.json index 8c9f166..fd2b180 100644 --- a/.ua/backlog.json +++ b/.ua/backlog.json @@ -2897,6 +2897,15 @@ "status": "done", "domain": "visual", "notes": "这类「同一部件两处写尺寸」的问题靠肉眼很难定位(只会觉得图例有点不对),是靠读代码时发现「样式表写 12px、内联写 11px」才抓住的——派生量必须只有一个来源,与 CODING.md 的派生语义一致原则是同一件事。清单扩容依旧不手改总数:MIN_TOTAL 上一轮已改成段数 × 3,这轮只加两段就自动变 39。" + }, + { + "id": "g279", + "title": "diffView 增加「忽略行内空白」模式", + "motivation": "真实审阅里最常见的「假差异」不是内容改了,而是格式化:换了个格式化器、把 4 空格改成 2 空格、行尾多了空格——diffView 会把这些全标成增删行,真正的逻辑改动被埋在几十行空白色块里。人眼在噪音里找信号必然漏,于是审阅退化成「大概看了下」。", + "acceptance": "DiffViewProps 增加 ignoreWhitespace(缺省 false):开启后比对键把行内连续空白压成一个空格并 trim,显示仍用原文(缩进不丢);LCS、公共前后缀、DP 全部走比对键,同一套口径不出现两处判定;统计条显示「已忽略行内空白差异」把口径写在脸上;manifest 参数表与步骤同步(verify 双向校验);演示加一组「只差缩进」的对照实例;npm run check 全绿", + "status": "done", + "domain": "tune", + "notes": "关键是把「显示文本」与「比对键」拆成两个字段(Row.text / Row.key),而不是在比较时临时归一:临时归一会出现「前缀比较用原文、中间段用归一」的两套口径,同一份数据两种结论。归一只影响比对,不影响展示——用户看到的仍是真实缩进,这决定了它是「过滤器」而不是「美化器」。提示文案必须出现在统计条里:静默忽略差异比不忽略更危险。" } ] } \ No newline at end of file diff --git a/.ua/iterations.log b/.ua/iterations.log index ce47ad6..3db8f98 100644 --- a/.ua/iterations.log +++ b/.ua/iterations.log @@ -323,3 +323,4 @@ {"ts":"2026-10-26T23:02:16+08:00","id":"g276","result":"done","commit":"eac7d4b","summary":"新增迷你趋势线组件 sparkline(83→84):归一折线 + 面积 + 末点,颜色走 currentColor"} {"ts":"2026-10-26T23:03:29+08:00","id":"g277","result":"done","commit":"b5576c7","summary":"新增日历热力图组件 heatmap(84→85):一周一列 + 四档浓度 + 末列对齐本周"} {"ts":"2026-10-26T23:04:20+08:00","id":"g278","result":"done","commit":"c36b507","summary":"热力图图例与网格尺寸同源(删掉样式表第二份宽高),抽查清单加 heatmap / sparkline 至十三段"} +{"ts":"2026-10-26T23:05:23+08:00","id":"g279","result":"done","commit":"ef58a41","summary":"diffView 增加 ignoreWhitespace:比对键归一行内空白、展示仍用原文,统计条标注口径"}