anchor.diff:    (+ (noise x)
        (let ((x (rotate-y x 0.833)))
          (/ (noise (* x 4s0)) 4s0))))
  -
  -(defmacro-g saturate (x)
  -  `(clamp ,x 0s0 1s0))
   
   (defun-g sphere ((p :vec3) (pos :vec3) (radius :float))
     (- (length (- p pos)) radius))
  
positive.code:   (evt:pump-events)
    (update-swank)
    (gl:clear :color-buffer-bit :depth-buffer-bit)
  
    (let ((time (- (get-internal-real-time) +some-origin-time+)))
      (map-g #'raymarcher *vertex-stream*
  	   :resolution (size (current-viewport))
  	   :global-time time
  	   :light-1-pos (v! (sin (* time 1.1)) (cos time) 20.0)
  	   :light-2-pos (v! (cos (* time .84)) (cos (* time .45)) 20.0)
  	   :light-1-color (v! 0.7 .85 1.0)
  	   :light-2-color (v! 1.0 .85 .7)))
  
    (update-display))
  
negative.code: (defstruct-g scene-result ()
    (d :float :accessor s-r-d)
    (material material :accessor s-r-material))
  
  (defmacro-g saturate (x)
    `(clamp ,x 0s0 1s0))
  
  (defun-g mix-materials ((mat-a material) (mat-b material) (amount :float))
    (make-material
  