docs(agent): #122 — sextants DO work; chase the fallback, not one font's charset
All checks were successful
Check / eval (push) Successful in 3m27s
All checks were successful
Check / eval (push) Successful in 3m27s
Bernardo asked whether #122 was quick, and then caught the reason my first answer was wrong: the mono face is per THEME (ghostty.nix:22 reads t.fonts.mono from the theme JSON), and Boreal — the default theme and the base state — is GeistMono Nerd Font, not stylix's JetBrains Mono. I had probed the wrong font, then drawn a confident conclusion from a single charset. Both conclusions inverted on measurement, so the item now says the opposite of what it said an hour ago: * GeistMono covers no sextants, no braille — and no block elements or box drawing either. So the CURRENT logo already renders through fontconfig fallback on the default theme, and always has. Fallback is the normal case here, not the hazard I painted it as. * Fallback supplies sextants fine: fc-list :charset=1fb00 finds 37 families on a real Nomarchy box, including the shipped nerd-fonts.caskaydia-cove and noto-fonts' Symbols 2; fc-match under GeistMono picks CaskaydiaCove. No tofu. Braille: 59 families. So --symbols sextant is available and is roughly a one-flag edit for 6x the detail — rendered both variants to confirm the shape genuinely sharpens. The item is re-scoped accordingly: the edit is minutes, the WORK is verification. Two things can still make it worse and only a real terminal can say — fallback metrics (CaskaydiaCove's sextants drawn in GeistMono's cell may misalign or differ in stroke weight, exactly the seam that looks fine in a VM and wrong on a laptop), and the mark being diagonal-heavy, since diagonals staircase under any cell symbol: more resolution buys a finer staircase, not a straight line. If the mark itself wants straight strokes that is a logo.svg design change hitting all three surfaces, not a chafa flag — settle that first. V0: nix flake check --no-build passes. Backlog only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -140,23 +140,42 @@ with `magick`, and converted at build time by
|
|||||||
20×10 grid carries roughly 20×20 pixels of detail and every diagonal turns into
|
20×10 grid carries roughly 20×20 pixels of detail and every diagonal turns into
|
||||||
a staircase.
|
a staircase.
|
||||||
|
|
||||||
Cheap levers, in the order worth trying (chafa 1.18.2 ships them all — verified
|
**`--symbols sextant` is the lever, and it is available — verified 2026-07-14 on
|
||||||
2026-07-14): `--symbols sextant` (2×3 subcells per character — 6× the detail of
|
a real Nomarchy machine.** Chase the *fallback*, not one font's charset; this
|
||||||
block, and the usual answer to exactly this), `quad`/`wedge` for 2×2, and a
|
was got wrong twice while filing, both times by checking a single font:
|
||||||
larger `--size` with a matching `rsvg-convert -w`. `braille` is 2×4 but reads as
|
|
||||||
dots, not lines — probably wrong for a logo that wants straight edges.
|
|
||||||
|
|
||||||
**The trap that decides the whole approach, and must be checked FIRST:**
|
- The mono face is **per theme** (`ghostty.nix:22` → `t.fonts.mono` from the
|
||||||
sextants and friends are Unicode 13 *Symbols for Legacy Computing* (U+1FB00–).
|
theme JSON), not stylix's default. **Boreal — the default theme and the base
|
||||||
If the shipped terminal font lacks them, the logo renders as **tofu boxes** —
|
state — is `GeistMono Nerd Font`**; the other 23 themes are `JetBrainsMono
|
||||||
strictly worse than chunky. Verify coverage in the real terminal (Ghostty) with
|
Nerd Font`. Any answer must hold for both.
|
||||||
the fonts the distro actually ships (`nerd-fonts-jetbrains-mono` et al.) before
|
- Neither of those two faces covers U+1FBxx (sextants), U+2800 (braille) — **and
|
||||||
committing to a symbol class; if coverage is missing or partial, the honest
|
GeistMono covers no block elements (U+2580–259F) or box drawing either**. So
|
||||||
answer may be a **hand-authored** logo in box-drawing glyphs (`─ │ ┌ ┐ └ ┘ ━ ┃`
|
**the logo already renders through fontconfig fallback on the default theme
|
||||||
+ block elements), which is the only way to get *genuinely* straight lines —
|
today**, and has all along. Fallback is the normal case here, not the risk.
|
||||||
any image→symbol converter approximates. That would trade the automatic
|
- Fallback resolves it: `fc-list :charset=1fb00` → **37 families** on a real
|
||||||
accent-recolouring for hand-tuned art, so keep the recolour path
|
box, including the shipped `nerd-fonts.caskaydia-cove` plus
|
||||||
(`file-raw` + a build-time colorize) either way.
|
`noto-fonts`' Noto Sans Symbols 2; `fc-match "GeistMono Nerd Font:charset=1fb00"`
|
||||||
|
picks CaskaydiaCove. Braille: 59 families. **No tofu.**
|
||||||
|
|
||||||
|
So the change itself is roughly a one-flag edit (`--symbols block` →
|
||||||
|
`sextant`, 2×3 subcells = 6× the detail, likely with a larger `--size` and a
|
||||||
|
matching `rsvg-convert -w`). **The work is the verification, not the edit.**
|
||||||
|
Two things can still make it look worse, and only a real terminal can say:
|
||||||
|
**(1) fallback metrics** — CaskaydiaCove's sextants drawn in GeistMono's cell
|
||||||
|
may not align or may differ in stroke weight, and this is precisely the kind of
|
||||||
|
seam that looks fine in a VM and wrong on a laptop; **(2)** the mark is
|
||||||
|
**diagonal-heavy** (an N-monogram of angled strokes), and diagonals staircase
|
||||||
|
under *any* cell symbol — more resolution makes a finer staircase, not a
|
||||||
|
straight line. If "straight lines" means the mark itself should be redrawn with
|
||||||
|
straight strokes, that is a **logo design change** to `logo.svg` — not a
|
||||||
|
renderer tweak — and it hits all three surfaces below. Settle which is wanted
|
||||||
|
before touching chafa flags.
|
||||||
|
|
||||||
|
**Note the mark is diagonal-heavy** (an N-monogram of angled strokes), which is
|
||||||
|
the underlying tension: diagonals staircase under block symbols at *any* size.
|
||||||
|
If "straight lines" means the logo itself should be redrawn with straight
|
||||||
|
strokes, that is a **logo design change** to `logo.svg`, not a renderer tweak —
|
||||||
|
and it would hit all three surfaces below. Settle which is wanted first.
|
||||||
|
|
||||||
Do **not** conflate the three logo surfaces — they are different renderers and
|
Do **not** conflate the three logo surfaces — they are different renderers and
|
||||||
a change here touches only the first: fastfetch (this item), the ISO boot splash
|
a change here touches only the first: fastfetch (this item), the ISO boot splash
|
||||||
|
|||||||
Reference in New Issue
Block a user