UI编辑器一批细节优化 #278

Merged
kdletters merged 44 commits from fix/ui-editor-minor-adjusts into master 2026-09-08 11:56:36 +08:00
Member
  • 提示词:完善组件建议,增加容器背景与节点大小一致的实现

  • 支持Delete删除节点 ctrl + -缩放

  • 步骤结束弹窗提醒
    shotmd-1788599068.jpg
    shotmd-1788605840.jpg

  • UI 树快捷删除
    shotmd-1788605655.jpg

  • zoom滑动条样式

before:
image.png
after:
shotmd-1788606577.jpg

* 提示词:完善组件建议,增加容器背景与节点大小一致的实现 * 支持Delete删除节点 ctrl + -缩放 * 步骤结束弹窗提醒 ![shotmd-1788599068.jpg](/attachments/99a1e4aa-d778-41bf-9dda-0df703723407) ![shotmd-1788605840.jpg](/attachments/31ab883d-32bc-467b-9308-616b83387a79) * UI 树快捷删除 ![shotmd-1788605655.jpg](/attachments/3d451201-3f68-4eb6-b558-864ecf0cb5a3) * zoom滑动条样式 before: ![image.png](/attachments/e4a04304-e6eb-4da6-9352-99e093fee42e) after: ![shotmd-1788606577.jpg](/attachments/6cdc377c-f2a3-4a7e-b78e-772a3fdb13b7)
k88936 self-assigned this 2026-09-04 11:29:02 +08:00
k88936 added this to the 陶泥儿gameAgent project 2026-09-04 11:29:02 +08:00
k88936 added 1 commit 2026-09-04 11:29:03 +08:00
完善组件建议,增加容器背景与节点大小一致的实现
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Successful in 2m59s
Project CI / Native shell tests (pull_request) Failing after 11m40s
754964c57e
k88936 added 3 commits 2026-09-04 11:47:25 +08:00
明确 Delete 快捷键触发范围与交互控件过滤

规定复用 deleteNode、子树删除、撤销与脏状态语义

补充删除后无效选区清理和验收标准
复用现有 deleteNode 命令处理 Delete 快捷键

过滤交互控件、修饰键和重复按键事件

清理删除子树后的无效节点选区并补充页面测试
补充 Delete 快捷键页面验收测试
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m50s
Project CI / Native shell tests (pull_request) Successful in 18m50s
2d884f1bc5
验证页面选中节点可通过 Delete 删除

覆盖真实树面板选择与删除后的渲染结果
k88936 added 5 commits 2026-09-04 13:52:47 +08:00
支持 macOS 标准 Delete 键上报的 Backspace 事件

保留原有修饰键、重复事件和交互控件过滤
将删除快捷键的交互控件过滤与撤销重做的可编辑目标过滤分离

避免按钮和链接聚焦时意外屏蔽 Ctrl/Cmd+Z/Y
使用 useCallback 保持 deleteNode 在输入未变化时的函数引用稳定

减少全局键盘监听器不必要的解绑与重新注册
仅在存在选中节点时查询删除节点集合

避免使用空字符串作为节点 ID 查询值
同步 UI 编辑器快捷键规范
Project CI / Repository checks (pull_request) Failing after 16s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m47s
Project CI / Native shell tests (pull_request) Successful in 19m22s
20a065e540
记录 macOS Backspace 删除节点快捷键

明确按钮链接焦点下撤销重做与删除快捷键的差异
k88936 added 6 commits 2026-09-04 16:16:09 +08:00
新增工作流终态通知弹窗交互约定
明确三步骤反馈文案与验收边界
拆分通知类型与文案辅助函数
修复组件快速刷新导出约束
为三项工作流动作增加成功失败通知
扩展结果数量与请检查提示
在编辑器页面挂载阻塞通知弹窗
覆盖请检查提示去重
覆盖三项步骤标题映射
将通知辅助测试纳入AGC测试目录
保持提示文案和步骤映射覆盖
简化工作流检查提示拼接
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Successful in 3m26s
Project CI / Native shell tests (pull_request) Successful in 20m41s
fe813802a5
移除请检查文案探测逻辑
终态文案统一直接追加检查提示
kdletters reviewed 2026-09-04 16:21:14 +08:00
kdletters left a comment
Member

[head fe813802a5] 发现 1 个明确问题,详见行内评论。

[head fe813802a576287d569f1e78f80b4360692619ad] 发现 1 个明确问题,详见行内评论。
Member

完成通知弹窗打开时,页面级 keydown 监听仍会处理 Ctrl/Cmd+Z/Y:onKeyDown 只排除了可编辑元素,没有排除当前 role=dialog/弹窗内焦点。因此用户在弹窗的关闭按钮上按 Ctrl+Z(或 Ctrl+Shift+Z/Ctrl+Y)会直接撤销/重做底层 UI 编辑,弹窗声称阻塞工作台交互但状态仍被修改。建议在快捷键处理前检测 event.target 是否位于 role=dialog(或维护 modal-open 状态)并直接 return;同时补充弹窗打开时快捷键不改变编辑状态的测试。

完成通知弹窗打开时,页面级 keydown 监听仍会处理 Ctrl/Cmd+Z/Y:onKeyDown 只排除了可编辑元素,没有排除当前 role=dialog/弹窗内焦点。因此用户在弹窗的关闭按钮上按 Ctrl+Z(或 Ctrl+Shift+Z/Ctrl+Y)会直接撤销/重做底层 UI 编辑,弹窗声称阻塞工作台交互但状态仍被修改。建议在快捷键处理前检测 event.target 是否位于 role=dialog(或维护 modal-open 状态)并直接 return;同时补充弹窗打开时快捷键不改变编辑状态的测试。
k88936 marked this conversation as resolved
k88936 added 4 commits 2026-09-04 19:13:27 +08:00
排除 role=dialog 和 aria-modal 弹窗内的 Delete/Backspace 快捷键

补充弹窗焦点下节点不应被删除的回归测试

同步更新 UI 编辑器撤销重做规范
统一成功与失败分支的提示拼接、状态更新和终态通知

保持三个工作流步骤现有消息与状态行为不变
使用覆盖全部 UiEditorStepId 的 switch 映射步骤标题

增加 never 穷举检查以便新增步骤触发类型错误
统一节点选区的严格空值判断
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 19s
Project CI / Frontend tests (pull_request) Successful in 2m57s
Project CI / Native shell tests (pull_request) Successful in 18m0s
6f29c60d63
将 selectedNodeId 的宽松不等比较改为 !== null
k88936 changed title from WIP: UI编辑器其他细节优化 to WIP: UI编辑器一批细节优化 2026-09-05 13:24:59 +08:00
k88936 added 1 commit 2026-09-05 13:50:27 +08:00
Merge branch 'master' into fix/ui-editor-minor-adjusts
Project CI / Native shell tests (pull_request) Failing after 4m11s
Project CI / Frontend tests (pull_request) Failing after 30m6s
Project CI / Repository checks (pull_request) Failing after 30m26s
Project CI / Backend tests (pull_request) Successful in 35m27s
84222dd44e
k88936 marked the pull request as ready for review 2026-09-05 13:53:03 +08:00
k88936 requested review from kdletters 2026-09-05 13:54:20 +08:00
k88936 removed review request for kdletters 2026-09-05 13:54:33 +08:00
k88936 marked the pull request as work in progress 2026-09-05 13:54:36 +08:00
k88936 added 9 commits 2026-09-05 15:24:42 +08:00
记录桌面端快捷删除按钮与右键删除复用规则

明确后代节点确认提示、页面根禁删和底层命令边界
在可删除节点行提供桌面端垃圾桶按钮

复用右键删除入口并对后代节点显示确认弹窗
覆盖嵌套节点定位与后代节点递归计数
抽取UI编辑器键盘快捷键处理模块

阻止对话框内撤销重做并保留普通按钮快捷键行为
明确对话框打开时暂停编辑器级撤销重做
新增桌面端缩放滑杆交互约定

明确范围、键盘操作与验收标准
新增桌面端可拖动缩放滑杆

保留按钮与视口中心缩放行为
修正缩放滑杆百分比映射
Project CI / Repository checks (pull_request) Failing after 2m35s
Project CI / Frontend tests (pull_request) Failing after 2m9s
Project CI / Native shell tests (pull_request) Failing after 4m57s
Project CI / Backend tests (pull_request) Successful in 6m33s
98c5768ebf
使用显示百分比同步滑块位置
kdletters requested changes 2026-09-05 15:41:56 +08:00
Dismissed
kdletters left a comment
Member

[head 98c5768ebf] 审查结论:未发现明确问题。已检查 base f9e1e5d2a7 到当前 head 的代码变更。

[head 98c5768ebf7c7231fa2ac5cd77b0e5303ff8f713] 审查结论:未发现明确问题。已检查 base f9e1e5d2a74b21e1e92cfdf93c07c9a8fcff51a1 到当前 head 的代码变更。
Member

[head 98c5768ebf] 审查结论:未发现明确问题。已检查 base f9e1e5d2a7 到当前 head 的代码变更。

[head 98c5768ebf7c7231fa2ac5cd77b0e5303ff8f713] 审查结论:未发现明确问题。已检查 base f9e1e5d2a74b21e1e92cfdf93c07c9a8fcff51a1 到当前 head 的代码变更。
k88936 added 6 commits 2026-09-05 19:55:16 +08:00
统一节点操作列宽度并对齐可见性与删除按钮
为树内容增加横向滚动和动态宽度测量
组件数量改用实心橙色拼图图标徽标
记录节点操作列与树横向滚动规则
说明深层节点名称不得截断
区分滑杆选择范围与快捷加减的核心视口边界
约定跨平台按键、作用域、事件拦截与既有重置行为
补充组件级回归测试和定向验证标准
识别跨平台加减、适配画布与实际尺寸快捷键
限制快捷键作用域并放行可编辑和可操作目标
增加按键变体、重复输入和默认行为回归测试
复用工具栏中心缩放逻辑并统一加减倍率常量
为预览画布增加悬停与键盘焦点作用域
保留既有适配画布和实际尺寸快捷键行为
修复缩放控件焦点拦截节点删除
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 20s
Project CI / Frontend tests (pull_request) Successful in 3m37s
Project CI / Native shell tests (pull_request) Successful in 21m7s
29b0b944bd
允许缩放滑杆和缩放按钮焦点下继续执行 Delete/Backspace。

修正 UI 树宽度测量重复节点文本并保持预览点击选择语义。

补充缩放焦点快捷键回归测试与交互文档。
k88936 added 1 commit 2026-09-05 19:55:29 +08:00
Merge branch 'master' into fix/ui-editor-minor-adjusts
Project CI / Repository checks (pull_request) Failing after 2m38s
Project CI / Frontend tests (pull_request) Successful in 3m8s
Project CI / Backend tests (pull_request) Successful in 6m35s
Project CI / Native shell tests (pull_request) Successful in 21m42s
6271026e2d
Member

[head 29b0b944bd] 审查结论:未发现明确问题。已检查 base 524e2f0f4f 到当前 head 的代码变更;前端 typecheck 通过。

[head 29b0b944bd66aff7640659e660e74e2e47cc7046] 审查结论:未发现明确问题。已检查 base 524e2f0f4fec78fc3b0e6051a431e4713dc23e39 到当前 head 的代码变更;前端 typecheck 通过。
kdletters requested changes 2026-09-06 19:39:52 +08:00
Dismissed
kdletters left a comment
Member

审查结论:request changes。除当前 Project CI 失败和与 master 冲突外,还有一个可复现的键盘误删问题:apps/ai-game-creator-shell/src/view/ui-editor/uiEditorKeyboardShortcuts.ts:22-24 对 data-ui-editor-zoom-controls 返回 false,导致其内部 range input 不被视为交互控件;同文件:44-65 的 Delete/Backspace 分支又早于 isEditableTarget 判断。于是用户聚焦缩放滑块时按 Delete 或 Backspace,会删除当前选中 UI 节点。请让缩放控件仍被 Delete 分支排除,同时保留所需的缩放快捷键行为,并补 range input 键盘回归测试。

审查结论:request changes。除当前 Project CI 失败和与 master 冲突外,还有一个可复现的键盘误删问题:apps/ai-game-creator-shell/src/view/ui-editor/uiEditorKeyboardShortcuts.ts:22-24 对 data-ui-editor-zoom-controls 返回 false,导致其内部 range input 不被视为交互控件;同文件:44-65 的 Delete/Backspace 分支又早于 isEditableTarget 判断。于是用户聚焦缩放滑块时按 Delete 或 Backspace,会删除当前选中 UI 节点。请让缩放控件仍被 Delete 分支排除,同时保留所需的缩放快捷键行为,并补 range input 键盘回归测试。
k88936 added 2 commits 2026-09-07 12:49:17 +08:00
Merge remote-tracking branch 'origin/fix/ui-editor-minor-adjusts' into fix/ui-editor-minor-adjusts
Project CI / Repository checks (pull_request) Failing after 9s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
584b0f95cb
k88936 added 1 commit 2026-09-07 13:11:55 +08:00
Merge branch 'master' into fix/ui-editor-minor-adjusts
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
3f8b438fdc
k88936 added 1 commit 2026-09-07 15:44:19 +08:00
Merge branch 'master' into fix/ui-editor-minor-adjusts
Project CI / Repository checks (pull_request) Failing after 2m16s
Project CI / Backend tests (pull_request) Successful in 7m7s
Project CI / Frontend tests (pull_request) Successful in 2m56s
Project CI / Native shell tests (pull_request) Successful in 20m43s
a08b224590
k88936 marked the pull request as ready for review 2026-09-07 16:11:23 +08:00
k88936 added 1 commit 2026-09-07 17:26:23 +08:00
Merge branch 'master' into fix/ui-editor-minor-adjusts
Project CI / Frontend tests (pull_request) Successful in 2m38s
Project CI / Repository checks (pull_request) Failing after 2m13s
Project CI / Backend tests (pull_request) Successful in 6m34s
Project CI / Native shell tests (pull_request) Successful in 19m41s
777f928830
kdletters approved these changes 2026-09-07 18:06:46 +08:00
Dismissed
kdletters left a comment
Member

This was generated by AI during triage.

审查结论:通过当前代码审查。上一轮关于缩放滑杆焦点下 Delete/Backspace 误删节点的问题已在当前提交通过交互控件判断和回归测试覆盖;弹窗焦点也已排除快捷键处理。当前四项 CI 仍在运行,合并前请等待 CI 结果。

> *This was generated by AI during triage.* 审查结论:通过当前代码审查。上一轮关于缩放滑杆焦点下 Delete/Backspace 误删节点的问题已在当前提交通过交互控件判断和回归测试覆盖;弹窗焦点也已排除快捷键处理。当前四项 CI 仍在运行,合并前请等待 CI 结果。
kdletters requested changes 2026-09-07 18:09:28 +08:00
Dismissed
kdletters left a comment
Member

This was generated by AI during triage.

请求修改(当前 head 777f928830a49d270800ea5d214475337ab850ee)。

代码审查层面上一轮键盘误删问题已修复,但当前 Project CI 的 Repository checks 失败:cargo fmt --check 报告 docs/technical/【设计】UI编辑器工作流完成通知弹窗-2026-09-04.md 第 41 行存在 EOF 多余空行。请清理该空行并重新运行仓库检查;修复后我会重新确认。

> *This was generated by AI during triage.* 请求修改(当前 head 777f928830a49d270800ea5d214475337ab850ee)。 代码审查层面上一轮键盘误删问题已修复,但当前 Project CI 的 Repository checks 失败:cargo fmt --check 报告 docs/technical/【设计】UI编辑器工作流完成通知弹窗-2026-09-04.md 第 41 行存在 EOF 多余空行。请清理该空行并重新运行仓库检查;修复后我会重新确认。
@@ -0,0 +38,4 @@
3. 弹窗可通过标准关闭方式退出;关闭后卡片状态仍可见。
4. 每条成功文案保留原有数量信息并增加可用的检查数量,所有文案包含“请检查”。
5. 重新运行后新的终态会再次弹出通知。
Member

This was generated by AI during triage.

Repository checks 的 cargo fmt --check 已在此文件第 41 行报告 new blank line at EOF。请删除文件末尾多余空行后重跑 CI。

> *This was generated by AI during triage.* Repository checks 的 cargo fmt --check 已在此文件第 41 行报告 new blank line at EOF。请删除文件末尾多余空行后重跑 CI。
k88936 marked this conversation as resolved
k88936 added 2 commits 2026-09-07 18:49:30 +08:00
删除文档末尾多余空行,保留标准EOF换行
Merge remote-tracking branch 'origin/fix/ui-editor-minor-adjusts' into fix/ui-editor-minor-adjusts
Project CI / Repository checks (pull_request) Successful in 2m21s
Project CI / Frontend tests (pull_request) Successful in 3m0s
Project CI / Backend tests (pull_request) Successful in 6m58s
Project CI / Native shell tests (pull_request) Successful in 17m24s
3fa19600f2
k88936 dismissed kdletters's review 2026-09-07 18:49:30 +08:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

k88936 requested review from kdletters 2026-09-07 18:49:38 +08:00
kdletters requested changes 2026-09-07 21:21:11 +08:00
kdletters left a comment
Member

审查结论:request changes。

[P2] 缩放百分比无法编辑
文件:apps/ai-game-creator-shell/src/view/ui-editor/components/preview/PreviewWorkspace.tsx:548
当前把 displayPercent 渲染为触发 fit 的 ,点击会重新适配画布,用户无法直接编辑百分比;但本 PR 新增交互规范 docs/【交互设计】预览画布缩放滑杆-2026-09-05.md 明确要求“百分比文本可点击编辑并在失焦时限制到有效范围”。请改为受控输入(含失焦范围约束及与画布同步),并补相应组件级回归测试;或同步修正文档与验收测试使契约一致。

审查结论:request changes。 [P2] 缩放百分比无法编辑 文件:apps/ai-game-creator-shell/src/view/ui-editor/components/preview/PreviewWorkspace.tsx:548 当前把 displayPercent 渲染为触发 fit 的 <button>,点击会重新适配画布,用户无法直接编辑百分比;但本 PR 新增交互规范 docs/【交互设计】预览画布缩放滑杆-2026-09-05.md 明确要求“百分比文本可点击编辑并在失焦时限制到有效范围”。请改为受控输入(含失焦范围约束及与画布同步),并补相应组件级回归测试;或同步修正文档与验收测试使契约一致。
k88936 added 1 commit 2026-09-08 11:19:04 +08:00
修复预览画布缩放百分比编辑
Project CI / Repository checks (pull_request) Successful in 2m45s
Project CI / Frontend tests (pull_request) Successful in 2m50s
Project CI / Backend tests (pull_request) Successful in 6m40s
Project CI / Native shell tests (pull_request) Successful in 17m32s
3e6fbaed9a
将百分比按钮替换为可编辑数字输入框

失焦时限制缩放范围并同步画布视口

新增百分比输入组件级回归测试并更新交互文档
kdletters merged commit 4db6d28603 into master 2026-09-08 11:56:36 +08:00
kdletters deleted branch fix/ui-editor-minor-adjusts 2026-09-08 11:56:36 +08:00
Sign in to join this conversation.