Does anybody have any examples of version controll...
# thinking-together
k
Does anybody have any examples of version controlled projects that use visual programming?
g
Can you be more specific about what you want and why? I am interested in the atomic structure of VPLs, which, I don’t think satisfies the commonly-held notion of what a VPL is. I have various old POCs/WIPs/etc. in github, like the beginnings of a Visual Shell (towards replacing Bash?) and a Drawio->SVG groker, but, I haven’t checked if bit-rot has set in.
k
k
@guitarvydas Examples of visual code being used in a project, e.g., Max has some code on Github of different patches evolving over time Despite finding repositories that use languages like Max, there doesn't seem to be much issue tracking around these languages. The reason why I'm interested in the issue tracking is because I'd like to see how "buggy" visual programming might be.
@Kirill Chernyshov Interesting, thanks! Do you have example output of Darklang (e.g., code made with Darklank pushed to github)?
k
Darklang comes with its own version control. I'm unsure if it is possible to see the form it uses to store changes
u
It's been a big problem is basically any vpl I've used, which is ironic because the data structures that make the vpls are often just as easily diffable as code.
You can take a look at src/generic.js in https://gitlab.com/ulysses.codes/nodysseus to see the built in nodes and how I've bugfixed over time.
g
hey @Kalvin, just shared Flyde here yesterday. I'm afraid it won't help you with buggy flows (yet!), but its visual flows are pushed to Git just like any other piece of code - https://github.com/FlydeHQ/flyde/blob/main/examples/hello-flyde/HelloFlyde.flyde
u
@Gabriel Grinberg we should chat!
g
@Ulysses Popple for sure!
j
I'm very interested if anyone has found a way to visualize changes in a visual programming language in the same medium that is used for the code. Diff, for example, is text-based. Has anyone come up with a visual equivalent to Diff for use in their visual language? Or are we all serializing and then doing version control on the text files?
g
@Jason Morris This is how a git diff looks like now on Flyde's VSCode extension. I plan on making the left and right pane distinction clearer, and more importantly, highlighting additions and removals in green and red respectively. "hidden" modifications will be in blue with an easy way of inspecting what changed (for example - an internal node configuration) Wdyt?
u
Has anyone come up with a visual equivalent to Diff for use in their visual language? Or are we all serializing and then doing version control on the text files?
Instead of serializing, I'd json diff the data structures, but that's still text-based. However if the changes are small, then viewing a commit tree is a lot easier embedded in a VPL, and looks very similar to
git log --graph
w
I'm surprised we don't see this more. Diffing data structures is, in some respects, easer than text — alignment is easier. Movement can be easier, and it's not like text-diff manages this well. Changes to indenting, for instance, is rarely modeled. I guess one advantage of text is that the output of a diff or merge-conflict is still text, malformed for certain tools but okay for the editor. In contrast a data structure editor, needs more work to be diff-aware.