Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit a6c3f92a538f2304c8bb9139f8bbb5a288466637
parent 76d905ae4f78889667e3597d52f4dc3865dfd2e7
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Fri, 25 Sep 2026 23:21:57 -0400

common: the geometricPrecision scope starts at 1.5dppx — the words split at 150 % and 175 % scaling too, and read clean at 1x and 1.25x (brand S3)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Diffstat:
Mcommon/components/themeTokens.test.ts | 11++++++-----
Mcommon/styles/tokens.css | 9+++++----
2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/common/components/themeTokens.test.ts b/common/components/themeTokens.test.ts @@ -162,11 +162,12 @@ test(":root sets the one radius and a Signal --brand-mark default; .font-display assert.equal(rule(".font-display").decls.get("font-stretch"), "112%"); }); -test("geometricPrecision is on the root and form controls at 2dppx and up only", () => { - // Hinted integer advances split words at DPR ≥ 2 on Linux ("Lig ht"); at 1x - // hinting keeps small text crisp, so the rule must not reach it. Form - // controls are named too: the UA sheet resets their text-rendering to auto. - const media = rule("@media (min-resolution: 2dppx)"); +test("geometricPrecision is on the root and form controls from 1.5dppx up only", () => { + // Hinted whole-pixel advances split words from DPR 1.5 on Linux ("Sig nal"); + // at 1x and 1.25x the hinted glyph fills them and keeps small text crisp, so + // the rule must not reach them. Form controls are named too: the UA sheet + // resets their text-rendering to auto. + const media = rule("@media (min-resolution: 1.5dppx)"); const inner = parseRules(media.body); assert.equal(inner.length, 1); assert.equal(inner[0].selector, "html, button, input, select, textarea"); diff --git a/common/styles/tokens.css b/common/styles/tokens.css @@ -134,10 +134,11 @@ (macOS, iOS, Android's subpixel layout). Form controls are named too: the UA sheet resets their text-rendering to auto, so a button's "Results" would still read "Res ults". - Scoped to 2dppx and up, where the gaps are: on a 1x Linux or Windows - screen hinting is what keeps 11–14px text crisp, and there the advances - were never split. */ -@media (min-resolution: 2dppx) { + Scoped to 1.5dppx and up, where the gaps are. Below it the advances are + still whole pixels, but the hinted glyph fills them: "Signal" reads clean at + 1x and 1.25x and splits from 1.5x (150 % and 175 % desktop scaling too), so + 1x Linux and Windows screens keep the hinting that makes 11–14px text crisp. */ +@media (min-resolution: 1.5dppx) { html, button, input,