Summary
Right now all the classicui thing is hardcoded and written by hand. This make is super hard to implement complex UI that we may want to do in the future based on the current model.
https://github.com/nicbarker/clay is a header only zero dependency layout engine based on C, which also provides an cairo based renderer, which is also used by classicui.
We might be able to reuse clay to simplify lots of rendering code, and we may even capable to do the onscreen virtual keyboard based on classicui in the future.