Tamir Duberstein
37efa18be2
Avoid redundant terminal row clears ( #39075 )
...
## Why
The custom TUI buffer diff emitted `ClearToEnd` for unchanged trailing blank
regions, producing unnecessary terminal output.
## What changed
- Clear a row tail only when its cached contents changed or a wide glyph overlaps
the clear boundary.
- Keep blank cells marked `AlwaysUpdate` in the drawable region so viewport
invalidation still forces them to repaint.
- Preserve Ratatui's native cell diff behavior for the remaining updates.
## Testing
Add coverage for unchanged row tails, forced blank-cell updates, and shrinking
wide graphemes, including half-width katakana with combining marks.
GitOrigin-RevId: a9cac06f5624032a2b8c80a66c651cf3e85ec7fb
2026-08-17 20:43:12 +00:00
..
2026-08-17 19:11:34 +00:00
2026-08-14 16:33:28 +00:00
2026-08-17 20:02:50 +00:00
2026-08-17 20:02:50 +00:00
2026-08-17 00:32:09 +00:00
2026-08-14 20:23:49 +00:00
2026-08-17 16:46:26 +00:00
2026-08-17 16:34:21 +00:00
2026-08-13 04:08:23 +00:00
2026-08-16 05:59:34 +00:00
2026-08-01 17:43:03 +00:00
2026-07-29 14:01:31 +00:00
2026-08-14 20:23:49 +00:00
2026-08-17 19:59:22 +00:00
2026-08-17 16:58:24 +00:00
2026-08-17 19:59:22 +00:00
2026-08-14 16:33:28 +00:00
2026-08-17 20:06:41 +00:00
2026-08-13 00:34:39 +00:00
2026-08-17 19:49:47 +00:00
2026-08-14 20:23:49 +00:00
2026-08-17 19:34:05 +00:00
2026-07-21 19:17:18 +00:00
2026-08-13 00:30:08 +00:00
2026-07-21 14:25:18 +00:00
2026-07-15 01:07:29 +00:00
2026-08-17 19:11:34 +00:00
2026-07-22 23:45:45 +00:00
2026-06-15 19:25:54 -07:00
2026-08-17 04:01:37 +00:00
2026-08-17 19:11:34 +00:00
2026-06-17 19:52:43 +02:00
2026-07-23 23:13:59 +00:00
2026-08-04 16:53:33 +00:00
2026-08-17 19:11:34 +00:00
2026-08-11 19:16:15 +00:00
2026-06-05 08:32:07 -07:00
2026-06-05 08:32:07 -07:00
2026-08-17 20:43:12 +00:00
2026-08-14 20:23:49 +00:00
2026-08-17 18:35:54 +00:00
2026-08-17 16:50:47 +00:00
2026-08-16 03:14:17 +00:00
2026-08-16 03:14:17 +00:00
2026-08-04 16:53:33 +00:00
2026-06-05 08:34:34 -07:00
2026-07-29 03:50:00 +00:00
2026-06-12 17:14:27 -07:00
2026-08-13 04:08:23 +00:00
2026-08-13 04:08:23 +00:00
2026-08-16 01:31:22 +00:00
2026-08-01 17:43:03 +00:00
2026-08-01 17:43:03 +00:00
2026-08-16 05:59:34 +00:00
2026-08-17 17:10:16 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-06-24 03:10:20 +00:00
2026-08-11 19:16:15 +00:00
2026-06-26 19:27:31 +00:00
2026-06-26 19:27:31 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-07-19 16:50:54 +00:00
2026-06-08 17:02:36 -07:00
2026-07-18 18:00:51 +00:00
2026-07-12 19:18:37 +00:00
2026-08-14 20:23:49 +00:00
2026-08-17 17:10:16 +00:00
2026-07-17 23:07:40 +00:00
2026-08-05 20:44:03 +00:00
2026-08-17 04:01:37 +00:00
2026-08-14 20:30:30 +00:00
2026-08-17 19:59:22 +00:00
2026-07-21 19:17:18 +00:00
2026-08-17 17:14:46 +00:00
2026-08-17 17:14:46 +00:00
2026-08-17 20:43:12 +00:00
2026-07-29 13:53:15 +00:00
2026-08-03 23:05:35 +00:00
2026-08-13 19:35:22 +00:00
2026-07-21 20:13:08 +00:00
2026-08-14 20:59:34 +00:00
2026-06-18 15:06:23 -07:00
2026-08-17 17:10:16 +00:00
2026-07-20 15:44:37 +00:00
2026-08-16 19:48:07 +00:00
2026-08-16 05:59:34 +00:00
2026-08-15 17:30:13 +00:00
2026-06-10 11:24:29 -07:00
2026-08-15 05:53:54 +00:00
2026-08-15 17:30:13 +00:00
2026-08-14 20:38:52 +00:00
2026-08-14 20:38:52 +00:00
2026-08-01 17:43:03 +00:00
2026-07-29 13:53:15 +00:00
2026-08-17 20:06:41 +00:00
2026-07-27 17:59:06 +00:00
2026-08-14 20:23:49 +00:00
2026-06-05 17:23:45 -07:00
2026-08-13 00:30:08 +00:00
2026-06-10 17:55:49 -07:00
2026-07-29 14:01:31 +00:00
2026-08-13 04:08:23 +00:00
2026-07-28 20:12:13 +00:00
2026-08-04 19:05:45 +00:00
2026-08-15 17:30:13 +00:00
2026-08-14 20:30:30 +00:00
2026-07-06 16:33:13 -04:00
2026-07-08 12:17:58 -04:00
2026-08-14 20:23:49 +00:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-07-28 19:58:25 +00:00
2026-07-29 14:01:31 +00:00
2026-06-11 09:23:08 -07:00
2026-06-11 18:16:39 -07:00
2026-06-22 04:25:07 -07:00
2026-06-22 04:25:07 -07:00
2026-07-29 14:01:31 +00:00