liquidliang
574e17eb61
优化
2026-01-09 17:53:08 +08:00
liquidliang and Claude 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