|  | const groups = ["body-part", "nsfw", "alt-vore", "gross", "magic"];
const groupInfo = {
  "body-part": {
    name: "Body parts",
  },
  "nsfw": {
    name: "Sexual parts"
  },
  "alt-vore": {
    name: "Alt vore"
  },
  "gross": {
    name: "Disposal/waste"
  },
  "magic": {
    name: "Magic"
  }
}
const panels = {
  "body": {
    "name": "Body",
    "buttons": [
      {
        "name": "Eat",
        "target": "feed"
      },
      {
        "name": "Crop Swallow",
        "target": "crop_swallow"
      },
      {
        "name": "Digest",
        "target": "digest_stomach"
      },
      {
        "name": "Chew",
        "target": "chew"
      },
      {
        "name": "Grab",
        "target": "hand_crush"
      },
      {
        "name": "Drool",
        "target": "drool"
      },
      {
        "name": "Vomit",
        "target": "vomit"
      },
      {
        "name": "Sit",
        "target": "sit"
      },
      {
        "name": "Grind ass",
        "target": "ass_grind"
      },
      {
        "name": "Anal Vore",
        "target": "anal_vore"
      },
      {
        "name": "Digest Bowels",
        "target": "digest_anal"
      },
      {
        "name": "Grind hips",
        "target": "grind"
      }
    ]
  },
  "paws": {
    "name": "Paws",
    "buttons": [
      {
        "name": "Stomp",
        "target": "stomp"
      },
      {
        "name": "Grab",
        "target": "foot_crush"
      },
      {
        "name": "Flex Toes",
        "target": "flex_toes"
      },
      {
        "name": "Absorb",
        "target": "paw_vore"
      },
      {
        "name": "Digest",
        "target": "digest_paws"
      }
    ]
  },
  "tails": {
    "name": "Tails",
    "buttons": [
      {
        "name": "Tail Slap",
        "target": "tail_slap"
      },
      {
        "name": "Tail Vore",
        "target": "tail_vore_only"
      },
      {
        "name": "Tail Vore (1)",
        "target": "tail_vore_one"
      },
      {
        "name": "Tail Vore (some)",
        "target": "tail_vore_some"
      },
      {
        "name": "Tail Vore (all!)",
        "target": "tail_vore_all"
      },
      {
        "name": "Digest",
        "target": "digest_tail"
      }
    ]
  },
  "breasts": {
    "name": "Breasts",
    "buttons": [
      {
        "name": "Stuff Cleavage",
        "target": "cleavage_stuff"
      },
      {
        "name": "Squeeze Cleavage",
        "target": "breast_toy"
      },
      {
        "name": "Crush Cleavage",
        "target": "cleavage_crush"
      },
      {
        "name": "Drop Cleavage",
        "target": "cleavage_drop"
      },
      {
        "name": "Absorb Cleavage",
        "target": "cleavage_absorb"
      },
      {
        "name": "Breast Crush",
        "target": "breast_crush"
      },
      {
        "name": "Breast Vore",
        "target": "breast_vore"
      },
      {
        "name": "Digest",
        "target": "digest_breast"
      },
      {
        "name": "Milk Breasts",
        "target": "breast_milk"
      }
    ]
  },
  "vagina": {
    "name": "Slit",
    "buttons": [
      {
        "name": "Unbirth",
        "target": "unbirth"
      },
      {
        "name": "Digest",
        "target": "digest_unbirth"
      },
      {
        "name": "Finger Slit",
        "target": "slit_toy"
      }
    ]
  },
  "dick": {
    "name": "Cock",
    "buttons": [
      {
        "name": "Cockslap",
        "target": "cockslap"
      },
      {
        "name": "Cock Vore",
        "target": "cock_vore"
      },
      {
        "name": "Digest",
        "target": "digest_cock"
      },
      {
        "name": "Ball Smother",
        "target": "ball_smother"
      },
      {
        "name": "Stuff Sheath",
        "target": "sheath_stuff"
      },
      {
        "name": "Squeeze Sheath",
        "target": "sheath_toy"
      },
      {
        "name": "Clench Sheath",
        "target": "sheath_clench"
      },
      {
        "name": "Absorb Sheath",
        "target": "sheath_absorb"
      },
      {
        "name": "Stuff Foreskin",
        "target": "foreskin_stuff"
      },
      {
        "name": "Squeeze Foreskin",
        "target": "foreskin_toy"
      },
      {
        "name": "Clench Foreskin",
        "target": "foreskin_clench"
      },
      {
        "name": "Absorb Foreskin",
        "target": "foreskin_absorb"
      }
    ]
  },
  "souls": {
    "name": "Souls",
    "buttons": [
      {
        "name": "Soul Vore",
        "target": "soul_vore"
      },
      {
        "name": "Digest",
        "target": "digest_soul"
      },
      {
        "name": "Paws",
        "target": "soul_absorb_paw"
      }
    ]
  },
  "shoes": {
    "name": "Footwear",
    "buttons": [
      {
        "name": "Put On Shoes",
        "target": "wear_shoes"
      },
      {
        "name": "Take Off Shoes",
        "target": "remove_shoes"
      },
      {
        "name": "Put On Socks",
        "target": "wear_socks"
      },
      {
        "name": "Take Off Socks",
        "target": "remove_socks"
      },
      {
        "name": "Stuff Shoes",
        "target": "stuff_shoes"
      },
      {
        "name": "Stuff Socks",
        "target": "stuff_socks"
      },
      {
        "name": "Dump Shoes",
        "target": "dump_shoes"
      },
      {
        "name": "Dump Socks",
        "target": "dump_socks"
      }
    ]
  },
  "waste": {
    "name": "Waste",
    "buttons": [
      {
        "name": "Belch",
        "target": "belch"
      },
      {
        "name": "Fart",
        "target": "fart"
      },
      {
        "name": "Piss",
        "target": "piss"
      },
      {
        "name": "Bladder Vore",
        "target": "bladder_vore"
      },
      {
        "name": "Digest",
        "target": "digest_bladder"
      },
      {
        "name": "Scat",
        "target": "scat"
      }
    ]
  },
  "goo": {
    "name": "Goo",
    "buttons": [
      {
        "name": "Solidify",
        "target": "solidify"
      },
      {
        "name": "Melt",
        "target": "melt"
      },
      {
        "name": "Flood",
        "target": "flood"
      },
      {
        "name": "Push to Stomach",
        "target": "goo_stomach_push"
      },
      {
        "name": "Pull from Stomach",
        "target": "goo_stomach_pull"
      },
      {
        "name": "Push to Bowels",
        "target": "goo_bowels_push"
      },
      {
        "name": "Pull from Bowels",
        "target": "goo_bowels_pull"
      },
      {
        "name": "Push to Womb",
        "target": "goo_womb_push"
      },
      {
        "name": "Pull from Womb",
        "target": "goo_womb_pull"
      },
      {
        "name": "Push to Balls",
        "target": "goo_balls_push"
      },
      {
        "name": "Pull from Balls",
        "target": "goo_balls_pull"
      },
      {
        "name": "Push to Breasts",
        "target": "goo_breasts_push"
      },
      {
        "name": "Pull from Breasts",
        "target": "goo_breasts_pull"
      },
      {
        "name": "Push to Tails",
        "target": "goo_tail_push"
      },
      {
        "name": "Pull from Tails",
        "target": "goo_tail_pull"
      },
      {
        "name": "Push to Paws",
        "target": "goo_paws_push"
      },
      {
        "name": "Pull from Paws",
        "target": "goo_paws_pull"
      },
      {
        "name": "Digest",
        "target": "digest_goo"
      }
    ]
  },
  "misc": {
    "name": "Misc",
    "buttons": [
      {
        "name": "Stuff Pouch",
        "target": "pouch_stuff"
      },
      {
        "name": "Rub Pouch",
        "target": "pouch_rub"
      },
      {
        "name": "Eat From Pouch",
        "target": "pouch_eat"
      },
      {
        "name": "Absorb Pouch",
        "target": "pouch_absorb"
      },
      {
        "name": "Flap Wings",
        "target": "wings_flap"
      },
      {
        "name": "Wing Vore",
        "target": "wings_vore"
      },
      {
        "name": "Digest Wings",
        "target": "digest_wings"
      }
    ]
  },
  "breath": {
    "name": "Breath",
    "buttons": [
      {
        "name": "Line Shape",
        "target": "breath_line"
      },
      {
        "name": "Cone Shape",
        "target": "breath_cone"
      },
      {
        "name": "Fire",
        "target": "breath_fire"
      },
      {
        "name": "Ice",
        "target": "breath_ice"
      },
      {
        "name": "Electric",
        "target": "breath_electric"
      },
      {
        "name": "Smoke",
        "target": "breath_smoke"
      },
      {
        "name": "Radiation",
        "target": "breath_radiation"
      },
      {
        "name": "Foul",
        "target": "breath_foul"
      }
    ]
  },
  "magic": {
    "name": "Magic",
    "buttons": [
      {
        "name": "Shrink",
        "target": "magic_shrink"
      },
      {
        "name": "Fast Digestion",
        "target": "magic_fast_digestion"
      },
      {
        "name": "Pause Digestion",
        "target": "magic_pause_digestion"
      },
      {
        "name": "Arousal",
        "target": "magic_arousal"
      },
      {
        "name": "Summon Cum",
        "target": "magic_fill_sexual"
      }
    ]
  },
  "options": {
    "name": "Options",
    "type": "options",
    "buttons": [
      {
        "name": "Arousal On",
        "target": "toggle_arousal",
        "default": true
      },
      {
        "name": "Status: Standing",
        "target": "toggle_auto",
        "default": true
      },
      {
        "name": "Numbers: Words",
        "target": "toggle_numbers",
        "default": true
      },
      {
        "name": "Units: Metric",
        "target": "toggle_units",
        "default": true
      },
      {
        "name": "Verbose Text",
        "target": "toggle_verbose",
        "default": true
      },
      {
        "name": "Toggle Dark Mode",
        "target": "toggleDarkMode",
        "default": true
      },
      {
        "name": "Text Stays",
        "target": "toggleTextFade",
        "default": true
      },
      {
        "name": "Debug Log",
        "target": "debugLog",
        "default": true
      }
    ]
  }
}
options = [
  {
    "name": "Basics",
    "optional": false,
    "group": "main",
    "entries": [
      {
        "name": "Name",
        "id": "name",
        "type": "text",
        "default": "Fen"
      },
      {
        "name": "Scale",
        "id": "scale",
        "type": "float",
        "default": "1",
        "tooltip": "You start out this many times larger than normal. A good way to build a macro character is to design them at normal size, then adjust the scale to get them to the right height."
      },
      {
        "name": "Walk Speed",
        "id": "walkSpeed",
        "type": "float",
        "default": "1",
        "tooltip": "How quickly you move while walking, jogging, or running."
      },
      {
        "name": "Height",
        "id": "baseHeight",
        "type": "float",
        "default": "2.26",
        "unit": "length"
      },
      {
        "name": "Weight",
        "id": "baseMass",
        "type": "float",
        "default": "135",
        "unit": "mass"
      },
      {
        "name": "Paw length",
        "id": "basePawLength",
        "type": "float",
        "default": "0.15",
        "unit": "length"
      },
      {
        "name": "Paw width",
        "id": "basePawWidth",
        "type": "float",
        "default": "0.15",
        "unit": "length"
      },
      {
        "name": "Hand length",
        "id": "baseHandLength",
        "type": "float",
        "default": "0.2",
        "unit": "length"
      },
      {
        "name": "Hand width",
        "id": "baseHandWidth",
        "type": "float",
        "default": "0.15",
        "unit": "length"
      },
      {
        "name": "Ass area",
        "id": "baseAssArea",
        "type": "float",
        "default": "0.1",
        "unit": "area"
      },
      {
        "name": "Same-size stomping",
        "id": "sameSizeStomp",
        "type": "checkbox"
      }
    ]
  },
  {
    "name": "Extra Info",
    "optional": false,
    "group": "main",
    "entries":
      [
        {
          "name": "Bio",
          "id": "bio",
          "type": "text",
          "default": "Big stompy monster, innit"
        }
      ]
  },
  {
    "name": "Body Details",
    "optional": false,
    "group": "main",
    "entries":
      [
        {
          "name": "Species",
          "id": "species",
          "type": "text",
          "default": "crux"
        },
        {
          "name": "Foot type",
          "id": "footType",
          "type": "select",
          "default": "paw",
          "choices":
            [
              {
                "name": "Paws",
                "value": "paw"
              },
              {
                "name": "Hooves",
                "value": "hoof"
              },
              {
                "name": "Feet",
                "value": "foot",
              },
              {
                "name": "Avian",
                "value": "avian"
              }
            ]
        },
        {
          "name": "Mouth type",
          "id": "jawType",
          "type": "select",
          "default": "jaw",
          "choices":
            [
              {
                "name": "Jaws",
                "value": "jaw"
              },
              {
                "name": "Beak",
                "value": "beak"
              }
            ]
        }
      ]
  },
  {
    "name": "Gameplay",
    "optional": false,
    "group": "main",
    "entries":
      [
        {
          "type": "radio",
          "id": "difficulty",
          "default": "0",
          "choices":
            [
              {
                "name": "Sandbox",
                "value": "0",
                "tooltip": "Grow how you want, when you want.",
              },
              {
                "name": "Stompvival",
                "value": "1",
                "tooltip": "Actions earn you growth points, which are used to grow bigger.",
              }
            ]
        },
        {
          "name": "Automatic Growth",
          "id": "automaticGrowthEnabled",
          "type": "subcategory",
          "entries":
            [
              {
                "name": "Help",
                "id": "",
                "type": "label",
                "tooltip": "When checked, you will automaically grow by ingesting/absorbing mass."
              },
              {
                "name": "Prey growth factor",
                "id": "basePreyGrowthFactor",
                "type": "float",
                "default": "80",
                "unit": "percentage",
                "tooltip": "How much of what you eat gets automatically added to your body. Setting this to 0% disables it. To add half of your prey mass to your own, set to 50%."
              },
              {
                "name": "Scale growth with size",
                "id": "growthScaleWithSize",
                "type": "checkbox",
                "tooltip": "If you're ten times bigger than normal, you gain ten times as much mass when digesting prey"
              }
            ]
        },
        {
          "name": "Biomes",
          "id": "biomes",
          "type": "subcategory",
          "entries":
            [
              {
                "name": "Walk to other locations",
                "id": "changingBiomes",
                "type": "checkbox",
                "tooltip": "When checked, walking will sometimes change your location."
              },
              {
                "name": "Default Biome",
                "type": "select",
                "id": "defaultBiome",
                "default": "City",
                "tooltip": "Where you start, if you have \"Walk to other locations\" disabled, you will be stuck here.",
                "choices":
                  [
                    {
                      "name": "City",
                      "value": "City",
                      "tooltip": "The normal city enviroment you are used to.",
                    },
                    {
                      "name": "Downtown",
                      "value": "Downtown",
                      "tooltip": "A dense city center.",
                    },
                    {
                      "name": "Suburb",
                      "value": "Suburb",
                      "tooltip": "The perfect place to start a family, or eat one.",
                    },
                    {
                      "name": "Rural",
                      "value": "Rural",
                      "tooltip": "Is that a cow?",
                    }
                  ]
              },
              {
                "name": "Enabled biomes:",
                "id": "",
                "type": "label",
              },
              {
                "name": "City",
                "id": "cityEnabled",
                "type": "checkbox",
                "default": true,
                "tooltip": "The normal city enviroment you are used to.",
              },
              {
                "name": "Downtown",
                "id": "downtownEnabled",
                "type": "checkbox",
                "default": true,
                "tooltip": "A dense city center.",
              },
              {
                "name": "Suburb",
                "id": "suburbEnabled",
                "type": "checkbox",
                "default": true,
                "tooltip": "The perfect place to start a family, or eat one.",
              },
              {
                "name": "Rural",
                "id": "ruralEnabled",
                "type": "checkbox",
                "default": true,
                "tooltip": "Is that a cow?",
              }
            ]
        },
      ]
  },
  {
    "name": "Brutality",
    "optional": false,
    "group": "main",
    "entries":
      [
        {
          "type": "radio",
          "id": "brutality",
          "default": "1",
          "choices":
            [
              {
                "name": "Non-fatal",
                "value": "0",
                "tooltip": "All actions are explicitly safe."
              },
              {
                "name": "Fatal",
                "value": "1",
                "warning": "Fatal actions are enabled",
                "tooltip": "Actions can have fatal consequences, but don't go into detail."
              },
              {
                "name": "Gory",
                "value": "2",
                "warning": "Gory actions are enabled",
                "tooltip": "Descriptions are violent, but not excessively so."
              },
              {
                "name": "Sadistic",
                "value": "3",
                "warning": "Brutal actions are enabled",
                "tooltip": "Cronch."
              },
            ]
        }
      ]
  },
  {
    "name": "Victims",
    "optional": false,
    "group": "main",
    "entries":
      [
        {
          "name": "Human prey",
          "id": "victimsHuman",
          "type": "checkbox",
          "tooltip": "When checked, your prey is humans. By default your prey is a wide array of anthros."
        },
        {
          "name": "Military",
          "id": "victimsMilitary",
          "type": "checkbox",
          "tooltip": "When checked, you can prey on military units like soldiers, tanks, helicopeter, up to destroying entire armies."
        },
        {
          "name": "Macros",
          "id": "victimsMacros",
          "type": "checkbox"
        },
        {
          "name": "Micros",
          "id": "victimsMicros",
          "type": "checkbox"
        }
      ]
  },
  {
    "name": "Oral Vore",
    "id": "oralVore",
    "group": "main",
    "optional": true,
    "buttons": [
      "feed", "chew"
    ],
    "entries":
      [
        {
          "name": "Automatic Digestion",
          "id": "oralDigestAuto",
          "type": "subcategory",
          "default": true,
          "entries":
            [
              {
                "name": "Digestion time",
                "id": "oralDigestTime",
                "type": "float",
                "default": "15"
              }
            ]
        },
        {
          "name": "Manual digestion",
          "id": "oralDigestManual",
          "type": "checkbox",
          "buttons": ["digest_stomach"]
        },
        {
          "name": "Same-size vore",
          "id": "sameSizeOralVore",
          "type": "checkbox",
          "default": true
        },
        {
          "name": "Vomiting",
          "id": "vomitEnabled",
          "type": "checkbox",
          "warning": "Vomiting is enabled",
          "buttons": ["vomit"]
        }
      ]
  },
  {
    "name": "Anal Vore",
    "id": "analVore",
    "optional": true,
    "group": "alt-vore",
    "buttons": ["anal_vore"],
    "entries":
      [
        {
          "name": "Anus diameter",
          "id": "baseAnalVoreDiameter",
          "type": "float",
          "default": "0.1",
          "unit": "length"
        },
        {
          "name": "Automatic Digestion",
          "id": "analDigestAuto",
          "type": "subcategory",
          "default": true,
          "entries":
            [
              {
                "name": "Digestion time",
                "id": "analDigestTime",
                "type": "float",
                "default": "15"
              }
            ]
        },
        {
          "name": "Anal autogrowth factor",
          "id": "assGrowthFactor",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
        },
        {
          "name": "Manual digestion",
          "id": "analDigestManual",
          "type": "checkbox",
          "buttons": ["digest_anal"]
        },
        {
          "name": "Same-size vore",
          "id": "sameSizeAnalVore",
          "type": "checkbox",
          "default": true
        },
        {
          "name": "Anal vore goes to stomach",
          "id": "analVoreToStomach",
          "type": "checkbox"
        }
      ]
  },
  {
    "name": "Footwear",
    "id": "footWear",
    "group": "body-part",
    "optional": true,
    "panels": ["shoes"],
    "entries":
      [
        {
          "name": "Socks",
          "id": "footSockEnabled",
          "type": "subcategory",
          "buttons": ["remove_socks", "wear_socks", "stuff_socks", "dump_socks"],
          "entries":
            [
              {
                "name": "Sock type",
                "id": "footSock",
                "type": "select",
                "default": "sock",
                "choices":
                  [
                    {
                      "name": "Socks",
                      "value": "sock"
                    },
                    {
                      "name": "Stockings",
                      "value": "stocking"
                    }
                  ]
              }
            ]
        },
        {
          "name": "Shoes",
          "id": "footShoeEnabled",
          "type": "subcategory",
          "buttons": ["remove_shoes", "wear_shoes", "stuff_shoes", "dump_shoes"],
          "entries":
            [
              {
                "name": "Shoe type",
                "id": "footShoe",
                "type": "select",
                "default": "shoe",
                "choices":
                  [
                    {
                      "name": "Shoes",
                      "value": "shoe"
                    },
                    {
                      "name": "Boots",
                      "value": "boot"
                    },
                    {
                      "name": "Trainers",
                      "value": "trainer"
                    },
                    {
                      "name": "Sandals",
                      "value": "sandal"
                    },
                    {
                      "name": "High Heels",
                      "value": "heel",
                    },
                    {
                      "name": "Crocs",
                      "value": "croc"
                    }
                  ]
              }
            ]
        }
      ]
  },
  {
    "name": "Arousal",
    "id": "arousalEnabled",
    "group": "nsfw",
    "optional": true,
    "warning": "Arousal is enabled",
    "entries":
      [
        {
          "name": "Help",
          "id": "",
          "type": "label",
          "tooltip": "Most actions increase arousal, as does digestion and being overfilled.\nEdging occurs when you're near orgasm, and increases the total volume of the orgasm."
        },
        {
          "name": "Arousal multiplier",
          "id": "arousalFactor",
          "type": "float",
          "default": "1",
          "tooltip": "How quickly arousal and orgasm builds."
        },
        {
          "name": "Edge multiplier",
          "id": "edgeFactor",
          "type": "float",
          "default": "1",
          "tooltip": "How quickly edge builds up."
        }
      ]
  },
  {
    "name": "Tail",
    "id": "hasTail",
    "group": "body-part",
    "optional": true,
    "parts": ["tail"],
    "panels": ["tails"],
    "buttons": ["tail_slap"],
    "entries":
      [
        {
          "name": "Number of tails",
          "id": "tailCount",
          "type": "int",
          "default": "1"
        },
        {
          "name": "Tail description",
          "id": "tailType",
          "type": "text",
          "default": "fluffy"
        },
        {
          "name": "Tail length",
          "id": "baseTailLength",
          "type": "float",
          "default": "1",
          "unit": "length"
        },
        {
          "name": "Tail diameter",
          "id": "baseTailDiameter",
          "type": "float",
          "default": "0.3",
          "unit": "length"
        },
        {
          "name": "Tail Vore",
          "id": "tailMaw",
          "type": "subcategory",
          "entries":
            [
              {
                "name": "Tail stretchiness",
                "id": "tailStretchiness",
                "type": "float",
                "default": "3"
              },
              {
                "name": "Tail autogrowth factor",
                "id": "tailGrowthFactor",
                "type": "float",
                "default": "1",
                "unit": "percentage",
                "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
              },
              {
                "name": "Automatic Digestion",
                "id": "tailDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "tailDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "tailDigestManual",
                "type": "checkbox",
                "buttons": ["digest_tail"]
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeTailVore",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Tail vore goes to stomach",
                "id": "tailVoreToStomach",
                "type": "checkbox"
              }
            ]
        }
      ]
  },
  {
    "name": "Pouch",
    "id": "hasPouch",
    "group": "alt-vore",
    "optional": true,
    "panels": ["misc"],
    "buttons": ["pouch_stuff", "pouch_rub"],
    "entries":
      [
        {
          "name": "Absorption",
          "id": "pouchAbsorption",
          "type": "checkbox",
          "buttons": ["pouch_absorb"]
        }
      ]
  },
  {
    "name": "Male Genitals",
    "id": "maleParts",
    "group": "nsfw",
    "optional": true,
    "stats": ["cum"],
    "parts": ["dick", "balls"],
    "panels": ["dick"],
    "buttons": ["cockslap", "ball_smother"],
    "entries":
      [
        {
          "name": "Cock length",
          "id": "baseDickLength",
          "type": "float",
          "default": "0.3",
          "unit": "length"
        },
        {
          "name": "Cock diameter",
          "id": "baseDickDiameter",
          "type": "float",
          "default": "0.08",
          "unit": "length"
        },
        {
          "name": "Cock description",
          "id": "dickType",
          "type": "text",
          "default": "canine"
        },
        {
          "name": "Ball diameter",
          "id": "baseBallDiameter",
          "type": "float",
          "default": "0.05",
          "unit": "length"
        },
        {
          "name": "Orgasm size",
          "id": "baseCumVolume",
          "type": "float",
          "default": "0.1",
          "unit": "volume"
        },
        {
          "name": "Passive cum production",
          "id": "baseCumProduction",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much you fill up every second"
        },
        {
          "name": "Cum storage factor",
          "id": "cumStorageScale",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Cock autogrowth factor",
          "id": "cockGrowthFactor",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
        },
        {
          "name": "Balls autogrowth factor",
          "id": "ballGrowthFactor",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
        },
        {
          "name": "Cock Vore",
          "id": "cockVoreEnabled",
          "type": "subcategory",
          "buttons": ["cock_vore"],
          "entries":
            [
              {
                "name": "Cock stretchiness",
                "id": "dickStretchiness",
                "type": "float",
                "default": "5"
              },
              {
                "name": "Cum digestion factor",
                "id": "baseCumDigestFactor",
                "type": "float",
                "default": "1"
              },
              {
                "name": "Automatic Digestion",
                "id": "cockDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "cockDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "cockDigestManual",
                "type": "checkbox",
                "buttons": ["digest_cock"]
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeCockVore",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Scale cum with size",
                "id": "cumScaleWithSize",
                "type": "checkbox",
                "tooltip": "If you're ten times bigger than normal, you produce ten times as much cum when digesting prey"
              }
            ]
        },
        {
          "name": "Sheath",
          "id": "hasSheath",
          "type": "subcategory",
          "buttons": ["sheath_stuff", "sheath_toy", "sheath_clench"],
          "entries":
            [
              {
                "name": "Absorption",
                "id": "sheathAbsorptionEnabled",
                "type": "checkbox",
                "buttons": ["sheath_absorb"]
              }
            ]
        },
        {
          "name": "Foreskin",
          "id": "hasForeskin",
          "type": "subcategory",
          "buttons": ["foreskin_stuff", "foreskin_toy", "foreskin_clench"],
          "entries":
            [
              {
                "name": "Absorption",
                "id": "foreskinAbsorptionEnabled",
                "type": "checkbox",
                "buttons": ["foreskin_absorb"]
              }
            ]
        },
        {
          "name": "Musk",
          "id": "maleMuskEnabled",
          "type": "subcategory",
          "parts": ["musk"],
          "entries":
            [
              {
                "name": "Musk factor",
                "id": "baseMaleMuskArea",
                "type": "float",
                "default": "0.5"
              }
            ]
        }
      ]
  },
  {
    "name": "Female Genitals",
    "id": "femaleParts",
    "group": "nsfw",
    "optional": true,
    "stats": ["femcum"],
    "parts": ["slit", "womb"],
    "panels": ["vagina"],
    "buttons": ["slit_toy"],
    "entries":
      [
        {
          "name": "Slit length",
          "id": "baseVaginaLength",
          "type": "float",
          "default": "0.1",
          "unit": "length"
        },
        {
          "name": "Slit width",
          "id": "baseVaginaWidth",
          "type": "float",
          "default": "0.05",
          "unit": "length"
        },
        {
          "name": "Womb volume",
          "id": "baseWombVolume",
          "type": "float",
          "default": "0.1",
          "unit": "volume"
        },
        {
          "name": "Orgasm size",
          "id": "baseFemcumVolume",
          "type": "float",
          "default": "0.1",
        },
        {
          "name": "Passive femcum production",
          "id": "baseFemcumProduction",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much you fill up every second"
        },
        {
          "name": "Femcum storage factor",
          "id": "femcumStorageScale",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Unbirth",
          "id": "unbirthEnabled",
          "type": "subcategory",
          "buttons": ["unbirth"],
          "entries":
            [
              {
                "name": "Slit stretchiness",
                "id": "vaginaStretchiness",
                "type": "float",
                "default": "5"
              },
              {
                "name": "Femcum digestion factor",
                "id": "baseFemcumDigestFactor",
                "type": "float",
                "default": "1"
              },
              {
                "name": "Vagina autogrowth factor",
                "id": "vaginaGrowthFactor",
                "type": "float",
                "default": "1",
                "unit": "percentage",
                "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
              },
              {
                "name": "Womb autogrowth factor",
                "id": "wombGrowthFactor",
                "type": "float",
                "default": "1",
                "unit": "percentage",
                "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
              },
              {
                "name": "Automatic Digestion",
                "id": "unbirthDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "unbirthDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "unbirthDigestManual",
                "type": "checkbox",
                "buttons": ["digest_unbirth"]
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeUnbirth",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Scale femcum with size",
                "id": "femcumScaleWithSize",
                "type": "checkbox",
                "tooltip": "If you're ten times bigger than normal, you produce ten times as much femcum when digesting prey"
              }
            ]
        },
        {
          "name": "Musk",
          "id": "femaleMuskEnabled",
          "type": "subcategory",
          "parts": ["musk"],
          "entries":
            [
              {
                "name": "Musk factor",
                "id": "baseFemaleMuskArea",
                "type": "float",
                "default": "0.5"
              }
            ]
        }
      ]
  },
  {
    "name": "Sexual Magic",
    "id": "sexualMagicEnabled",
    "group": "nsfw",
    "optional": true,
    "panels": ["magic"],
    "entries":
      [
        {
          "name": "Arousal",
          "id": "magicArousal",
          "type": "checkbox",
          "buttons": ["magic_arousal"],
          "default": true,
          "tooltip": "Rapidly arouses the caster"
        },
        {
          "name": "Summon cum",
          "id": "magicFillSexual",
          "type": "checkbox",
          "buttons": ["magic_fill_sexual"],
          "default": true,
          "tooltip": "Prepares the caster for quite the gush!"
        }
      ]
  },
  {
    "name": "Breasts",
    "id": "hasBreasts",
    "group": "body-part",
    "optional": true,
    "panels": ["breasts"],
    "parts": ["breasts"],
    "buttons": ["breast_crush", "breast_toy", "cleavage_stuff", "cleavage_crush", "cleavage_drop", "cleavage_absorb"],
    "entries":
      [
        {
          "name": "Breast diameter",
          "id": "baseBreastDiameter",
          "type": "float",
          "default": "0.1",
          "unit": "length"
        },
        {
          "name": "Lactation",
          "id": "lactationEnabled",
          "type": "subcategory",
          "stats": ["milk"],
          "buttons": ["breast_milk"],
          "warning": "Lactation is enabled",
          "entries":
            [
              {
                "name": "Lactation scale",
                "id": "lactationFactor",
                "type": "float",
                "default": "0.25"
              },
              {
                "name": "Passive milk production",
                "id": "baseLactationProduction",
                "type": "float",
                "default": "0.1",
                "unit": "percentage",
                "tooltip": "How much you fill up every second"
              },
              {
                "name": "Milk storage scale",
                "id": "milkStorageScale",
                "type": "float",
                "default": "1"
              }
            ]
        },
        {
          "name": "Breast Vore",
          "id": "breastVore",
          "type": "subcategory",
          "buttons": ["breast_vore", "digest_breast"],
          "entries":
            [
              {
                "name": "Breast stretchiness",
                "id": "breastStretchiness",
                "type": "float",
                "default": "3"
              },
              {
                "name": "Milk digestion scale",
                "id": "baseMilkDigestFactor",
                "type": "float",
                "default": "1"
              },
              {
                "name": "Breast autogrowth factor",
                "id": "breastGrowthFactor",
                "type": "float",
                "default": "1",
                "unit": "percentage",
                "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
              },
              {
                "name": "Automatic Digestion",
                "id": "breastDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "breastDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "breastDigestManual",
                "type": "checkbox"
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeBreastVore",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Scale milk with size",
                "id": "milkScaleWithSize",
                "type": "checkbox",
                "tooltip": "If you're ten times bigger than normal, you produce ten times as much milk when digesting prey"
              }
            ]
        }
      ]
  },
  {
    "name": "Stench",
    "id": "stenchEnabled",
    "group": "gross",
    "optional": true,
    "warning": "Stench is enabled",
    "parts": ["stench"],
    "entries":
      [
        {
          "name": "Paw stench scale",
          "id": "basePawStenchArea",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Ass stench scale",
          "id": "baseAssStenchArea",
          "type": "float",
          "default": "1.5"
        },
        {
          "name": "Piss stench scale",
          "id": "basePissStenchArea",
          "type": "float",
          "default": "0.75"
        },
        {
          "name": "Scat stench scale",
          "id": "baseScatStenchArea",
          "type": "float",
          "default": "3"
        },
      ]
  },
  {
    "name": "Gas",
    "id": "gasEnabled",
    "group": "gross",
    "optional": true,
    "stats": ["gas"],
    "panels": ["waste"],
    "warning": "Gas is enabled",
    "entries":
      [
        {
          "name": "Belching",
          "id": "belchEnabled",
          "type": "checkbox",
          "buttons": ["belch"]
        },
        {
          "name": "Farting",
          "id": "fartEnabled",
          "type": "checkbox",
          "buttons": ["fart"]
        },
        {
          "name": "Passive gas production",
          "id": "baseGasProduction",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much you fill up every second"
        },
        {
          "name": "Gas storage scale",
          "id": "gasStorageScale",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Gas digestion factor",
          "id": "baseGasDigestFactor",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Scale gas with size",
          "id": "gasScaleWithSize",
          "type": "checkbox",
          "tooltip": "If you're ten times bigger than normal, you produce ten times as much gas when digesting prey"
        }
      ]
  },
  {
    "name": "Soul Vore",
    "id": "soulVoreEnabled",
    "group": "alt-vore",
    "optional": true,
    "panels": ["souls"],
    "buttons": ["soul_vore", "soul_absorb_paw"],
    "warning": "Soul vore enabled",
    "entries":
      [
        {
          "name": "Souls autogrowth factor",
          "id": "soulGrowthFactor",
          "type": "float",
          "default": "25",
          "unit": "percentage",
          "tooltip": "How much you grow when absorbing souls. [1]-you will gain equal mass to the souls you absorb. [.01]- you will grow by 1% of the mass of the souls you absorb. This does not stack with Prey growth factor"
        },
        {
          "name": "Automatic Digestion",
          "id": "soulDigestAuto",
          "type": "subcategory",
          "default": true,
          "entries":
            [
              {
                "name": "Digestion time",
                "id": "soulDigestTime",
                "type": "float",
                "default": "15"
              }
            ]
        },
        {
          "name": "Manual digestion",
          "id": "soulDigestManual",
          "type": "checkbox",
          "buttons": ["digest_soul"]
        },
        {
          "name": "Soul vore type",
          "type": "select",
          "id": "soulVoreType",
          "default": "body",
          "choices":
            [
              {
                "name": "Released",
                "value": "release",
              },
              {
                "name": "Trapped",
                "value": "body",
              },
              {
                "name": "Digested",
                "value": "oblivion",
              },
            ]
        },
      ]
  },
  {
    "name": "Piss",
    "id": "pissEnabled",
    "group": "gross",
    "optional": true,
    "stats": ["piss"],
    "panels": ["waste"],
    "buttons": ["piss"],
    "warning": "Watersports enabled",
    "entries":
      [
        {
          "name": "Passive piss production",
          "id": "basePissProduction",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much you fill up every second"
        },
        {
          "name": "Piss storage scale",
          "id": "pissStorageScale",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Bladder Vore",
          "id": "bladderVore",
          "type": "subcategory",
          "buttons": ["bladder_vore"],
          "entries":
            [
              {
                "name": "Urethra diameter",
                "id": "baseUrethraDiameter",
                "type": "float",
                "default": "0.03",
                "unit": "length"
              },
              {
                "name": "Urethra stretchiness",
                "id": "urethraStretchiness",
                "type": "float",
                "default": "5"
              },
              {
                "name": "Piss digestion scale",
                "id": "basePissDigestFactor",
                "type": "float",
                "default": "1"
              },
              {
                "name": "Automatic Digestion",
                "id": "bladderDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "bladderDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "bladderDigestManual",
                "type": "checkbox",
                "buttons": ["digest_bladder"],
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeBladderVore",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Scale piss with size",
                "id": "pissScaleWithSize",
                "type": "checkbox",
                "tooltip": "If you're ten times bigger than normal, you produce ten times as much piss when digesting prey"
              }
            ]
        }
      ]
  },
  {
    "name": "Scat",
    "id": "scatEnabled",
    "group": "gross",
    "optional": true,
    "stats": ["scat"],
    "panels": ["waste"],
    "buttons": ["scat"],
    "warning": "Scat is enabled",
    "entries":
      [
        {
          "name": "Scat digestion scale",
          "id": "baseScatDigestFactor",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Passive scat production",
          "id": "baseScatProduction",
          "type": "float",
          "default": "0.1",
          "unit": "percentage",
          "tooltip": "How much you fill up every second"
        },
        {
          "name": "Scat storage scale",
          "id": "scatStorageScale",
          "type": "float",
          "default": "1"
        },
        {
          "name": "Scale scat with size",
          "id": "scatScaleWithSize",
          "type": "checkbox",
          "tooltip": "If you're ten times bigger than normal, you produce ten times as much scat when digesting prey"
        }
      ]
  },
  {
    "name": "Goo",
    "id": "gooEnabled",
    "group": "body-part",
    "optional": true,
    "panels": ["goo"],
    "buttons": ["melt"],
    "entries":
      [
        {
          "name": "Digestion",
          "id": "gooDigestion",
          "type": "subcategory",
          "entries":
            [
              {
                "name": "Goo autogrowth factor",
                "id": "gooGrowthFactor",
                "type": "float",
                "default": "80",
                "unit": "percentage",
                "tooltip": "How much you grow when absorbing people via goo. [1]-you will gain equal mass to the souls you absorb. [.01]- you will grow by 1% of the mass of the souls you absorb. This does not stack with Prey growth factor"
              },
              {
                "name": "Automatic Digestion",
                "id": "gooDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "gooDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "gooDigestManual",
                "type": "checkbox"
              }
            ]
        }
      ]
  },
  {
    "name": "Paw Vore",
    "id": "pawVoreEnabled",
    "group": "alt-vore",
    "optional": true,
    "buttons": ["paw_vore"],
    "entries":
      [
        {
          "name": "Paw autogrowth factor",
          "id": "pawGrowthFactor",
          "type": "float",
          "default": "1",
          "unit": "percentage",
          "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
        },
        {
          "name": "Automatic Digestion",
          "id": "pawDigestAuto",
          "type": "subcategory",
          "default": true,
          "entries":
            [
              {
                "name": "Digestion time",
                "id": "pawDigestTime",
                "type": "float",
                "default": "15"
              }
            ]
        },
        {
          "name": "Manual digestion",
          "id": "pawDigestManual",
          "type": "checkbox",
          "buttons": ["digest_paws"]
        },
        {
          "name": "Same-size vore",
          "id": "sameSizePawVore",
          "type": "checkbox",
          "default": true
        }
      ]
  },
  {
    "name": "Crop",
    "id": "cropEnabled",
    "group": "alt-vore",
    "optional": true,
    "buttons": ["crop_swallow"],
    "entries":
      [
        {
          "name": "Automatic Transfer",
          "id": "cropTransferAuto",
          "type": "subcategory",
          "default": true,
          "entries":
            [
              {
                "name": "Digestion time",
                "id": "cropTransferTime",
                "type": "float",
                "default": "10"
              }
            ]
        },
      ]
  },
  {
    "name": "Breath",
    "id": "breathEnabled",
    "group": "magic",
    "optional": true,
    "panels": ["breath"],
    "buttons": ["breath_line", "breath_cone"],
    "entries":
      [
        {
          "name": "Breath area",
          "id": "baseBreathArea",
          "type": "float",
          "default": "10",
          "unit": "area"
        },
        {
          "name": "Fire",
          "id": "breathFire",
          "type": "checkbox",
          "buttons": ["breath_fire"]
        },
        {
          "name": "Ice",
          "id": "breathIce",
          "type": "checkbox",
          "buttons": ["breath_ice"]
        },
        {
          "name": "Electric",
          "id": "breathElectric",
          "type": "checkbox",
          "buttons": ["breath_electric"]
        },
        {
          "name": "Smoke",
          "id": "breathSmoke",
          "type": "checkbox",
          "buttons": ["breath_smoke"]
        },
        {
          "name": "Radiation",
          "id": "breathRadiation",
          "type": "checkbox",
          "buttons": ["breath_radiation"]
        },
        {
          "name": "Foul",
          "id": "breathFoul",
          "type": "checkbox",
          "buttons": ["breath_foul"]
        },
      ]
  },
  {
    "name": "Drool",
    "id": "droolEnabled",
    "group": "gross",
    "optional": true,
    "buttons": ["drool"],
    "entries":
      [
        {
          "name": "Drool volume",
          "id": "droolBaseVolume",
          "type": "float",
          "default": "0.01",
          "unit": "volume"
        }
      ]
  },
  {
    "name": "Magic",
    "id": "magicEnabled",
    "group": "magic",
    "optional": true,
    "panels": ["magic"],
    "entries":
      [
        {
          "name": "Shrinking magic",
          "id": "magicShrink",
          "type": "checkbox",
          "buttons": ["magic_shrink"],
          "default": true,
          "tooltip": "Allows you to shrink a wide area(relative to your size) into a smaller area, allowing you to devour prey much bigger than you are."
        },
        {
          "name": "Fast digestion",
          "id": "magicFastDigestion",
          "type": "checkbox",
          "buttons": ["magic_fast_digestion"],
          "default": true,
          "tooltip": "Fast Digestion allows you to speed up your digestion for a short duration."
        },
        {
          "name": "Pause digestion",
          "id": "magicPauseDigestion",
          "type": "checkbox",
          "buttons": ["magic_pause_digestion"],
          "default": true,
          "tooltip": "Pause Digestion allows you to halt digestion until you cast it again."
        }
      ]
  },
  {
    "name": "Wings",
    "id": "hasWings",
    "group": "body-part",
    "optional": true,
    "panels": ["misc"],
    "parts": ["wings"],
    "buttons": ["wings_flap"],
    "entries":
      [
        {
          "name": "Wing width",
          "id": "baseWingWidth",
          "type": "float",
          "default": "1",
          "unit": "length"
        },
        {
          "name": "Wing length",
          "id": "baseWingLength",
          "type": "float",
          "default": "1",
          "unit": "length"
        },
        {
          "name": "Wing description",
          "id": "wingDesc",
          "type": "text",
          "default": "feathery"
        },
        {
          "name": "Wing Vore",
          "id": "wingVoreEnabled",
          "type": "subcategory",
          "buttons": ["wings_vore"],
          "entries":
            [
              {
                "name": "Wing autogrowth factor",
                "id": "wingGrowthFactor",
                "type": "float",
                "default": "1",
                "unit": "percentage",
                "tooltip": "How much this part grows during part specific digestion. This is relative to overall growth, 100%:all mass goes to this part 20%:20% part growth-80% overall growth."
              },
              {
                "name": "Automatic Digestion",
                "id": "wingDigestAuto",
                "type": "subcategory",
                "default": true,
                "entries":
                  [
                    {
                      "name": "Digestion time",
                      "id": "wingDigestTime",
                      "type": "float",
                      "default": "15"
                    }
                  ]
              },
              {
                "name": "Manual digestion",
                "id": "wingDigestManual",
                "type": "checkbox",
                "buttons": ["digest_wings"]
              },
              {
                "name": "Same-size vore",
                "id": "sameSizeWingVore",
                "type": "checkbox",
                "default": true
              },
              {
                "name": "Wing vore goes to stomach",
                "id": "wingVoreToStomach",
                "type": "checkbox"
              }
            ]
        }
      ]
  }
];
 |