38 Commits

Author SHA1 Message Date
Your Name
dbdd188c9e fix: 使用 Portal 渲染工具栏避免被裁剪
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 工具栏使用 createPortal 渲染到 body 级别
2. 根据图片位置动态计算工具栏定位
3. z-index 设为 9999 确保最顶层显示

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:29:11 +08:00
Your Name
58b9c1cbd5 fix: 工具栏显示在图片外部上方
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 修改画布容器为 overflow-visible
2. 工具栏定位到图片上方 (-top-12)
3. 提高 z-index 确保不被遮挡

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:24:11 +08:00
Your Name
8f1f924421 feat: 优化画布图片选中工具栏
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 选中图片时在顶部显示工具栏(放大、移除背景、场景、角度、扩展、调整)
2. 工具栏使用圆角胶囊样式,类似竞品设计
3. 显示图片标题和尺寸信息
4. 添加更多操作下拉菜单(下载、删除)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:21:29 +08:00
Your Name
049795e264 feat: 画布聊天支持智能自动模式
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 添加「智能自动」模型选项(默认选中)
2. 使用 qwen3-vl 先对话理解需求、优化提示词
3. 然后自动调用最佳生图模型生成图片
4. 支持历史图片上下文自动关联

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:17:18 +08:00
Your Name
8f90aaba08 feat: 画布聊天面板功能增强
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 加载历史对话消息(从 API 获取)
2. 选中画布图片时自动添加到对话附件
3. 修复类型错误

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:13:09 +08:00
Your Name
6464135cf6 debug: 添加自动命名调试日志
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 15:09:18 +08:00
Your Name
3bac27265b fix: 修复图片提取逻辑避免重复添加
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 只提取原始图片 URL,不提取缩略图
2. 有 markdown 格式时不再匹配普通 URL

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:47:55 +08:00
Your Name
e0366c43fd fix: 上传图片立即添加到画布
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 图片上传成功后立即显示在画布中
2. 同时触发自动命名和设置缩略图
3. 移除发送时重复添加图片的逻辑

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:45:41 +08:00
Your Name
5e642165df feat: 上传图片自动识别并命名画布
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 使用千问VL模型识别图片主体作为画布名称
2. 第一张上传的图片自动设为画布缩略图
3. 画布列表显示缩略图预览

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:41:01 +08:00
Your Name
ccf610bcf8 fix: 用户上传的图片也添加到画布中
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
发送消息时将用户上传的图片立即添加到画布

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:38:05 +08:00
Your Name
c78743cbed fix: 修复画布聊天 ID 格式问题
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
从 canvas-{uuid} 格式中提取纯 UUID,以满足后端 schema 要求

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:32:54 +08:00
Your Name
339bf91019 fix: 修复画布聊天面板发送消息格式
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 修复 handleSend 中 parts 数组的顺序(文件在前,文本在后)
2. 添加 videoParams: undefined 确保 schema 兼容
3. 添加调试日志帮助排查问题

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:22:41 +08:00
Your Name
057014900c feat: 完善画布功能按钮与后端 API 对接
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
1. 修复 CanvasChatPanel 中的图片上传 - 使用 parts 数组而非 attachments
2. 扩展 chat schema 支持更多图片格式(gif, bmp, svg)
3. 实现尺寸调整功能 - 添加对话框选择尺寸
4. 更新 imageGenerationService.resizeImage 使用 canvas API 调整尺寸
5. 所有图片编辑功能已对接:抠图、变清晰、扩展、角度编辑、场景裂变、尺寸调整

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 12:18:16 +08:00
Your Name
59bc3636e1 feat: rename scene fusion to detail replace, add auto-retry up to 10 times
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-27 21:47:59 +08:00
Your Name
ee4bb14736 feat: add banner settings to admin panel for configuring ad banner text and link
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 22:26:44 +08:00
Your Name
0c4a2a455e fix: create new canvas instead of redirecting when canvas not found
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 22:17:58 +08:00
Your Name
b936e58637 debug: add mousedown handler and z-index to button
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 22:12:18 +08:00
Your Name
23e2dcf1b9 debug: make file list button very visible (red pulsing)
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 22:07:52 +08:00
Your Name
76eac7a52a debug: add blue background and alert to file list button
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 22:04:07 +08:00
Your Name
da523034c8 fix: use native button element for file list button
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 21:55:47 +08:00
Your Name
259f45740e fix: ensure file list button click handler works properly
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-26 21:52:28 +08:00
Your Name
8e82b0ea99 fix: use Button with router.push for reliable navigation
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
676be1c70c feat: switch file list from dialog to inline panel
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 22:29:31 +08:00
Your Name
0279627ecc fix: remove input shadow and use real image params in canvas chat
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 22:09:07 +08:00
Your Name
39c726b5af fix: shrink canvas toolbar and restore chat banner
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 22:03:17 +08:00
Your Name
1ad0bc8db6 fix: remove logo from canvas chat panel greeting
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 21:57:55 +08:00
Your Name
f5c52bfdc6 feat: redesign chat panel to match LOVART style
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 21:36:05 +08:00
Your Name
79e5a870e1 feat: comprehensive UI redesign for infinite canvas (LOVART style)
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 21:27:36 +08:00
Your Name
f289eca90c feat: integrate chat panel into canvas sidebar
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 21:09:00 +08:00
Your Name
6a2cbb1b49 feat: use image URLs instead of Base64 for canvas image operations
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 20:34:30 +08:00
Your Name
253c2b7e38 fix: canvas background supports light/dark mode
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
2026-01-24 20:27:45 +08:00
Your Name
c7ffcda87b feat: add infinite canvas feature with AI image generation
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- 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