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

2.0 KiB
Raw Blame History

项目计划2026-02-07

1. 当前状态

1.1 已完成

  • Web 应用主链路可用字体选择、预览、收藏、导出SVG/PNG
  • 字体元数据自动生成:scripts/generate-font-list.py
  • 预览性能策略已落地:防抖、批处理、并发、懒加载、几何缓存
  • Python CLI 两条脚本可独立运行:font2svg.pypic2svg.py

1.2 主要风险

  • 预览仍以 opentype.js 直出为主HarfBuzz 高级模式未接入主流程
  • frontend/src/App.test.vue 非标准测试框架用例,自动化覆盖不足
  • 前端未配置统一 lint 脚本,质量门禁不完整

2. 迭代目标

M1工程质量门禁补齐优先级 P0

  • 增加 linttypechecktest 统一脚本
  • 引入标准测试框架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