///|
fn demo_json() -> String {
  let text =
    #|{
    #|  "frames": [
    #|    {
    #|      "filename": "hero_idle_0",
    #|      "frame": {"x": 0, "y": 0, "w": 16, "h": 24},
    #|      "rotated": false,
    #|      "trimmed": false,
    #|      "spriteSourceSize": {"x": 0, "y": 0, "w": 16, "h": 24},
    #|      "sourceSize": {"w": 16, "h": 24},
    #|      "duration": 100
    #|    },
    #|    {
    #|      "filename": "hero_idle_1",
    #|      "frame": {"x": 16, "y": 0, "w": 16, "h": 24},
    #|      "rotated": false,
    #|      "trimmed": false,
    #|      "spriteSourceSize": {"x": 0, "y": 0, "w": 16, "h": 24},
    #|      "sourceSize": {"w": 16, "h": 24},
    #|      "duration": 110
    #|    }
    #|  ],
    #|  "meta": {
    #|    "image": "hero.png",
    #|    "size": {"w": 32, "h": 24},
    #|    "frameTags": [
    #|      {"name": "idle", "from": 0, "to": 1, "direction": "forward"}
    #|    ],
    #|    "slices": []
    #|  }
    #|}
  text
}

///|
fn main raise {
  let sheet = @aseflow.parse_aseprite_json(demo_json())
  println(@aseflow.export_bundle_json(sheet, indent=2))
}