The initial idea for Cascade was to make a lighweight css engine to make UIs for web.
After struggling with this idea for quite some time (and even achieving an almost-working prototype), we decided that this has been a bad idea all along. It's unnecessarily complicated. Too many standards, too many things to support. The project was intended to be lightweight, but was quickly growing into a full-on browser. At this point a more logical step would be to either go web-all-the-way, or drop the idea.
We did not want to give in to the world of web. Frankly, the project started to look too big and too niche at the same time, plus it's unlikely that we would have succeeded - existing web browsers are much better web editors, they already support the layout, styles, js scripting, God, even shaders. Even if we managed to realease a very simple editing tool, it would likely be criticised for lack of features that most chromium-based projects support out-of-the-box. We can't claim something to be 'for web', and not deliver a product, compatible with at least a large portion of web standards. Which is an insurmountable task for a 2-person team.
So we decided to change the idea. Now, Cascade is a simple, general-purpose vector editor with deep focus on procedural/parametrized/automated stuff. We could not have been happier with this decision.
This is only the beginning. I'll be posting more information soon.
I will tease the next post - the 'semi-immediate mode' UI system.
Many game developers talk about how making the right tools for their artists can greatly increase the quality of the design, because people can try out ideas, very fast. They can experiment, be creative etc.
That's waht I did for our new UI system. I made a language + engine for UI layouts. Not unlike css, but much, much simpler both syntax-wise and under the hood. (I know first hand how complex the css standard is. And I try very hard to avoid such complexity.) It's a simple format, hot loadable, checks errors on the fly. And the most important thing - the authoring of the UI can be done by the UI designer.
I will provide more datails about this system in the next post.
But that's it for now. Thank you, and I'll see you soon!