Hi all! For fun I created a little demo of using bit masks for pixel perfect sprite collision, and auto-building these masks from existing sprite PNG images:
https://github.com/TomWHall/js-pixel-collision-demo
None of this collision approach is novel, but I couldn't find an example of everything I wanted packaged up minimally, so I had a go at building it myself.
You can use the MaskBuilder to take an existing PNG sprite asset and generate a mask (Uint32Array) from it based on its transparent pixels.
I hope someone finds it useful!
Tom