80 Commits

Author SHA1 Message Date
Your Name
c7ffcda87b feat: add infinite canvas feature with AI image generation
- Add canvas project and node database tables
- Create canvas workspace with drag, resize, zoom and pan
- Add ImageNode with background removal, enhance, extend, angle edit, scene fusion
- Add VideoNode with playback controls
- Add TextNode for text editing
- Integrate AI image generation API (Gemini/Alibaba)
- Implement viewport culling for performance optimization
- Add canvas entry in top navigation bar
2026-01-24 19:48:13 +08:00
Your Name
acaffcb65a fix: prevent angle edit dialog from triggering navigation on close 2026-01-23 22:14:24 +08:00
Your Name
3366265f1d fix: prevent navigation to homepage when clicking buttons in angle edit dialog 2026-01-22 20:12:41 +08:00
Your Name
da99fbdc93 fix: improve error handling for streaming response in scene fusion 2026-01-22 19:41:58 +08:00
Your Name
bec71cf195 feat: implement streaming response for scene fusion - show images as they complete 2026-01-22 19:33:06 +08:00
Your Name
c0b1081c81 fix: add timeout handling and debug logs for scene fusion 2026-01-18 21:53:20 +08:00
Your Name
f60ced8d29 style: remove default prompt display from scene fusion UI 2026-01-18 16:49:26 +08:00
Your Name
8643531e5d feat: add aspect ratio and resolution selection for scene fusion 2026-01-18 16:44:46 +08:00
Your Name
153dae3907 style: match image editor navbar height with homepage (h-12) 2026-01-18 16:38:18 +08:00
Your Name
13bf0afb74 style: force dark mode for image editor top navbar 2026-01-18 16:34:22 +08:00
Your Name
c5ea1ee3d6 fix: optimize prompts to prevent product deformation & completely remove black border from blur effect 2026-01-18 16:30:36 +08:00
Your Name
fbf2ecaf87 feat: add product name and target name inputs for more precise scene fusion prompts 2026-01-18 16:23:16 +08:00
Your Name
9f25cc3708 fix: remove black border from blur effect, fix gallery save issue (uuid type), enhance logging 2026-01-18 16:17:35 +08:00
Your Name
004d1de1ce style: update scene fusion grid layout to 4 cols and adjust aspect ratio 2026-01-18 16:07:16 +08:00
Your Name
42ca0b0db1 feat: 优化场景裂变生成状态的 UI
- 使用动态模糊占位图替代简单的 Loading 圈
- 添加流光扫描动画效果
- 增加更详细的生成中提示
2026-01-18 15:53:09 +08:00
Your Name
b238a26e85 fix: 场景裂变页面保留顶部工具栏
- 修改 ImageAnnotator 布局,使顶部工具栏在场景裂变模式下始终可见
- 将 SceneFusionView 嵌入到工具栏下方的工作区
- 隐藏 SceneFusionView 自带的顶部标题栏
- 优化场景裂变按钮的交互逻辑
2026-01-18 15:39:34 +08:00
Your Name
4e2869bf2d refactor: 将场景裂变功能从弹窗改为全屏视图切换
- 新建 SceneFusionView 组件,替代 SceneFusionDialog
- 修改 ImageAnnotator,支持在编辑器模式和场景裂变模式之间切换
- 场景裂变模式下隐藏原有编辑器工具栏,提供独立的顶部导航和返回按钮
- 优化用户体验,无需离开编辑器即可使用场景裂变功能
2026-01-18 15:26:37 +08:00
Your Name
aee826c688 fix: 场景裂变按钮无需上传图片即可打开 2026-01-18 15:15:20 +08:00
Your Name
c36d0f93d8 fix: 图片编辑器入口优化 - 直接进入编辑器主页面
- 点击图片编辑器按钮后直接显示完整编辑器界面(包含工具栏)
- 在画布区域显示上传区域,而非独立的上传窗口
- 保持拖拽、点击、粘贴上传功能
2026-01-18 15:02:58 +08:00
Your Name
688f67c25c feat: 图片编辑器升级 - 入口优化 + 场景裂变功能
功能一:图片编辑器入口优化
- 支持先打开编辑器再上传图片
- 新增拖拽上传功能
- 新增粘贴上传功能 (Ctrl+V)

功能二:场景裂变
- 新增场景裂变弹窗组件
- 支持产品图批量融合到多个场景
- 每个场景独立配置补充关键词
- 并发处理提高效率
- 支持单个重新生成和全部下载
- 生成结果自动保存到相册

管理员配置:
- 新增场景裂变配置面板
- 支持自定义默认提示词
- 支持配置最大场景数量
- 支持功能开关

新增文件:
- app/api/scene-fusion/route.ts
- app/api/scene-fusion/config/route.ts
- components/scene-fusion-dialog.tsx
- docs/图片编辑器功能升级规划.md
2026-01-18 14:56:21 +08:00
Your Name
0d7584edf1 fix: 在 Response 组件的 key 中包含处理状态
- 确保 isProcessing* 状态变化时整个 Response/Streamdown 重新创建
- 解决 Streamdown 内部缓存导致 ImagePreview 不更新的问题
2026-01-18 11:43:12 +08:00
Your Name
d333a04379 fix: 添加 key 强制 ImagePreview 在状态变化时重新渲染
- 使用处理状态作为 key 的一部分
- 确保 isProcessing* 变化时组件重新创建
2026-01-18 11:38:41 +08:00
Your Name
237be9007d fix: 移除 Response 组件的 memo,修复按钮状态不更新问题
- 移除 memo 的自定义比较函数
- 确保 isProcessing* 状态变化时组件能正确重新渲染
- 之前的 memo 可能导致 Streamdown 内部的 ImagePreview 没有正确更新
2026-01-18 11:34:04 +08:00
Your Name
c674e7e861 debug: 添加图片处理按钮状态调试日志
- 在 chat.tsx 中添加状态重置日志
- 在 image-preview.tsx 中添加按钮状态监控
- 帮助定位按钮变灰问题
2026-01-18 11:30:10 +08:00
Your Name
68abf3e3fa fix: 多张图片预览之间添加间距
- 给 ImagePreview 容器添加 mr-3 mb-3
- 防止多张图片挤在一起
2026-01-12 14:29:53 +08:00
Your Name
f5c87efba7 fix: 统一图片预览按钮样式,防止文字换行
- 添加 whitespace-nowrap 防止按钮文字换行
- 减小按钮尺寸:图标 14px->12px,文字 text-xs->text-[10px]
- 减小按钮间距和内边距,适应不同宽度的图片
- 添加 flex-wrap 允许按钮换行到下一行
2026-01-12 14:14:47 +08:00
Your Name
e9d9d14d07 fix: 修复阿里生图模型动态占位卡片不显示问题
- 在 chat.tsx 中添加 alibaba-image 类型到 startGeneration
- 确保 pendingGeneration 记录正确的 modelType
2026-01-12 14:05:55 +08:00
Your Name
864057c9cd fix: 修复阿里生图模型占位图不显示的问题
- 将 isAlibabaImageModel 添加到图片模型判断逻辑中
- 更新 hasImageContent 检测逻辑,支持多种图片格式
- 添加 isAlibabaImageModel 到 useEffect 依赖数组
2026-01-12 12:20:29 +08:00
Your Name
eae8ea9436 feat: 集成阿里千问生图模型 (alibaba-image)
- 新增 alibaba-image provider 支持 qwen-image-edit-plus 系列模型
- 支持 1-6 张图片输出、提示词优化、反向提示词等参数
- 扩展 ImageParamsBar 支持阿里模型专用参数
- 创建通用 ImageGenerationLoading 组件(可配置颜色主题)
- 管理后台添加图片生成模型特性配置界面
- 数据库新增 imageGenConfig 字段存储生图特性
- 确保生成图片正确保存到相册和生图记录
2026-01-12 12:02:44 +08:00
Your Name
4024756ea6 feat: 在导航栏图片编辑器中添加角度调整功能按钮 2026-01-12 11:27:16 +08:00
Your Name
1cd7289a36 fix: 优化3D视角编辑器UI布局,修复控制按钮被遮挡问题 2026-01-11 11:43:05 +08:00
Your Name
ea45b7fbc5 fix: 调整 3D 相机视场角和 Resize 逻辑,防止控制器显示不全 2026-01-11 11:26:10 +08:00
Your Name
13a4784fa5 style: 优化 3D 编辑器布局,实现无滚动完美视口体验 2026-01-11 11:21:01 +08:00
Your Name
7d17ee1872 style: 深度优化 3D 控制器 UI,适配 Shadcn 风格 2026-01-11 11:15:43 +08:00
Your Name
87698afee8 feat: 替换为专业的 Qwen 3D 相机控制器
- 新增 qwen-camera-widget.tsx:基于 Three.js 的专业 3D 相机控制组件
- 彩色拖拽手柄:粉色(方位角)、青色(仰角)、金色(距离)
- 下拉快速选择预设角度
- 实时数值显示和提示词预览
- 暗色主题 UI,符合 ComfyUI-qwenmultiangle 设计风格
- 更新 angle-edit-dialog 使用新组件
2026-01-11 11:08:00 +08:00
Your Name
604d7425ad fix: 完成角度编辑功能的组件传递链,使按钮正确显示 2026-01-11 00:29:54 +08:00
Your Name
b12dd2d77a feat: Integrate Qwen-Image-Edit 3D angle controller and update UI 2026-01-10 23:07:14 +08:00
Your Name
a473d9710c 修复GEMINI生图二次对话4K/2K问题
- 修复ImageParamsBar组件的useEffect逻辑,确保参数正确同步
- 修复chat.tsx中imageParams的初始化,确保所有字段都有值
- 解决二次对话时选择4K但生成2K的问题
- 确保从localStorage恢复的参数能正确传递给ImageParamsBar组件

问题根源:
- ImageParamsBar的useEffect只在initialParams存在时执行
- 如果initialParams是undefined,会使用默认值2K
- imageParams可能未正确传递,导致参数丢失

修复方案:
- 修改useEffect条件判断,使用!== undefined而不是truthy检查
- 确保imageParams始终有完整的默认值结构
- 添加详细的分析报告文档
2026-01-02 21:18:46 +08:00
Your Name
1802614e5c 添加图片变清晰功能调试日志和验证
- 添加详细的外部API返回数据日志
- 对比原图和处理后图片大小,检测是否返回原图
- 添加下载URL验证逻辑
- 确认原图上传时没有压缩处理(直接上传外部API返回的图片)
- 添加图片大小变化百分比日志
- 如果外部API返回原图会发出警告

用于诊断:用户下载的图片是否是处理后的图片
2026-01-02 21:03:54 +08:00
Your Name
fea5e0fac5 优化图片压缩技术:避免双重压缩,保持JPG/PNG格式
- 客户端压缩:保持原格式(JPG保持JPG,PNG保持PNG),不再强制转换为WebP
- 提高压缩质量:最低质量从0.6提高到0.90,避免画质损失
- 启用高质量图像平滑:减少锯齿,提升画质
- 服务器端智能优化:使用MozJPEG和PNG优化算法
- 避免双重压缩:小文件(<3MB)跳过服务器端优化,只有优化效果明显(>5%)才使用
- 优化策略:优先缩小尺寸而不是降低质量,留余量给服务器端优化

技术改进:
- JPEG: MozJPEG编码器,质量92%,渐进式,优化扫描
- PNG: 压缩级别6,自适应过滤,调色板优化
- 智能判断:避免不必要的双重压缩,保护画质
2026-01-02 20:46:01 +08:00
Your Name
60082aca6f 修复时间显示和图像拓展功能
- 添加formatBeijingTime函数,将所有时间显示转换为北京时间(UTC+8)
- 更新相册、管理后台、精选页面的时间显示
- 图像拓展功能改为直接发送图片URL而不是base64
- 优化API性能,减少数据传输量
2025-12-30 20:16:47 +08:00
Your Name
da1579d852 修复图片编辑器上传原图而非预览图
- 添加imageUrlToBase64函数,从原图URL获取完整原图数据
- 修复抠图、变清晰、图像拓展功能,使用原图URL而不是canvas预览图
- 确保上传给API的是原图,下载的也是原图
- 添加详细调试日志,记录原图Base64长度
2025-12-30 18:25:15 +08:00
Your Name
9d40b78ea5 修复图片编辑器下载和图像拓展错误处理
- 改进下载逻辑,支持多种缩略图URL格式转换(-thumb-、-thumb.、/thumb/等)
- 添加二次转换逻辑,确保正确转换为原图URL
- 修复图像拓展错误处理,正确显示错误信息
- 添加详细调试日志,帮助定位问题
- 确保抠图和变清晰功能正确下载原图
2025-12-30 18:17:45 +08:00
Your Name
dbf10c1d02 图片编辑器全屏显示并显示网站LOGO和名称
- 恢复图片编辑器为全屏显示(fixed inset-0)
- 标题栏显示网站LOGO和网站名(从系统设置获取)
- 根据主题自动选择合适的LOGO(深色主题优先使用siteLogoDark)
- 点击LOGO或网站名可跳转到首页
- 移除未使用的router导入
2025-12-30 00:58:27 +08:00
Your Name
3669bde66c 调整图片编辑器布局保留顶部导航栏
- 图片编辑器全屏显示时保留顶部导航栏可见
- 编辑器从导航栏下方开始显示,高度为calc(100vh - 48px)
- 用户可以在编辑图片时访问导航栏功能
2025-12-30 00:43:51 +08:00
Your Name
4fc33d719d 添加对话框图片尺寸调整按钮和优化用户体验
- 在对话框图片上添加'尺寸调整'按钮,点击后直接打开图片编辑器并进入尺寸调整模式
- 为确认调整按钮添加处理中状态,显示旋转加载图标和'处理中...'文字
- 处理期间禁用按钮,防止重复点击
- 改善用户交互体验,让用户清楚知道系统正在处理
2025-12-30 00:37:21 +08:00
Your Name
ffe3de48cc 为尺寸调整确认按钮添加处理中状态
- 添加isResizing状态跟踪处理进度
- 点击确认调整后按钮显示旋转加载图标和'处理中...'文字
- 处理期间禁用按钮,防止重复点击
- 使用Loader2图标实现旋转动画效果
- 改善用户交互体验,让用户清楚知道系统正在处理
2025-12-30 00:26:02 +08:00
Your Name
cc76d87649 修复favicon未替换问题和优化尺寸调整功能
- 彻底修复favicon未替换问题:改进Metadata配置,添加客户端FaviconUpdater组件
- 添加缓存破坏参数,确保浏览器正确加载新的favicon
- 尺寸调整完成后添加下载按钮
- 保持尺寸编辑状态下左右图片虚线框相同尺寸(714x570px)
- 优化工具栏布局,宽高设置移动到选择比例工具栏后面
2025-12-30 00:15:56 +08:00
Your Name
2c29c2ef08 优化尺寸调整界面布局和尺寸设置
- 将宽高设置工具栏移动到选择比例工具栏后面,统一在一行显示
- 左侧原图预览固定高度570px,按比例显示
- 右侧画布线框固定尺寸714x570px,减少上下留白
- 优化工具栏布局,所有控制项在一行显示,更紧凑
2025-12-29 23:59:51 +08:00
Your Name
a8e5408136 优化尺寸调整功能:添加比例选择和修复原图显示
- 添加快捷比例选择功能(智能、21:9、16:9、3:2、4:3、1:1、3:4、2:3、9:16)
- 选择比例后,输入宽度时高度自动根据比例计算
- 优化左右对比布局,减少空白,画布显示更大
- 修复点击确认调整后原图消失的问题,保持原图一直显示
- 优化工具栏布局,尺寸调整模式下显示专用工具栏
2025-12-29 23:43:17 +08:00