2.0 KiB
2.0 KiB
项目计划(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 lintpnpm -C frontend run typecheckpnpm -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 周:完成 M1
- 第 2 周:完成 M2
- 第 3 周:完成 M3、M4