Forum

How to deal with multiple vl docments at the time of sharing a project

Hello guys
I am trying to build a compiled simple app that I made, but its taking forever …
And looking at the log I saw " Fuse, Stride, MQTT " and many thing that I was not using on my this app, but they are all dependencies that I use on a Vl.Document with many “helpers” with many other dependencies

myHelpers.vl have Fuse Stuff, MQTT, OpenCV, and random snippets of codes for simple uses, like animations using dampers and lfos, my own camera node, hex->String String->Hex , and may “simple” stuff

I can try to cut out the parts that I do not need from my helper document, and save it a myhelperSmall and use this new document on my project, not sure if this is the best way

Or is there a way to clean a VL project for sharing to someone, with only the nodes used from a different document, and not the whole secondary document?
At the moment I have a project inside a folder c:\myproject\main.vl and from there I am calling a few helpers files from other locations, lets say d:\stuff\vl\helper\networkingHelpers.vl
If I need to share the folder of the project on a bitbucket repo, I need to include inside it a copy of the other location…

And at the same time that other file is being used by other projects, like the old “packs” folder…

I am not insinuating a error or a missing feature, for sure I am doing something wrong here, I would like to know what are the best practices for dealing with this situations

Hola Andrés, this is not VL related so can be applied for any other language, what I would do is creating smaller categorized helper files so that instead of AndresMegaHelpers.vl you have Andres3DHelpers.vl, AndresImageHelpers.vl and so on, put all those files in a folder, the more you organize this the better, and I would also argue that you could go all the way down to create a file for any helper function you have.
Then in AndresMegaHelpers.vl you can reference all those files, and at that point you can create even Andres3d&ImageHelpers.vl or AndresMyProjectHelpers.vl etc.referencing just what you need, then you can use those files in your projects or reference the basic helper files.
I am not a C# expert so this is a basic idea, maybe there is some advanced and more specific way to do it in C#.
Also a feature request may be be able to include/reference a whole folder.
S.

1 Like

Hey IO, you are correct, this is a general question, I try t keep my “helpers” files as small as possible, inside corresponding categories. In the old beta I just have all of them inside a packs folders and I got all of them on any running patch.

Like
/animation/coolmovmentfx.v4p
/animation/asdfCoolCamera.v4p
/textures/TextureConverter.4pv
/network/MqttHelpers.v4p

I can do this in VL… but now I need to manually add each dependency, is there any workaround to make this process faster ? I like to create new documents on the fly and try out new things, that require many of the other documents, and its time consuming to manyaly add all of them, It was less time consuming to add just one big helper

I can have a “base” patch from where I start doing this, but I just realize that after saving this “basepatch.vl” to a “niceAnimation.vl” and I try to export the app, I use to have several error due to the file change… I can “solve this” by keeping the same main.vl name and just using different repos for each “idea”… so far I guess is the best way no ?

As io says, you can have one file called AllHelpers.vl and reference that one. It’s an empty file that just references the small helpers and has “forward” enabled for each of them…

@tonfilm it would be cool to find a way to “extract” the nodes referenced at the time of sharing a document…
Let say I wat to share you myproject.vl that reference “mysmallhelpers.vl” that is on the same folder, that reference 3 o 4 separate documents on different locations … Is there a “easy” way to find those nodes and copy them to a local folder /myproject/myproject.vl + mymqtthelper.vl + myotherhelper.vl …

I think I can automate that with some kind of find+copy script