k88936
0ab04d0f64
预览画布接入右键拖拽平移
- PreviewWorkspace 右键按下记录起手并捕获指针,越过共用阈值后按起点全量 delta 平移视口,抬起时由 resolvePreviewRightPanRelease 裁决平移还是节点菜单
- 捕获阶段拦截按钮 2 的 contextmenu,拦截窗口保留到下一次指针按下之前,兼容"按下触发"与"抬起后触发"两类平台时序
- 右键抬起用 [data-node-id] 加树容器新增的 data-tree-id 命中节点,沿用"右键即选中该节点"语义;未平移但抬起在预览外时不弹菜单,空白网格右键静默
- 视口接线共享 isPanning,让空格、中键、右键三个平移绑定共用 grabbing 光标;onPointerCancel 拆成不进菜单的独立处理
- 新增 tests/previewRightPanDrag.test.tsx:右键拖拽只平移不弹菜单、阈值内仍弹菜单、空白右键不改选择、预览外抬起不弹、非右键 contextmenu 仍即时、中键平移回归、右键平移后左键拖动仍可用
验证:npx vitest run 定向 7 个文件 59 passed、apps/ai-game-creator-shell npx tsc --noEmit、改动文件 eslint、npm run check:encoding、git diff --check
2026-09-22 15:32:19 +08:00
..
2026-09-22 14:08:41 +08:00
2026-09-21 21:09:34 +08:00
2026-09-18 14:34:10 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 11:36:02 +08:00
2026-09-16 07:09:12 +08:00
2026-08-24 21:44:44 +08:00
2026-09-21 21:09:34 +08:00
2026-09-20 14:49:57 +08:00
2026-09-19 01:28:27 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 21:09:34 +08:00
2026-09-16 06:03:16 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 16:19:28 +08:00
2026-09-21 01:52:35 +08:00
2026-09-21 01:52:35 +08:00
2026-09-14 13:56:56 +08:00
2026-08-11 14:34:42 +08:00
2026-09-13 14:48:55 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 21:59:44 +08:00
2026-09-16 16:39:15 +08:00
2026-09-12 06:41:49 +00:00
2026-09-21 22:49:21 +08:00
2026-09-17 17:56:53 +08:00
2026-09-14 21:02:08 +08:00
2026-09-19 21:59:44 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-21 21:09:34 +08:00
2026-09-21 21:09:34 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-08-20 19:07:25 +08:00
2026-09-17 17:56:53 +08:00
2026-09-15 12:14:03 +08:00
2026-09-21 02:29:29 +08:00
2026-09-03 20:02:48 +08:00
2026-07-20 05:50:24 +08:00
2026-09-03 10:35:23 +08:00
2026-09-10 13:08:29 +08:00
2026-09-20 17:38:48 +08:00
2026-09-13 14:48:55 +08:00
2026-09-21 23:09:43 +08:00
2026-09-22 15:32:19 +08:00
2026-09-22 15:27:30 +08:00
2026-09-14 19:40:13 +08:00
2026-09-10 18:48:56 +08:00
2026-08-13 13:36:21 +08:00
2026-09-21 03:48:40 +08:00
2026-09-18 14:10:05 +08:00
2026-09-15 10:37:47 +08:00
2026-09-21 21:09:34 +08:00
2026-09-21 21:09:34 +08:00
2026-09-17 15:46:43 +08:00
2026-09-20 10:07:31 +08:00
2026-08-20 19:07:25 +08:00
2026-09-21 01:48:19 +08:00
2026-09-14 13:19:13 +08:00
2026-09-21 11:15:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:50:09 +08:00
2026-09-19 01:50:09 +08:00
2026-09-14 11:32:17 +08:00
2026-09-17 18:18:32 +08:00
2026-09-11 23:33:08 +08:00
2026-09-09 16:09:39 +08:00
2026-09-21 22:56:32 +08:00
2026-09-20 23:32:09 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 11:58:13 +08:00
2026-09-12 20:49:03 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 01:33:06 +08:00
2026-09-21 03:37:43 +08:00
2026-09-19 21:59:44 +08:00
2026-09-11 21:31:30 +08:00
2026-09-11 20:29:45 +08:00
2026-09-21 00:19:42 +08:00
2026-09-20 23:32:09 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 12:34:47 +08:00
2026-09-20 23:32:09 +08:00
2026-09-21 12:34:47 +08:00
2026-09-21 21:09:34 +08:00
2026-09-21 11:58:13 +08:00
2026-09-17 17:47:11 +08:00
2026-09-11 16:42:40 +08:00
2026-07-31 12:00:48 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:50:09 +08:00
2026-09-21 00:19:42 +08:00
2026-09-20 17:36:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:28:27 +08:00
2026-09-10 21:00:54 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 06:21:19 +08:00
2026-09-21 01:23:35 +08:00
2026-09-19 01:50:09 +08:00
2026-09-17 20:28:39 +08:00
2026-08-12 10:54:16 +08:00
2026-09-21 01:23:35 +08:00
2026-09-16 03:59:27 +08:00
2026-09-16 17:39:23 +08:00
2026-09-20 17:36:02 +08:00
2026-08-12 10:54:16 +08:00
2026-09-13 14:07:03 +08:00
2026-09-11 20:29:45 +08:00
2026-09-17 19:01:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-21 22:56:32 +08:00
2026-09-17 14:02:21 +08:00
2026-09-21 21:09:34 +08:00
2026-08-12 13:14:55 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-12 15:30:38 +08:00
2026-09-19 21:59:44 +08:00
2026-09-19 21:59:44 +08:00
2026-09-16 05:42:20 +08:00
2026-09-14 14:34:33 +08:00
2026-09-21 01:23:35 +08:00
2026-09-14 18:59:50 +08:00
2026-09-14 21:02:08 +08:00
2026-09-13 14:48:55 +08:00
2026-09-13 14:07:03 +08:00
2026-07-30 18:01:19 +08:00
2026-07-30 18:01:19 +08:00
2026-09-12 17:23:22 +08:00
2026-09-20 14:49:57 +08:00
2026-09-17 17:48:06 +08:00
2026-09-17 17:48:06 +08:00
2026-09-20 12:12:49 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 19:36:18 +08:00
2026-09-15 18:06:27 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-18 22:05:16 +08:00
2026-09-18 22:18:58 +08:00
2026-09-18 10:23:04 +08:00
2026-08-20 19:07:25 +08:00
2026-09-10 13:08:29 +08:00
2026-09-19 12:29:27 +08:00
2026-09-18 22:33:21 +08:00
2026-09-18 13:25:18 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-20 12:12:49 +08:00
2026-08-08 10:25:02 +08:00
2026-09-16 03:39:21 +08:00
2026-09-19 15:08:31 +08:00
2026-09-21 01:23:35 +08:00
2026-09-10 15:11:29 +08:00
2026-09-22 02:24:47 +08:00
2026-09-21 21:09:34 +08:00