Sixel implementation tracker
Christian suggested in https://bugzilla.gnome.org/show_bug.cgi?id=729204#c38 that the sixel/terminal graphics work currently underway can be tracked with GitLab issues. I'm filing this one as a work tracker. Since the code is fairly substantial, I'm going to split it up into several parts that are more or less functionally separate. I'll file and link to an additional issue for each one with patches that can be reviewed independently. The parts I have planned are:
- Image class. New code in separate files, mostly.
- Ring class integration.
- Sixel parser. New code in separate files.
- Terminal/general integration.
The dependency graph looks like this:
graph RL; Ring["2. Ring integration"] --> Image["1. Image class (NEW)"]; Terminal["4. Terminal integration"] --> Image; Terminal --> Ring; Terminal --> Sixel["3. Sixel parser (NEW)"]; Tests["5. Tests"] --> Terminal;
The functionality on the development branch is a rebased version of Hayaki Saito's work with a few issues fixed. It's already working pretty well, and I'll try to keep it working and testable throughout.