Terminal emulator is a class of software that takes VT100 or VT220 compatible data stream and converts it to visual format.
Hardware terminal did this conversion in actual hardware and then displayed the result on the same device.
en.wikipedia.org/wiki/VT220
I've always thought it would be fun to build a Borland style text mode IDE type thing for VT100 terms.
I started an editor for VT100 back in the 90's that looked like Microsoft's Edit with drop down menus and the like, but dropped it when I was not dealing big iron anymore.
Trevor Flowers has created 1/3 scale replica of the 1978 DEC VT100 computer terminal, complete with functional Teensy 4.1-powered keyboard
pjrc.com/13-scale-vt100-keyb…
ICYMI: how does your Linux terminal actually paint text in color?
Three programs are cooperating to produce that prompt: a graphical emulator on top, a kernel object called a pty in the middle, and your shell at the bottom. None of them know about color. The bytes "ESC [ 3 1 m h e l l o" travel through unchanged, and the emulator on the other end paints "hello" in red because it's secretly emulating a DEC VT100 from 1978.
The first text of shell series at The Linux Field Guide pulls it apart: lfg.popovicu.com/series/the-…
It will help you understand what each one of these pieces of software does when you "work in the terminal".
What does "echo -e '\033[31mhello\033[0m'" do in your shell?