chore(backlog): 记录 g219 完成
This commit is contained in:
@@ -2357,6 +2357,15 @@
|
||||
"status": "done",
|
||||
"notes": "reveal(col, cells, fallback) 三参:findIndex 到 is-active 就用它,否则退到 clamp(fallback, 0, len-1);打开时 fallback 取 new Date() 的 getHours() 与 floor(getMinutes()/step)(步长大于 1 时分列下标与分钟数不同,必须折算);manifest 步骤 2 同步「还没选过时停在此刻」;时间源用系统时钟不引额外状态,选中后仍以 value 为准",
|
||||
"domain": "tune"
|
||||
},
|
||||
{
|
||||
"id": "g219",
|
||||
"title": "verify 增加重复 @keyframes 检测",
|
||||
"motivation": "刚才把 7 份复制的浮层入场动画合并掉了,但没有门禁阻止下一个人再复制一份:帧体完全相同、只改名字的动画会让方向与时长各写各的(翻转态朝反方向入场就是这么来的),而 CSS 层面完全合法,review 也容易漏。",
|
||||
"acceptance": "ua verify 新增 checkDuplicateKeyframes:对皮肤包样式表里每个 @keyframes 取帧体(剥注释、空白归一)比对,出现相同帧体即报错并指出两个动画名;负向自检(临时追加一份同体动画)必须报错;顺带清掉现存重复(ua-switch-spin 与 ua-spin 帧体相同,开关转圈改为复用 ua-spin);AGENTS.md 同步该职责;npm run check 全绿。",
|
||||
"status": "done",
|
||||
"notes": "checkDuplicateKeyframes 接在 checkSkinCss 之后(同走 skin 包样式表遍历):@keyframes 正则抠出「名字 + 帧体」,帧体剥 /* */ 注释、空白压成单空格后进 Map,撞车即报「A 与 B 帧体完全相同」;负向自检临时追加 ua-dup-test(同 rotate(360deg) 帧体)被拦下并点名 ua-spin,验证后移除(踩坑:/tmp 备份在跨命令时不稳,改用正则精确剥离测试块,git diff 确认只剩预期的 2 增 4 删);现存 ua-switch-spin 与 ua-spin 同体,删掉前者、开关 loading 复用 ua-spin;verify OK 汇总文案与 AGENTS 职责描述同步",
|
||||
"domain": "tooling"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -263,3 +263,4 @@
|
||||
{"ts":"2026-10-26T19:57:26+08:00","id":"g216","result":"done","commit":"17da561","summary":"timePicker 补 clearable:有值时右侧出现 ×(不进 Tab 序),Delete/Backspace 等价清空,清空写回空串并收起弹层"}
|
||||
{"ts":"2026-10-26T19:58:47+08:00","id":"g217","result":"done","commit":"34985ff","summary":"新增 frame 内核冒烟 14 条(跑 dist、无 DOM),顺带修掉 effect 的两个真缺陷:注销是空实现、重跑不清理旧依赖"}
|
||||
{"ts":"2026-10-26T19:59:28+08:00","id":"g218","result":"done","commit":"ed2dd15","summary":"timePicker 未选值时两列改停在此刻(分钟按步长折算并钳在列长内),打开即可就近选,不用从 00:00 往下翻"}
|
||||
{"ts":"2026-10-26T20:00:36+08:00","id":"g219","result":"done","commit":"f042c66","summary":"verify 新增重复关键帧检测(帧体剥注释归一后比对,报出两个动画名),首跑即抓出 ua-switch-spin ≡ ua-spin,开关转圈改为复用"}
|
||||
|
||||
Reference in New Issue
Block a user