sat static method
Returns true if axis separates a rectangle described by exA/eyA,
centered delta away from a rectangle described by exB/eyB.
axis doesn't need to be normalized: both projections scale by the same
factor, which doesn't affect whether their ranges overlap.
Implementation
static bool sat(
Vector2 delta,
Vector2 axis,
Vector2 exA,
Vector2 eyA,
Vector2 exB,
Vector2 eyB,
) {
final distance = delta.dot(axis).abs();
final radius =
exA.dot(axis).abs() + //
eyA.dot(axis).abs() +
exB.dot(axis).abs() +
eyB.dot(axis).abs();
return distance > radius;
}