2.8 KiB
FAIL
apps/ely-show/src/preview.rs:82 — 预览修订只取撤销列表,文字编辑期间该列表可以保持不变,首轮“编辑后丢弃过期预览”仍有遗漏。隔离 GPUI 探针在标题中输入 A、启动预览,再经 LokView::insert 输入 B 并完成重新读取;内核页面像素实际改变 1,296 个字节,前后 history 均为 ([], []),drop_stale_preview 后旧 Preview 仍存在,旧图层继续遮住新内容。修复方向:预览身份纳入实际输入与编辑代次,检查待落地编辑,并在读取完成及绘制前验证;覆盖文字编辑尚未形成撤销条目的场景。
apps/ely-show/src/motion.rs:153 — 各切换字段从渲染时的 base 拼出完整 Transition,去重修复仍会让后一字段覆盖前一字段的待回显改动。隔离 GPUI/真实 LOK 探针先设置自动切换、时长 2 秒、等待 4 秒,在同一次更新中按生产 on_commit 路径提交时长 3.5 秒与等待 7 秒;内核最终读回 duration=2.0、time=7.0,时长修改丢失。修复方向:完整切换参数以该页面最新的待回显状态为底合并各字段,回读时核对并清理;回归连续修改两个字段的路径。
apps/ely-show/src/media.rs:246 — 播放身份清理依赖 media_layer 被绘制;关闭最后一个标签后,deck.rs:370 的空文档分支提前返回,播放实例继续保留并发声。真实 GPUI 主线程窗口探针播放 10 秒 WAV 后关闭唯一标签,300 毫秒后仍读到 Ready { seconds: 10.0, video: None }、position=0.521、playing=true,playing 清理断言失败。修复方向:在标签关闭及活动文档变化时执行播放实例的暂停与清理,空文档渲染路径也完成身份核对;覆盖关闭最后一个标签。
tests/scripts/media-targets.sh:29 — 编译探针只调用 play 与 frame,遗漏 ElyShow 使用的 state、pause、playing、position、seek,首轮接口缺失的回归门禁仍可误报通过。在隔离副本删除 Player::pause 后,原脚本在 Linux、Windows 两个目标均退出 0 并宣称播放器接口可编译;调用完整接口的 Linux 探针立即报 E0599,ElyShow 的暂停及清理路径因此无法编译。修复方向:两个目标的探针调用应用所用的全部播放器方法,并验证缺失任一方法时门禁失败。
apps/ely-show/src/preview/transition.rs:122 — 首轮揭开效果新增的测试只断言 old_on_top 参数,实际合成顺序缺少像素断言。当前真实 Metal 窗口半程帧能同时显示旧、新两页;隔离副本把 preview.rs 的合成分支改为始终新页在上后,左右采样均变成新页颜色 [255,0,1,255],三项现有切换测试仍全部通过,首轮画面缺陷可重新进入。修复方向:通过实际 transition() 合成半程帧,断言两侧分别来自旧页与新页,并让叠放顺序变异触发测试失败。