according to your UE5 code the vertices are stored as Double precision, whereas Mindesk retrieve them as Float precision from GPU.
Is float sufficient for a vertex?
We can save some memory here.
Float is also easier handled with blueprints.
How are vertices stored in Speckle DB?
@alex wrote a detailed blog post just this month: Improving Speckle’s RTE Implementation
Alex gives a breakdown about storing precision beyond your direct question but covers it, I think. Fascinating stuff
Generally, Speckle uses double precision floats, both in .NET object models, and in JSON.
Double precision is the de facto standard for CAD and traditional rendering applications.
It’s only real-time rendering applications like UE where single precision floats are the norm.
In those cases, it’s perfectly acceptable to accept only single precision. We don’t really have another option .
As @jsdbroughton mentions, we have a blog post about how this affects our viewer, if you are interested, although the solution doesn’t really apply to UE.
It’s worth mentioning that UE5 added some level of support for doubles through Large world Coordinates, although I haven’t gotten around to playing with that yet. It would be nice to support this, I have an open issue to make sure we preserve double precision floats for LWC projects.
But this is a very new feature, most people arn’t using LWC.