code: def export_dict(mesh, encoding=None):
      
  
      def encode(item, dtype=None):
          if encoding is None:
              return item.tolist()
          else:
              if dtype is None:
                  dtype = item.dtype
              return util.array_to_encoded(item, dtype=dtype, encoding=encoding)
  
      # metadata keys we explicitly want to preserve
      # sometimes there are giant datastructures we don't
      # care about in metadata which causes exports to be
      # extremely slow, so skip all but known good keys
      meta_keys = ['units', 'file_name', 'file_path']
      metadata = {k: v for k, v in mesh.metadata.items() if k in meta_keys}
  
      export = {
          'metadata': metadata,
          'faces': encode(mesh.faces),
          'face_normals': encode(mesh.face_normals),
          'vertices': encode(mesh.vertices)
      }
      if mesh.visual.kind == 'face':
          export['face_colors'] = encode(mesh.visual.face_colors)
      elif mesh.visual.kind == 'vertex':
          export['vertex_colors'] = encode(mesh.visual.vertex_colors)
  
      return export
docs: Export a mesh to a dict
  
      Parameters
      ------------
      mesh : Trimesh object
               Mesh to be exported
      encoding : str, or None
                   'base64'
  
      Returns
      -------------