Skip to content

fix: prevent terminal background seams at fractional display scales - #211

Open
davidbrochart wants to merge 1 commit into
coder:mainfrom
davidbrochart:fix/fractional-scale-background-seams
Open

davidbrochart wants to merge 1 commit into
coder:mainfrom
davidbrochart:fix/fractional-scale-background-seams

Conversation

@davidbrochart

@davidbrochart davidbrochart commented Nov 2, 2026 •

Copy link
Copy Markdown

I used Codex for this PR, here's what it addressed:

Fractional display scaling leaves visible seams between adjacent terminal cell backgrounds. For example, at 125% scaling a 9 CSS-pixel cell is 11.25 device pixels wide; drawing each background independently antialiases shared edges against the underlying theme color. This appears as vertical stripes across solid backgrounds.

Snap cell background and row-clear bounds to shared physical-pixel edges, including selected, inverse, and wide cells. Round canvas backing dimensions and resize comparisons consistently so fractional sizes do not trigger repeated canvas resets. Glyph positioning is unchanged.

Validation:

  • Added renderer regression coverage at device-pixel ratios 1, 1.1, 1.25, 1.5, and 2, including shared horizontal/vertical edges and rounded canvas dimensions.
  • A separate real-canvas pixel check reproduced mixed background colors before the fix and verified a uniform RGB background at all five scales afterward.
  • Formatting, lint, and TypeScript checks pass.
  • Full test suite: 379 passed, 0 failed.
  • Full WASM and JavaScript build passes (Zig 0.15.2).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant