Is that why you thought it would be easier? You just update the entire page on every action, and it takes care of the details of coming up with the minimal terminal codes?
----
This is only tangentially related, but for those interested in programming in obscure languages, I recently discovered ble.sh which is a 30K+ line TUI for bash written in pure bash! It does basically what the fish shell does, so it has a terminal rendering library, utf-8 decoder, terminal decoder, bash parser with an AST, etc. all in bash.
https://github.com/akinomyoga/ble.sh
Some details from the author on this wiki page:
https://github.com/oilshell/oil/wiki/How-Interactive-Shells-...
Other big shell programs:
https://github.com/oilshell/oil/wiki/The-Biggest-Shell-Progr...
Latest Oil release makes progress on running these: