However once I needed precise timing, hump.timer failed most of the time. Sometimes the tweening transitions were not finished, other times they went further than requested.
Supposedly by the docs for Timer.after function:
But also tweening didn't work right.There is no guarantee that the delay will not be exceeded, it is only guaranteed that the function will not be executed before the delay has passed.
And that's why I had to switch to Knife instead:
https://github.com/airstruck/knife
Since it has similar function signature, it was easy to convert tweening parts into Knife. Fortunately, timings work well and I have encountered no imprecision.
I am still keeping hump's gamestate around as I am pretty content with that.
I searched for hump's timer having these bugs, but it's not been mentioned, so there is this. Maybe someone else will find this and not pull their hair on why some exact timings don't work for their animations.