- */
- var aParts = a.split(NUMBERS);
- var bParts = b.split(NUMBERS);
- for (var i = 1; i < aParts.length; i += 2) {
- var part = nlerp(+aParts[i], +bParts[i], p);
- if (aParts[i].indexOf(".") === -1 && bParts[i].indexOf(".") === -1)
+ */
+
+ // TODO: Try to preserve precision of the original numbers.
+ var sourceParts = source.split(NUMBERS);
+ var targetParts = target.split(NUMBERS);
+ var destParts = targetParts;
+ for (var i = 1; i < sourceParts.length; i += 2) {
+ var sourcePart = sourceParts[i];
+ var targetPart = targetParts[i];
+ var part = nlerp(+sourcePart, +targetPart, amount);
+ var sourcePoint = sourcePart.indexOf(".");
+ var targetPoint = targetPart.indexOf(".");
+ if (sourcePoint === -1 && targetPoint === -1)