When I first wrote the sprite animation handler for Impulse, my game engine, it was using the JSON output from Aseprite but I've recently rewritten it to handle Aseprite files directly.
The JSON handling was a carry over from a bunch of utilities that I wrote for Pixel Beach.
I hadn't really thought about parsing the Aseprite file directly until I came across a tweet from Noel Berry:
I wrote a Pipeline extension for parsing the extended JSON output from Aseprite (for separating laters/animation names, etc) but your’s is a much better approach. I think I might have a crack at it too 🙂— Nathan Hoad (@nathanhoad) July 17, 2018
The main benefit of handling the binary data directly is removing a manual step from the build process but it also opened up access to meta data that didn't exist in the JSON output.
After a week or so of development (and borrowing a lot from Noel's implementation) I have something working. Not everything is finished but there is enough there for what I need at the moment:
Thanks again to Noel.