feat(canvas): 画布工具 - 抓手框选改开关并精简多选整理

将底部抓手与区域选择收成胶囊开关,精简框选悬浮栏,并在右键提供按相对布局加大边距的自适应整理。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ddCat
2026-09-08 23:53:22 +08:00
parent f176043ac4
commit 94dba61a6c
19 changed files with 533 additions and 39 deletions

View File

@@ -5,6 +5,19 @@ description: 当前项目已实现的核心工作台能力与使用入口
# 功能清单
## 画布抓手与框选
画布底部主工具栏用一个胶囊开关切换「区域选择」和「抓手工具」。默认是区域选择,空白处拖动框选节点;切到抓手后拖动平移画布。按住空格或中键仍可临时平移,不改变当前工具。
框选多个节点后,悬浮栏默认提供对齐、等距、创建分镜组和批量连接。右键选区或画布空白处可「自适应整理画布」,按当前相对布局加大边距,而不是重排成宫格或媒体泳道。
### 相关实现
- `web/src/lib/canvas/tool-registry/definitions/main-toolbar-tools.tsx`:抓手与框选作为同一开关项注册。
- `web/src/components/ui/aceternity/floating-dock.tsx`:dock 内胶囊开关与圆形滑块。
- `web/src/lib/canvas/tool-registry/definitions/selection-toolbar-tools.tsx`:多选悬浮栏默认工具。
- `web/src/lib/canvas/canvas-layout.ts`:`spreadCanvasNodes` 按相对占位加大边距。
## 系统渠道排序与前台别名
后台系统渠道及渠道模型列表通过“设置排序”打开完整列表,支持拖动、上移和下移,点击“保存排序”统一生效;取消不会修改线上顺序。界面不显示内部排序数字,排序不受筛选及分页影响;并发修改会提示重新加载,避免覆盖其他管理员的调整。系统渠道模式下,用户端模型选择器沿用同一渠道及模型顺序。模型排序独立保存,不改变价格、能力版本或启用状态。

View File

@@ -5,6 +5,35 @@ description: 当前项目已实现功能的手工验证清单与未确认边界
# 待测试
## 框选工具栏精简与自适应整理
- 多选悬浮栏默认只保留对齐、等距、分镜组和批量连接;横向/纵向/宫格/连线排列和引用组改到工具栏设置里,需要时再打开。
- 框选多个节点后,在节点或画布空白处右键会出现「自适应整理画布」:保持现有相对占位,把间距至少加到约 56px,不按媒体类型重排。
- 右键已选中的节点不再拆掉多选。
- [ ] 登录画布框选一组松散节点,确认悬浮栏变短,右键整理后左右上下关系不变、间距变大,撤销可恢复。
- [ ] 工具栏设置里仍能重新打开隐藏的排列入口。
## 画布抓手 / 框选胶囊开关
- 主工具栏左侧的抓手工具和区域选择合并为一个胶囊开关:选中项是白色圆形滑块,未选项直接落在纯黑轨道上;左右留白比参考图更松。
- 默认仍是区域选择;切换到抓手后空白处拖动平移画布,切回后空白处拖动框选。空格 / 中键临时平移不受影响。
- 旧工具栏偏好里的 `tool-move` / `tool-box-select` 会合并成 `tool-canvas-mode`;两个都隐藏时开关才隐藏。
- [ ] 登录画布验证明暗主题、开关切换后光标和拖动语义、工具栏设置中的显隐与排序。
- [ ] 触屏或窄屏下开关仍可点按,不与 dock 横向滚动冲突。
## 画布本地媒体转换节点(PR #446)
- 合并本地媒体转换节点与 Canvas Agent Runtime:灰度、Canny、AI 线稿、Depth Anything V2、OpenPose;官方插件注册;图片输入约束、结果指纹与缓存。
- 合并冲突处理:保留主分支连线创建菜单的展开描述样式,并补上「转换」选项。
- 修复:完成后的转换结果可进入下游生成参考图;stale 写入不再覆盖 processing;hover「转换」识别 `storageKey` 媒体;pose `personCount` 允许 0。
- 已知边界:抠图(cutout)与视频转换仍标记为暂不可用;插件开关未像肖像排查那样隐藏创建入口。
- 修复:POSIX 主机上 Windows 风格绝对路径环境变量不再被 `path.resolve` 错误拼接工作目录。
- [x] `bun test test/media-conversion.test.ts`:7 passed。
- [x] canvas-agent depth/lineart/pose 路径覆盖测试:通过。
- [ ] 登录画布:图片 → 转换(灰度/Canny)→ 下游图片生成,确认参考图实际进入请求。
- [ ] 本机 Agent:深度 / 线稿 / 姿态转换;无人物姿态显示 skipped。
- [ ] 更换上游图片后转换节点变 stale,重新运行后下游可继续生成。
## Agent 聊天附件、局部重绘次数与多图展开
- Agent 输入框附件改为 80px 预览,标签在图片下方,不再盖住画面;点击/双击放大,可用 `@图片N` 插入正文,鼠标移开后图片保持可见。