Commit Graph

323 Commits

Author SHA1 Message Date
爱笑的毛毛虫
cfdf08d05f 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
爱笑的毛毛虫
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
MasterChiefCN
cb17763d27 feat(media): 对象存储 - 新增腾讯云 COS 与历史凭据兼容
Co-authored-by: MasterChiefCN <49179444+MasterChiefCN@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/218
2026-08-14 10:10:15 +08:00
MasterChiefCN
95cb4a39ee feat(media): 对象存储 - 新增腾讯云 COS 与历史凭据兼容
Co-authored-by: MasterChiefCN <49179444+MasterChiefCN@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/218
2026-08-14 10:10:15 +08:00
jax-novita
3ddc35cbe1 feat(media): 视频渠道 - 新增 Novita 异步视频生成协议
Co-authored-by: jax-novita <jax-novita@users.noreply.github.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/206
2026-08-14 10:04:21 +08:00
jax-novita
7f0229463e feat(media): 视频渠道 - 新增 Novita 异步视频生成协议
Co-authored-by: jax-novita <jax-novita@users.noreply.github.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/206
2026-08-14 10:04:21 +08:00
dyhhhhh
fcfd4c4143 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
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
爱笑的毛毛虫
d9440e31dd 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
爱笑的毛毛虫
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
爱笑的毛毛虫
d33c6389d4 feat(canvas): 视频节点截取重生成 - 支持多段/时间线导入并调用视频模型批量重生成 (#197)
* feat(canvas): 视频节点截取重生成 - 支持多段/时间线导入并调用视频模型批量重生成

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

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

---------

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-10 00:13:02 +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
爱笑的毛毛虫
43e65570a5 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
爱笑的毛毛虫
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
Andrew
1b0fd7fd49 fix: grok-image 补齐 aspect_ratio 与 resolution 传参 (#184)
* fix: grok-image 补齐 aspect_ratio 与 resolution 传参

- 能力配置开放比例与 1k/2k 分辨率
- 请求体映射 size→aspect_ratio、quality→resolution
- 画布设置展示「分辨率」选项
- 补充单测

Closes #182

* fix(create): 创作页图片质量支持 1k/2k 分辨率选项

创作页原先硬编码 auto/low/medium/high,导致 grok 能力配置里的 1k/2k
无法显示;改为按模型 quality.values 动态渲染,有 1k/2k 时标题显示「分辨率」。
2026-08-08 18:27:36 +08:00
Andrew
554eb49000 fix: grok-image 补齐 aspect_ratio 与 resolution 传参 (#184)
* fix: grok-image 补齐 aspect_ratio 与 resolution 传参

- 能力配置开放比例与 1k/2k 分辨率
- 请求体映射 size→aspect_ratio、quality→resolution
- 画布设置展示「分辨率」选项
- 补充单测

Closes #182

* fix(create): 创作页图片质量支持 1k/2k 分辨率选项

创作页原先硬编码 auto/low/medium/high,导致 grok 能力配置里的 1k/2k
无法显示;改为按模型 quality.values 动态渲染,有 1k/2k 时标题显示「分辨率」。
2026-08-08 18:27:36 +08:00
ddCat
bbb4d8cf6c fix(canvas): 视频合并 - 改用同源 FFmpeg 资源避免自部署加载失败
Fixes #168
2026-08-07 16:30:27 +08:00
ddCat
31ce749a6f fix(canvas): 视频合并 - 改用同源 FFmpeg 资源避免自部署加载失败
Fixes #168
2026-08-07 16:30:27 +08:00
ddCat
abec135d26 feat(*): 图片模型渠道 - 新增 Grok JSON 生图与单图编辑协议 2026-08-07 14:58:26 +08:00
ddCat
6b5f176baa feat(*): 图片模型渠道 - 新增 Grok JSON 生图与单图编辑协议 2026-08-07 14:58:26 +08:00
ddCat
5cb17acbc6 fix(*): 持续集成 - 修复锁文件、格式门禁与生成链路构建失败 2026-08-07 12:35:03 +08:00
ddCat
43f41d9e00 fix(*): 持续集成 - 修复锁文件、格式门禁与生成链路构建失败 2026-08-07 12:35:03 +08:00
ddCat
1973afc356 feat(*): 生成工作台 - 新增项目画风配置与图片模型能力裁剪 2026-08-07 11:46:23 +08:00
ddCat
9957419be3 feat(*): 生成工作台 - 新增项目画风配置与图片模型能力裁剪 2026-08-07 11:46:23 +08:00
dyhhhhh
2b0d56f8e3 fix(canvas): 角色提取 - 兼容带推理文本的 JSON 输出 (#164) 2026-08-07 10:27:02 +08:00
dyhhhhh
a2e0814265 fix(canvas): 角色提取 - 兼容带推理文本的 JSON 输出 (#164) 2026-08-07 10:27:02 +08:00
ddCat
9ca9dd9df6 feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理 2026-08-06 15:34:45 +08:00
ddCat
b518489fdd feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理 2026-08-06 15:34:45 +08:00
ddCat
706fd21a31 fix(canvas): 导演台构建 - 修复角色与参考视频类型错误 2026-08-05 23:19:16 +08:00
ddCat
cf367745d6 fix(canvas): 导演台构建 - 修复角色与参考视频类型错误 2026-08-05 23:19:16 +08:00
ddCat
d0f4d38c6a fix(media): 音频任务 - 支持异步 Provider 协议与结果校验 (#146)
Closes #146
2026-08-05 19:38:04 +08:00
ddCat
6ae5692849 fix(media): 音频任务 - 支持异步 Provider 协议与结果校验 (#146)
Closes #146
2026-08-05 19:38:04 +08:00
ddCat
61ff94a0a0 fix(canvas): 导演台人物 - 缩小 Dock 并统一基础人偶初始化 2026-08-05 16:34:50 +08:00
ddCat
38c4f63e2e fix(canvas): 导演台人物 - 缩小 Dock 并统一基础人偶初始化 2026-08-05 16:34:50 +08:00
ddCat
61af2a652a feat(canvas): 导演台 - 增加彩色骨骼演员、姿势预设与单一构图回写 2026-08-05 16:22:11 +08:00
ddCat
40a1a86563 feat(canvas): 导演台 - 增加彩色骨骼演员、姿势预设与单一构图回写 2026-08-05 16:22:11 +08:00
ddCat
cd326609fa fix(canvas): 添加节点菜单 - 统一命令入口并修复文字溢出与分区拥挤 2026-08-05 14:23:57 +08:00
ddCat
16c31a8ca1 fix(canvas): 添加节点菜单 - 统一命令入口并修复文字溢出与分区拥挤 2026-08-05 14:23:57 +08:00
爱笑的毛毛虫
660da45fdf fix(ui): 浅色模式交互反馈 — 发送按钮hover可见性+侧栏分界线+cursor:pointer (#121) (#134)
三处浅色模式视觉可用性问题修复:

1. 创作工作室发送按钮 hover 白底白字(严重 bug)
   - 根因:globals.css L4944 .creation-chat-submit:hover 全局设 background:#fff,
     而浅色模式 L4947 html:not(.dark) 覆盖了正常态为 #202328 + color:#fff,
     hover 未被浅色覆盖 → 白底白字,按钮完全消失
   - 修复:新增 html:not(.dark) .creation-chat-submit:hover 覆盖为 #2d3139

2. antd primary 按钮 hover 过微(画布助手等全局)
   - 根因:app-theme.ts Button 组件覆盖只在暗色模式有,浅色模式 colorPrimary #171717
     hover 经 antd 算法加暗到 #000000,#171717→#000000 几乎不可见
   - 修复:浅色模式新增 colorPrimaryHover #404040 / colorPrimaryActive #525252
     (提亮而非加暗,让交互反馈可感知)

3. 侧栏与工作区边界模糊
   - 根因:--workspace-border 浅色值 rgba(15,23,42,0.1) 仅 10% 不透明度
   - 修复:提到 0.14,增强分界可见性

4. cursor:pointer 缺失
   - 根因:Tailwind v4 preflight 不自动给 <button> 加 cursor:pointer,
     .creation-chat-submit / .creation-studio-submit 仅 disabled 有 cursor:not-allowed
   - 修复:两按钮基础样式补充 cursor:pointer

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-04 21:53:56 +08:00
爱笑的毛毛虫
bfdc1d76f5 fix(ui): 浅色模式交互反馈 — 发送按钮hover可见性+侧栏分界线+cursor:pointer (#121) (#134)
三处浅色模式视觉可用性问题修复:

1. 创作工作室发送按钮 hover 白底白字(严重 bug)
   - 根因:globals.css L4944 .creation-chat-submit:hover 全局设 background:#fff,
     而浅色模式 L4947 html:not(.dark) 覆盖了正常态为 #202328 + color:#fff,
     hover 未被浅色覆盖 → 白底白字,按钮完全消失
   - 修复:新增 html:not(.dark) .creation-chat-submit:hover 覆盖为 #2d3139

2. antd primary 按钮 hover 过微(画布助手等全局)
   - 根因:app-theme.ts Button 组件覆盖只在暗色模式有,浅色模式 colorPrimary #171717
     hover 经 antd 算法加暗到 #000000,#171717→#000000 几乎不可见
   - 修复:浅色模式新增 colorPrimaryHover #404040 / colorPrimaryActive #525252
     (提亮而非加暗,让交互反馈可感知)

3. 侧栏与工作区边界模糊
   - 根因:--workspace-border 浅色值 rgba(15,23,42,0.1) 仅 10% 不透明度
   - 修复:提到 0.14,增强分界可见性

4. cursor:pointer 缺失
   - 根因:Tailwind v4 preflight 不自动给 <button> 加 cursor:pointer,
     .creation-chat-submit / .creation-studio-submit 仅 disabled 有 cursor:not-allowed
   - 修复:两按钮基础样式补充 cursor:pointer

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-04 21:53:56 +08:00
ddCat
1217f76b3b feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用 2026-08-04 16:24:18 +08:00
ddCat
f439d600ba feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用 2026-08-04 16:24:18 +08:00
ddCat
50d8c2854a feat(*): 分镜创作体系 - 重构画风、提示词模板与视频生成链路 2026-08-04 15:03:41 +08:00
ddCat
d4018123e1 feat(*): 分镜创作体系 - 重构画风、提示词模板与视频生成链路 2026-08-04 15:03:41 +08:00
爱笑的毛毛虫
0c4c258a52 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
爱笑的毛毛虫
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
d2741f39f3 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
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
ahyang
d83ec033bb feat(canvas): 绘图工具支持自定义 tldraw License Key (#100)
* feat(canvas): 绘图工具 - 支持自定义 tldraw License Key

* docs(canvas): 绘图工具 - 添加 License Key 页面截图
2026-08-03 21:38:04 +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