Commit Graph

261 Commits

Author SHA1 Message Date
爱笑的毛毛虫
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
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
爱笑的毛毛虫
a447c81899 fix(canvas): 人物质感变体自动触发生成,修复缩略图不变 #91 (#92)
- use-canvas-media-tools.ts: createPortraitTextureNode 改为 generatePortraitTextureNode,
  节点创建后立即触发后端生成任务(与情绪/多视角/局部编辑保持一致):
  使用 nodeReferenceImage 获取源图引用,buildPortraitTexturePrompt 构建提示词,
  runBackendCanvasGenerationTask 执行生成,完成后更新缩略图
- project.tsx: 同步重命名 createPortraitTextureNode → generatePortraitTextureNode
- canvas-drawing-excalidraw-editor.tsx: getDimensions 参数补充 number 类型注解
- canvas-drawing-editor-modal.tsx: Pick 类型补充 engine 字段

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 20:11:13 +08:00
ddCat
68753fa439 fix(*): 客户端标识 - 兼容 HTTP 内网访问并修复创造页卡死
Fixes #86
2026-08-03 15:06:09 +08:00
ddCat
6058602bf2 feat(canvas): 绘图工具 - 集成 Excalidraw 并支持后台切换默认引擎 2026-08-03 14:58:49 +08:00
ddCat
8ec10669f1 fix(canvas): 创作工作台 - 恢复异步媒体任务并完善输入与预览交互 2026-08-03 10:05:15 +08:00
ddCat
8c2c68e6d0 fix(canvas): 创作引用 - 收敛引用范围并修复参考图任务提交 2026-08-02 23:20:38 +08:00
ddCat
8c573352d5 feat(*): 创作体验 - 支持资源技能引用并统一生成反馈与画布列表展示 2026-08-02 22:29:44 +08:00
ddCat
247af966b7 fix(canvas): 创作区 - 接通媒体任务计费并恢复消息滚动跟随 2026-08-02 17:08:44 +08:00
ddCat
88a7f900dd fix(platform): 统一创作页 - 修复媒体结果可选字段导致发布构建失败 2026-08-02 16:32:27 +08:00
ddCat
401600d165 feat(*): 技能库与认证体验 - 重构共享技能库并优化登录页面与默认创作入口 2026-08-02 16:27:22 +08:00
ddCat
64f32d3607 feat(platform): 多模态创作 - 新增统一创作页、历史会话与视频参数控制 2026-08-02 14:52:49 +08:00
爱笑的毛毛虫
0317ac5bc7 feat(canvas): 框选 - 新增工具栏「框选」工具,空白处拖动框选后自动回到移动与选择 (#78)
Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-02 14:40:20 +08:00
ahyang
f5c6c3a80f feat(platform): 渠道设置 - 增加渠道配置折叠操作 (#77) 2026-08-02 14:40:08 +08:00
爱笑的毛毛虫
664bed6d65 fix(canvas): 视频重新生成 - 继承上游连线保持并行节点关系而非子节点 (#75)
Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-02 14:39:58 +08:00
爱笑的毛毛虫
02405c554f Fix/修复注册页左侧标语断句问题 (#66)
* fix(canvas): 修复技能库分类选项卡选中态样式 - 与空间工作台强调色保持一致

* fix(platform): 注册页标语 - 优化断句避免词语被截断

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

---------

Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
Co-authored-by: sikongyue <3155157671@qq.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-01 18:32:41 +08:00
爱笑的毛毛虫
50666904f1 fix(canvas): 修复技能库分类选项卡选中态样式 - 与空间工作台强调色保持一致 (#65)
Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
2026-08-01 15:58:32 +08:00
Danborad
968e70e45d fix(canvas): 节点复制 - 修复内部粘贴和批量状态残留 (#60)
Co-authored-by: Danborad <Danborad@users.noreply.github.com>
2026-08-01 15:38:15 +08:00
ddCat
8f021c7930 fix(canvas): 图片批次主图 - 原子同步媒体元数据并标记当前主图 2026-08-01 10:35:48 +08:00
ddCat
96f99ea9d6 fix(media): 视频任务 - 统一轮询超时并支持失败任务人工恢复 2026-07-31 23:24:03 +08:00
ddCat
8006149370 fix(canvas): 图片生成尺寸 - 显式比例不再被参考图节点尺寸覆盖 2026-07-31 21:18:43 +08:00
ddCat
53483b3d39 feat(canvas): 视频节点 - 接入 Vidstack 播放器并收敛任务查询范围 2026-07-31 20:19:12 +08:00
ddCat
8de9b42c00 feat(*): 画布创作 - 支持文本多模态生成并优化媒体节点、连接线与视频预览
Fixes #59
2026-07-31 19:44:02 +08:00
ddCat
7fb5c75a0c fix(canvas): 图生图节点 - 自动结果继承来源图片尺寸 2026-07-31 17:17:30 +08:00
ddCat
83fab5f136 feat(canvas): 节点连接 - 新增外置标题与跟随锚点快速连线 2026-07-31 17:17:01 +08:00
ddCat
bf339911e4 fix(*): 公告与画布 - 支持公告重新发布并阻止浏览器误缩放
Fixes #55
2026-07-31 15:46:58 +08:00
ddCat
90a903805f feat(*): 用户工作台 - 统一黑白灰空间界面并整理画布入口 2026-07-31 15:33:37 +08:00
ddCat
c09cc657cb fix(canvas): 图片生成 - 避让已有节点并保留重新生成结果
Fixes #57

Fixes #58
2026-07-31 13:58:44 +08:00
ddCat
035d4bc185 feat(canvas): 画布引擎 - 引入 LeaferJS 图形层并优化缩放清晰度与性能 2026-07-31 13:12:06 +08:00
ddCat
ffd222c6a6 fix(canvas): 公开分享画布 - 补齐人物质感只读回调 2026-07-30 21:48:56 +08:00
ddCat
2c808e41bf feat(canvas): 人物质感调节 - 支持图片引用与五维质感生成参数 2026-07-30 21:28:07 +08:00
ddCat
6de81049bf fix(api): 渠道请求头 - 补充自定义 Header 配置并应用到上游请求
Refs #39
2026-07-29 20:57:24 +08:00
ddCat
55875207c9 feat(api): 模型接入 - 统一出网 User-Agent 并支持添加时测试模型
Fixes #39
2026-07-29 18:31:01 +08:00
ddCat
09f5ff03cc feat(admin): 积分运营 - 计费订单支持批量确认扣费与退回积分 2026-07-29 18:08:37 +08:00
ddCat
c33e05ff63 feat(api): 火山模型协议 - 接入方舟与即梦图片视频生成并支持 AK/SK 凭证 2026-07-29 18:08:01 +08:00
ddCat
651b3467b2 fix(*): 模型请求协议 - 支持模型独立选协议并修正视频多参考请求 2026-07-28 23:05:15 +08:00
ddCat
2a16eb5d46 chore(release): 版本发布 - publish v1.0.12 2026-07-28 21:55:42 +08:00
ddCat
1380849d03 chore(release): 版本发布 - publish v1.0.11 2026-07-28 21:39:04 +08:00
ddCat
2ed4acb564 chore(release): 版本发布 - publish v1.0.10 2026-07-28 20:27:09 +08:00
ddCat
a8ae2d63d6 feat(admin): 请求明细 - 聚合视频轮询并补全调用报文与运营字段 2026-07-28 20:12:24 +08:00
ddCat
940b716e5c fix(canvas): 剧情章节 - 移除重复付费的分镜生成入口
Fixes #43
2026-07-28 19:42:49 +08:00
ddCat
ce1cc8bad5 fix(canvas): 剪贴板粘贴 - 外部复制后优先使用最新系统内容
Fixes #44
2026-07-28 19:26:20 +08:00
Danborad
53e5face32 fix(canvas): 复制粘贴与生成占位 - 系统图片优先并按比例显示占位框 (#45)
- 粘贴优先系统剪贴板图片,复制节点时写入标记避免旧图片抢占
- 粘贴/复制节点清理批次绑定,并补回参考图入边
- 生成中图片占位按设置比例显示
- Nano Banana / Imagen / Veo / Omni 匹配 Gemini 图标

Co-authored-by: Danborad <Danborad@users.noreply.github.com>
2026-07-28 19:15:30 +08:00
ddcat666
fecfa6d370 fix(canvas): 图片预览 - 支持全视口缩放与拖拽查看细节 (#41)
Fixes #40

Co-authored-by: ddCat <ddcat666@88.com>
2026-07-28 14:55:22 +08:00
ddCat
dfebe27c5e fix(canvas): 短剧工作流 - 保留角色候选并打通章节分镜入画布 2026-07-28 09:36:44 +08:00
ddCat
1c15441ba7 feat(canvas): 项目画风 - 扩展 18 套预设并联动角色三视图 2026-07-27 20:58:27 +08:00
ddCat
940bd2036d fix(canvas): 角色三视图 - 隔离并发状态并恢复刷新后任务结果 2026-07-27 16:35:14 +08:00
ddCat
0be7d4047b fix(*): 生成任务 - 修复任务可见性、分镜重试与角色视频引用 2026-07-27 15:29:36 +08:00
ddCat
a75cc9a580 fix(platform): 任务并发 - 账号活动任务上限统一跟随后台热配置 2026-07-27 14:23:18 +08:00
ddCat
87f3576df2 fix(*): Web 构建 - 修复短剧项目空间合并后的 TypeScript 类型错误 2026-07-27 11:14:16 +08:00