Cascade » Blog

Hi y'all. Been working on the CSS engine and a debug system for it.

Here's a little video of that + some live UI editing.

This system is not unlike Chrome Dev Tools, but I also added zoom and UI resize to check for pixel-level errors and responsive behaviours. You can browse the html tree (not DOM!) to see how the selected element is drawn, which is very useful for debugging (helps to see how child-elements affect the parent's size, how wrapping works etc.)

I can also select the tree node and trigger a break on it inside ...
Read More →

Ok, just a quick update.

I've been working on 2 things. First, I started to nail down the html/css parsing and the engine. This will allow us to do the next demo (we're going to show working bootstrap.css + stuff like drag-dropping html code onto the canvas to create objects etc.),

And also - I want to finally make a thing that is going to allow our designer to modify/tweak the interface. And we'll use html to do that. He's used html/css for years and we're doing parsing for that anyway, so naturally ...
Read More →

Cascade - "Demo 2"

Stas Lisetsky  — 5 months, 2 weeks ago
Ok this is demo 2, where I try to create a web page or something like that.
So now you can actually create something and Cascade is starting to feel like an actual editor.

We planned for this demo to be a bit more polished, but at some point it's become a waste of time, and we decided to leave it at that and move on to working on next milestones.

So here you go: a short video, demonstrating some layer work, colors, gradients, css classes and many more little things.
(There were some file open issues - for some ...
Read More →

I just spent a week debugging (and understanding) color in Cascade. Premultiplied alpha, sRGB, gamma-correction - all that stuff. Citizen scientific calculator, lots of paper and my favorite Papermate Sharpwiter pencils.

Today we had a discussion with our designer about color correctness. Since our tool is for web - we have to be compatible with modern browsers, meaning I have to use non-gamma-corrected gradients.

I'm generally pro- incorrect stuff, if it looks correct. Take this example (familiar to many).

The individual colors on the second gradient may be mathematically right (hopefully! omg), but the overall gradient looks a bit uneven. The ...
Read More →

Engine In Action

Stas Lisetsky  — 7 months, 3 weeks ago

Just a quick update. Working on the css engine. Actually it is rather an interpretation of the css spec, than implementation.
I wrote the first version of it long ago. And now when I have UI working, most interaction logic is there, the tree manipulations work etc. - it takes very littele to make huge things work. It's like magic. 'Oh, I want this and that feature', and boom - it works.

This is what I'm working on now. This is a next mini-project that is used to test the features we want + will be used to show off ...
Read More →

Janus, The Two-Faced God

Stas Lisetsky  — 9 months, 3 weeks ago
Ok. First of all, there is more than one way to pronounce Janus, and I want you to specifically choose the latin version [ˈjaː.nus] when reading this post. This is how it's intented.
Just fyi.

When dealing with 2 different concepts, that are essentially just 2 ways of looking at the same thing - the image of the two-faced god Janus pops into my mind.
At my old job I wrote a thing that was visually comparing 2 sets of georgaphical data, and of course I called it Janus. It's just so nice to have an actual name ...
Read More →

The heart of Cascade it it's layout engine - the second most complicated thing in the app. (Scale tool has first place so far.)
I'd never written a UI engine before, but I decided not to read anything on the topic and just go in blind, relying on intuition only. The plan was to get the 'feel' for how things work and only then start the reaserch.
And after more than one year I'm still not there. We've build a quick prototype in about 3 months, and after that there hasn't really been much UI work ...
Read More →

Struggles, development and Bruce Lee

Stas Lisetsky  — 10 months, 3 weeks ago
Hey hey everyone! I'm not dead. Unfortunatelly had to take some contract jobs to support the development of this thing so progress has been very slow. But now I'm starting to feel like I'm back.

We (me and our designer, Vova) had some first public showing of Cascade. We visited a local Google-sponsored trade show just to see what's going on with the dev community here. It was really fun to explain that "no, this is not a cloud/js/subsription-model-payment project".

Anyways. You all (and me too) are waiting for updates on actual development.
Most ...
Read More →