-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introducing New Skov #12
Comments
Skov went on a diet! I abandoned the pyramidal shape and went for a representation that is much slimmer and easier to read. I had this idea months ago but at the time I couldn't find a way to make it look better than the pyramid. Also, the graphics don't use bitmaps anymore. I now draw everything with OpenGL. This will make future changes much easier. The only drawback is that I didn't manage to enable antialiasing, as you can see if you look closely. |
That looks great! Not sure about the anti aliasing. Should be able to figure that out since it's not much OpenGL initialization code but I haven't had time to look yet. |
How does it handle layout for the second example if "half" was actually called something long like "divide-that-nice-number-by-two"? |
Rocking! |
I went to download the latest Skov and the website wasn't working any more!? Are you still hacking on this? I'd love to help and/or try it again and/or merge some of your code if it's useful. |
Hi @nicolas-p ! Just checking in on your project, I'd love to help out if I could. Hope you are well! |
Confirming that the site doesn't work. Even via Wayback Machine, most parts are either broken (missing pictures) or outright 404 |
I spent the last three months doing massive changes in Skov.
One of my original principles was that it should be as easy to reuse a result several times as it is to use it only once, hence the use of the common 'nodes-and-wires' approach. If you want to connect the output from one node to the input of another node, you draw one wire; if you want to connect the output to two different inputs, you just draw two wires.
I progressively realised that this is bad for two reasons:
So now one node can send its data to one other node only. To reuse a result in several places, you have to name it, and use the name in several places (what almost every programming language is doing). This is a betrayal of my original principle that I mentioned above but the benefits are huge. We don't have a graph structure anymore but a tree structure. Instead of being very hard to layout automatically, it becomes trivial. Everything becomes simpler to manage, including import/export to text files.
New Skov looks like this:
I will publish a new binary release very soon. In the meantime you can build Skov from Factor yourself by following the instructions in README.
Two features that were present in Old Skov have yet to be re-implemented:
These will have to wait for the next release.
The text was updated successfully, but these errors were encountered: