Hi @sgold
In Wes library the TrackEdit.simplify() does not take the floating point issue into consideration.
What about letting the user specify a tolerance to be used at this check? (or just use a default epsilon)
As an example, these are the scale values from a transform track I got from an animated Gltf model which can not be simplified by TrackEdit.simplify().
[(1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001), (1.0000001, 1.0, 1.0000001)]
,
[(0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999), (0.9999999, 0.9999998, 0.9999999)]