anchor.diff:  
   (defmethod dispatch-event (app (event mezzano.gui.compositor:screen-geometry-update))
     (let ((new-framebuffer (mezzano.gui:make-surface (mezzano.gui.compositor:width event)
  -                                                   (mezzano.gui.compositor:height event))))
  -    (mezzano.gui.compositor:resize-window app new-framebuffer)))
  -
  -(defclass star ()
  -  ((%angle :initarg :angle :accessor star-angle)
  -   (%radius :initarg :radius :accessor star-radius)))
  +                                                   (mezzano.gui.compositor:height event)))
  +        (new-backbuffer (mezzano.gui:make-surface (mezzano.gui.compositor:width event)
  +                                                  (mezzano.gui.compositor:height event))))
  +    (mezzano.gui.compositor:resize-window (starfield-window app) new-framebuffer)
  +    (setf (starfield-backbuffer app) new-backbuffer)))
   
   (defun make-stars (n-stars)
     (let ((stars (make-array n-stars)))
  
positive.code:      for star across stars
       do (render-star star framebuffer x y width height)))
  
  (defparameter *star-speed* 0.75)
  
  (defun update-starfield (stars dt)
    (loop
  
negative.code:   (:export #:spawn))
  
  (in-package :mezzano.gui.starfield)
  
  (defclass starfield ()
    ((%window :initarg :window :accessor starfield-window)
     (%backbuffer :initarg :backbuffer :accessor starfield-backbuffer)))
  
  (defclass star ()
    ((%angle :initarg :angle :accessor star-angle)
     (%radius :initarg :radius :accessor star-radius)))
  
  (defconstant +white+ (mezzano.gui:make-colour 1.0 1.0 1.0))
  (defconstant +black+ (mezzano.gui:make-colour 0.0 0.0 0.0))
  