    scene :geometry id
    {:__transform tx
     :__type :disk
-    :__material material
+    :__material (name material)
     :name [:string (name id)]
     :height [:float z]
     :radius [:float radius]


(defn spot-light
  [scene id {:keys [from to cone-angle cone-delta tx]
             :or {cone-angle 30 cone-delta 5 from [0 0 1] to [0 0 0]}
             :as opts}]
  (append
   scene :lights id

   (merge
    base
    {:__transform tx
     :__material (name material)
     :__mesh mesh
     :__export-path (or export-path path)
     :name [:string (name id)]
     :filename [:string (or path (str (name id) ext))]})))

(defn ply-mesh
  [scene id {:keys [smooth? gen-tangents?] :as opts}]
  (mesh-common
   scene id ".ply"
   {:__type :plymesh
    :smooth [:bool smooth?]
    :generatetangents [:bool gen-tangents?]}
   opts))

(defn stl-mesh
  [scene id opts]
