Commit Graph

21 Commits

Author SHA1 Message Date
ddCat
506f463d07 feat(canvas): 批量创作表 - 支持全局提示词、参考图编排与连线同步 2026-09-18 13:03:35 +08:00
ddCat
c57f1b36ae feat(canvas): 画布节点 - 恢复批量创作表与转换能力 2026-09-15 20:56:19 +08:00
ddCat
9727656b2b chore: commit workspace updates 2026-09-14 01:11:56 +08:00
ddCat
18244c213f feat(canvas): 媒体转换节点 - 改进操作选择并支持完成后作为生成参考
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 09:46:18 +08:00
QAyong
b13d84e7e6 feat(canvas): 图片转换插件 - 增加本地媒体转换节点与运行时 2026-09-08 22:55:44 +08:00
ddCat
ce448c26cb feat(*): 模型生成链路 - 完善 Agnes 结果兼容、价格展示与请求日志追踪 2026-08-28 06:53:57 +08:00
ddCat
61b332583c refactor(canvas): 生成配置 - 收敛插件工作流并移除系统模型分支 2026-08-26 16:28:45 +08:00
yepwait
86fc3fda2f feat(workflow): 工作流提供方 - 集成 RunningHub 与 ComfyUI Bridge 2026-08-26 15:02:42 +08:00
ddCat
1758ba6062 feat(canvas): 分镜脚本 - 关联画布资产并自动物化视频引用 2026-08-25 11:24:47 +08:00
ddCat
bce2055602 fix(canvas): 画布交互 - 优化节点视觉、分镜列与滑动性能 2026-08-22 13:34:30 +08:00
dlh
90d6c58de9 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
QAyong
ce5af1b6c8 feat(plugin): 插件系统 - 新增插件中心与可展开配置 2026-08-21 19:13:34 +08:00
ddCat
8c5f56a551 feat(platform): 模型管理与后台能力 - 新增逻辑模型路由和响应拦截 2026-08-18 20:42:25 +08:00
ddCat
d89a5a5b7b refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互 2026-08-14 23:44:55 +08:00
ddCat
ed3757472f refactor(platform): 用户工作台 - 收敛无框视觉并统一导航图标与列表间距 2026-08-14 15:17:25 +08:00
ddCat
cd85a45936 fix(api): Token 账单 - 按真实用量结算预授权差额 (#145)
Closes #145
2026-08-05 17:06:07 +08:00
ddCat
64f32d3607 feat(platform): 多模态创作 - 新增统一创作页、历史会话与视频参数控制 2026-08-02 14:52:49 +08:00
ddCat
8de9b42c00 feat(*): 画布创作 - 支持文本多模态生成并优化媒体节点、连接线与视频预览
Fixes #59
2026-07-31 19:44:02 +08:00
ddCat
90a903805f feat(*): 用户工作台 - 统一黑白灰空间界面并整理画布入口 2026-07-31 15:33:37 +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