UI layouts are always a hassle. Whatever layouting system I've made, I was never happy with it 100%. Some lacked simplicity, others lacked control. Recently I came back to a method I call RectCut. It is simple, and it gives you control for very complex layouts.
Just the default ICU Unicode data library is some 20MB. We don't need most of those data and since we are anal about executable size and also about dependencies, I implemented all of
With grapheme cluster break detection algorithm in Unicode you can detect whether a caret can be placed at given offset so that it won't break text structure. For example in a text editor
We've just had an interesting discussion with rxi about how should ctrl+right(next-word-boundary) and ctrl+left (previous-word-boundary) work in code editors. Here are some musings from that discussion. What others doI'll be
Most libraries prefix their symbols, some do not. Those who don't feel easier to use, but clashes can ruin your day. Here's my take on the solution.
Runt is a massive exercise for me. It's a challenge to design all the little code pieces into one coherent orthogonal sculpture. I think I might have learned something new just now.
In Runt's UI I had a quite specific requirements on how I needed the information about the focused view to be stored. The UI combines retained and immediate UI. That and some specific features of Runt make for quite specific requirements that I didn't anticipate at the beginning.
It seems that there's a very strong pattern in how I implement features for Runt. I seem to always start with the hardest parts, and leave the easy parts to the end. Over the time this resulted in quite a lot of code that is to be polished and integrated.
Along obligatory history we all know, the documentary also contains interesting bits on how the data and tiles were optimized, and how the effects worked.
Fed up with dynamic scripting languages, I decided to give a shot to statically-typed embeddable scripting language. I call it Ri.