add perspective handling to visual/Window.py