Collision tunneling on simple game

I'm using Windows 11.

Expected Result

Sprite cannot pass through wall.

Details

Playdate Simulator Version: 2.6.2

I have a video here.

I have a very simple game, the player should just be sliding over the wall however it's occasionally tunneling through it. There's no fast moving parts and not a lot going on at all.

Here's the collision response.

function Harry:collisionResponse(other)
    local alphaCollision = self:alphaCollision(other)
    if (other:isa(Crop) and alphaCollision) then
        other:remove()
        self.eventHandler('crop-pickup', 1)
    end

    if (other:isa(Wall) and alphaCollision) then
        self.eventHandler('crash', other)
        return sprite.kCollisionTypeSlide
    end
    return sprite.kCollisionTypeOverlap
end

I've reproduced it with the circle sprites removed and with the alpha collision check removed.

How to reproduce

Run a sprite along a wall of static sprites.

I can reproduce this behaviour with kCollisionTypeFreeze as well.

I can also reproduce it on the device.

I've creates a demo and uploaded it to GitHub which demonstrates this behavior is reproduceable in very simple conditions.

I can reproduce is:

  1. At slow speeds.
  2. With both tiled and solid walls.
  3. With a low numbers of collision rectangles.
  4. Without alpha detection.