recently i tasked myself into creating a bash TUI library/framework, thinking it would be as easy as taking good old pascal in late 1990s and just drawing on screen using ascii. Boy was I mistaken!
PC TUIs have the advantage of direct access to the character buffer. Doing it indirectly with control codes is much more involved when it comes to tracking terminal state.