1.8 KiB
FAIL
crates/ely-lok/src/view/sheet.rs:64(异步覆盖:crates/ely-lok/src/view.rs:366、371;回归覆盖:crates/ely-lok/src/view/tests/large.rs:324):连续缩放时,carry_size 换算出的当前尺寸会被旧比例的异步测量覆盖,随后的 clamp_scroll() 截断缩放锚点;当前比例的尺寸随后到达,滚动位置仍保持截断后的值,违反 PRD LOK-04。真实内核复现:1× DPI 载入 FULL_SHEET 与真实几何,视口 400×200;反复回到 100%、等待落定并以 scroll_by 滚到底,再连续设为 125%、150%。隔离探针依次使用 0、1、2、3 次 executor tick 作为两次缩放之间的间隔,第 4 次出现旧测量晚到:150% 的预换算高度为 1,707,000,125% 的测量高度 1,683,216 将滚动从 1,697,778 压到 1,681,216;之后重测恢复高度 1,707,000,中心行零基索引仍从 6075 变为 6008,真实内核点击选中 N6009。初次探针与两次独立重跑均复现,日志为 /tmp/ely-t05-r3-rapid.log、/tmp/ely-t05-r3-rapid-trace.log、/tmp/ely-t05-r3-rapid-click.log,探针代码留在 /tmp/ely-t05-r3-reproducer.log。第 2 轮的单次缩放场景已修复:本轮 37 项选中测试通过,移除 carry_size 的变异使新增测试按预期报 5994 -> 5890;现有测试只做一次缩放,漏掉旧测量跨越下一次缩放的时序。修复方向:让尺寸测量携带其实际内核比例,应用时核对比例并转换或丢弃过期结果,保住当前锚点;补充上述连续缩放时旧测量晚到的回归。
crates/ely-lok/src/view/tests/large.rs:341:新增注释 Scrolled as far as the sheet goes, as by the wheel. 有 11 个单词,违反 agents.md 规则 5 的单行十词上限。运行 python3 tests/scripts/comments.py 即失败并指向该行。修复方向:将该注释缩至十词以内。