bundle JetBrains Mono for terminal panes

Vendor the 4 core weights (Regular, Italic, Bold, BoldItalic) of
JetBrains Mono v2.304 under app/assets/fonts/jetbrains_mono/, ~1 MB
total. OFL license checked in alongside. Declared as the
JetBrainsMono family in pubspec so Flutter bundles it automatically.

app/lib/widgets/src/typography.dart exposes clideMonoFamily plus a
platform-ordered fallback chain (SF Mono / Menlo / Monaco →
JetBrains Mono system install / Fira Code / Hack / DejaVu / Liberation →
Cascadia / Consolas → monospace) for web builds and test harnesses
that don't load asset fonts. Terminal widgets pick both up via a
single import.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-04-22 08:02:10 +02:00
co-authored by Claude
parent 0412a2284a
commit 7bdeb9ab24
9 changed files with 152 additions and 0 deletions
+10
View File
@@ -18,6 +18,16 @@ heading, and (b) bumping `project.yaml` `version:` in the same commit.
### Added
- JetBrains Mono bundled as `app/assets/fonts/jetbrains_mono/` —
Regular / Italic / Bold / BoldItalic weights (OFL-licensed,
license file checked in alongside). Declared as the `JetBrainsMono`
family in `app/pubspec.yaml`. `app/lib/widgets/src/typography.dart`
exposes `clideMonoFamily` + `clideMonoFamilyFallback` for terminal
panes and any other monospace surface; fallback chain covers
macOS / Linux / Windows for the web build path and for harnesses
that don't load asset fonts. Additional weights
(Thin/Light/Medium/ExtraBold) can be added on demand.
- `ptyc/` — the C PTY-spawn helper, peer of `pql` per
[`D-005`](decisions/architecture.md#d-005-dart-core-sidecar-dissolved-ptyc-as-pql-peer).
One-shot, libc-only, ~400 LOC. Reads a JSON request on stdin