Looking at the code, it seems getRaycastTiles could be a lot more efficient and accurate. Instead of generating “coordinatesOnLife”, why not just analytically determine if the line intersects a tile’s bounds?
You could also avoid getting all the tiles within the bounding box, and instead have the ray step along the tiles one by one.
Not trying to be a smart-ass here, just curious why this wasn’t done - is there a use case I’m forgetting here? Is there support for non-rectangular tiles?