Inductive componentSemanticT : Set :=
  (** The component represents position data such as the positions of vertices in a 3D mesh. *)
  | POSITION
  (** The component represents normal vectors. *)
  | NORMAL
  (** The component represents the primary texture coordinates. *)
  | TEXTURE_COORDINATE
  (** The component represents tangent vectors. *)
  | TANGENT
  (** The component represents bitangent vectors. *)
  | BITANGENT
  (** The component represents the primary colors of vertices in a 3D mesh. *)
  | COLOR
  (** A custom component semantic unknown to this specification. *)
  | CUSTOM : string -> componentSemanticT.
