Terminal emulators, in general, are stuck in time and it’s not their fault.
It’s high time for terminals to embrace modern capabilities, especially regarding graphics rendering.
TUI libraries are trying to fill this gap and some terminals have already made attempts in this direction, but to do it right, we need to define a new specification that could be widely adopted. This specification should properly define how to render render images and assume vector graphics as a possibility for enhancing visual elements.
Having a well-defined API could allow applications to confidently expand their capabilities beyond text rendering, knowing that this effort will be widely supported. Most terminals already utilize GPU rendering, so the transition wouldn’t be a significant challenge for the most widely adopted ones.
Imagine if terminals could support Dear ImGui components or render PDFs. This capability would enable developers to create portable applications without having to resort to different implementations based on each OS’s graphics offerings.
We’ve learned a lot from progressive web apps and browsers, and it’s time to bring some of these advancements back to terminals.
We have smart people working on new term implementations, @Migueldeicaza and @mitchellh are good examples to start. If only they partnered into this effort we could be living in the future soon.