Files

2.2 KiB
Raw Permalink Blame History

QA 10 — Scroll & copy_region

How to run

emacs --no-init-file -l qa/10-scroll/test.el
EMACS_GPU_DISABLE=1 emacs --no-init-file -l qa/10-scroll/test.el

Press s to start the auto-scroll demo, S to stop.

Checklist

TODO 10.1 Scroll down — no artifacts on new content

Press C-v or C-n repeatedly. The text that slides up must not leave ghost pixels. New content at the bottom must appear cleanly. Failure: horizontal bands of garbage at the scroll boundary.

TODO 10.2 Scroll up — same as above but reversed

Press M-v or C-p. New content at the top must appear without artifacts. Failure: garbage lines appear at the top when new content is drawn.

TODO 10.3 Auto-scroll — smooth and continuous

Press s to start the timer-based auto-scroll (1 line per 60ms). The text must slide smoothly without jumps or blank frames. Failure: text jumps 23 lines at a time, or a blank frame flashes.

TODO 10.4 Horizontal scroll — hscroll, C-e to a long line

Press C-e on the long-line section to hscroll to the end. The content must slide horizontally without artifacts. Failure: garbled characters or wrong content visible after hscroll.

TODO 10.5 [Metal] Scroll easing — EASE_OUT_QUAD

Run with: (setq gpu-scroll-easing 'ease-out-quad) then scroll. The scroll must decelerate smoothly near the target. Failure: scroll is instant (easing not applied) or overshoots.

TODO 10.6 [Metal] Scroll easing — SPRING

Run with: (setq gpu-scroll-easing 'spring) then scroll. The scroll must overshoot slightly and bounce back. Failure: no overshoot visible, or motion never settles.

TODO 10.7 Overlapping copy_region — 1-line scroll

Scrolling by exactly one line means src and dst regions overlap. Content must move correctly (scratch-texture bounce path used internally). Failure: the overlapping region shows corrupted or wrong content.

TODO 10.8 Shift on insert — glyph shift correct

Go to the middle of a content line and insert a character. Text to the right must shift exactly one character width. Failure: text after the insertion point overlaps, or a gap appears.