compute isVisible, resolves #82 and #81