So i wanted to figure out where exactly in Articulate's code the decimal's get rounded.
Unminifying and doing some tests in slides.min.js i found that in fact internally there is a spot where with multiple decimals is calculated.
At some lines this is set:
S = function (t) {
return parseFloat(t.toPrecision(7));
};
And indeed when logging this you will see a 7 decimal precise number. Changing this to a higher number you will see internally Storyline calculates with that higher amount of decimals.
So now to find where this value is returned to and used ( and in the end converted to a 2 decimal one )
After some searching i pinpointed the spot where the conversion from the multi-decimal Number is changed to a 2-decimal Number...
At some point there is this code, a parseVars function...
parseVars: function () {
var t = this.props.model;
return o.parseVectorText(t, this.updateVarText(t));
},
Adding some code here to see what is happening...
parseVars: function () {
var t = this.props.model;
var tVars = o.parseVectorText(t, this.updateVarText(t));
var obj1 = JSON.stringify(t);
var obj2 = JSON.stringify(this.updateVarText(t));
console.log("parseVars: "+obj1+" |updateVarText: "+obj2);
return o.parseVectorText(t, this.updateVarText(t));
},
And you will notice that obj1 still has the multi-decimal variable in it... whereas after 't' has been worked on by the function 'updateVarText( )' it is changed to a 2-decimal variable and rounded.
I cannot yet find where that function does its work...but gonna dive deeper into it.