Files
font2pic/PLAN.md
2026-02-07 16:05:38 +08:00

71 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目计划2026-02-07
## 1. 当前状态
### 1.1 已完成
- Web 应用主链路可用字体选择、预览、收藏、导出SVG/PNG
- 字体元数据自动生成:`scripts/generate-font-list.py`
- 预览性能策略已落地:防抖、批处理、并发、懒加载、几何缓存
- Python CLI 两条脚本可独立运行:`font2svg.py``pic2svg.py`
### 1.2 主要风险
- 预览仍以 `opentype.js` 直出为主HarfBuzz 高级模式未接入主流程
- `frontend/src/App.test.vue` 非标准测试框架用例,自动化覆盖不足
- 前端未配置统一 lint 脚本,质量门禁不完整
## 2. 迭代目标
## M1工程质量门禁补齐优先级 P0
- 增加 `lint``typecheck``test` 统一脚本
- 引入标准测试框架Vitest + Vue Test Utils
- 产出最小可用测试集store / utils / 关键组件)
验收标准:
- `pnpm -C frontend run lint`
- `pnpm -C frontend run typecheck`
- `pnpm -C frontend run test`
- 三条命令均稳定通过
## M2预览与导出一致性加强优先级 P0
- 统一预览与导出的文本 shaping 策略
- 对比 `font2svg.py` 输出,建立回归样例
- 处理复杂脚本、连字、组合字符边界情况
验收标准:
- 关键样例(中英文混排、多行、字距)偏差可控
- 导出结果与预览视觉一致
## M3大字体库性能优化优先级 P1
- 增加字体对象 LRU 缓存与内存上限策略
- 优化 `fonts.json` 增量生成能力
- 导出阶段增加并发与失败重试上限
验收标准:
- 100+ 字体时首屏可交互时间维持稳定
- 批量导出失败率下降
## M4文档与运维完善优先级 P1
- 保持 `README.md` / `USAGE.md` / `DETAIL-DESIGN.md` 同步
- 补充发布流程与版本变更记录模板
## 3. 执行原则
- 小步提交:每次改动聚焦单一目标
- 先验证再交付测试、类型检查、lint 必跑
- 文档与代码同步更新
## 4. 里程碑建议
1. 第 1 周:完成 M1
2. 第 2 周:完成 M2
3. 第 3 周:完成 M3、M4