97 Commits

Author SHA1 Message Date
Your Name
8e82b0ea99 fix: use Button with router.push for reliable navigation
- Replace Link components with Button + router.push
- Add e.preventDefault() and e.stopPropagation() to prevent event issues
- Fix file list button click handler in CanvasChatPanel
- Ensures single click navigation works consistently
2026-01-26 21:31:58 +08:00
Your Name
2566c00cb1 fix: redirect /canvas to new canvas editor instead of list page
- Replace full-screen canvas list with auto-redirect to new canvas
- Ensures users always enter canvas editor mode directly
- Use Link component for reliable navigation in top navbar
2026-01-26 21:24:25 +08:00
Your Name
676be1c70c feat: switch file list from dialog to inline panel
- Replace dialog-based file list with inline panel in sidebar
- Click file list button now switches panel content instead of opening popup
- Add CanvasFileListPanel component for embedded file list view
- Fix thumbnail property name and type casting issues
- Add placeholder handleAction function
2026-01-26 21:19:52 +08:00
Your Name
9385b6f6d6 feat: implement auto-save, auto-title, and canvas file list sidebar
- Remove manual rename and save buttons from canvas header
- Add auto-save logic with debounce
- Add AI auto-titling and thumbnail generation based on canvas content
- Add CanvasFileList sidebar for managing canvases
- Direct entry to new canvas from top navigation
- Add new API endpoint for auto-titling
2026-01-24 22:50:34 +08:00
Your Name
7704a799f8 fix: update canvas chat panel header to match official design 2026-01-24 22:29:31 +08:00
Your Name
0279627ecc fix: remove input shadow and use real image params in canvas chat 2026-01-24 22:09:07 +08:00
Your Name
39c726b5af fix: shrink canvas toolbar and restore chat banner 2026-01-24 22:03:17 +08:00
Your Name
1ad0bc8db6 fix: remove logo from canvas chat panel greeting 2026-01-24 21:57:55 +08:00
Your Name
f5c52bfdc6 feat: redesign chat panel to match LOVART style 2026-01-24 21:36:05 +08:00
Your Name
79e5a870e1 feat: comprehensive UI redesign for infinite canvas (LOVART style) 2026-01-24 21:27:36 +08:00
Your Name
f289eca90c feat: integrate chat panel into canvas sidebar
- Add CanvasChatPanel component for AI conversation in canvas
- Auto-sync generated images from chat to canvas nodes
- Add tabbed interface to switch between AI Chat and Quick Tools
- Widen sidebar to 384px to accommodate chat interface
- Extract image URLs from messages and create canvas nodes automatically
2026-01-24 21:19:25 +08:00
Your Name
aa4fbdd158 feat: show processing state for image operations in canvas
- Add toolbar above selected image for quick access to editing tools
- Create new node with 'generating' status before processing
- Update node status to 'completed' or 'failed' after processing
- Allow overflow visible for toolbar to display outside node bounds
2026-01-24 21:15:28 +08:00
Your Name
14c8679ac6 fix: use button with ref to trigger file upload dialog 2026-01-24 21:09:00 +08:00
Your Name
6a2cbb1b49 feat: use image URLs instead of Base64 for canvas image operations
- Modified ImageNode to upload images to storage bucket before use
- Updated RMBG API to support imageUrl parameter (fetch from URL and convert to Base64 internally)
- Updated Enhance API to support imageUrl parameter
- Updated canvas service layer to use imageUrl for all image processing APIs
- All processed images are saved to storage bucket and user gallery
2026-01-24 20:58:15 +08:00
Your Name
bc7e967aba fix: fix image upload in canvas ImageNode
Added stopPropagation to prevent Rnd click handler from intercepting the file input click event. Added an explicit button for better UX.
2026-01-24 20:53:23 +08:00
Your Name
9a2d07426a fix: use light gray background for canvas 2026-01-24 20:34:30 +08:00
Your Name
253c2b7e38 fix: canvas background supports light/dark mode 2026-01-24 20:27:45 +08:00
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