The 2024 Wheel Reinvention Jam just concluded. See the results.

[Approved] Cascade - 2d graphics editor



Ok time to get out of the shadows.
I'm with HH from day 1, and started my project about a year ago.

It started as a TTF rasterizer and eventually become a proto-editor.

This project is super long-term and will eventually become (hopefully) something that can be on par with something like Photoshop.
(in terms of it being a de-facto standard for graphics stuff).

I'm lucky to be working on it with an actual pro graphics designer who is as tired of buggy and slow tools as we all are.

After a year the 'app' is still super early in development, partly because this is my first serious project and I try to really understand whats going on, so I tend to spend hours and hours on simplest things.

--

I plan to develop this is stages.
Stage one - a simple 2d editor for interfaces and web (yes, web! Boo! I'm an ex- webdev =), to get some skills first, learn the theory (images, colors etc), nail the interface engine and so on. So now it's a sort of a browser with editing capabilities.
I really liked the choice to start with HTML stuff frankly because web pages are great test cases for interface layout engine - and man, there's a lot of these test cases =)
Also I can make it into a real browser after I'm done.

Stage 2 - ship this editor, and start the next iteration - something more Photoshop-like.

---

The dev starts getting serious, so I wanted to start sharing and discussing stuff. (It was all noob boringness up to now)

Right now the goal is to get the best font system in the world.
I already have a thing that renders grayscale-aa oversampled glyphs with opengl (nothings style)
and I really want the rgb-AA super-smoothness (seen on Antigrain.com), but drawn entirely with gpu.

So if any of you want to chat about fonts, UI systems, let's do it.

I'll try to share non-boring stuff I encounter.

This is wip UI layout. Not a program screenshot! But this is how things are probably going to look. And they sort of do already.
link
The app itelf is still not public (moslty for fear of embarassment!)


Edited by Andrew Chronister on Reason: approved tag in header
Looks promising, great job!
I'm very impressed by your UI, by the way. What graphics libraries / IDE are you using for the project?
Thank you. Sorry, I've not been checking the forums lately.

I use no libraries to draw graphics. It's my own ui engine + opengl layer. I do use, however, the Freetype lib and stb image loader, so it's not completely a 'no library' thing.
I use visual studio for debugging, and severely customized sublime text for editing (my own plugin for vim-like editing)

There's nothing to post about the program itself so far. It's mostly 'getting stuff done' work. Nothing really super-interesting.
I do plan to share how some of stuff works in near future : my UI engine debugging tool (with breakpoints, stepping etc), and font rendering system stuff (doing some dsp research for that now).

Edited by Stas Lisetsky on
I'm afraid that we like this idea so much, we've approved Cascade ;-)

Congratulations, Stas, and welcome to the family. Miblo will send you an email to formally welcome your project.
Thank you very much! I'll try to post something interesting about development soon.
Struggles, development and Bruce Lee

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 recent thing I dis was the scale tool.
It's almost funny how bad tools are in many modern editors. For instance - to scale something you usually have to aim the cursor into a 10x10px scale handele, which is nuts. Or - if a tool is universal and does both scale and move operations - you can miss the scale handle by 1 px and move the object insead of scaling. This all makes it almost impossible to work fast.

What we did is a hotkey-activated set of tools. Each tool does only what it's supposed to.
So for scale tool - we split the entire screen into large zones that activate the scale hanldes, so you can work with 1px-thin slivers like that:


The tool switching is super fast and becomes intuitive very quickly. Plus the tool always behaves the same. It's function does not require precision or advanced motor skills. You just scale stuff.

So that's that. Our designer is working on html-tree and css rules representation. This is top-mega-secret WIP screenshot. (Ironically, made in Figma - a somewhat crappy cloud-based design tool. But it's still better for UI design then, say, Photoshop.)


And yes. What does mr. Bruce Lee have to do with a UI editor?

This is out big thing - we've drawn Bruce (with simple shapes). And you can actually export him as html. So a bunch of valid-html divs, that look like Bruce Lee is pretty cool. He's also been a good test case for all the features that are needed to draw him.We'll work on that some more and later, animate him with js (make even with IK, who knows) and Bruce will live on our promo page as a demonstation of 'endless possibilities' :)

Bruce Lee, Ladies and gentlemen!



And here's him in chrome. All styles are inline by default. So the code looks a bit messy.
And please nevermind the decapitation. Some simple bug somewhere... need to fix that. But I really want to make a post, so you get to see the failures as well. Not just bragging!



That's it for now.

Dont worry, next post will be soon. I already started writing it. it will be more about programming and some cool implementation details! Until next time.

And here's a piece of what I call debug art. Some multiple object rotation debugging.
Hey Stas,

Great looking update to Cascade. Worth a bit of a wait :)
Could you perhaps repost it on the project pages themselves somewhere as a blog or forum post? I think people are more likely to look for Cascade updates there.

Thanks :)
This looks like a great project for HMN. I especially love the debug art and decapitation bugs :-)
This is looking really cool - can't wait to give it a go :D