///|
fn main {
  let parsed = @moonpixelanimkit.parse_sprite_sheet_json(
    @moonpixelanimkit.fixture_aseprite_json(),
  )
  if !parsed.ok {
    println("parse failed: " + parsed.error.message)
  } else {
    let library = @moonpixelanimkit.build_animation_library(parsed.sheet)
    let player = @moonpixelanimkit.AnimationPlayer::new(
      library,
      clip_name="idle",
    )
    let next = player.step(130)
    println("frames=" + parsed.sheet.frames.length().to_string())
    println("clips=" + library.clips.length().to_string())
    println("current=" + next.current_frame().unwrap().name)
    println(@moonpixelanimkit.export_runtime_manifest(parsed.sheet))
  }
}