Skip to content

perf(producer): cache local font compression#2397

Merged
miguel-heygen merged 1 commit into
mainfrom
fix/cache-local-font-compression
Jul 14, 2026
Merged

perf(producer): cache local font compression#2397
miguel-heygen merged 1 commit into
mainfrom
fix/cache-local-font-compression

Conversation

@miguel-heygen

Copy link
Copy Markdown
Collaborator

Summary

  • persist WOFF2 compression results for local TTF/OTF/TTC files in the existing HyperFrames font cache
  • key entries by font content and source format so repeated CLI runs reuse identical compressed bytes
  • use atomic best-effort cache writes and preserve raw-font fallback when compression fails

Performance

  • 3.9 MB CJK TTF: 5316 ms cold, 3.8 ms warm
  • repeated one-frame renders previously recompressed every local font on every invocation

Tests

  • bun test packages/producer/src/services/fontCompression.test.ts
  • bun test packages/producer/src/services/htmlCompiler.test.ts packages/producer/src/services/deterministicFonts-googleSubsets.test.ts
  • bun run --cwd packages/producer typecheck
  • bun run lint

@miguel-heygen
miguel-heygen merged commit 3f6ea0a into main Jul 14, 2026
36 checks passed
@miguel-heygen
miguel-heygen deleted the fix/cache-local-font-compression branch July 14, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant