VicoHu
|
357450e52c
|
feat(canvas): 媒体产出模型与选用模型分离 (#597)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
|
2026-09-24 09:28:16 +08:00 |
|
ddCat
|
e93bf3ca39
|
feat(canvas): 画布工作区 - 整合侧栏与风格预设并修复提示词回填
选择性整合 #547,保留主分支节点与工具条设计。新增默认折叠的节点、资产、任务和历史面板,风格与预设保留在节点内,移除重复入口。
补齐工具权限、提示词解析、资源引用保护及数据库迁移,修复提示词清空和连续编辑后的生成配置同步。
验证:前端全量 1925 项测试、构建、类型检查及 lint 通过;后端 go test ./... 通过。真实模型、PostgreSQL 实库与登录态页面验收仍待进行。
Refs #547
Co-authored-by: bensharp <bensharp@qq.com>
|
2026-09-20 16:40:08 +08:00 |
|
Codex
|
6ee9d1dcb2
|
feat(image): integrate PoloX image editing workflows
Add WaveSpeed image editing and image tools plugins, canvas image editing workflows, layer selection, and Cloud Agent image tools with approval-safe transient references.
|
2026-09-18 20:34:28 +08:00 |
|
ddCat
|
50bd8875fb
|
feat(canvas): 画布节点 - 合并发送到 Agent 快捷入口 (#523)
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-17 09:30:13 +08:00 |
|
ddCat
|
cb405e9b6a
|
feat(canvas): 画布主题 - 与工作台外观隔离并提高连线对比
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-16 22:59:34 +08:00 |
|
ddCat
|
381edf37e3
|
feat(*): 创作工作台 - 完善媒体上传预览与连线交互并修复任务章节及日志筛选
|
2026-09-08 17:26:34 +08:00 |
|
maomaochong-ai
|
5c6612c5dd
|
feat(ui): 自研 Celadon 组件族入库与 AntD 消费全量替换 - base(Kbd/StatusBadge/IconButton/ToolButton)+product(EmptyState/Callout/SegmentedControl/Checkbox/Select/Tooltip/Switch), composio 视觉基底, globals.css 覆盖清理 (ADR-0008)
|
2026-09-06 20:28:51 +08:00 |
|
vv-get-ti
|
151e99f8d9
|
feat(canvas): 自由画布 - 增强空白起点、外观设置与节点连接体验 (#356)
|
2026-08-31 06:49:43 +08:00 |
|
ddCat
|
86019cccea
|
feat(canvas): 视频画面提取 - 支持批量取帧并将片段截取与生成解耦
|
2026-08-29 08:48:38 +08:00 |
|
MasterChiefCN
|
3bc670f067
|
feat(plugins): 插件管理 - 区分系统与官方插件权限 (#329)
|
2026-08-27 11:22:00 +08:00 |
|
ddCat
|
eeff8d511f
|
refactor(canvas): 生成配置 - 收敛插件工作流并移除系统模型分支
|
2026-08-26 16:28:45 +08:00 |
|
QAyong
|
5732eb1536
|
feat(portrait-clearance): 肖像排查 - 增加画布插件与本机检测链路
|
2026-08-26 15:23:19 +08:00 |
|
yepwait
|
d458ba3f75
|
feat(workflow): 工作流提供方 - 集成 RunningHub 与 ComfyUI Bridge
|
2026-08-26 15:02:42 +08:00 |
|
ddCat
|
df7f607b84
|
feat(platform): 插件协议系统 - 支持声明式渠道、工作流与参考媒体映射
|
2026-08-26 13:11:10 +08:00 |
|
dlh
|
53d05d632b
|
feat(canvas): 扩展节点 - 新增 7 种展示与加工节点并补齐上游读取基建
在已落地的节点注册表上加两层节点:展示层(Markdown / SVG / HTML / 全景)与
接入生成链的加工层(对比 / 图表 / 调色)。全部是第一方内置节点,不引入远程插件
加载,因此不涉及沙箱信任模型,也不需要把 CanvasNodeType 放开成任意字符串。
刻意保留穷尽性检查而不是改成运行时注册。全库只有 4 张按类型建的穷眉表
(NODE_DEFAULT_SIZE / NODE_SPECS / 注册表定义 / nodeContentRenderers),
让编译器强制每个新节点填满它们,比少改几个文件更值 —— 加第一个枚举成员时
编译器点出了 5 处,其中 pages/canvas/shared.tsx 是原先没编目的那一处;
换成运行时注册,那里会静默回落成「未知节点」。
两处前置基建:
- CanvasNodeGraphContext:渲染器只拿到 node、没有 connections,而加工层三个节点
都要读上游。仿已有的 canvas-node-action-context(同一个问题:节点经
CanvasProjectWorldLayers 渲染不便逐个透传),取上游复用
canvas-resource-references 的 getContextResourceNodes,不另写一份。
Provider 值必须 memo —— 每帧新对象会让所有节点跟着重渲染。
- ToolbarHandlers.onAddExtensionNode(type):一个泛用入口,不给每种扩展节点单开
一个 onAddXxx。菜单另开「展示与加工」分区,不挤占上方调好的四列创作网格。
SVG 与 HTML 统一走 sandbox iframe:依赖里没有 DOMPurify,手写 SVG 消毒不可靠
(script / on* / foreignObject)。SandboxedFrame 只暴露 allowScripts 布尔而不是
sandbox 取值,让「同时给 allow-same-origin」这条没有入口。
全景节点三个取舍:点击才激活 WebGL(浏览器对同时存在的上下文有硬上限,画布可以有
任意多个全景节点,自动激活必然在某个数量后整片黑);用原生 three 而非 fiber
(需要精确 dispose,forceContextLoss 才真正释放上下文);性能模式下只给静态预览。
调色是唯一碰生成路径的节点,照 Drawing 的先例:拖滑杆只做本地 CSS filter 预览,
落地成资源要等到生成消费它时才走 uploadResourceFile。预览与导出共用同一个
filter 字符串,两处各写一份就会「看到的和用的悄悄不一致」;未调色时直接透传源图,
省掉一次渲染与上传。ctx.filter 不受支持时明确报错而不是导出一张没调色的图。
resourceKind 与 inputKind 分开两个字段:空图片节点不是素材(不进 @ 引用),
但照样计入 imageCount。调色节点的 resourceKind 无条件返回 image —— 它的图来自
上游,按「有没有 content」判断会让它永远进不了生成输入,这是不报错的静默失效。
测试:新增 test/canvas-extension-nodes.test.ts(12 用例 / 64 断言),覆盖 7 个节点的
判据矩阵、调色参数、以及图表解析。图表解析函数刻意不抛 —— 数据来自模型输出,
非法 JSON 是常态而不是异常,抛出来会连带整个画布白屏,有 7 条断言钉这个。
测试列表是显式枚举,已把新文件加进 package.json,不加进去不会跑。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-22 12:29:24 +08:00 |
|
echoD886
|
d5895a07a6
|
feat(assets): 文件夹主题 - 新增多主题皮肤并同步主线
|
2026-08-20 16:33:51 +08:00 |
|
echoD886
|
5d775071e4
|
feat(assets): 素材库与画布 - 新增可交互通用文件夹
|
2026-08-20 15:16:45 +08:00 |
|
爱笑的毛毛虫
|
d9967ec701
|
refactor(canvas): 画布工具栏 - 收敛 Dock 放大与交互状态
保留当前画布视觉体系,统一 Dock 按钮形态、状态反馈与子菜单展开关系。\n\nCloses #244
|
2026-08-17 09:27:39 +08:00 |
|
WindC0X
|
0e251c3c8f
|
feat(canvas): 画布媒体工作流 - 支持批量连线、失败重试与模型能力增强
合并 PR #230。保留当前主线样式与组件结构,吸收批量连线、失败批次重试、媒体模型能力和相关后端增强,并修复集成检查发现的分辨率选择器启用条件与测试稳定性问题。
|
2026-08-15 15:48:16 +08:00 |
|
ddCat
|
d89a5a5b7b
|
refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互
|
2026-08-14 23:44:55 +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
|
16c31a8ca1
|
fix(canvas): 添加节点菜单 - 统一命令入口并修复文字溢出与分区拥挤
|
2026-08-05 14:23:57 +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 |
|
爱笑的毛毛虫
|
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 |
|
爱笑的毛毛虫
|
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 |
|
爱笑的毛毛虫
|
0317ac5bc7
|
feat(canvas): 框选 - 新增工具栏「框选」工具,空白处拖动框选后自动回到移动与选择 (#78)
Co-authored-by: sikongyue <3155157671@qq.com>
|
2026-08-02 14:40:20 +08:00 |
|
ddCat
|
2a16eb5d46
|
chore(release): 版本发布 - publish v1.0.12
|
2026-07-28 21:55:42 +08:00 |
|
ddcat666
|
ea15000541
|
feat: 完成短剧项目空间与结构化资产创作闭环 (#38)
* feat(canvas): 短剧项目空间 - 建立项目章节与画布关联 MVP
* feat(canvas): 短剧项目空间 - 完善项目资产、镜头与流程闭环
Refs #30
* fix(deploy): 本地部署 - 修复前端构建并忽略本地 PostgreSQL 配置
* feat(*): 短剧项目空间 - 完成项目、章节、资产、角色与画布创作闭环
Refs #30
---------
Co-authored-by: ddCat <ddcat666@88.com>
|
2026-07-27 10:45:11 +08:00 |
|
ddCat
|
aea35896eb
|
feat(platform): 开源发布 - 初始化 Open AI Canvas
|
2026-07-22 14:29:10 +08:00 |
|