anchor.diff:                 (push (pov-item name finish) finishes))
                (add-pigment (name pigment)
                  (unless has-image-map
  -                 (push (pov-item name pigment) pigments))))
  +                 (push (pov-item name pigment) pigments)))
  +             (alpha ()
  +               (when-let ((assoc-alpha (assoc :alpha alist)))
  +                 (unless has-image-map
  +                   (push (pov-alpha (cdr assoc-alpha)) pigments)))))
         (loop for (property . value) in alist
            do (case property
                 (:ambient
  
positive.code:                (when (and (or (listp value)
                                (vectorp value))
                            (not (assoc :color alist)))
                   (add-pigment "color" (pov-rgb value))))
                (:color
                 (add-pigment "color" (pov-rgb value)))
                (:alpha
                 (unless has-image-map
                   (push (pov-alpha value) pigments)))
                (:specular
                 (add-finish "specular" (avg-rgb value)))
                (:index-of-refraction ; TODO
  
negative.code:                ;; TODO: assumed uv mapping
                 (push (pov-value "uv_mapping") pigments))
                (otherwise (error "Unknown texture property: ~A" (cons property value))))))
      (pov-texture (nconc (when pigments
                            (list (pov-pigment pigments)))
                          (when finishes
                            (list (pov-finish finishes)))))))
  
  
  (defstruct (pov-version (:constructor pov-version (value)))
  