anchor.diff:      (setf (camera-selector obj) selector)
       (setf (lpsg:input (camera-uset-node obj) 'projection-matrix) choice)
       (setf (lpsg:input (camera-uset-node obj) 'view-matrix)
  -          (lpsg-tinker:view-matrix-node (view-camera obj)))))
  +          (lpsg-tinker:view-matrix-node (view-camera obj)))
  +    (setf (slot-value obj 'max-motion-time) (* max-motion-seconds internal-time-units-per-second))))
   
   (defgeneric draw-window (window)
     (:documentation "Do one pass of the rendering loop."))
  
positive.code: 
  This calls "))
  
  (defmethod process-events ((window viewer-window) &optional (blocking t))
    (loop
       for event = (glop:next-event window :blocking blocking)
       if event
       do (let ((saved-event nil))
            (when (typep event 'glop:mouse-motion-event)
              (setq saved-event event)
              (loop
                 for read-ahead-event = (glop:next-event window :blocking nil)
                 while (typep read-ahead-event 'glop:mouse-motion-event)
                 do (progn
                      (on-mouse-motion-event window saved-event nil)
                      (setq saved-event read-ahead-event))
                 finally (progn
                           (on-mouse-motion-event window saved-event t)
                           (setq event read-ahead-event))))
            (when event
              (glop:on-event window event)
              (when (typep event 'glop:close-event)
                (return-from process-events nil))))))
  
  (defun mouse-to-viewport (window x y)
    (values (float x 1.0) (float (- (glop:window-height window) y) 1.0)))
  
negative.code:   nil)
  
  (defmethod draw-window :around ((window viewer-window))
    (setf (slot-value window 'last-draw-time) (get-internal-real-time))
    ;; All the OpenGL state set by theese calls will eventually be stored in a LPSG:GL-STATE
    ;; object.
    (%gl:clear-color .8 .8 .8 1.0)
  