зачем тебе обнаруживать столкновение, если ты это будешь изначально знать. условно если взять 2 div квадрата. ты знаешь их width и height, а также top и left. оперируя этими данными ты можешь узнать любое их состояние (столкнулись, наложились друг на друга и пр.) даже если они будут opacity: 0.
точно не могу сказать однако направление дам у dom elements есть те свойства по типу left и можно отслеживать по положению или приконавению основываясь на границах блоков посмотрите видео про динозавра на канале vova dew там ковено происходит это отслеживание