How Complex Could a Terminal Program Go? [closed]

It's not a matter of complexity, it's a matter of data representation and resolution. A classic terminal is text only, where a full GUI is pixel based, drawing any text with pixels.

In classical terminal, only characters can be displayed. It is possible to do full "graphical" menus and even mouse gestures in just text, but it's somewhat awkward sometimes in comparison to a full GUI, but still very usable and can be very complex.

However, displaying images like in gimp can't be done in just text. You can represent images with ascii art, but that's not quite the same, and the resolution just isn't there.

Similarly, you could implement something like gimp in a raw graphics frame buffer without the full GUI but still get the full advantage of pixel representation and resolution, but it would be missing things like window manipulation, so you might be restricted to a single window with a single application, or you'd have to reimplement the full GUI. Also, the GUI toolkit gimp is based on would have to be ported to the framebuffer as it was designed to use the support available in the full GUI.