{
  "_comment": [
    "This file has comicgen character configurations. Edit this file to add new characters.",
    "This is a valid JSON file. JSON does not allow comments. So we use _comment keys."
  ],
  "_comment_defaults": [
    "If no options are provided, use these default options.",
    "This is equivalent to adding a `x='0' y='0' scale='1' mirror=''` to each comicgen."
  ],
  "defaults": {
    "x": 0,
    "y": 0,
    "scale": 1,
    "ext": "svg",
    "mirror": ""
  },
  "_comment_namemap": [
    "We pick characters from multiple sources / people, and each have their format.",
    "comicgen.namemap maps the character name to the format.",
    "This is intentionally exposed publicly, and can be changed / extended by others."
  ],
  "namemap": {
    "aryan": "emotionpose",
    "ava": "emotionpose",
    "bean": "deedey",
    "biden": "emotionpose",
    "chini": "paramface",
    "dee": "deedey",
    "deenuova": "deedey",
    "dey": "deedey",
    "deynuovo": "deedey",
    "ethan": "deedey",
    "evan": "emotionpose",
    "facesketch": "facesketch",
    "holmes": "deedey",
    "humaaans": "humaaans",
    "jaya": "emotionpose",
    "panda": "paramface",
    "priya": "deedey",
    "priyanuova": "deedey",
    "ricky": "deedey",
    "rickynuovo": "deedey",
    "ringo": "deedey",
    "ringonuovo": "deedey",
    "speechbubbles": "speechbubbles",
    "trump": "emotionpose",
    "watson": "deedey",
    "zoe": "emotionpose",
    "zoozoo": "paramfacebody"
  },
  "_comment_formats": [
    "Defines the format for characters. Each format has:",
    " width: default width of the SVG container",
    " height: default height of the SVG container",
    " dirs: list of directory tree attrs. For example, ['angle'] means",
    "     that the file is under svg/$name/$angle/...",
    " files: dict of {attr: filespec}. If the attr is set, draw the image",
    " filespec is a dict of:",
    "     file: file template, where $<var> is replaced by the value of var='...'",
    "     width: actual width of the SVG image",
    "     height: actual height of the SVG image",
    "     x: x-offset of the SVG image",
    "     y: y-offset of the SVG image"
  ],
  "formats": {
    "paramface": {
      "width": 500,
      "height": 600,
      "dirs": [],
      "files": {
        "face": { "continuous": "face", "file": "$name/face/$face", "width": 500, "height": 600, "x":0, "y":0 }
      }
    },
    "paramfacebody": {
      "width": 500,
      "height": 600,
      "dirs": [],
      "files": {
        "face": { "continuous": "face", "file": "$name/face/$face", "width": 500, "height": 600, "x":0, "y":0 },
        "body": { "continuous": "body", "file": "$name/body/$body", "width": 500, "height": 600, "x":0, "y":0 }
      }
    },
    "deedey": {
      "width": 500,
      "height": 600,
      "dirs": [
        "angle"
      ],
      "files": {
        "emotion": {
          "file": "$name/$angle/emotion/$emotion",
          "width": 500,
          "height": 600,
          "x": 0,
          "y": 0
        },
        "pose": {
          "file": "$name/$angle/pose/$pose",
          "width": 500,
          "height": 600,
          "x": 0,
          "y": 0
        }
      }
    },
    "emotionpose": {
      "width": 500,
      "height": 600,
      "dirs": [],
      "files": {
        "emotion": {
          "file": "$name/emotion/$emotion",
          "width": 500,
          "height": 600,
          "x": 0,
          "y": 0
        },
        "pose": {
          "file": "$name/pose/$pose",
          "width": 500,
          "height": 600,
          "x": 0,
          "y": 0
        }
      }
    },
    "humaaans": {
      "width": 300,
      "height": 600,
      "dirs": [],
      "files": {
        "head": {
          "file": "$name/head/$head",
          "width": 136,
          "height": 104,
          "x": 63,
          "y": 0
        },
        "bottom": {
          "file": "$name/bottom/$bottom",
          "width": 300,
          "height": 238,
          "x": -15,
          "y": 199
        },
        "body": {
          "file": "$name/body/$body",
          "width": 256,
          "height": 187,
          "x": 0,
          "y": 85
        }
      }
    },
    "facesketch": {
      "width": 180,
      "height": 200,
      "dirs": [],
      "files": {
        "face": {
          "file": "$name/face/$face",
          "width": 180,
          "height": 200,
          "x": 0,
          "y": 0
        },
        "hair": {
          "file": "$name/hair/$hair",
          "width": 180,
          "height": 200,
          "x": 0,
          "y": 0
        },
        "eye": {
          "file": "$name/eye/$eye",
          "width": 180,
          "height": 200,
          "x": 0,
          "y": 0
        },
        "mouth": {
          "file": "$name/mouth/$mouth",
          "width": 180,
          "height": 200,
          "x": 0,
          "y": 0
        },
        "nose": {
          "file": "$name/nose/$nose",
          "width": 180,
          "height": 200,
          "x": 0,
          "y": 0
        }
      }
    },
    "speechbubbles": {
      "width": 500,
      "height": 600,
      "dirs": [],
      "files": {
        "speechbubble": {
          "file": "$name/$speechbubble",
          "width": 200,
          "height": 200,
          "x": 40,
          "y": 110
        }
      }
    }
  }
}
