4.0 KiB
FAIL
apps/ely-show/src/design.rs:238 — 页面尺寸框在异步命令回显前继续由旧的 extra.size 重建,on_commit 又捕获旧的另一边尺寸,连续编辑会覆盖已提交的值。真窗口从 28×15.75 cm 开始,在宽框输入 30 并回车,立即在高框输入 20 并回车,最终 AX 值为 28.00、20.00;日志依次出现提交 30、额外提交 28、提交 20,产生三条 slide.size 命令。修复方向:按文档保留已提交待回显的宽高,以这对值渲染和提交下一次修改,回显按对应请求确认;增加回车、失焦及快速连续编辑的真窗口回归。
apps/ely-show/src/deck.rs:168 — 页面尺寸读取只更新 Extra,LokView 的 doc_size 持续使用载入时的尺寸;此次 PageSize 补丁路径没有触发所需的尺寸重读。补充实核测试从空白演示改为 4:3,输入和后台读取均已落地后,内核与 Extra 为 (14401, 10801) twips,LokView 仍为 (15875, 8930),导致画布缩放、页框和可绘制范围错误;真窗口修改尺寸也出现截断和旧页框。修复方向:让尺寸修改及撤销、重做发出有效的版面变化通知,使 LokView 在后台重读完整布局、同步尺寸并重新适配;回归同时断言内核尺寸与实际画布几何。
crates/ely-lok/src/view/render.rs:193 — 自动适配强制最低 25% 缩放,页面大于视口四倍时无法整页适配。尺寸框允许 300 cm;对约 (170079, 170079) twips 的页面使用 800×600 px 视口,补充 fit 测试得到 zoom=0.25,右下角为 (2834.65, 2834.65) px,整页适配断言失败。修复方向:自动适配采用由页面和视口计算出的缩放比例,覆盖允许的大尺寸页面和窄视口;手动缩放的限值独立处理。
apps/ely-show/src/deck.rs:132 — 普通编辑回报只使当前页缩略图失效,全局尺寸变化的刷新依赖 design_command 的主动调用,撤销、重做绕过这条路径。实核回归新建并复制为两页,改为 4:3,等待两页重绘,再执行 edit.undo;尺寸已恢复且所有异步任务落地后,第 0 页缓存像素与 paint_part 的新鲜输出仍不相等。修复方向:按读取结果中的尺寸、共享母版配色等实际变化使受影响的全部缩略图失效,覆盖撤销与重做;测试逐页比较渲染像素。
apps/ely-show/src/slides.rs:143 — 缩略图读取失败后无条件再次调用 paint_next,首次尚未生成图片的页面始终被判为 missing,形成立即重试循环。补充失败路径测试先打开并绘制一页,再停止 worker、清除该页缓存并请求绘制;一次失败在没有新输入的情况下连续调度了 10 次绘制,计数断言失败。实际 worker 退出时会持续发请求、唤醒 UI 并重复报错。修复方向:记录此次绘制失败的页面与状态,在状态变化或明确重试前停止调度,保持错误可见;增加 worker 退出后的有界请求断言。
apps/ely-show/src/slides.rs:184 — 缩略图行只有 id、Tab 停靠和 aria_label,缺少 AX role,页面导航及隐藏状态无法进入辅助技术树,违反 UX-12。真窗口复制为两页并隐藏第二页,截图显示两张缩略图和隐藏标记,原生 AX 树仍没有任何幻灯片行;Tab 聚焦时 GPUI 明确记录 has no accessibility node,并提示辅助技术将读出整个窗口。修复方向:为幻灯片和母版行提供可操作角色、名称、当前项及隐藏状态,增加包含具体行名称与状态的原生 AX 回归。
apps/ely-show/src/design.rs:238 — 宽、高 NumberInput 的内部文本框缺少可访问名称,旁边 DescriptionList 的视觉文字没有与输入框关联,违反 UX-12。真窗口 AX 树中的两项只有 AXTextField value=28.00、value=15.75,title 和 label 均为空,屏幕阅读器无法识别所编辑的尺寸方向与单位。修复方向:把本地化的宽、高及单位绑定到实际输入控件的可访问名称,必要的组件接口同步补齐,并用原生 AX 值和名称核验两种语言。