diff --git a/apps/ely-mark/examples/markprobe.rs b/apps/ely-mark/examples/markprobe.rs index 754328d..6da9bde 100644 --- a/apps/ely-mark/examples/markprobe.rs +++ b/apps/ely-mark/examples/markprobe.rs @@ -63,7 +63,10 @@ const CHECK: &str = r#" const line = range.getClientRects()[0]; const top = item.getBoundingClientRect().top + parseFloat(mark.marginTop); const size = parseFloat(getComputedStyle(item).fontSize); - const drawn = mark.content !== 'none' && parseFloat(mark.borderTopWidth) > 0 && mark.borderTopStyle !== 'none'; + const shown = mark.display !== 'none' && mark.visibility === 'visible' && parseFloat(mark.opacity) > 0; + // A laid-out box pushes the text 1.5em in. + const inset = (item.querySelector('p').getBoundingClientRect().left - item.getBoundingClientRect().left) / size; + const drawn = shown && mark.content !== 'none' && parseFloat(mark.borderTopWidth) > 0 && Math.abs(inset - 1.5) < 0.05; return [parseFloat(mark.width) / size, parseFloat(mark.height) / size, top + parseFloat(mark.height) / 2 - (line.top + line.height / 2), drawn]; }), cells: view.querySelectorAll('.milkdown td').length, diff --git a/tasks/TASKS.md b/tasks/TASKS.md index e227162..a0bd2a0 100644 --- a/tasks/TASKS.md +++ b/tasks/TASKS.md @@ -191,7 +191,7 @@ - [x] R2.11 ElyTree:改动数的单复数(“1 file changed”) — R1 测试只核键名;R2 PASS - [ ] R2.12 ElyTree:差异按文件类型着色,Markdown 不按代码高亮 — R3 FAIL(Rust 与 Ruby 词表、Haskell 与 Erlang 注释、TOML 与 CMake 紧接注释)后按语言分表(组件库 b0dbfd4),三轮上限,未再审 - [ ] R2.13 ElyMark:紧凑写法的 GFM 表格(无对齐空格)在可视模式显示为表格 -- [ ] R2.14 ElyMark:任务列表的勾选框与正文同大、对齐首行 +- [ ] R2.14 ElyMark:任务列表的勾选框与正文同大、对齐首行 — R1 只测首项;R2 未生成的框也算;R3 FAIL(隐藏的框也算)后改为核对文字缩进与可见性,三轮上限,未再审 - [x] R2.15 “打开方式”里不得出现 LibreOffice(用户 2026-10-09 加急,先于 R2.2 收尾):构建出的 LibreOffice.app 去掉文档类型与快速查看插件并注销;任何测试不挂载官方镜像(官方内核解到无包的文件夹);`tests/scripts/lo-unregistered.sh` 核对 — R1 注销不幂等、吞查询与 plist 错误、负例不认原因;R2 inert 步骤吞坏 plist;R3 PASS - [x] R2.16 ElyTable(用户 2026-10-09 报):单击单元格跳到别处(如 A5876),无法拖选多格 — R1 缩放与 DPI 变化漂移、拖选与远处测试缺;R2 测试跑在文字文档上;R3 PASS - [x] R2.17 ElyPDF(用户报):编辑文字时报“这种字体画不出‘V’”,而所改文字里没有 V;改字对应的文字块须与面板所示一致 — R1 CMap 漏条目数、共用字形的字被改写、文件超 500 行;R2 部分 ToUnicode 不退回 cid_to_ucs;R3 PASS diff --git a/tasks/reviews/R2.14-r3.md b/tasks/reviews/R2.14-r3.md new file mode 100644 index 0000000..1e84fe4 --- /dev/null +++ b/tasks/reviews/R2.14-r3.md @@ -0,0 +1,3 @@ +FAIL + +apps/ely-mark/examples/markprobe.rs:66(tests/scripts/mark-content.sh:67):`drawn` 仅检查 content 与边框声明,会将 `display: none` 的任务框判为已绘制。第二轮删除 `content` 的负例现已正确以 1 退出;继续在独立副本的 main.css 追加 `.milkdown li[data-item-type='task']::before { display: none; }`,重新构建并完整运行 `bash tests/scripts/mark-content.sh`,原生窗口截图中两个任务框均消失,脚本仍以 0 退出并输出 `ok: mark content (background share 0.9458)`;visual、themed、preview 的两个框均报告 `[1,1,0.04688,true]`,放过违反 R2.14 的任务框消失回退。修复方向:校验伪元素实际参与布局及可见性,并加入隐藏任务框的负例。