anchor.diff:      
       (defun add-projection (app)
         "Add projection of absorbed light"
  -      (with-slots (mirror corners projection incident absorb-arrow visibility tilt-update-fn origin scene sail absorbed) app
  +      (with-slots (mirror corners projection incident absorb-arrow visibility update-tilt origin scene sail absorbed) app
   	(setf
   	 app (add-corners (add-mirror app))
   	 mirror (mirror)
  
positive.code: 	      (when (> incidence 180)
  		(setq incidence (- incidence 360)))
  	      (setq absorbed (calc-absorbed incidence))
  	      (funcall update-tilt))
  	 down (lambda ()
  		((@ sail rotate-z) (/ pi -36))
  		(decf incidence 5)
  		(when (< incidence -180)
  		  (setq incidence (+ 360 incidence)))
  		(setq absorbed (calc-absorbed incidence))
  		(funcall update-tilt))
  	 left (lambda ()
  		(rotate-global-y sail (/ pi 36))
  		(decf rotation 5)
  		(when (< rotation -180)
  		  (setq rotation (+ 360 rotation)))
  		(funcall update-tilt))
  	 right (lambda ()
  		 (rotate-global-y sail (/ pi -36))
  		 (incf rotation 5)
  		 (when (> rotation 180)
  		   (setq rotation (- rotation 360)))
  		 (funcall update-tilt)))
  	;; Arrow key events
  	((@ ($ (@ document body)) keydown)
  	 #'(lambda (e)
  
negative.code: 	   (let ((absorbed-html (@ ($ "#absorbed") 0)))
  	     (when absorbed-html
  	       (setf (@ absorbed-html inner-h-t-m-l) ((@ absorbed to-string))))))
  	 ;; Tilt functions
  	 up (lambda ()
  	      ((@ sail rotate-z) (/ pi 36))
  