Commit Graph
45 Commits
Author SHA1 Message Date
liquidliang 574e17eb61 优化 2026-01-09 17:53:08 +08:00
liquidliangandClaude Sonnet 4.5 057fdef0f4 feat(editor): 完善文本属性面板和字体管理系统
## 新增功能

### 字体管理服务 (font-manager-service.ts)
- 自动提取画布中使用的字体
- 画布初始化时预加载已使用的字体
- 支持系统字体和 Google Fonts
- 字体预览图管理
- 使用 link 标签加载字体,由 Service Worker 自动缓存

### Service Worker 字体缓存
- 拦截 Google Fonts CSS 和字体文件请求
- Cache-First 策略,优先从缓存读取
- 自动缓存字体文件,支持离线使用
- 应用层无感知的缓存管理

### 文本属性面板增强
- 集成字体管理服务
- 预加载 Google Fonts,提升用户体验
- 优化字体选择器性能
- 支持字体加载状态显示

## 技术实现

### 字体加载流程
```
画布加载
  ↓
提取使用的字体 (extractFontsFromBoard)
  ↓
预加载字体 (preloadBoardFonts)
  ↓
Service Worker 拦截请求
  ↓
缓存/返回字体文件
  ↓
渲染文本
```

### 缓存策略
- 使用 Service Worker Cache API
- Cache-First 策略
- 字体文件永久缓存
- 支持离线访问

## 文件变更

### 新增文件
- `packages/drawnix/src/services/font-manager-service.ts` - 字体管理服务
- `packages/drawnix/src/constants/text-effects.ts` - 字体配置
- `packages/drawnix/src/types/text-effects.types.ts` - 类型定义
- `packages/drawnix/src/utils/text-effects-utils.ts` - 工具函数
- `packages/drawnix/src/transforms/text-effects.ts` - 文本特效转换

### 修改文件
- `apps/web/src/sw/index.ts` - 添加字体缓存逻辑
- `packages/drawnix/src/drawnix.tsx` - 集成字体预加载
- `packages/drawnix/src/components/toolbar/popup-toolbar/text-property-panel.tsx` - 使用字体管理服务
- `CLAUDE.md` - 更新文档,记录字体管理功能

## 相关文档
- 字体管理服务: `packages/drawnix/src/services/font-manager-service.ts`
- Service Worker 字体缓存: `apps/web/src/sw/index.ts`
- 字体配置: `packages/drawnix/src/constants/text-effects.ts`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-09 16:32:12 +08:00
liquidliang c7c3fa2342 feat: 添加长视频生成与恢复功能
实现长视频的分段生成、合并及恢复功能,包括:
1. 新增长视频生成工具链服务,支持分段生成视频并自动合并
2. 添加视频恢复服务,解决页面刷新后视频URL失效问题
3. 优化视频插入逻辑,支持自动获取视频尺寸
4. 新增视频帧提取工具,用于长视频片段衔接
5. 完善下载功能,支持批量下载和ZIP打包
6. 更新系统提示词和测试用例
7. 添加FFmpeg相关依赖支持视频处理
8. 优化任务队列处理逻辑,支持长视频任务链

新增视频合并图标和测试组件
2026-01-05 18:13:59 +08:00
liquidliang 0dbd61939c 优化工作流 2025-12-31 15:42:19 +08:00
gongchengtu b606db4139 fix: 优化缓存机制、工具栏交互和AI图片生成功能
### 缓存功能优化
- fix(useMediaCache): 修复缓存完成后URL不实时切换的问题,添加缓存状态订阅
- fix(TaskQueuePanel): 修复预览对话框不使用缓存URL的问题,新增PreviewContent组件

### AI图片生成
- feat(aspect-ratio): 添加"自动"比例选项,让模型根据提示词自动决定最佳比例
- feat(generation-api): 自动比例时不传递aspectRatio参数给API

### 工具栏交互优化
- fix(popup-toolbar): 工具栏位置改为选中元素顶部边缘中点,与Figma/Excalidraw一致
- fix(tool-button): 将原生title替换为TDesign Tooltip,延迟从1-2秒优化到300ms

### 其他
- feat(url-cache-service): 新增URL缓存服务
- fix(image/video): filesystem兜底处理
2025-12-01 21:33:45 +08:00
liquid c2d21f1d61 feat(工具栏): 添加字体大小选择功能
- 在弹出工具栏中新增字体大小选择按钮
- 支持预设大小和自定义输入
- 修改文本组件样式以支持不同字体大小
- 更新文档说明插入位置规则
2025-09-06 12:18:43 +08:00
pubuzhixing8 2e900d1cda Revert "fix: fix dockerfile build logic (#201)" (#204)
This reverts commit d320ba386f.
2025-08-11 18:42:27 +08:00
Peter Chen d320ba386f fix: fix dockerfile build logic (#201) 2025-08-11 18:34:04 +08:00
pubuzhixing8 2e5d2ada91 chore(release): publish 0.2.1 2025-08-06 21:17:37 +08:00
pubuzhixing8 da73958883 chore(release): publish 0.2.0 2025-08-06 21:07:38 +08:00
pubuzhixing8 41057f9122 chore(release): publish 0.1.4 2025-08-06 20:48:08 +08:00
pubuzhixing8 d10212ea67 chore(release): publish 0.1.3 2025-08-06 20:26:21 +08:00
pubuzhixing8 cf89dba094 build: bump slate into 0.116.0 and apply slate-dom (#190) 2025-08-06 20:24:57 +08:00
pubuzhixing8 a3980c6427 chore(release): publish 0.1.2 2025-08-06 19:49:12 +08:00
pubuzhixing8 e799d70af0 chore(release): publish 0.1.1 2025-07-10 14:25:25 +08:00
pubuzhixing8 55e7d67c2d fix(text): resolve text can not auto break line #173 #169 2025-07-10 14:24:28 +08:00
pubuzhixing8 c4fe6fce1d chore(release): publish 0.1.0 2025-07-02 23:05:52 +08:00
pubuzhixing8 edd8e69511 fix(text): set whiteSpace: pre to avoid \n is ineffectual (#165) 2025-07-02 22:36:58 +08:00
pubuzhixing8 e08b234255 fix(text): allow scroll to show all text (#156) 2025-06-26 19:23:52 +08:00
pubuzhixing8 eede6bdfbf Link for text (#145)
* feat(link): support link plugin in react-text and support text link function for drawnix

* chore: lint test

* chore: improve text for link

* chore: fix lint

* feat: improve link-popup state

* feat: update link-popup position when scrolling
2025-06-09 23:33:02 +08:00
pubuzhixing8 97ab1d469c feat(text): support insertSoftBreak for text #136 2025-05-16 18:12:10 +08:00
pubuzhixing8 ecc8d61d0a chore(release): publish 0.0.4 2025-04-15 12:13:50 +08:00
pubuzhixing8 cc18544dc9 chore(release): publish 0.0.4-3 2025-03-25 21:01:44 +08:00
pubuzhixing8 a77b3dcc28 build: rename libs (#112) 2025-03-25 21:00:04 +08:00
pubuzhixing8 9ddb6d9300 fix: improve libs build 2025-03-25 20:51:12 +08:00
pubuzhixing8 1a78a9d356 chore(release): publish 0.0.4-2 2025-03-19 20:25:40 +08:00
pubuzhixing8 49a3c32bad chore(release): publish 0.0.4-1 2025-03-16 16:04:18 +08:00
pubuzhixing8 fb0d572ec4 chore(release): publish 0.0.4-0 2025-03-16 15:23:29 +08:00
pubuzhixing8 6d89b32185 feat: add dependencies for packages 2025-03-16 15:22:17 +08:00
pubuzhixing8 a70dbf5e2a chore(release): publish 0.0.3 2025-03-14 16:49:02 +08:00
pubuzhixing8 156abcbea2 fix: fix pub issue 2025-03-14 16:48:43 +08:00
pubuzhixing8 2c8f389d69 fix(text): fix text can not display correctly on windows 10 chrome env #99 (#100) 2025-03-12 10:28:08 +08:00
pubuzhixing8 2e2524a01e chore(release): publish 0.0.2 2025-03-11 01:16:16 +08:00
pubuzhixing8 2ca7c2669c chore(release): publish 0.0.1
chore(release): publish 0.0.1
2025-03-11 00:44:50 +08:00
pubuzhixing8 18a20948a4 build: add release config and rename package name 2025-03-11 00:44:50 +08:00
pubuzhixing8 eb0930f041 build: release 0.0.2 2025-03-03 20:23:08 +08:00
pubuzhixing8 0e302aa914 feat(text): support update text from outside (#58) 2024-12-12 19:47:07 +08:00
pubuzhixing8 ee78a40282 fix(text): fix text can not editing (#52)
I don't know why 😂
2024-12-09 19:07:48 +08:00
pubuzhixing8 602fc3b421 build: fix ci error and disabled e2e-ci(because deps error) (#49) 2024-12-07 19:13:57 +08:00
pubuzhixing8 b74abc1e98 fix(text): resolve with-text build error (#41) 2024-12-02 19:43:43 +08:00
pubuzhixing8 7be01aced3 feat(text): support soft break (#39) 2024-12-02 18:41:54 +08:00
pubuzhixing8 4b2d964921 feat(active-toolbar): support font color property 2024-10-01 22:03:32 +08:00
pubuzhixing8 ecfe3cda3b feat: import styles 2024-06-18 21:09:17 +08:00
pubuzhixing8 117e5a8b2f feat(drawnix-board): initialize drawnix board 2024-06-18 14:00:59 +08:00
pubuzhixing8 397d865fad feat(drawnix): init drawnix package 2024-06-17 20:45:21 +08:00