bundle Josefin Sans as the default UI face at weight 300

Vendor the JosefinSans variable font (upright + italic, weight range
100-700), OFL licensed. _AppRoot installs it as the ambient
DefaultTextStyle at weight w300 (Light); ClideText inherits rather
than re-specifying the family, so Alchemist's Ahem injection keeps
goldens deterministic per D-024 while production renders the
intended face.

typography.dart gains clideUiFamily + clideUiFamilyFallback
alongside the existing mono constants; .gitignore learns about
Alchemist's failures/ diff output dir so local re-runs don't leak
into `git status`.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-04-22 08:18:15 +02:00
co-authored by Claude
parent 7bdeb9ab24
commit c1ad33f1b0
8 changed files with 172 additions and 21 deletions
+5
View File
@@ -47,6 +47,11 @@ tools/ui/.serve.pid
coverage.*
/tmp/
# Alchemist golden-test failure artefacts (diff images written when a
# pixel-compare fails locally; the committed fixtures live under
# app/test/goldens/goldens/{ci,linux}/).
app/test/goldens/failures/
# -- pql per-repo state (clide dogfoods against itself; pql's index lands
# here when running queries locally). `pql.db` is also where the
# `tools/scripts/plan` stopgap writes decisions + tickets (D-040).