Can you please guide me to the answers to these questions?
Is there a way to view multiple commits & branches on the web app’s viewer?
Is there a way to compare commits and branches?
I am wondering if it is feasible to have Speckle maintain a latest version of (all/selected) objects from live models in various BIM software on a project. Would it be possible to automate this? This can be kept on the Speckle server or stored in a database (relational or non). I read in the documentation that the storing of data can be programmed using “Transport”. But how efficient would that be as all objects would need to be converted and committed every time, before a comparison occurs on the server side.
I am understanding that Speckle is perhaps designed at the moment for committing objects for interoperability and collaboration at a finite point in time, rather than to aggregate information?
Thanks for the help, I am still trying to understand the different use cases for Speckle for our firm.
we are currently working on this feature, you will soon be able to view multiple commits, branches or streams in the viewer. Right now it’s not possible
this is also not currently available, but we know it’s a key feature and will definitely add it at some point
so this has been requested before as well. We have a few ideas on how it could be implemented, for instance, we let our connectors send automatically based on various triggers:
a schedule (if the model is open, or if the host app can be run headlessly, it could be run at any time)
You mentioned that this feature is a priority. Is there any update on if development has started on this feature or an eta on when it will potentially be ready?
Thanks that looks great! Is there answer to the 3rd point of the original post, maintain a latest version of (all/selected) objects? Overlaying commits is a great start, but if I have an object that I commit to a stream, and later modify it or delete it, I don’t want to see the original configuration.
Hey @high_fiver , I’m not sure I fully understand! Could you please explain what you’re trying to achieve?
A commit is a “snapshot in time” of a specific Stream, therefore the latest commit in a branch is always representing the latest version of all objects.
then I have to change the Revit model. Say I need to reverse the directions of the braces because it interferes with a duct, so now my braced frame looks like this
I would like to see the latest version of all the objects in my stream so I can use the speckle data for structural analysis on my braced frame, but when I overlay the commits, I see the braces in both the old configuration and the new configuration.
But I don’t want to push all objects to the server every time, as that seems like an inefficient use of data storage.
Is there any way to view the latest configuration of all the objects that I’ve pushed to a stream, ignoring previous configurations of objects that have been moved or deleted?
Ah, you don’t need to do diffs by yourself - speckle takes care of that for you! So basically just send the whole assembly/model again. In the background, speckle will:
serialise and hash your objects
check if the beams are the same, in which case yes
send only the new braces and compose a new object tree with your new braces and “old beams”
persist that as a new commit on the server
In short - we do the diffing for you, so you don’t need to worry about this!