This release adds some previously missing quaternion support for certain vmath functions and miscellaneous fixes for LiveUpdates and Spine/Model runtime.
Engine
DEF-3109 - Added: Added support for quaternions in vmath.lengthSqrvmath.length_sqr, vmath.length and vmath.normalize.
DEF-2956 - Changed: Tilegrid cells now use polygon shape collision internally.
DEF-2997 - Fixed: Issue with LiveUpdate resources shared between excluded/bundled collectionproxies.
DEF-3121 - Fixed: Playing a new spine animation in complete callback would render one incorrect frame.
DEF-3111 - Fixed: Added a --version flag to bob.jar.
DEF-3112 - Fixed: Library order issue in HTML5 NE builds.
DEF-3053 - Fixed: Reverted a previous go.animate optimization fix due to a crash, will be readded at later stage.
Documentation
Updated API reference for ray_cast_response and added raycast miss to example.
Regarding DEF-3053: It was a small optimisation for when we are deleting animations generated by “go.animate()”, we loop over too many animations to check if they’re finished. The optimisation was to only stop the relevant animations. However, there was a rare case where this code broke, and crashed. It wasn’t a huge gain for more modern devices, so we’ll see when I will pick that one up again. There are other more relevant things to optimise instead.
The DEF-2956 is a robustness improvement. It means that each cell is treated as a convex polygon. This will improve on the situations where objects could pass the first edge, and not register any more collisions. Now you’ll get collisions, even if you’re deep within the tilegrid (i.e. in a solid cell surrounded by 8 other solid cells).