stepan-mitkin / drakon.tech

Drakon.Tech is an IDE based on the DRAKON visual language
The Unlicense
64 stars 15 forks source link

Add colored backgrounds for the Dark scheme #8

Open stepan-mitkin opened 4 years ago

stepan-mitkin commented 4 years ago

Please add colored backgrounds to the different types of diagram icons for the second to last 'dark' theme, the one which is mostly yellow and black.

The colors should match the colors of the icons in the toolbar, so yellow for question icons, red for choice\/case icons, green for loop icons.

When I have nested loops on the same skewer, it is hard to tell how nested I am, even for simple skewers when all I have to identify is by the silouette alone, but colors like this will help make that apparent.

lw1990 commented 4 years ago

This was my suggestion weeks ago, so cool you're making the changes and put this on github hopefully so others might chime in to help. The potential for this technology is through the roof. I've often wondered what the 'perfect' programming language would look like, and I believe this is it (structured diagrams), it just needs more 'IDE' features to really shine and excel past text-based programming. Some of the features will be specific to diagrams though.

I have been compiling a list of dream-features as I've been working in the normal drakon editor, but many of them apply to drakon tech as well, here they are:

  1. Make the popup window where we edit a nodes text more feature rich, such as code autocomplete (based on the last compiled source). This will help with typing function names especially. Also, when writing function calls in the window, it would be helpful if the function parameter names showed up so we can type the parameters easier, like a normal IDE.

  2. Make a function to separate one node with many statements / function calls into individual nodes, and also a function to group selected nodes into one node.

  3. It would be helpful to have small icons next to the start node of a diagram displaying how many times the diagram is referenced elsewhere, how many internal function calls it has, and how many internal nodes (actions/questions/etc) it has. This helps display at a glance how important the function is and also how complex it is. It would be even more cool if there was a right click option in the diagram's start node that showed a list of functions which used the function you're currently in, that you could click and jump to.

  4. If a function call is written in a diagram node (question/action/etc) that doesn't exist, color the border of the diagram node border red or something to warn about this.

Final thoughts: people will say that there should be a way to get code to compile to a diagram for this to become mainstream, I say that if you make the IDE for manipulating diagrams good enough, no one will ever want to touch the source code again. I work every day on a large project (lua + js) in drakon editor, and while it is cumbersome to use because it lacks many features of an IDE like visual studio code, or similar, it is still much easier to read and reason about the code using diagrams.