ddCat
|
d42e392ed7
|
fix(*): 创作工作台 - 修复 Agent、资源引用、附件交互与 Agnes 视频协议
|
2026-08-27 22:12:04 +08:00 |
|
MasterChiefCN
|
f111d57fc6
|
feat(plugins): 插件管理 - 区分系统与官方插件权限 (#329)
|
2026-08-27 11:22:00 +08:00 |
|
QAyong
|
9bc5512140
|
feat(portrait-clearance): 肖像排查 - 增加画布插件与本机检测链路
|
2026-08-26 15:23:19 +08:00 |
|
yepwait
|
86fc3fda2f
|
feat(workflow): 工作流提供方 - 集成 RunningHub 与 ComfyUI Bridge
|
2026-08-26 15:02:42 +08:00 |
|
ddCat
|
2f3a813ccb
|
feat(platform): 插件协议系统 - 支持声明式渠道、工作流与参考媒体映射
|
2026-08-26 13:11:10 +08:00 |
|
kinoko
|
d77432693e
|
feat(ark-assets): 方舟素材库 - 支持私域素材授权 (#294)
|
2026-08-23 08:27:55 +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 |
|
echoD886
|
935108edca
|
feat(assets): 素材库与画布 - 新增可交互通用文件夹
|
2026-08-20 15:16:45 +08:00 |
|
ddCat
|
15b679acf0
|
refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互
|
2026-08-14 23:44:55 +08:00 |
|
爱笑的毛毛虫
|
ce40344e95
|
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 |
|
ddCat
|
cd326609fa
|
fix(canvas): 添加节点菜单 - 统一命令入口并修复文字溢出与分区拥挤
|
2026-08-05 14:23:57 +08:00 |
|
爱笑的毛毛虫
|
adf9eb311c
|
refactor(canvas): 硬编码字号/圆角清理 → 语义 token(审计 D1/P1-3) (#131)
清理画布组件散落的硬编码字号与圆角,统一走 token 体系:
字号:
- 新增 --fs-nano(7px) 覆盖原 text-[6px]/text-[7px] 子微型标注
(角标计数、节点预览、% 后缀)
- text-[19px] → --fs-heading-lg(18px)
圆角(就近映射,±1~2px):
- rounded-[3px] → --r-xs | rounded-[5px] → --r-sm
- rounded-[6px] → --r-sm | rounded-[7px] → --r-md
- rounded-[18px] → --r-2xl
涉及 11 个组件文件。rounded-[1px](minimap 视口指示框,刻意尖角)保留。
颜色项(bg-white/border-stone)经核实均带 dark: 变体,属标准 Tailwind
双主题模式非误用,不在本轮处理。
Co-authored-by: sikongyue <3155157671@qq.com>
|
2026-08-04 21:20:53 +08:00 |
|
爱笑的毛毛虫
|
dd820616a4
|
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 |
|
爱笑的毛毛虫
|
b4d2b34fae
|
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 |
|
ddCat
|
7093b4e161
|
chore(release): 版本发布 - publish v1.0.12
|
2026-07-28 21:55:42 +08:00 |
|
ddcat666
|
d2fbc413b3
|
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
|
78e27507c4
|
feat(canvas): 媒体地址 - 图片和视频右键支持复制私有 OSS 签名地址
|
2026-07-23 20:10:58 +08:00 |
|
ddCat
|
aea35896eb
|
feat(platform): 开源发布 - 初始化 Open AI Canvas
|
2026-07-22 14:29:10 +08:00 |
|