add visibility info
use jsclass instead of listish
add distanceToNearestVisibleCorner