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

///|
#external
pub type RendererInfo

///|
pub extern "js" fn RendererInfo::calls(self : RendererInfo) -> Int =
  #| (self) => self.render.calls

///|
pub extern "js" fn RendererInfo::triangles(self : RendererInfo) -> Int =
  #| (self) => self.render.triangles

///|
pub extern "js" fn RendererInfo::points(self : RendererInfo) -> Int =
  #| (self) => self.render.points

///|
pub extern "js" fn RendererInfo::lines(self : RendererInfo) -> Int =
  #| (self) => self.render.lines

///|
pub extern "js" fn RendererInfo::frame(self : RendererInfo) -> Int =
  #| (self) => self.render.frame

///|
pub extern "js" fn RendererInfo::geometries(self : RendererInfo) -> Int =
  #| (self) => self.memory.geometries

///|
pub extern "js" fn RendererInfo::textures(self : RendererInfo) -> Int =
  #| (self) => self.memory.textures

///|
pub extern "js" fn RendererInfo::program_count(self : RendererInfo) -> Int =
  #| (self) => self.programs?.length ?? 0

///|
pub extern "js" fn RendererInfo::auto_reset(self : RendererInfo) -> Bool =
  #| (self) => self.autoReset

///|
pub extern "js" fn RendererInfo::set_auto_reset(
  self : RendererInfo,
  value : Bool,
) -> Unit =
  #| (self, value) => { self.autoReset = value; }

///|
pub extern "js" fn RendererInfo::reset(self : RendererInfo) -> Unit =
  #| (self) => self.reset()