Skip to content

test(studio): TML-878 cover TML-813 camera input interleavings - #19

Open
SeasonsChange422 wants to merge 4 commits into
mainfrom
feat/TML-813-invert-camera-y
Open

test(studio): TML-878 cover TML-813 camera input interleavings#19
SeasonsChange422 wants to merge 4 commits into
mainfrom
feat/TML-813-invert-camera-y

Conversation

@SeasonsChange422

@SeasonsChange422 SeasonsChange422 commented Sep 4, 2026

Copy link
Copy Markdown
Member

目标

为 TML-813 键鼠机位操控补齐交错输入回归覆盖,确保任何一次垂直反转切换都不会继承切换前的指针手势,且不中断已按住的键盘移动。

变更范围

  • 保留并补强原有垂直反转生产实现,本次仅修改测试。
  • 为同批次 false -> true -> false 切换增加待处理 look、quaternion 不变、旧 pointer 失效、pointer capture 释放及新手势恢复旋转断言。
  • 先真实按住 W,切换垂直反转后再发送 repeat: true keydown,以切换前后的实际位移证明持键连续。
  • 移除单切换用例中无前置按键的伪 repeat 触发,改为显式推进设置同步帧。

验收标准

  • 队列中的 look 不会在同批次双切换后泄漏到相机姿态。
  • 旧 pointer 被拒绝且释放 capture,新 pointerdown 加移动可重新建立旋转。
  • 垂直反转切换不中断已按住的 W,repeat keydown 后位移继续。
  • 未修改垂直反转产品语义或生产代码。

测试结果

  • 缺陷实现红灯:临时恢复旧的值比较判断后,新用例在 releasePointerCapture(41) 断言失败;恢复 revision 判断后通过。
  • npx vitest run --config vitest.config.ts test/camera-drive-routing.test.tsx --testNamePattern="inversion toggle":2/2 passed。
  • Camera routing Vitest:51/51 passed。
  • npx playwright test e2e/timeline.spec.ts --grep "mouse vertical inversion reverses only pitch":Chromium/Firefox/WebKit 3/3 passed。
  • npm test:passed;保留仓库既有 React/Three 测试警告。
  • npm run typecheck:passed。
  • npm run lint:0 errors,4 条既有 Fast Refresh warnings。
  • npm run build:passed;保留既有 large-chunk warning。
  • git diff --check:passed。

风险和回滚

本次只增强测试,无生产行为风险。回滚可撤销 TML-878 测试提交,不涉及数据迁移或持久化格式变更。

本 PR 继续承载 TML-813 功能与复审返工,本次补齐 TML-878 指定的交错输入覆盖。

SeasonsChange422 and others added 2 commits September 5, 2026 02:46
Co-authored-by: multica-agent <github@multica.ai>
Multica-Task: TML-813

Multica-Run: 4aed1ede-0dbb-45aa-993a-3d5e6839462c
Co-authored-by: multica-agent <github@multica.ai>
@TML-BOT

TML-BOT commented Sep 4, 2026

Copy link
Copy Markdown

PR 规范检查结果

状态:通过
Head SHA:332f693b3430284d4a930fc5219c97227a7b745c
策略版本:3

通过:

  • 目标分支为默认分支 main
  • 分支名 feat/TML-813-invert-camera-y 符合 ^(ai|feat|fix|refactor|chore)/.+$
  • PR 标题 test(studio): TML-878 cover TML-813 camera input interleavings 包含与正文元数据完全相同的 task_id(TML-878)
  • 正文包含必需元数据 task_idrun_id
  • 无合并冲突,且分支与目标分支保持最新
  • 必需检查 ci 通过
  • 必需检查 git-governance 通过

下一步:无需操作,本 PR 满足全部已启用规范。本评论仅为规范检查反馈,不阻止合并;最终合并资格由原生 cigit-governance 检查与分支保护决定。

@SeasonsChange422
SeasonsChange422 marked this pull request as ready for review September 4, 2026 20:05
SeasonsChange422 and others added 2 commits September 5, 2026 07:28
Co-authored-by: multica-agent <github@multica.ai>
Multica-Task: TML-878

Multica-Run: 7122b134-db40-4ed3-8fbb-3b4cb7387c44
Co-authored-by: multica-agent <github@multica.ai>
@SeasonsChange422 SeasonsChange422 changed the title fix(studio): TML-813 close camera inversion gesture race test(studio): TML-878 cover TML-813 camera input interleavings Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants