vision extracted into a component; do not calc vision for non player objects