Skip to content

feat(build): --font-regular/--font-bold source overrides#155

Merged
doodlewind merged 1 commit into
pocket-stack:mainfrom
odex21:feat/font-override
Jul 24, 2026
Merged

feat(build): --font-regular/--font-bold source overrides#155
doodlewind merged 1 commit into
pocket-stack:mainfrom
odex21:feat/font-override

Conversation

@odex21

@odex21 odex21 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

--font-regular=<path> and --font-bold=<path> CLI flags let a target build with alternative TTF sources without replacing the shared Inter fonts in assets/fonts/.

Motivation

framework/compiler/bake-font.ts already accepted regularTtf/boldTtf in BakeOptions, but tools/build.ts never wired them up to CLI args.

Use case

The ESP32-P4 lyrics firmware needs a subset CJK font to fit the app partition, while desktop/web builds keep the stock Inter fonts.

Changes

tools/build.ts — 9 lines added:

  • --font-regular= and --font-bold= argument parsing
  • Forward to bakeAtlases({ regularTtf, boldTtf })

Lets a target bake subset or alternative TTFs without replacing the shared
assets in the tree — the ESP32-P4 lyrics firmware uses a subset CJK font to
fit the app partition, while desktop/web builds keep the stock fonts.

@doodlewind doodlewind left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed and validated locally on a merge with current main:

  • bun test tests/font-bake.test.ts passes; explicit --font-regular/--font-bold=assets/fonts/Inter-*.ttf produces byte-identical output to the default build (default path provably untouched), and a genuinely different TTF changes the baked pak — the option flows through end to end.
  • Flag parsing and one-arg resolvePath (cwd-relative) match the existing --plan/--project-root/--outdir conventions, and bake-font.ts's ?? DEFAULT_* keeps Inter as the fallback.
  • Nit, non-blocking: a bad path surfaces as a raw ENOENT from loadFont — a one-line existence check with a friendly message would be nicer.

Thanks for also documenting the pre-existing --density flag.

@doodlewind
doodlewind merged commit 3d82ec2 into pocket-stack:main Jul 24, 2026
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.

2 participants