ddCat
|
b5f3413ded
|
refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态
|
2026-09-09 22:02:10 +08:00 |
|
ddCat
|
a0ed197609
|
feat(canvas): Agent引用与局部重绘 - 完善附件预览多图展开并修复取消清理
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-08 22:59:49 +08:00 |
|
ddCat
|
381edf37e3
|
feat(*): 创作工作台 - 完善媒体上传预览与连线交互并修复任务章节及日志筛选
|
2026-09-08 17:26:34 +08:00 |
|
Rou
|
8a3508bb61
|
fix(canvas): 图片引用编号 - 同步提示词中的媒体引用 (#441)
* fix(media): 对象存储参考素材 - 协议支持 URL 时优先发送签名链接
开启对象存储后,支持 URL 的上游协议优先发送 OSS/COS/七牛/S3 签名链接;必须传字节的协议仍走 Base64 或 multipart。本地资源回退字节,签发失败直接报错,不自动重发生成。
* fix(canvas): 图片引用清理 - 取消引用时同步移除提示词引用
* fix(canvas): 图片引用编号 - 同步提示词中的媒体引用
|
2026-09-08 16:59:00 +08:00 |
|
Rou
|
21b83eca2e
|
fix(media,canvas): 对象存储参考素材优先 URL,并同步清理图片引用提示词 (#434)
* fix(media): 对象存储参考素材 - 协议支持 URL 时优先发送签名链接
开启对象存储后,支持 URL 的上游协议优先发送 OSS/COS/七牛/S3 签名链接;必须传字节的协议仍走 Base64 或 multipart。本地资源回退字节,签发失败直接报错,不自动重发生成。
* fix(canvas): 图片引用清理 - 取消引用时同步移除提示词引用
|
2026-09-07 22:28:19 +08:00 |
|
ddCat
|
3f4a9ea3d0
|
feat(canvas): 画布工作台 - 新增生成副本并修复大型画布性能、素材同步与删除校验
统一图片与视频副本的生成落点并保留参考连接。\n优化大型画布节点虚拟化、媒体懒加载、拖拽与详情进入路径。\n修复素材主版本 ID 同步及删除时的画布独立引用校验。
|
2026-09-01 14:57:05 +08:00 |
|
wurendao007
|
c891497df9
|
perf(canvas): 画布媒体 - 优化媒体加载、播放器与节点交互 (#357)
Merge origin/main at 2b7375f and retain canvas media performance, player layout, and interaction updates.
Co-authored-by: ddCat <2695092045@qq.com>
|
2026-08-31 09:00:37 +08:00 |
|
ddCat
|
40fd0c54a4
|
feat(*): 短剧创作工作台 - 完善章节分镜、资产管理、技能运行与生成任务恢复
|
2026-08-29 23:34:55 +08:00 |
|
ddCat
|
4675cf4c99
|
fix(*): 创作工作台 - 修复 Agent、资源引用、附件交互与 Agnes 视频协议
|
2026-08-27 22:12:04 +08:00 |
|
ddCat
|
df7f607b84
|
feat(platform): 插件协议系统 - 支持声明式渠道、工作流与参考媒体映射
|
2026-08-26 13:11:10 +08:00 |
|
QAyong
|
cf6c78d540
|
feat: 完善创作工作台与用户诊断支持 (#295)
* feat(canvas): 参考素材 - 增加移除按钮并删除对应连线
* feat(canvas): 完善节点面板交互与拖拽反馈
* fix(canvas): 画布交互与小地图 - 统一浮层层级并完善节点识别
* feat(prompt-optimizer): 增加 AI 提示词优化器及宿主接入
* feat(canvas): 画布 - 增加自动整理节点按钮并补充文档
* chore(web): 前端 - 修正提示词优化器格式
* chore(backend): 后端 - 修正 Go 格式检查
* feat(workspace): 完善诊断导出与本地排障支持
* chore(web): 格式化诊断导出文件
* fix(web-test): 兼容 Bun 测试运行时
* fix(web-test): 对齐模型目录协议断言
|
2026-08-25 13:49:15 +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 |
|
dlh
|
a4585fdc2a
|
refactor(canvas): 节点注册表 - 收敛素材类型、生成模式与输入计数判据
把三条按类型分支的语义判据收进注册表:
- resourceKind 原 canvas-resource-references.ts,作为 @ 引用素材时的类型
- generationMode 原 canvas-connection-policy.ts,作为生成节点时的模式
- inputKind 原 canvas-connection-policy.ts,被容量校验计数时的类别
resourceKind 与 inputKind 刻意分成两个字段:它们语义不同——空图片节点不是素材
(不进 @ 引用),但照样计入 imageCount。合成一个会静默改掉连线容量校验。
两处必须保住的语义,均已由测试钉住:
1. 角色卡(workflowKind === character)是跨类型覆盖,对任何节点类型生效,
属于查注册表之前的前置判定,因此留在调用点而不进 per-type 定义。
2. 排除必须早于覆盖。原实现先 return 掉生成配置与背板,之后才判角色卡;
若把角色卡判定提前,带角色元数据的配置/背板节点会被多算成 characterCount。
新增 test/canvas-node-registry.test.ts(19 用例 / 77 断言)并加入 package.json
的 test 列表——该列表是显式枚举,不加进去文件不会跑。补测的原因是
canvas-resource-references.test.ts 只覆盖 collectUpstreamVideoNodes,
本次改动的 resourceKind 此前零覆盖,而这类判据出错不报错、只会让 @ 引用少收素材。
顺带内联 nodeGenerationMode(迁移后退化为单行转发)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-20 22:27:23 +08:00 |
|
ddCat
|
abcf3e1787
|
feat(canvas): 画布创作对话 - 统一流式 Markdown 展示与交互修复
|
2026-08-15 02:31:42 +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 |
|
ddCat
|
401600d165
|
feat(*): 技能库与认证体验 - 重构共享技能库并优化登录页面与默认创作入口
|
2026-08-02 16:27:22 +08:00 |
|
ddCat
|
0be7d4047b
|
fix(*): 生成任务 - 修复任务可见性、分镜重试与角色视频引用
|
2026-07-27 15:29:36 +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 |
|