mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 11:06:16 -08:00
The narrow factors were themselves under-estimates. `r` was assigned 0.38 while measuring 0.389 em here and about 0.49 em in the environment that reported it, so a 54-`r` line estimated 1067px, rendered 1381px there, and was neither wrapped nor clamped. The guard test added in the previous commit did not catch it only because no sample held a long narrow run. Root cause: the SVG names `DM Sans` and nothing guarantees it is installed, so each host resolves the fallback chain differently and renders the same line at a different width. No estimate can be both tight and correct across environments, so the factors now sit well above the widest observation — every sample over-estimates by at least 1.25x locally, which covers the wider measurements reported in review. The guard test gains the cases that were failing (long `r` and `i` runs, punctuation, digits) and its failure message says to raise the factors rather than suggesting the test is wrong. The word-wrap test is rewritten as a property — whole words, in order, each line within budget — because pinning exact break points made every future calibration look like a regression. 190 tests passing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>