banner_studio/infra/fonts
Simeon Schecter 988a47c797 Initial commit: Day 1 + Day 2 of the vertical slice
Day 1 (monorepo + Node layout engine):
- Turborepo + pnpm workspaces with apps/web, apps/render-worker, and
  packages for types, layout-engine, prompts, api-lib.
- @banner-studio/types: BannerSpec contract, every layer kind, ResolvedLayer,
  zod schemas mirroring each interface.
- @banner-studio/layout-engine: Dropflow WASM wrapper, text measurement,
  shrink-to-fit, push_siblings, resolveLayout. Snapshot-tested.

Day 2 (browser parity + AI pipeline):
- Layout engine ./browser subpath: same resolveLayout in the browser via
  Dropflow WASM build. Quarantined wasm-locator import (dropflow 0.5.1
  exports gap).
- Cross-group push_siblings bug fix: deltas now thread through group
  recursion via a shared accumulator; regression test added.
- DEMO_TEMPLATE_300x250 promoted to packages/layout-engine/src/templates/.
- @banner-studio/prompts: versioned extract + generate prompts with
  zod-defined tool schemas (claude-sonnet-4-6, forced tool-use).
- @banner-studio/api-lib: CSV feed loader, extract/generate/route-node/
  assemble agents, orchestrator returning fully-resolved BannerSpec.
  Generate agent retries on character-limit overflow.
- apps/web (Next.js 14 App Router): /api/generate route, /parity diff page,
  promise-singleton browser engine init.
- feeds/demo.csv with five hand-authored rows of varied length.
- SLICE_DEVIATIONS.md documents the five intentional gaps from
  ARCHITECTURE.md with V1 reversal paths.

Verified end-to-end: POST /api/generate against the live Claude API
returns three resolved BannerSpecs and two honestly-skipped rows
(overflow after two attempts). 26 unit + integration tests passing.
2026-05-15 10:25:21 -04:00
..
Inter-Bold.ttf Initial commit: Day 1 + Day 2 of the vertical slice 2026-05-15 10:25:21 -04:00
Inter-Regular.ttf Initial commit: Day 1 + Day 2 of the vertical slice 2026-05-15 10:25:21 -04:00
README.md Initial commit: Day 1 + Day 2 of the vertical slice 2026-05-15 10:25:21 -04:00

Fonts

These TTF files are baked into the layout engine and the render worker so that text measurement and final rasterization use the same font binaries. This matches the "fonts baked into the image" principle in CLAUDE.md.

Files

  • Inter-Regular.ttf — Inter v4.1 Regular (weight 400)
  • Inter-Bold.ttf — Inter v4.1 Bold (weight 700)

Provenance

Downloaded from the official Inter v4.1 release: https://github.com/rsms/inter/releases/tag/v4.1

Source archive: Inter-4.1.zip, files extracted from extras/ttf/.

License

Inter is released under the SIL Open Font License v1.1. See https://github.com/rsms/inter/blob/master/LICENSE.txt.