docs(notes): the split count span owns its typography
This commit is contained in:
@@ -35,6 +35,8 @@ Status: implemented
|
||||
|
||||
`planSummary` 把任务名与计数作为两个独立字段返回,而不是一个拼好的字符串,因为工具行用 `overflow: hidden` / `text-overflow: ellipsis` 截断其摘要文本。计数接在任务名之后时位于可截断文本的末端,于是恰恰是让计数变得有意义的那些场景——窄视口、长任务名——会把它裁掉,让并行计划看起来与顺序计划无异。因此工具行把计数渲染在自己的 `flex: none` span 中,与被省略号截断的文本并列;一个预先拼好的字符串无法表达这个切分,而把计数放到任务名之前也被否决了:读者首先要找的是任务名。
|
||||
|
||||
把计数拆进独立 span 也意味着它落在 `.summary` 规则之外,因此必须重复该规则的 `font-size` 与 `line-height`。Web 外壳把正文字号留在浏览器默认值而非该行的 14px,所以未加样式的 span 会明显大于同一 24px 行内与之并列的文本。另一个方案是从共同父元素继承;重复这两条声明让被拆开的两个 span 保持互不影响,而这正是省略号边界所需要的性质。
|
||||
|
||||
## 后果
|
||||
|
||||
现在 todo 列表可以忠实反映并行执行,并且每个 UI 都能一次渲染多个活跃标记:TUI 按状态区分的前缀无需改动,计划横条的表头会计数活跃条目,工具行则需要上述推导。工具不再拒绝一种此前无效的快照形状,因此该改动兼容此前所有合法的调用;被移除的只是错误路径。面向模型的描述发生了变化,这重新记录了 tool-catalog 页面以及每个 `pinsHeader` 场景的 `tool-schemas.expected.json`(其中十个带有 todo schema)。master 每新增一个 pin 场景,就会自带一份该描述的副本,因此改动工具描述的分支必须刷新它分叉之后落地的那些 pin —— `pnpm run test:snapshot:refresh` 可以无 key 完成。web fixture 的 todo 样本现在有两个条目处于 `in_progress`,因此组装后的 web transcript 回放的是一个并行计划;若任一展示面退回单活跃项推导,它会再次失败。
|
||||
|
||||
Reference in New Issue
Block a user