ddCat
|
2832fee9c1
|
fix(canvas): 创作参考内容 - 修复图片预览并将模型价格移至发送按钮
|
2026-09-01 19:55:07 +08:00 |
|
ddCat
|
d191ef0d86
|
fix(web): 模型价格 - 合并 PR #372 并修复零积分展示
|
2026-09-01 19:10:23 +08:00 |
|
MasterChiefCN
|
612706e942
|
fix(web): 模型价格 - 修复零积分显示为未配置
|
2026-09-01 18:00:47 +08:00 |
|
ddCat
|
ce448c26cb
|
feat(*): 模型生成链路 - 完善 Agnes 结果兼容、价格展示与请求日志追踪
|
2026-08-28 06:53:57 +08:00 |
|
QAyong
|
5b7f173102
|
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 |
|
MasterChiefCN
|
8ea2e738a2
|
feat(video): support Ark full-modal references (#300)
|
2026-08-24 16:55:45 +08:00 |
|
ddCat
|
f4b62b8e11
|
fix(models): 模型规格价格 - 修复主线兼容与参考图 SKU 匹配
|
2026-08-22 17:28:22 +08:00 |
|
kinoko
|
c34f1ea476
|
feat(models): 统一模型规格价格与路由
|
2026-08-22 17:00:08 +08:00 |
|
ddCat
|
d2a089f1ec
|
feat(canvas): 画布能力 - 完善 LibTV 导入与资源预览
|
2026-08-19 07:16:07 +08:00 |
|
ddCat
|
8c5f56a551
|
feat(platform): 模型管理与后台能力 - 新增逻辑模型路由和响应拦截
|
2026-08-18 20:42:25 +08:00 |
|
✨await
|
f152fb7449
|
feat(web): 模型分组 - 同显示名模型族按参数路由最低价模型且模型始终可切换
|
2026-08-17 11:04:37 +08:00 |
|
ddCat
|
b2a7eef35d
|
feat(billing): 火山方舟视频计费 - 支持真实 Token 预授权与结算
Refs #228
Co-authored-by: MasterChiefCN <49179444+MasterChiefCN@users.noreply.github.com>
|
2026-08-15 12:58:05 +08:00 |
|
ddCat
|
abcf3e1787
|
feat(canvas): 画布创作对话 - 统一流式 Markdown 展示与交互修复
|
2026-08-15 02:31:42 +08:00 |
|
ddCat
|
d89a5a5b7b
|
refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互
|
2026-08-14 23:44:55 +08:00 |
|
ddCat
|
b726620b4d
|
fix(ci): 代码格式 - 修复画布变更文件的 Prettier 校验
Refs #220
|
2026-08-14 12:44:58 +08:00 |
|
ddCat
|
af609f4a3e
|
feat(canvas): 画布模型与连线能力 - 合并同名模型并按输入动态限制节点关联
Closes #220
|
2026-08-14 12:41:55 +08:00 |
|
ddCat
|
e20df8e29b
|
refactor(*): 代码质量治理 - 收敛接口客户端、模型职责与异步计费巡检
|
2026-08-06 16:36:51 +08:00 |
|
ddCat
|
b518489fdd
|
feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理
|
2026-08-06 15:34:45 +08:00 |
|
爱笑的毛毛虫
|
6671c331e3
|
fix(canvas): 主题存储 - 修复非法 theme 值导致 /create 崩溃 (#155)
useThemeStore persist 无 merge 校验,坏 session/后端同步失败时可能将
非法 theme 值写入 localStorage,导致 canvasThemes[非法值] 为 undefined,
渲染时访问 theme.node 抛出 "Cannot read properties of undefined
(reading 'node')",/create 页面崩溃。
4 层防线(只加校验,不回退代码):
- useThemeStore persist merge 白名单校验,非法值回退 dark
- useThemeStore setTheme 写入前校验,防止同步路径绕过 merge
- normalizeConfigSnapshot 入口兜底 undefined/partial 快照
- ModelPicker 与 CanvasResourceMentionTextarea 消费端加 fallback
Closes #154
Co-authored-by: sikongyue <3155157671@qq.com>
|
2026-08-06 08:32:27 +08:00 |
|
ddCat
|
c8158b159e
|
fix(canvas): 模型选择 - 画布拖拽前关闭悬浮菜单
Fixes #138
|
2026-08-05 10:33:44 +08:00 |
|
ddCat
|
b42b8e58cf
|
refactor(admin): 模型配置 - 能力与请求协议改为品牌卡片单选
|
2026-08-04 22:13:47 +08:00 |
|
ddCat
|
f439d600ba
|
feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用
|
2026-08-04 16:24:18 +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 |
|
爱笑的毛毛虫
|
3fb5545c11
|
fix(canvas): 分镜脚本节点文字溢出与视频模型下拉异常 #84 (#85)
* fix(canvas): 分镜脚本节点文字溢出与视频模型下拉异常 #84
- CompactInput 补齐 overflow-y-auto/whitespace-pre-wrap/break-words,长文本不再横向溢出撑开列宽
- filterModelsByCapability 增加 modelCosts[].protocol 协议层回退,未显式配置 capability 时通过协议识别能力
- isVideoModelName 扩展 pika/runway/gen-3/hunyuan-video 等主流视频模型名关键字
- ModelPicker.options 保留当前选中 value,避免过滤后 options 为空触发跳转设置页
* fix(canvas): 模型过滤协议反向排除 + 分镜脚本节点模型选择提示 #84
- filterModelsByCapability 协议层提升至最高优先级,协议明确属于其他能力时直接排除,
防止 video/image/audio 协议的模型被误标为 text 后混入文本下拉
- isVideoModelName 补充 cogvideo/mochi/latte/stable-video/svd/animatediff/ltx-video/minimax-video/abab-video 等关键字
- isImageModelName 补充 nano-banana/ideogram/recraft/playground/leonardo 等关键字
- 分镜脚本节点 ModelPicker 包裹 Tooltip,提示"脚本生成仅支持文本模型"
* fix(canvas): 节点标题截断修复 — flex min-width 约束 + 宽度边界 + hover tooltip
- NodeExternalHeader: 容器增加 max-w-full 双重约束,窄节点时不越界,宽节点时上限 240px
- NodeExternalHeader: 标题 span 增加 min-w-0,解决 flex min-width:auto 导致 truncate 失效
- 所有节点标题(绘图/技能/角色参考/音频/分镜脚本)增加 title 属性,hover 显示完整标题
- AudioNodeContent: 标题 span 增加 min-w-0,修复 flex 子项截断
* fix(canvas): 节点顶部标题真正截断 — JS 计算 maxWidth + overflow-hidden + flex-1
- NodeExternalHeader 容器: 移除 Tailwind 级联冲突的 max-w-[240px]/max-w-full,
改用 JS 计算 Math.min(240, node.width) 作为 inline style maxWidth,
从根本上解决两个 max-width 声明的优先级不确定问题
- 容器增加 overflow-hidden 作为第二道防线
- 内部 text/input/button 元素改用 flex-1 + min-w-0 替代固定 max-w-[Npx],
让 flex 子项自动填充可用空间,文本在剩余空间内截断
* fix(canvas): 节点标题缩放溢出 — 考虑 canvas zoom scale
- maxHeaderWidth 改为 Math.min(240, node.width * scale),
因为 header 的视觉宽度 = maxHeaderWidth(inverseScale 与 canvas scale 抵消),
而节点的视觉宽度 = node.width * scale,两者必须比较同一维度
- 修复 zoom 缩小时(scale < 1)header 视觉宽度超过节点视觉宽度的溢出问题
---------
Co-authored-by: sikongyue <3155157671@qq.com>
|
2026-08-03 08:40:04 +08:00 |
|
ddCat
|
bb65da4aa8
|
fix(canvas): 模型选择 - 恢复创建版耗时标签条件避免生产构建失败
|
2026-08-02 22:42:19 +08:00 |
|
ddCat
|
8c573352d5
|
feat(*): 创作体验 - 支持资源技能引用并统一生成反馈与画布列表展示
|
2026-08-02 22:29:44 +08:00 |
|
ddCat
|
64f32d3607
|
feat(platform): 多模态创作 - 新增统一创作页、历史会话与视频参数控制
|
2026-08-02 14:52:49 +08:00 |
|
ddCat
|
31758a64df
|
fix(canvas): 模型选择 - 提升菜单可读性并突出积分价格
|
2026-08-01 00:34:33 +08:00 |
|
ddCat
|
b763f62ec6
|
fix(canvas): 模型选择 - 修复描述过长导致选项横向溢出
|
2026-07-31 23:23:50 +08:00 |
|
ddCat
|
ea02df69cd
|
fix(canvas): 画布创作交互 - 优化提示词面板并修复工具弹窗与节点缩放卡顿
|
2026-07-31 22:27:58 +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
|
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
|
33b48284e3
|
fix(canvas): 模型选择 - 加宽图片和视频模型下拉框
|
2026-07-23 19:02:12 +08:00 |
|
ddCat
|
aea35896eb
|
feat(platform): 开源发布 - 初始化 Open AI Canvas
|
2026-07-22 14:29:10 +08:00 |
|