Commit Graph
14 Commits
Author SHA1 Message Date
Anthony Kim 3113eaefaa Add failing repro: shared-atlas garble across terminals (vscode#322756)
Two terminals with equal configs share one TextureAtlas (CharAtlasCache).
When the atlas merges pages it raises a consume-once clear-model flag
(TextureAtlas.beginFrame); only the first terminal to render consumes it and
rebuilds its vertex model. Every other terminal keeps stale texture-page
indexes/coords and draws wrong glyphs on its next partial render even though
its buffer is intact.

The test churns terminal A to force merges, then gives terminal B a tiny
partial update: B's untouched header row garbles (signature diff ~130/255 vs
tolerance 14) while B's buffer still reads HEADER_REF. A DOM-renderer control
runs the same workload without GPU acceleration and passes: the corruption is
exclusive to the WebGL path.

RED on current code by design; the fix lands separately.
2026-07-04 12:48:26 -07:00
Anthony Kim a56dc02cc7 Fix scroll off-by-one in synthetic flood; guard repro against buffer scroll
generateColoredAsciiFlood emitted a trailing \r\n after its final cell, so a
flood whose last line lands on the bottom row scrolled the screen. In the
alt-buffer repro this destroyed the pinned header row in the BUFFER, making
the 255/255 signature diff a content change, not renderer corruption. The
single-terminal merge path is actually healthy: with the scroll removed the
same 30-chunk merge-heavy workload renders the header with zero drift.

- generateColoredAsciiFlood: no linefeed after the final cell
- WebglReproExperiment: now a green guard; asserts row-1 buffer text first so
  a content bug can never masquerade as corruption again
- WebglVisual: accurate comments; erase rewritten lines so leftover prefill
  text doesn't look like corruption
- WebglSingleTermStress: replace stale EXPECTED-RED comment (test passes)
2026-07-04 12:46:27 -07:00
Anthony Kim e3399b1db8 webgl stress + glyph-integrity tests for atlas merges; repro vscode#322756 single-terminal garble 2026-06-28 18:27:37 -07:00
Jörg Breitbart 066c227436 disable firefox webgl 2026-04-28 21:10:52 +02:00
Jörg Breitbart 32ad3a18bf disable wrong webgl tests 2026-04-28 20:42:38 +02:00
Daniel Imms eccbc60aa0 Migrate to tsgo
Fixes #5689
2026-02-13 06:59:24 -08:00
Daniel Imms 6a3d2480e0 Get playwright tests reliably passing in wsl 2026-02-01 08:35:49 -08:00
Daniel Imms faed3e7c80 Move playwright tests to use project references 2024-07-07 09:06:26 -07:00
Daniel Imms 1f11c7e46c Get sources building with esbuild 2024-07-05 08:46:15 -07:00
Daniel Imms b7988bf00a Upgrade playwright tsconfigs to use ESNext
This ends up outputing the required object destructuring that's needed by
playwright, see microsoft/playwright#8798
2024-07-03 04:31:34 -07:00
Daniel Imms daa2440a40 Fix playwright project names 2024-07-02 11:42:39 -07:00
Daniel Imms 9b62849bb8 Fix lint 2023-12-19 08:23:21 -08:00
Daniel Imms 66b426311e Fix compile 2023-12-19 08:21:18 -08:00
Daniel Imms add7f8133e Start @xterm scope with core and webgl addons 2023-11-01 06:44:26 -07:00