Commit Graph

80 Commits

Author SHA1 Message Date
ddCat
72d851c52b fix(web): 构建与测试 - 修复会话类型和图标依赖兼容 2026-08-20 19:48:02 +08:00
ddCat
36c08bcc9b feat(*): 工作区体验 - 将管理员入口下沉到左侧栏并优化画布目录卡片 2026-08-20 14:33:16 +08:00
ddCat
d47975f9bc refactor(core): 模型路由与画布 - 收敛渠道模型映射并优化交互 2026-08-19 20:27:26 +08:00
ddCat
52424543ea fix(canvas): 用户端界面 - 优化侧栏间距与画布操作反馈 2026-08-19 20:22:20 +08:00
kinoko
0e272f3b83 feat(canvas): TapNow - 支持公开画布导入 (#255)
(cherry picked from commit 9b96135a5e409b4718e6204ab4212b7ef22635aa)
2026-08-19 11:58:06 +08:00
ddCat
d2a089f1ec feat(canvas): 画布能力 - 完善 LibTV 导入与资源预览 2026-08-19 07:16:07 +08:00
ddCat
a23b4dda93 feat(platform): 创作能力整合 - 合并导演台与运行恢复改动 2026-08-18 21:01:36 +08:00
ddCat
8c5f56a551 feat(platform): 模型管理与后台能力 - 新增逻辑模型路由和响应拦截 2026-08-18 20:42:25 +08:00
QAyong
d3a029732f feat(canvas): 导演台 - 完善骨骼控制、对象管理与面板交互 2026-08-17 19:46:50 +08:00
dyhhhhh
ea657f179d fix(canvas): 画布图片生成 - 参考图超限时停止生成并提示清理连线
保留全部已连接参考图,在首次生成、重试和任务入口统一校验模型上限。
2026-08-17 16:54:56 +08:00
WindC0X
0e251c3c8f feat(canvas): 画布媒体工作流 - 支持批量连线、失败重试与模型能力增强
合并 PR #230。保留当前主线样式与组件结构,吸收批量连线、失败批次重试、媒体模型能力和相关后端增强,并修复集成检查发现的分辨率选择器启用条件与测试稳定性问题。
2026-08-15 15:48:16 +08:00
ddCat
57e1820f41 feat(runtime): 即梦本机运行时 - 接入安全生成闭环与桌面本机渠道
Refs #225

Co-authored-by: zkhyww <127009345+zkhyww@users.noreply.github.com>
2026-08-15 12:45:29 +08:00
ddCat
93b466b7a2 fix(canvas): 画布生成 - 隔离派生任务状态并修复视频模型切换 2026-08-15 03:30:08 +08:00
ddCat
abcf3e1787 feat(canvas): 画布创作对话 - 统一流式 Markdown 展示与交互修复 2026-08-15 02:31:42 +08:00
ddCat
d89a5a5b7b refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互 2026-08-14 23:44:55 +08:00
ddCat
acbbbe1078 fix(canvas): 创作界面 - 统一素材选择并修复画布顶栏与暗色交互 2026-08-14 18:35:43 +08:00
ddCat
b726620b4d fix(ci): 代码格式 - 修复画布变更文件的 Prettier 校验
Refs #220
2026-08-14 12:44:58 +08:00
ddCat
af609f4a3e feat(canvas): 画布模型与连线能力 - 合并同名模型并按输入动态限制节点关联
Closes #220
2026-08-14 12:41:55 +08:00
爱笑的毛毛虫
7946625be9 feat(canvas): 前端重构与渠道兼容 - 重构工作区、任务中心等多页面,修复智能体对话与节点生成
Co-authored-by: sikongyue <3155157671@qq.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/217
2026-08-14 12:01:21 +08:00
dyhhhhh
def6bc6117 fix(canvas): 图片生成 - 按模型能力限制画布参考图数量
Co-authored-by: dyhhhhhqwer <1613203335@qq.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/203
2026-08-14 09:54:08 +08:00
爱笑的毛毛虫
5088f66e91 fix(canvas): 分镜与视频模型 - 按端点协议适配并修复分镜生成
* fix(backend): 分镜生成 - 自动修复携带原始剧情并支持有界重试

* fix(canvas): 视频模型 - 按端点协议拉取模型并适配分镜视频节点

* fix(canvas): 视频模型 - 保留已有协议并刷新分镜节点模型

* fix(canvas): 引用图预览 - 修正提示面板代码格式

---------

Co-authored-by: sikongyue <3155157671@qq.com>
Co-authored-by: ddCat <2695092045@qq.com>
2026-08-10 01:42:47 +08:00
爱笑的毛毛虫
eceaf7ac41 feat(canvas): 视频节点截取重生成 - 支持多段/时间线导入并调用视频模型批量重生成 (#197)
* feat(canvas): 视频节点截取重生成 - 支持多段/时间线导入并调用视频模型批量重生成

* test(canvas): 视频节点时间线导入 - 修正旧数据标题回退测试

* style(canvas): 视频节点截取重生成 - 格式化新增文件并修正测试

---------

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-10 00:13:02 +08:00
爱笑的毛毛虫
62b9c420dd feat(canvas): 新增视频节点字幕体系与多轨时间线编辑(关联 #187) (#191)
* fix(ci): 后端测试 - 修复 responses 流式测试数据与 Grok 生图测试 SSRF 放行

* feat(canvas): 新增视频节点字幕体系与多轨时间线编辑(关联 #187)

---------

Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
2026-08-08 18:28:28 +08:00
ddCat
8d4f656ae9 fix(canvas): 视频生成 - 仅使用输入框提示词并保留结构化媒体引用 2026-08-08 08:38:11 +08:00
ddCat
8c5d95511b Merge branch 'main' of github.com:ddcat-ai/open-ai-canvas 2026-08-07 18:47:35 +08:00
爱笑的毛毛虫
99fb56ae22 refactor(canvas): 分镜脚本节点 - 按方案 A 信息分层重构(头部瘦身 + 4 步迷你流程条) (#171)
* feat(canvas): 分镜脚本节点 - 新增表格/卡片视图切换与镜头卡片流

* fix(canvas): 分镜卡片 - 缩略图尺寸改用标准间距类

* fix(canvas): 分镜脚本节点 - 头部视图切换 Segmented 补齐事件隔离

* refactor(canvas): 分镜脚本节点 - 按方案 A 信息分层重构,头部瘦身为全屏编辑+更多菜单并启用 4 步迷你流程条

* fix(canvas): 分镜脚本节点 - 迷你流程条改为步骤水平分布,连接线拉伸填充整行宽度

* fix(canvas): 分镜脚本节点 - 迷你流程条改为水平居中分布,连接线限宽不拉伸

---------

Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
2026-08-07 18:46:23 +08:00
ddCat
f9accd3bef feat(canvas): 文件上传 - 新增批量选择与拖拽上传弹窗
Fixes #169
2026-08-07 16:57:59 +08:00
ddCat
43f41d9e00 fix(*): 持续集成 - 修复锁文件、格式门禁与生成链路构建失败 2026-08-07 12:35:03 +08:00
ddCat
9957419be3 feat(*): 生成工作台 - 新增项目画风配置与图片模型能力裁剪 2026-08-07 11:46:23 +08:00
爱笑的毛毛虫
ad4c738e74 fix(canvas): 活动任务面板 - 恢复顶栏下方偏移并避免遮挡顶部工具 (#162)
* fix(canvas): 活动任务面板 - 恢复顶栏下方偏移并避免遮挡顶部工具

Added topInset prop to CanvasActiveTaskPanel for positioning.

* fix(canvas): 活动任务面板 - 调用侧接入 topInset 让位契约
2026-08-06 21:50:54 +08:00
ddCat
5c27879f86 refactor(platform): 用户工作台 - 重构画布、任务与资源页面的浏览体验 2026-08-06 20:23:31 +08:00
ddCat
e20df8e29b refactor(*): 代码质量治理 - 收敛接口客户端、模型职责与异步计费巡检 2026-08-06 16:36:51 +08:00
ddCat
b518489fdd feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理 2026-08-06 15:34:45 +08:00
爱笑的毛毛虫
971489a336 feat(canvas): 沉浸专注与短剧流程 - 支持专注模式与流程条并入顶栏体系 (#157)
- 沉浸专注:进入后隐藏顶部栏、Dock、缩放控件、小地图与素材托盘,保留专注胶囊可唤出工具与智能体;小屏默认进入,⇧⌘F 切换,Esc 在无选中与浮层时退出
- 智能体面板改贴边停靠并按顶栏让位,作为沉浸专注的配套依赖
- 短剧流程条并入顶栏:折叠入口移入顶栏按钮组,展开条锚定顶栏下缘,与工作模式开关互斥
- 流程步骤改为里程碑节点与状态轨道,新增 --flow-step-* Design Token

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-06 08:32:38 +08:00
爱笑的毛毛虫
e798908598 fix(canvas): 智能体面板 - 修复交互失效与布局异常 (#152)
- 为 motion.aside 补充 pointer-events-auto,恢复面板内输入框、按钮等交互
- section 启用 flex 垂直布局并修正 paddingRight 条件,避免面板跑到下方
- PANEL_SLOT_TOP_OFFSET 从 288 调整为 80,移除活动任务面板不必要的预留空间

Closes #151

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-05 23:12:57 +08:00
ddCat
40a1a86563 feat(canvas): 导演台 - 增加彩色骨骼演员、姿势预设与单一构图回写 2026-08-05 16:22:11 +08:00
ddCat
16c31a8ca1 fix(canvas): 添加节点菜单 - 统一命令入口并修复文字溢出与分区拥挤 2026-08-05 14:23:57 +08:00
ddCat
54ffdebbd9 fix(canvas): 画布工具栏 - 修复设置面板布局与命令标签遮挡 2026-08-05 13:51:52 +08:00
sikongyue
bd73d0a3b7 refactor(canvas): 浮层 inset token 体系重建 + 全量应用(审计 D2/P0-2)
#116 曾引入 --canvas-inset-* token,上游合并后丢失。本轮重新建立画布
安全区 token 并全量替换硬编码定位,所有替换值等价(零视觉变化)。

新增 token(globals.css 6b 段,紧随 Elevation):
- --canvas-inset-x/y: 16px        浮层水平/垂直安全区
- --canvas-topbar-h: 64px         顶部栏高度
- --canvas-topbar-offset: 72px    顶栏下方浮层顶部偏移
- --canvas-dock-popover-offset: 50px  dock 弹出面板底部偏移

替换:
- dock 根 inset-x-4/bottom-4 → --canvas-inset-x/y
- dock 弹出面板 bottom-[50px] ×4(appearance/add-node/zoom/asset-tray)→ --canvas-dock-popover-offset
- 顶栏 h-16/px-4 → --canvas-topbar-h/--canvas-inset-x
- 活动任务面板 top-[72px] → --canvas-topbar-offset

活动任务面板 right-3(12px) 刻意保留:与 16px 安全区不同且改它会级联到
--canvas-panel-width 公式(PR #130 领地),不宜混入。
2026-08-04 21:18:51 +08:00
爱笑的毛毛虫
d6a42d53a1 refactor(canvas): 浮层体系重构 — z-index 14档+专注模式+工具栏click触发 #126 #127 #128 (#129)
按视觉层重设计 z-index(12→14 档),新增节点层/激活节点层/节点工具栏层等
语义 token,并下沉节点内部 stacking context(--node-z-content/overlay/handle)
与 dock 子面板(--dock-z-popover),消除硬编码 z 值。

新增专注模式(避让分屏可切换):use-focus-mode 管理 localStorage 偏好与小屏
(<1024px)强制避让;助手面板从 flex 改为 absolute + 垂直分槽(顶部 288px
让位活动任务面板),画布区按面板宽度动态 padding;顶栏新增 PanelRight
切换按钮并带强制态反馈。

节点工具栏由 hover+select 触发放为 click-only(选中即显),组件由
canvas-node-hover-toolbar 重命名为 canvas-node-toolbar;移除 project 与
render-model 中冗余的 toolbarNodeId 状态。

活动任务面板 z-index 由 --z-modal-overlay(110) 降至 --z-panel-floating(80),
归位浮动面板层;AGENTS.md Elevation 同步至 14 档。

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-04 20:46:25 +08:00
ddCat
24644c237f fix(canvas): 提示词编辑 - 修复可选元数据导致的生产构建失败 2026-08-04 16:36:14 +08:00
ddCat
f439d600ba feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用 2026-08-04 16:24:18 +08:00
ddCat
d4018123e1 feat(*): 分镜创作体系 - 重构画风、提示词模板与视频生成链路 2026-08-04 15:03:41 +08:00
爱笑的毛毛虫
98382ba976 feat(canvas): 工具栏统一化 — 注册表驱动+上下文感知+自定义排序+危险隔离 #95 (#105)
将三个硬编码工具栏(主工具栏/多选工具栏/节点悬停工具栏)统一改造为注册表驱动体系:

- 新增 tool-registry 核心基础设施(ToolDefinition/ToolContext/ToolbarHandlers 类型、
  注册表解析器 resolveToolbarEntries/resolveToolbarTools、偏好持久化 readToolbarPrefs/persistToolbarPrefs)
- 提取四个工具定义文件(main/selection/node-hover/add-node-menu),通过 applicable 谓词实现上下文感知
- FloatingDock 新增 expands 字段(aria-expanded 语义修正)和 danger-group 分组渲染(危险操作视觉隔离)
- 主工具栏新增工具栏设置面板(ToolbarSettingsModal),支持拖拽排序+显隐控制(motion/react Reorder,零新增依赖)
- 偏好持久化到 scopedLocalStorage,按工具栏独立存储

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 23:22:44 +08:00
sikongyue
5e2ddd9888 feat(canvas): 动效系统与响应式适配 - token落地+断点体系+无障碍 #99
基于 Wayfinder #99 决议,完成动效/响应式/无障碍三大维度落地:

1. 动效 token 迁移(CSS 动画)
   - 33 处 easing 替换为 var(--motion-ease-out/in-out/linear)
   - 7 处有限动画 duration 替换为 var(--motion-dur-*-calc)
     (含 motion-scale 降级,自动联动 prefers-reduced-motion)
   - canvas-node batch 动画内联值替换为 token

2. aceternityMotion 对齐 + motion/react 硬编码替换
   - 添加 JS↔CSS token 映射文档注释
   - 3 处 motion/react 硬编码 duration 替换为 aceternityMotion.* 引用

3. infinite 装饰动画 reduced-motion 降级
   - L1 (prefers-reduced-motion): 缩短至 0.01ms + 单次播放
   - L2 (.no-motion): animation: none 完全禁用
   - 覆盖 9 个 infinite 动画类(连线流光/边框流光/极光标题等)

4. 响应式断点体系
   - @theme 新增 3 断点 token: --breakpoint-tablet(768)/desktop(1024)/wide(1440)
   - 修复 canvas-toolbar 外观面板缺 max-w 导致移动端溢出

5. 无障碍
   - 画布页新增 skip-to-content 链接(键盘用户跳过侧栏直达画布)
   - 任务进度面板 aria-live="polite"(屏幕阅读器播报任务数变化)

Closes #99
2026-08-03 22:38:31 +08:00
爱笑的毛毛虫
39844d7c8d feat(canvas): 面板层级管理 — 五层Elevation体系+渐进式三区+z-index全量迁移 #98 (#102)
* feat(canvas): 面板层级管理优化 - 五层Elevation+渐进式三区+进度增强 #98 #94

基于 Wayfinder 地图 #98 决议执行面板层级管理优化:

1. 五层 Elevation 体系(决策1)
   - 画布组件 z-index 硬编码值全部迁移到 token
   - L0 画布层 → L1 工具层 → L2 面板层 → L3 对话框层 → L4 通知层
   - 涉及 14 个 .tsx 文件,0 处 z-[N] 硬编码残留

2. prompt 面板渐进式三区(决策2)
   - B区参数区改为手风琴折叠模式(默认折叠)
   - 新增 SlidersHorizontal + ChevronDown 图标切换
   - 点击展开 video 工具参数,收起后释放视觉空间
   - A区核心区(prompt+生成)始终展开

3. 任务进度条增强(决策3)
   - 进度条高度 1px→1.5px,视觉更醒目
   - 新增 shimmer 扫描动画(running 态,1.4s/cycle)
   - 新增百分比数字显示(tabular-nums 等宽数字)
   - 新增 indeterminate 模式(无百分比时循环扫描)
   - 尊重 prefers-reduced-motion(reducedMotion 时禁用动画)

4. CSS 动画
   - 新增 @keyframes canvas-task-progress-shimmer
   - .canvas-task-progress-shimmer 类

Closes #98

* refactor(canvas): z-index 全量迁移到五层Elevation token #98 #94

补全 #98 五层 Elevation 体系的剩余硬编码 z-index 清理:
- 三个设置弹层(图/音/视频)zIndex:1200 → var(--z-popover)
- model-setup-guide z-[900] → var(--z-toast)
- 项目侧栏 z-30 → var(--z-panel),章节预览 z-50 → var(--z-panel-floating)
- shared 页头/缩放控件/访客提示 z-[80]/z-[70] → var(--z-panel-floating),右键菜单 z-[90] → var(--z-modal)
- project 缩放控件容器 z-50 → var(--z-panel),绘图加载遮罩 z-[500] → var(--z-toast)
- 反馈面板 z-[90] → var(--z-panel-floating)

共 16 处全局浮层 z-index 迁移到 token,消除层级冲突隐患。

---------

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 22:16:25 +08:00
爱笑的毛毛虫
d22526506d feat(canvas): 设计token系统 - 建立三层架构骨架 (#101)
* feat(canvas): 设计token系统 - 建立三层架构骨架 #94 #96

建立 Primitive→Semantic→Component 三层设计 token 体系,覆盖 9 个维度:
色彩/间距/字号/圆角/阴影/Elevation/动效/描边/不透明度。

- Primitive 层:纯值无语义,含 neutral 色板+节点类型色板+状态色、
  4px 栅格间距、10档字号、10档圆角、阴影+glow、12档 z-index、
  动效(duration+easing+delay+motion-scale)、描边、不透明度
- Semantic 层:引用 Primitive,随主题切换,含通用语义色、
  Canvas 语义(--cn-*)、Aceternity spatial 语义、节点类型语义、状态语义
- Component 层:引用 Semantic,含 Dock/Node/Modal/Panel/Prompt面板/
  进度条/缩放控制专属 token
- @theme inline 映射:节点类型色、状态色、Canvas 语义色、字号映射到 Tailwind utility
- prefers-reduced-motion 三级降级(L0正常/L1简化/L2禁用)
- AGENTS.md 新增 Design Token 使用规范,禁止新增裸 px 值
- 附带修复 canvas-drawing-excalidraw-editor.tsx TS7006 类型注解
- 附带修复 canvas-drawing-editor-modal.tsx TS2339 engine 字段缺失

Wayfinder 决策来源:#95 #96 #97 #98 #99

* fix(canvas): 设计token系统 - 修复CSS变量循环引用和命名兼容性 #94 #96

修复两个问题:

1. CSS变量循环引用:Primitive层 --color-node-*/--color-status-* 与
   @theme inline 中的 --color-node-*/--color-status-* 同名,经 Semantic
   层中转后形成循环(A→B→A)。改用 --palette- 前缀隔离 Primitive 色板,
   打断循环链路。

2. 变量名小数点兼容性:--space-0.5/1.5/2.5/3.5 中的小数点被部分 CSS
   linter 误判为类选择器。改为 --space-half/-1-half/-2-half/-3-half,
   保持语义清晰的同时提升工具链兼容性。

* refactor(canvas): 画布核心组件 - 迁移硬编码值到设计token #94

批次1:5个画布核心组件的裸 text-[Npx]/rounded-[Npx]/z-[N] 替换为
对应设计token,统一视觉语言:

- canvas-node.tsx:text-[10/11/9/17px]→fs-tiny/label/micro/heading-lg,
  rounded-[18px]→node-radius
- canvas-node-hover-toolbar.tsx:text-[11/17/10/9px]→fs-*,
  rounded-[14/9px]→dock-radius/dock-item-radius,z-[70]→z-panel-floating
- canvas-toolbar.tsx:text-[9/10/11px]→fs-*,
  rounded-[17/16/11/10px]→panel-radius/dock-item-radius-*,
  z-[30/40]→z-toolbar/z-toolbar-floating
- canvas-assistant-panel.tsx:text-[8/9/10/11px]→fs-*
- canvas-script-node.tsx:text-[9/10/11px]→fs-*

视觉零回归(token值与原硬编码值一致),代码可维护性提升。

* refactor(canvas): 画布辅助组件 - 迁移硬编码值到设计token #94

批次2:6个画布辅助组件的裸 text-[Npx]/rounded-[Npx]/z-[N] 替换为
对应设计token:

- canvas-style-picker-modal.tsx:text-[10/11px]→fs-tiny/label
- canvas-file-drop-overlay.tsx:z-[110]→z-modal-overlay,
  rounded-[28/20px]→r-5xl/r-3xl
- canvas-character-reference-node.tsx:text-[10px]→fs-tiny
- canvas-drawing-editor-modal.tsx:text-[11px]→fs-label
- canvas-video-prompt-tools.tsx:z-[1500]→z-toast,
  rounded-[12/10px]→r-lg/dock-item-radius
- asset-picker-modal.tsx:text-[10px]→fs-tiny

视觉零回归(token值与原硬编码值一致)。

* refactor(*): 全项目硬编码值 - 批量迁移到设计token #94

批次3:全项目 .tsx 文件中 372 处裸 text-[Npx]/rounded-[Npx] 批量
替换为对应设计token,剩余 25 处无直接 token 对应的低频值保留。

替换覆盖(按频率):
- text-[10px]→fs-tiny (132处)
- text-[11px]→fs-label (100处)
- text-[9px]→fs-micro (45处)
- text-[12px]→fs-caption, text-[13/14px]→fs-body, text-[15px]→fs-body-lg
- text-[18px]→fs-heading-lg, text-[22px]→fs-title, text-[8px]→fs-micro
- rounded-[9/10px]→dock-item-radius, rounded-[12px]→r-lg
- rounded-[14px]→dock-radius, rounded-[16px]→r-2xl
- rounded-[17px]→panel-radius, rounded-[8px]→r-md

涉及 components/ 和 pages/ 下所有 .tsx 文件。
视觉零回归(token值与原硬编码值一致)。

* feat(canvas): 节点视觉层次规范 - 色带+状态徽章+四态递进 #97 #94

基于 Wayfinder 地图 #97 决议执行节点视觉重设计:

1. 节点类型色带(决策1)
   - 新增 nodeTypeColorVar() 函数,10种节点类型对应色带色
   - 节点左侧3px色条,引用 --cn-type-* token
   - 远距离最强信号,用户扫视画布即可识别节点类型

2. 节点状态徽章(决策2)
   - 新增 NodeStatusBadge 组件,loading/success/error 三态
   - 左上角圆角徽章,backdrop-blur 玻璃质感
   - success 态 2s 后自动淡出(canvas-status-success-fade 动画)

3. 四态递进视觉权重(决策3)
   - idle:无额外阴影
   - hover:轻微抬升阴影(16px 48px)
   - selected:2px 边框环(accent.primary 40% 透明度)
   - selected-primary:4px 软色环 + resize handle
   - active:6px 外发光环 + inner glow(最强强调)
   - 120-150ms ease-out 过渡

4. 阴影迁移
   - boxShadow 从硬编码改为分层语义化表达
   - 边框色 hover 态使用 color-mix 动态加深

Closes #97

---------

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 21:38:38 +08:00
ahyang
57d63aadfc feat(canvas): 绘图工具支持自定义 tldraw License Key (#100)
* feat(canvas): 绘图工具 - 支持自定义 tldraw License Key

* docs(canvas): 绘图工具 - 添加 License Key 页面截图
2026-08-03 21:38:04 +08:00
爱笑的毛毛虫
a447c81899 fix(canvas): 人物质感变体自动触发生成,修复缩略图不变 #91 (#92)
- use-canvas-media-tools.ts: createPortraitTextureNode 改为 generatePortraitTextureNode,
  节点创建后立即触发后端生成任务(与情绪/多视角/局部编辑保持一致):
  使用 nodeReferenceImage 获取源图引用,buildPortraitTexturePrompt 构建提示词,
  runBackendCanvasGenerationTask 执行生成,完成后更新缩略图
- project.tsx: 同步重命名 createPortraitTextureNode → generatePortraitTextureNode
- canvas-drawing-excalidraw-editor.tsx: getDimensions 参数补充 number 类型注解
- canvas-drawing-editor-modal.tsx: Pick 类型补充 engine 字段

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 20:11:13 +08:00
ddCat
6058602bf2 feat(canvas): 绘图工具 - 集成 Excalidraw 并支持后台切换默认引擎 2026-08-03 14:58:49 +08:00