// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.

///|
#external
pub type InstancedBufferAttribute

///|
#module("@mizchi/three-mbt/geometry")
pub extern "js" fn InstancedBufferAttribute::InstancedBufferAttribute(
  values : FixedArray[Double],
  item_size : Int,
  normalized : Bool,
  mesh_per_attribute : Int,
) -> InstancedBufferAttribute = "instancedBufferAttribute"

///|
pub fn InstancedBufferAttribute::as_buffer_attribute(
  self : InstancedBufferAttribute,
) -> BufferAttribute = "%identity"

///|
pub extern "js" fn InstancedBufferAttribute::mesh_per_attribute(
  self : InstancedBufferAttribute,
) -> Int =
  #| (self) => self.meshPerAttribute

///|
pub extern "js" fn InstancedBufferAttribute::set_mesh_per_attribute(
  self : InstancedBufferAttribute,
  value : Int,
) -> Unit =
  #| (self, value) => { self.meshPerAttribute = value; }

///|
pub fn InstancedBufferAttribute::as_packed_buffer_attribute(
  self : InstancedBufferAttribute,
) -> PackedBufferAttribute = "%identity"