docs(testing): #132 — judge menu geometry by rendering; "just measure" was the trap
All checks were successful
Check / eval (push) Successful in 4m7s

The guest's unfaithful rofi geometry was already documented in TESTING.md
§5. What was not, and what this closes, is that the bullet's fallback
advice — "measure text against the 40% window width instead" — is exactly
how #131 stayed wrong for weeks, and my own #131 fix made it stale on top
of that (the width is calc( 84ch min 65% ) now).

Measuring needs a width and a font, and both are per-theme: text menus
render through themes/<slug>/rofi.rasi, where boreal + neon-glass pinned a
fixed 620px while the rest used 40%, in fonts from Inter 11 to
JetBrainsMono 14. The item measured one combination no theme ships,
concluded "only truncates below 1920", and the truncation was live on a
2560 panel.

So §5 now says: judge by rendering — hardware, or `rofi -dmenu -theme <the
built rasi>` + `hyprctl layers` for the real width — and notes
checks.rofi-text-width guards the invariant that makes it fit, never how it
looks. Declined the other half (fixing the guest's fontconfig/icon cache):
the screenshots are useful as content checks, and a guest that lied
convincingly about spacing would be worse than one that obviously cannot.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 13:32:49 +01:00
parent ff0f9d6359
commit 3cc644edd9
3 changed files with 29 additions and 15 deletions

View File

@@ -555,6 +555,20 @@ Design/decision records and a running log of shipped work (items marked
`%26`, `%3F`, `%23`, `caf%C3%A9`. **Unverified on purpose:** whether each
vendor's page fills the box or auto-submits — testing that means posting into
Bernardo's own accounts.
- ✓ **The VM's verdict on menu geometry is worthless — and so is measuring
(#132, 2026-07-16):** the guest draws the picker with icons at ~¼ of
`ui.iconSize` and rows short enough to clip a 6-row root, so screenshots are
evidence for *which rows appear* and nothing else. Already documented; what
this closes is the **fallback advice**, which #131 proved was the actual trap:
"measure text against the 40% window width instead" assumed a width and a font
that **no theme shipped** (boreal pinned 620px in GeistMono 11; others 40% in
JetBrainsMono 14), concluded "only truncates below 1920", and was contradicted
by truncation on a 2560 panel. TESTING.md §5 now says to judge by rendering —
hardware, or `rofi -dmenu -theme <built rasi>` + `hyprctl layers` for the real
width — and notes `checks.rofi-text-width` guards the invariant that makes it
fit, never how it looks. Fixing the guest's fontconfig was declined: the
screenshots earn their keep as content checks, and a guest taught to lie
convincingly about spacing would be worse than one that obviously cannot.
- ✓ **Menus are sized in `ch`, not in % of the monitor (#131, 2026-07-16):**
Bernardo saw Recovery's labels ellipsize **on a 2560×1440 external** — which
falsified the item's own model ("`width: 40%` + Inter 11 → only below ~1920;