2026-07-31 15:25:29 +08:00
|
|
|
# Composer draft scrolling (14-line cap, two text layers, one scrollport)
|
2026-07-31 11:53:04 +08:00
|
|
|
|
|
|
|
|
## At the start of the draft
|
|
|
|
|
|
|
|
|
|
- draft overflows the capped box: true
|
|
|
|
|
- visible lines: 14
|
2026-07-31 15:25:29 +08:00
|
|
|
- the textarea holds no scroll offset of its own: true
|
2026-07-31 13:13:50 +08:00
|
|
|
- all three layers wrap at one width: true
|
2026-07-31 15:25:29 +08:00
|
|
|
- scroll offset: 0px
|
|
|
|
|
- caret and glyphs stay level when the offset changes: true
|
2026-07-31 11:53:04 +08:00
|
|
|
- first draft line is on screen: true
|
|
|
|
|
- last draft line is on screen: false
|
|
|
|
|
|
|
|
|
|
## Scrolled to the end of the draft
|
|
|
|
|
|
2026-07-31 15:25:29 +08:00
|
|
|
- offset moved: true
|
|
|
|
|
- caret sits on its own glyphs: true
|
|
|
|
|
- caret and glyphs stay level when the offset changes: true
|
2026-07-31 11:53:04 +08:00
|
|
|
- first draft line has scrolled out above: true
|
|
|
|
|
- last draft line is on screen: true
|
2026-07-31 12:12:54 +08:00
|
|
|
|
|
|
|
|
## Draft ending in a newline, scrolled to the end
|
|
|
|
|
|
2026-07-31 15:25:29 +08:00
|
|
|
- caret sits on its own glyphs: true
|
|
|
|
|
- the draft's own last line is on screen: true
|
2026-07-31 16:07:55 +08:00
|
|
|
|
|
|
|
|
## Right after pasting a long block at the end
|
|
|
|
|
|
|
|
|
|
- the composer scrolled to the caret it left: true
|
|
|
|
|
- caret and glyphs stay level when the offset changes: true
|
|
|
|
|
- the pasted block's last line is on screen: true
|