I've been implementing the mechanics behind spikes and various other death-zones.
There exist both generic spike objects that are always fatal and directional spike objects that are only fatal if touched with a non-positive velocity in the direction the spikes are facing.
I revamped the corner correction mechanic so that you cannot be corrected into spikes. I also made upwards corner correction more lenient -- previously, in contrast to other directions, upwards corner correction required one to be moving slowly upwards or not at all -- the vertical component of velocity needed to be between -1.5 and 0. Now, it just needs to be greater than -1.5, but with the added condition that one cannot be corner corrected upwards too soon after leaving the ground. The reason for this is that otherwise, it becomes possible to walk off a platform and then immediately walk back onto it which is kinda janky and uncomfortable.
I was worried that, even without explicitly being corner corrected, it would still be possible to get snapped onto a platform you shouldn't be if you just happened to be within the right 2-pixel margin above a block. However, taking a closer look at my code, I don't think that's mathematically possible unless one's vertical speed is slow anyway.
That caused a bizarre bug where you'd sometimes get stuck in the ground for no reason, but I fixed that as well.
There will need to be a third version of the autotiler specifically for handling spike tiles, but I haven't made that yet.