Commit Graph

16 Commits

Author SHA1 Message Date
Nicholas Marriott
8c00d168f3 Merge image_merge into 4902-image-support
Replace SIXEL retention and the per-client cache with the global indexed-image cache from image_merge. Adapt its backend callbacks for Kitty and test palette quantization through both input protocols.
2026-10-14 15:39:59 +01:00
Nicholas Marriott
77449c0e5c Remove some code that will not be needed. 2026-10-14 15:12:45 +01:00
Nicholas Marriott
8856c1e669 Merge image_merge into 4902-image-support
Keep retained indexed SIXEL data and the bounded per-terminal output cache.
Use the cleaned-up decoder and RGBA encoder from image_merge, including
parser memory limits, pixel-size handling and references for pending output.
Match retained SIXEL scaling to the shared image cell footprint and emit
black definitions for undefined colour registers.

Keep Kitty input, output, layers and placeholders. Adapt backend selection,
flags, drawing and cleanup to the callbacks and Iscrl capability. Keep the
pane-status repaint with the requested XXX comment.

Replace the elaborate fallback with image_merge's implementation, removing
its caches, sample structures, quadrant/sextant features and ACS additions.
Keep the image_merge regressions and adapt the Kitty tests to the simpler
fallback. Use skip status 101 and disable Python bytecode for image tests.

Small changes still outside image_merge:
- Guard zero-height synchronized redraws before bit_nset.
- Select the image backend when the tty opens.
- Enable imagescroll by default for Kitty and Ghostty.
- Keep the explanatory manual-window pixel-size comment (comment only).
- Keep the additional SIXEL fixtures and visual test tools.

Validation: image-enabled and disabled builds; 31 image and 13 related
regressions pass normally and under ASAN. All image tests skip without
images. Focused palette, parser, scaling, transparency and Kitty layer
tests also pass after the retained-output adjustments. Diff checks clean.
2026-10-14 14:28:22 +01:00
Nicholas Marriott
d4d065c76c Use imagescroll feature. 2026-10-14 13:55:06 +01:00
Nicholas Marriott
1de5f662cb Image regress tests. 2026-10-14 12:44:53 +01:00
Nicholas Marriott
1e294b175f SIXEL draw bits. 2026-10-14 11:40:55 +01:00
Nicholas Marriott
d68e56f130 Some of SIXEL output path. 2026-10-14 11:04:00 +01:00
Nicholas Marriott
8add11f40a SIXEL from image code. 2026-10-14 09:06:10 +01:00
Nicholas Marriott
17ecceb153 Image resizing code. 2026-10-14 00:30:44 +01:00
Nicholas Marriott
e501ea12c7 Images and copy mode. 2026-10-14 00:23:36 +01:00
Nicholas Marriott
c53fd94ffd Fallback image drawing. 2026-10-14 00:08:37 +01:00
Nicholas Marriott
fbbecde236 SIXEL image placement. 2026-10-13 22:43:16 +01:00
Nicholas Marriott
6cebf96d9c SIXEL to image conversion. 2026-10-13 22:11:16 +01:00
Nicholas Marriott
4b06bdd63b Merge master into 4902-image-support 2026-10-13 21:18:26 +01:00
Nicholas Marriott
2c64f131a9 Some more image redraw bits. 2026-10-13 21:05:08 +01:00
Nicholas Marriott
e9fffcc7e9 Image grid infrastructure. 2026-10-12 19:20:42 +01:00