Commit Graph
22 Commits
Author SHA1 Message Date
chiyi e49fc1fc89 feat(canvas): 节点工具条精简为+参考图/删除,预览与图库改blob加载,参考图自动连线 2026-10-12 14:45:20 +08:00
chiyi db5c77851d fix(canvas): 点击空白清除节点/连线选中 2026-10-12 14:32:02 +08:00
chiyi 5c5249cb70 fix(canvas): 适应内容缩放对齐到10%档位 2026-10-12 14:28:25 +08:00
chiyi d4adc0b6aa feat(canvas): 100% 显示时实际渲染 0.6 倍,整体视图缩小一档 2026-10-12 14:24:10 +08:00
chiyi 655531eaca feat(canvas): 缩放百分比改为下拉选择,支持直接跳到60%等档位 2026-10-12 14:20:25 +08:00
chiyi af5bf84582 feat(canvas): 参数全部改下拉,支持生视频模式与视频节点 2026-10-12 14:15:54 +08:00
chiyi 2137f9565b feat(canvas): 生成面板改为底部居中大输入框,参考图改为上传式 2026-10-12 14:06:04 +08:00
chiyi 23bef52290 fix(canvas): 弯折点仅选中线时显示 2026-10-12 14:01:50 +08:00
chiyi ec5dd9adf7 fix(canvas): 节点间连线去重并放大弯折点 2026-10-12 13:59:11 +08:00
chiyi 256eeb3234 fix(images): 私有图片支持 Bearer 鉴权,画布节点改为带鉴权 blob 加载 2026-10-12 13:54:34 +08:00
chiyi c559e712b6 fix(canvas): 连接点外置、拖线平滑跟手、图片失败显示状态码 2026-10-12 13:42:26 +08:00
chiyi c429209e50 feat(canvas): 连线自动绕开节点并支持拖拽弯折 2026-10-12 13:35:40 +08:00
chiyi 5a0cbeb429 fix(canvas): 连线改用主题色并修复图片回退 2026-10-12 13:30:12 +08:00
chiyi 2e5a1e2e72 fix(canvas): 放宽待连线取消方式 2026-10-12 13:22:52 +08:00
chiyiandDevin 9e69dbfc70 feat(canvas): 四向点选连线并统一 10% 缩放步进
为所有画布节点显示四向连接点,点击起点与终点连线并保存端点方向;滚轮、按钮与快捷键按 10% 递增。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-12 12:44:26 +08:00
chiyiandDevin 0631849c36 fix(canvas): 修复生成节点状态更新及参考图请求
保留选中参考图,按模型传递分辨率,让生成节点响应成功或失败状态并显示原因。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-12 12:24:28 +08:00
chiyiandDevin 067ee50fb7 fix(canvas): 网格点改用 --fg 混合,修复换肤后不可见
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-12 11:25:43 +08:00
chiyiandDevin 91e6881623 style(ui): 全站 Memphis 换肤为玻璃拟态+极光渐变
设计 token 与中央类名保持不变,重写视觉:磨砂玻璃卡片、
紫→青渐变按钮、柔光阴影、发丝边框;emoji 图标换 SVG;
登录/支付/公告弹窗改为随主题的玻璃卡片。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-12 11:05:11 +08:00
chiyiandDevin 27d58cfb5d feat(canvas): 画布 Memphis 化并补全编辑功能
- 后端新增 POST /admin/api/my-images 上传接口:图片存入用户
  owner 目录并生成缩略图,复用 /images 服务与 my-images picker
- 本地图片三种入画布路径:上传按钮 / 拖入舞台(落点即拖放
  位置) / Ctrl+V 粘贴
- 节点选中后显示悬浮工具条(预览/复制/置顶/删除)与右下角
  缩放手柄;图片等比缩放,便签自由缩放;Ctrl+D 复制选中(含
  相互连线);双击空白建笔记;按 1 / ⤢ 按钮适应全部内容
- 整套画布 UI 换 Memphis:纸张底+墨点网格、黑边硬影节点、
  黄色贴纸便签、橙色连线/选中态、虚线框选、顶栏/生成面板/
  预览灯箱/图片选择器全部换墨边 chunky 样式,随站点明暗主题

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 17:45:41 +08:00
dokploy-bot 910651ddba feat(canvas): manual node linking + no-model hint + render-hardening
- drag from a node's side port onto another node to create an edge
  (dashed live preview, dedupe, self-link rejected); click an edge to
  select (highlighted), Delete removes it, Ctrl+Z restores — all in
  undo history and autosave
- generate panel shows an explicit hint when the site has no image
  models instead of an empty dropdown
- render hardening: viewport-culling size now has a hard floor
  (max(stageSize, window, 1600x900)) so a delayed/degenerate
  ResizeObserver reading can never cull nodes out of the DOM; stage
  listeners attach with retry + rAF self-healing measure; pointer
  capture wrapped in try/catch for synthetic pointers
2026-09-20 00:06:08 +08:00
dokploy-bot e83da82f3d fix(canvas): E2E-hardened interaction fixes
- Teleport canvas to body: layout <main> z-10 stacking context let the
  fixed site header (z-40) cover the canvas toolbar
- defer setPointerCapture until the 3px drag threshold: immediate capture
  retargets click/dblclick to the stage, which silently broke note editing
- commitNote no longer early-returns on the editing flag (event-ordering
  could drop typed text); sync node.text back to the non-controlled
  contenteditable on undo/redo restores
- contenteditable only while editing: single click used to focus and allow
  raw typing outside edit mode, swallowing Delete-key handling
2026-09-19 22:55:39 +08:00
dokploy-bot 571ee2c801 feat: 无限画布 — infinite canvas with generation integration
Backend:
- canvases table + owner-scoped CRUD under /admin/api/canvas
  (list/create/get/save/delete, 50 docs/user, 4MiB cap, JSON validation)

Frontend:
- /canvas full-screen workspace: DOM+CSS-transform infinite pan/zoom
  (GPU-composited world layer, viewport culling, rAF-batched pointer moves)
- nodes: image (thumb display, natural-size correction), note
  (uncontrolled contenteditable), generation placeholder with edges
- generate on canvas: prompt from panel or selected notes, selected image
  nodes as references, results auto-placed + bezier edges to sources
- multi-canvas management, debounced autosave + keepalive flush,
  snapshot undo/redo (60 steps), marquee/keyboard interactions
2026-09-19 22:38:41 +08:00