Algorithms for high performance terminal apps
I've had the fortune of being able to work fulltime on a FOSS project for the last three plus years.
Textual has been a constant source of programming challenges. Often frustrating but never boring, the challenges arise because the terminal "specification" says nothing about how to build a modern User Interface. The building blocks are there: after some effort you can move the cursor, write colored text, read keys and mouse movements, but that's about it. Everything else we had to build from scratch. From the most basic button to a syntax highlighted TextArea, and everything along the way.
I wanted to write-up some of the solutions we came up with, and the 1.0 milestone we just passed makes this a perfect time.