anchor.diff:  	     (40 ((@ sail rotate-z) (/ pi -36))
   		 (decf incidence 5)
   		 (setq absorbed (round (* 100 (cos (* incidence (/ pi 180))))))
  -		 (update-tilt))))))
  -
  +		 (update-tilt)))))
  +      ;; Clicking on arrow images
  +      ((@ ($ "#up") click)
  +       #'(lambda (e)
  +	   ((@ sail rotate-z) (/ pi 36))
  +	   (incf incidence 5)
  +	   (setq absorbed (round (* 100 (cos (* incidence (/ pi 180))))))
  +	   (update-tilt)))
  +      ((@ ($ "#down") click)
  +       #'(lambda (e)
  +	   ((@ sail rotate-z) (/ pi -36))
  +	   (decf incidence 5)
  +	   (setq absorbed (round (* 100 (cos (* incidence (/ pi 180))))))
  +	   (update-tilt)))
  +      ((@ ($ "#left") click)
  +       #'(lambda (e)
  +	   (rotate-global-y sail (/ pi 36))
  +	   (decf rotation 5)
  +	   (update-tilt)))
  +      ((@ ($ "#right") click)
  +       #'(lambda (e)
  +	   (rotate-global-y sail (/ pi -36))
  +	   (incf rotation 5)
  +	   (update-tilt))))
       ))
  
positive.code:     (defvar incidence)
      (defvar rotation)
      (defvar absorbed)
  
      (defun *stars ()
        (let ((g (new (3fn *geometry)))
  
negative.code:       ;; Automatically resize window
        ((@ window add-event-listener) "resize" on-window-resize false))
  
      ;; Absorption and reflection controls
      
      (defun *mirror ()
        (let* ((w 8)
  	     (w2 (/ w 2))
  