Files
ElyOffice/tasks/reviews/C07.2-r3.md
T

4 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-lok/src/view.rs:168 — [P1] 滚动边界在文档缩短、缩放减小和视口扩大后失效,违反 LOK-04。`apply_batch` 将滚动位置夹到文档宽高,正确上限应扣除当前视口对应的文档尺寸;`set_zoom`(第 95 行)与 `prepare`(第 274 行)改变这一上限后也保留原位置。固定补丁引擎与实际 GPUI 视图方法实测:600 逻辑像素高的视口,80 次 Return 将文档高度从 16408 增至 32532 twips,滚到底部为 23532;SelectAll/Delete 后文档恢复 16408,滚动位置却变为 16408,正确上限为 7408。此时页面裁剪区域的底边落在视口顶部,正文完全消失,直到再次滚动。同样,200% 缩放下滚到底部后改为 25%,滚动位置仍为 11908,正确上限为 0;将视口高度从 300 扩至 1200 逻辑像素也复现 11908 对 0。三项临时回归断言均失败,现有 22 项测试全部通过。修复方向:在文档尺寸、缩放及视口尺寸变化时,按同一坐标转换重新计算水平与垂直滚动上限并夹定当前位置,确保图块位置与页面裁剪使用更新后的值;补充删页、缩小缩放及扩大窗口后的滚动边界回归。