Because I'm slightly unhinged and like to punish myself, I've been working on an application that goes through my AddonPackages and tries to sort them into subdirectories based on type. Plugins, Looks, Clothing, Hair, Assets, and then regular old "scenes".
The goal is basically to try to weed out all the sample scenes that come with looks and clothing and whatnot, and have the actual playable scenes exist in their own directory.
The problem I'm slowly realizing is that there just doesn't seem to be a good, quick and dirty way to determine what a .var is that is 100% accurate.
For example, it's trivial to infer that it's clothing/hair/plugin if that's the only "resource type" specified in the meta.json file. But, once a creator adds a scene, or audio, or an extra asset, this becomes *much* more difficult. I can still generalize for a lot of packages, but not 100% of the time.
As such, my suggestion would be to add a new tag to the meta.json for packages that tells you flat-out what kind of resource it is. For existing packages on the hub - this could be done automagically if downloaded through the hub browser by modifying the package JSON on-the-fly and inserting the necessary tag. Or, I suppose it could be done on all of the hub resources themselves...
Either way, I think this would be invaluable not only for developers like myself, but also for future versions of the package manager and a lot of the other VAM UI. Instead of just guessing what to show when browsing for a plugin or a scene, VAM can know for *sure* which scenes to show. And if a user is looking for a demo scene for a particular look or plugin...well...that could be in it's own "demos" section or something.
The goal is basically to try to weed out all the sample scenes that come with looks and clothing and whatnot, and have the actual playable scenes exist in their own directory.
The problem I'm slowly realizing is that there just doesn't seem to be a good, quick and dirty way to determine what a .var is that is 100% accurate.
For example, it's trivial to infer that it's clothing/hair/plugin if that's the only "resource type" specified in the meta.json file. But, once a creator adds a scene, or audio, or an extra asset, this becomes *much* more difficult. I can still generalize for a lot of packages, but not 100% of the time.
As such, my suggestion would be to add a new tag to the meta.json for packages that tells you flat-out what kind of resource it is. For existing packages on the hub - this could be done automagically if downloaded through the hub browser by modifying the package JSON on-the-fly and inserting the necessary tag. Or, I suppose it could be done on all of the hub resources themselves...
Either way, I think this would be invaluable not only for developers like myself, but also for future versions of the package manager and a lot of the other VAM UI. Instead of just guessing what to show when browsing for a plugin or a scene, VAM can know for *sure* which scenes to show. And if a user is looking for a demo scene for a particular look or plugin...well...that could be in it's own "demos" section or something.