1.7 KiB
FAIL
site/src/tour.ts:341:ResizeObserver 只观察 pin 与 hero,模型自身尺寸变化无法触发 moved,违背 R2.2 的模型尺寸变化后重新定位要求。复现:1280×1000、减少动效,聚焦 ElyPDF,将 .model .stage 的内联 width 与 height 同比缩至 80%,等待 300ms;建筑中心已变为 x=736.979,标签仍在 x=877.313,偏移约 140px。手动向 .model 派发 moved 后标签回到 x=736.969。修复方向:观察实际模型的尺寸变化,并用变化后的几何更新可见标签;补充独立模型缩放的回归断言。
site/src/touch.ts:37:添加 lifted 后立即测量,此时读取的是 translate 过渡开始时的几何;过渡结束没有再次定位,标签停留在旧位置。复现:1280×1000、普通动效,等待初始生长完成后聚焦 ElyDoc,再等待 300ms;标签底边 y=368.281,与抬升后的建筑顶边 y=368.282 几乎重合,按 place 的当前几何计算应为 y=328.566,误差约 39.7px。连续三次复现,手动派发 moved 后底边变为 y=328.563。修复方向:在建筑交互过渡期间及结束后同步标签位置,并覆盖普通动效下的聚焦与按压路径。
site/e2e/touch.spec.ts:160:新增定位断言只检查横向范围,缺少纵向位置与当前建筑顶边的关系;整组 reducedMotion 设置也跳过了上条缺陷涉及的过渡。复现:在临时测试副本的 beforeEach 中注入 .tour .caption { top: 0px !important; },标签固定在模型顶部,7 项 touch 测试仍全部通过,其中包括窗口变窄的新增测试。修复方向:断言标签的横向中心与纵向底边均对应当前几何,覆盖模型尺寸单独变化及普通动效结束,并要求该定位破坏探针使测试失败。