Running:
vsgdynamicload models/lz.vsgt
Crashes with seg fault for me. This is an issue I'm aware of - it's due to the viewer's main View not being configured with the required depth sorted bin that the lz.vsgt with it's transparent billboarded trees requires. This is the same issue we've discussed before but in the context of .gltf model that also required depth sorted bin.
If you load models and assign them to the viewer prior to calling viewer.compile() then the VIewer::compile() is able to check the assigned scene graphs for any DepthSorted nodes and then create the bins as required. So in the lz.vsgt model it'll find the trees and see that they are decorated with a DepthSorted node and then create the appropriate bin type and number.
If there is no scene graph already assigned then the Viewer::compile() doesn't have anything to spur it into creating a bin. Then the loader thread loads the problem model and merges it with the main scene graph and then on the next frame the RecordTraversal will try to assign the trees to depth sorted bin that doesn't exist.
There are two solutions to this - preallocate the required bins when you set up the Views for the Viewer, or to have the loaded thread check for the bins and then when merging with the main scene graph check for the presence of required bins in the Views assigned to the view and if they aren't there assign them.
Making sure both options work is on my TODO list for 1.0, and one I'm planning to tackle this week.
Once I've got a solution to this problem both lz.vsgt and the problem .gltf models will work, as will any other model with their own requirements of binning.
--
As a general note, the OSG took the approach of dynamically creating all the bins on the fly during each frame's cull traversal. This was super flexible but it meant lots of checks to see if the required bins were available, if not then create them, then assign the rendering leafs to them. Checks and creating structures on the fly is expensive so not great for performance.
With the VSG I've chosen the route of making assumption that the required resources/structures are set up at scene graph/viewer creation time so that during the RecordTraversal there is no need for any checks - it just just look up the container and directly use it. Lots of decisions like this is a big part of why the VSG scales much better than the OSG.
However, it does mean that some more housekeeping work is required to keep everything running smoothly. If all goes to plan this particular pain point will be neatly handled by the end of this week.