Twinned from https://github.com/cfsh/ninefold/issues/440 by tools/beads/import_github.py's reconcile pass.
From Aedan, in chat:
> "We also need to allow font scaling all the way up to say 200%."
TonapseOptions.TextScale multiplies every authored font size via
TonapseStyle.Fs(px). Default 1.2 (the "+20% across the board" pass, #257),
and clamped to 0.8-1.6 in both the setter and Load(). The options-menu
stepper walks that range.
On a Steam Deck 1.6 is still small. Take the ceiling to 2.0.
Raising the number is one line in two places. What it costs is everything the +60% headroom currently hides:
- Fixed CustomMinimumSize values do not scale. e.g. the menu button is
new Vector2(84, 30) in TonapseHome.BuildHeader while its label is
Fs(12); at 2.0 the text is 24px in a 30px box. Every hardcoded control
size that holds scaled text needs to scale with it (or become a content-fit).
- Chips, pills and row labels wrap differently. #366's two-line wrap path
in the song row label is tuned against a specific slug at the current scale;
row-label-wrap.json asserts it.
- The CONTROLS guide and the song grid are the two densest surfaces and
the most likely to overflow.
- The scale-140.json probe exists for exactly this - extend it (or add a
scale-200.json sibling) so the ceiling is a gate, not a hope.
Sequencing note: this lands after the single-screen layout (#439) or is worth re-checking against it - 200% text in half a screen is the case that actually bites, and testing it against the split layout tests the wrong thing.
None.
No comments.