feat(canvas): AI 拆图 - 支持图层规划编辑与素材复用
This commit is contained in:
@@ -42,6 +42,13 @@ description: 从产品功能快速定位主要代码入口
|
||||
| 管理后台 | `web/src/pages/admin/`、`router.tsx` | `admin-context.tsx`、`users/`、`channels/`、`logs/`、`storyboard-prompts/`、`settings/`、`components/agent-lessons-panel.tsx` |
|
||||
| 支付 CSV 导出 | `web/src/pages/admin/payments/payments-page.tsx` | `services/api/payments.ts`、`AdminExportButton`;后端 `handler/payment_export.go`、`app/payment_export.go`、`repository/payment_export.go`(共享筛选、只读快照) |
|
||||
|
||||
## AI 拆图工作流
|
||||
|
||||
- 配置入口:`web/src/components/canvas/canvas-node-layer-decomposition-dialog.tsx`;编排、并行生成与重试:`web/src/pages/canvas/use-canvas-media-tools.ts`、`use-canvas-generation-retry.ts`。
|
||||
- 规划与策略:`web/src/lib/canvas/canvas-image-layer-plan.ts`、`canvas-image-layer-strategy.ts`;原图、规划请求、提取与合成:`web/src/services/canvas-image-layer-*.ts`。
|
||||
- 图层组和素材保存:`web/src/pages/canvas/use-canvas-image-layer-groups.ts`、`use-canvas-image-layer-materials.ts`;任务恢复与复制规则:`web/src/lib/canvas/canvas-generation-task-sync.ts`、`canvas-node-copy.ts`。
|
||||
- 看图资源归属及实际像素:`backend/internal/app/provider_media_hydration.go`;透明 PNG 参数:`plugin-packages/image-tools/manifest.json`。
|
||||
|
||||
## 画布核心
|
||||
|
||||
云端 Agent 的提示词维护边界见[画布 Agent 提示词与用户意图](/docs/backend/agent-prompt-policy):行为策略在版本化 md,动态事实由 `cloud_agent_policy.go` 编译,运行状态消息由 `cloud_agent_prompt_context.go` 统一编码;`cloud_agent_anchor.go` 不再推断用户授权或锁定首轮目标。
|
||||
|
||||
@@ -64,6 +64,10 @@ handle 放错端点、格式错误或行 ID 不存在时,工具错误回执提
|
||||
|
||||
当前自动签名能力:公开 CDN、七牛私有下载签名和对象存储源站签名。阿里云/腾讯云私有 CDN 签名尚未自动支持,不能仅填写 CDN 域名就宣称已命中 CDN。真实 CORS、Range、CDN 命中率及账单收益必须在实际云环境通过浏览器网络记录和服务端流量观测验收。
|
||||
|
||||
## AI 拆图视觉规划输入
|
||||
|
||||
文本生成任务的 `metadata.edit = "layer-planning"` 使用图片参考时,服务端从当前用户归属的就绪资源读取实际像素并转换为内嵌图片,清除附带的旧 URL。图片数量与字节数沿用文本模型能力及资源读取上限;不允许其他用户资源或客户端内嵌内容替换资源文件。普通生成的签名 URL 策略保持不变,任务端点、账务与数据库结构沿用已有合同。
|
||||
|
||||
## 画布资源完整性与 409
|
||||
|
||||
画布写入在保存历史快照前校验当前文档中的资源引用;引用须属于当前用户且处于 `ready`。引用收集器递归遍历受支持的资源字段,因此 `nodes[节点 ID].metadata.videoPreview.storageKey` 等嵌套派生封面也会参与检查。历史快照保存会一并校验新版本引用;若资源在保存期间缺失或状态变化,事务回滚,画布 revision 不递增。
|
||||
|
||||
@@ -160,6 +160,14 @@ AutoDL 视频模型在“能力与参数 → 画面规格”直接多选当前
|
||||
- `web/src/lib/canvas/tool-registry/definitions/selection-toolbar-tools.tsx`:多选悬浮栏默认工具。
|
||||
- `web/src/lib/canvas/canvas-layout.ts`:`spreadCanvasNodes` 按相对占位加大边距。
|
||||
|
||||
## 完整 AI 拆图工作流
|
||||
|
||||
图片节点的 AI 拆图可先用支持视觉输入的文本模型规划图层,再选择专用拆图模型,或用普通图片模型分别重建背景与前景。规划发送经过资源归属校验的实际像素;规划结果校验图层数量、区域与提示词,失败保留可修正的错误。
|
||||
|
||||
生成结果组成同尺寸图层组,支持展开、显隐、合成预览、复制、删除、失败重试和刷新恢复。前景可按需去背景,Image Tools 强制输出 PNG;透明内容可按有效区域裁切并另存为独立素材。派生图片使用独立资源与素材标识,避免覆盖原图或其他图层。
|
||||
|
||||
规划、生图及可选去背景沿用已有任务与计费;本地合成、显隐和素材裁切不调用生成模型。普通生图是语义重建,不能保证与原图逐像素一致。图层数、像素与输出比例受前端限制,供应商失败如实显示。
|
||||
|
||||
## 图片节点多角度、宫格切分与多选框
|
||||
|
||||
图片节点「多角度」使用贴在节点下方的 3D 编辑器(天空盒/摄像头、常用角度、方向箭头),拖动节点或平移画布时面板跟着走。宫格切分放在「图片工具」菜单的「拆分与标记」里,提供 4/9/16/25 预设和 5×5 自定义点选;自定义面板留在菜单内,切分后的子图按网格排开。框选多张图后拖动,虚线选框跟随被选节点。
|
||||
|
||||
@@ -182,6 +182,13 @@ description: 当前项目已实现功能的手工验证清单与未确认边界
|
||||
- [ ] Firefox/Chrome/Safari 实际页面走关键 lazy route;检查离线草稿、登录切换和错误重试行为。尚未做真实浏览器/CDN 验收。
|
||||
- [ ] 使用 React Profiler 与长时间运行的大画布记录任务更新、节点数/可见数、主线程长任务和页面隐藏行为。当前只做结构性降热点,不推断整画布必然全量重渲染或已达到某个帧率。
|
||||
|
||||
## 完整 AI 拆图
|
||||
|
||||
- 已实现:视觉规划、专用拆图与普通图片模型重建、可选去背景、图层组显隐与合成、独立素材保存及任务恢复。
|
||||
- [ ] 用户验收不同画幅的背景与透明前景、图层排序和显隐、复制/删除、保存素材与刷新恢复。
|
||||
- [ ] 在供应商环境验证专用拆图、去背景、部分失败重试,以及不同模型的比例与透明输出限制。
|
||||
- [ ] 核对规划与各生成任务的费用提示和失败结算;普通生图重建不承诺无损还原。
|
||||
|
||||
## 画布媒体产出模型
|
||||
|
||||
- 产出模型与选用模型分开保存。生成成功才冻结产出模型;生成中、失败和只改模型下拉不改已有产出模型。
|
||||
|
||||
Reference in New Issue
Block a user