Files
ElyOffice/tasks/reviews/R2.7-r1.md
T

4 lines
1.5 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/zoom.rs:51(同文件 :59;crates/ely-lok/src/view/tests/fit.rs:113)— 缩放仍按视口坐标计算锚点,遗漏页面居中偏移 `spare`,并允许横向滚动越过页面左边界,违反 R2.7 的页面锚定与左页边可见要求。复现:用固定 LOK 构建打开现有 FODT 样本,`prepare` 为 1200×900,初始缩放 100%,页面左边界为 284 twips、横向居中偏移为 173.06668 px;连续调用三次 `zoom_step(true)`,每次重新 `prepare`,到 200% 时横向滚动为 2308 twips,左页边已越出视口约 270 px。直接 `set_zoom(2.0)` 时滚动为 3808 twips,左侧约 470 px 被裁掉,视口中心对应的页面横坐标从 6404 漂到 8308 twips。真实窗口使用同一路径放大后,行首 `LEFT EDGE abcdefghij` 消失,屏幕从 `klmnopqrstuvwxyz` 开始显示。现有新增测试只断言视口右端位于文档范围内,因此保留这一错误仍能通过。已独立构建 worker,运行现有视图测试:47 passed(两个剪贴板用例按开关跳过);注释检查通过;隔离副本中的左页边与锚点探针均失败。证据保留在 `/tmp/ely-r27-steps.log`、`/tmp/ely-r27-probes-final.log`、`/tmp/ely-r27-native-long.log`,复现代码在 `/tmp/ely-r27-reproducer.log`。修复方向:按当前页面框和居中偏移计算文档缩放位置,约束横向定位使左页边保持可见;回归测试覆盖连续缩放及左页边的实际可见区间。源码副本及独立构建目录已删除,原有跟踪文件散列一致。