In handlePointerEnter, handlePointerLeave this is a separate code path for touch devices, gated by isTouchDevice().
However, just because a device supports touch inputs doesn't mean they are actually being used. For example some laptops have touch screens in addition to trackpad, external mice etc. Therefore we should check to see whether the specific event we are handling is a touch event
In handlePointerEnter, handlePointerLeave this is a separate code path for touch devices, gated by isTouchDevice().
However, just because a device supports touch inputs doesn't mean they are actually being used. For example some laptops have touch screens in addition to trackpad, external mice etc. Therefore we should check to see whether the specific event we are handling is a touch event