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

4 lines
1.7 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(关联 render.rs:272、view/tests/fit.rs:148)— 连续缩放读取上一帧的居中偏移,导致指针下的页面锚点漂移,违反 R2.7 与 PRD LOK-04。`self.spare` 仅由 `prepare` 更新;第一次缩放已经修改 `geom.zoom`,同帧后续事件仍减去旧偏移。复现:固定 LOK 构建打开现有 FODT,视口 1200×900、100%,指针位于 (600,400),同帧依次缩放到 125%、150%、200%,随后重绘;指针下的文档横坐标从 6404 变成 4500 twips,原锚点画到 x=853.87 px,漂移约 254 px。真实窗口连续派发三个 PinchEvent 同样复现,漂移 250.87 px,截图显示左侧多出约 38 px 灰区。每次缩放后重绘的对照通过;副本中在每次缩放前按当前几何读取 `slack()` 后,连续事件探针通过,真实窗口误差降至 0.07 px。修复方向:让每次缩放使用与当前缩放、滚动一致的居中偏移,并增加同帧连续滚轮/捏合事件的锚点回归。上一轮的按键左页边与单次指针锚定场景已修复,分别恢复旧错误时现有回归测试均失败;现有测试只覆盖重绘之间的一次指针缩放,遗漏本场景。已独立构建 worker,运行 `cargo test -p ely-lok --features view --locked --offline --lib view::tests -- --test-threads=1 --nocapture`:34 passed,其中两个剪贴板用例按开关跳过;注释与文件行数检查通过。证据:`/tmp/ely-r27-r2-probes.log`、`/tmp/ely-r27-r2-native.log`、`/tmp/ely-r27-r2-with-fresh-slack.log`、`/tmp/ely-r27-r2-pixels.log`;复现代码:`/tmp/ely-r27-r2-reproducer.log`、`/tmp/ely-r27-r2-native-reproducer.log`。审查副本、独立构建目录及增量缓存已删除,1236 个原有跟踪文件散列一致。