In wondering about math fonts in the terminal, I started to realize that you can't really have pixel-perfect graphics in the terminal:
The terminal also has weird features in that you have to use ansi escape sequences to change colors and move the cursor around and such (in the cells) in the terminal.
I am wondering why these decisions were made for the terminal. Why the terminals seem to have such limitations as everything being done with ansi escape sequences, divided into lines and cells for characters rather than pixels, limit to only a small color range, strange event handling with the mouse using ncurses, etc. I understand that early computers had limits of colors, so they might've been limited to 8 colors (or even just 2 colors black and white, or black and green or whatever). But that was because of the lack of technology at the time. Now modern terminals have at least 256 color support, with some having true color support (like 16 million colors). Some even allow you to have images in them now, so it's almost at the point of being pixel-perfect in some cases. This thing even allows you to display PDFs in the terminal (seems like this is because of sixels).
Wondering if these decisions were made because it would have been a problem in some way to make such a "terminal" application using pixel-level manipulation, and other things, like the browser. That is, wondering if there is a reason why the terminal application shouldn't just be the same capabilities like a browser, at least rendering and interaction wise.
Eventually terminals started to need to have complicated UIs more than just basically logs of text. So you get things like this or this (first two images below). Now you're getting terminals that have full graphics support, so they're basically like desktops or browsers (last image below). So I'm just wondering why these limitations are placed on the terminal essentially.