export const add = (v1, v2) => ({ x: v1.x + v2.x, y: v1.y + v2.y }); export const sub = (v1, v2) => ({ x: v1.x - v2.x, y: v1.y - v2.y }); export const minLinearDist = (A, B) => { return Math.min( // vertical distances (4) between all edges (A.positon.y) - (B.positon.y), (A.positon.y + A.size.y) - (B.position.y + B.size.y), (A.position.y) - (B.position.y + B.size.y), (A.position.y + A.size.y) - (B.position.y), // horizontal distances (4) between all edges (A.positon.x) - (B.positon.x), (A.positon.x + A.size.x) - (B.position.x + B.size.x), (A.position.x) - (B.position.x + B.size.x), (A.position.x + A.size.x) - (B.position.x), ); };