{
  "version": "1.2.0",
  "updated": "2026-10-06",
  "description": "Era main-panel + UI host registry. ui.grudge-studio.com is panel SSOT; info.grudge-studio.com holds definition JSON.",
  "host": "https://ui.grudge-studio.com",
  "panelUrl": "https://ui.grudge-studio.com/main-panel",
  "legacyInfoPanel": "https://info.grudge-studio.com/main-panel.html",
  "equipmentLayout": "unity-trait-store",
  "unityReference": "FRESH GRUDGE/Assets/uMMORPG/!TRAIT STORE + Character Creation paperdoll",
  "namedSockets": "https://info.grudge-studio.com/api/v1/toon-rts-named-sockets.json",
  "definitionsBase": "https://info.grudge-studio.com/api/v1",
  "api": {
    "eras": "/api/eras",
    "contract": "/api/main-panel",
    "era": "/api/main-panel/{era}",
    "client": "/main-panel-api.js"
  },
  "chrome": {
    "separator": " · ",
    "empty": "—",
    "encoding": "utf-8"
  },
  "defaultLayout": "unity",
  "sides": {
    "unity": {
      "left": ["helmet", "gloves", "boots", "ring"],
      "right": ["shoulders", "chest", "back", "relic"],
      "cards": ["faction", "class", "weapon", "offhand", "helmet", "shoulders", "chest", "back", "gloves", "ring", "boots", "relic", "mount", "boat"]
    },
    "tactical": {
      "left": ["helmet", "chest", "gloves", "legs", "boots"],
      "right": ["weapon", "offhand", "relic", "back", "mount"],
      "bottom": ["secondary", "offhand2", "add"]
    }
  },
  "defaultEra": "warlords",
  "eras": [
    {
      "id": "warlords",
      "name": "Warlords",
      "status": "canonical",
      "rosterMax": 4,
      "mainPanel": "/main-panel.html?era=warlords",
      "mainPanelUrl": "https://ui.grudge-studio.com/main-panel.html?era=warlords",
      "embedUrl": "https://ui.grudge-studio.com/main-panel.html?era=warlords&embed=1",
      "equipmentUrl": "https://ui.grudge-studio.com/main-panel.html?era=warlords&tab=equipment",
      "contractUrl": "/eras/warlords.json",
      "packId": "warlords",
      "packUrl": "/game-ui-packs/warlords.json",
      "playUrl": "https://grudgewarlords.com",
      "playUrls": [
        "https://grudgewarlords.com",
        "https://client.grudge-studio.com"
      ],
      "equipmentLayout": "unity-trait-store",
      "meshPipeline": "grudge6",
      "sides": {
        "unity": {
          "left": ["helmet", "gloves", "boots", "ring"],
          "right": ["shoulders", "chest", "back", "relic"],
          "cards": ["faction", "class", "weapon", "offhand", "helmet", "shoulders", "chest", "back", "gloves", "ring", "boots", "relic", "mount", "boat"]
        },
        "tactical": {
          "left": ["helmet", "chest", "gloves", "legs", "boots"],
          "right": ["weapon", "offhand", "relic", "back", "mount"],
          "bottom": ["secondary", "offhand2", "add"]
        }
      },
      "slotIds": [
        "helmet",
        "gloves",
        "boots",
        "ring",
        "shoulders",
        "chest",
        "back",
        "relic",
        "weapon",
        "offhand",
        "mount",
        "boat"
      ],
      "slots": [
        "helmet",
        "gloves",
        "boots",
        "ring",
        "shoulders",
        "chest",
        "back",
        "relic",
        "weapon",
        "offhand",
        "mount",
        "boat"
      ],
      "dataBindings": {
        "characters": "/api/characters?era=warlords",
        "equipment": "/api/characters/:id",
        "accountBag": "/api/account/resources",
        "cnftCollection": "/api/characters?era=warlords",
        "skillTrees": "https://info.grudge-studio.com/api/v1/master-skillTrees.json",
        "weaponSkills": "https://info.grudge-studio.com/api/v1/master-weaponSkills.json",
        "items": "https://info.grudge-studio.com/api/v1/master-items.json",
        "materials": "https://info.grudge-studio.com/api/v1/master-materials.json"
      }
    },
    {
      "id": "nexus",
      "name": "Nexus",
      "status": "shipping",
      "rosterMax": 12,
      "characterPlayground": "/quaternius-playground.html?era=nexus",
      "traitStore": "/trait-store?era=nexus",
      "mainPanel": "/main-panel.html?era=nexus",
      "mainPanelUrl": "https://ui.grudge-studio.com/main-panel.html?era=nexus",
      "embedUrl": "https://ui.grudge-studio.com/main-panel.html?era=nexus&embed=1",
      "equipmentUrl": "https://ui.grudge-studio.com/main-panel.html?era=nexus&tab=equipment",
      "contractUrl": "/eras/nexus.json",
      "packId": "nexus",
      "packUrl": "/game-ui-packs/nexus.json",
      "playUrls": [
        "https://grudges.grudge-studio.com/arpg-game/",
        "https://grudox.grudge-studio.com"
      ],
      "equipmentLayout": "unity-trait-store",
      "meshPipeline": "nexus",
      "slots": [
        "helmet",
        "chest",
        "legs",
        "boots",
        "weapon",
        "offhand",
        "amulet",
        "ring"
      ],
      "dataBindings": {
        "stats": "/api/stats/primary",
        "weapons": "https://objectstore.grudge-studio.com/api/v1/weapons.json",
        "characters": "/api/grudges/characters",
        "equipment": "/api/grudges/characters/:id",
        "cnftCollection": "/api/characters?era=nexus"
      }
    },
    {
      "id": "voxel",
      "name": "Voxel",
      "status": "canonical",
      "rosterMax": 4,
      "mainPanel": "/main-panel.html?era=voxel",
      "mainPanelUrl": "https://ui.grudge-studio.com/main-panel.html?era=voxel",
      "embedUrl": "https://ui.grudge-studio.com/main-panel.html?era=voxel&embed=1",
      "equipmentUrl": "https://ui.grudge-studio.com/main-panel.html?era=voxel&tab=equipment",
      "contractUrl": "/eras/voxel.json",
      "packId": "grudox",
      "packUrl": "/game-ui-packs/grudox.json",
      "playUrls": [
        "https://mineloader.grudge-studio.com",
        "https://open.grudge-studio.com"
      ],
      "equipmentLayout": "unity-trait-store",
      "meshPipeline": "voxel",
      "slots": [
        "helmet",
        "shoulders",
        "chest",
        "back",
        "gloves",
        "ring",
        "boots",
        "relic",
        "weapon",
        "offhand"
      ],
      "dataBindings": {
        "characters": "/api/characters?era=voxel",
        "equipment": "/api/characters/:id",
        "accountBag": "/api/account/resources",
        "cnftCollection": "/api/characters?era=voxel"
      }
    },
    {
      "id": "armada",
      "name": "Armada",
      "status": "canonical",
      "rosterMax": 4,
      "mainPanel": "/main-panel.html?era=armada",
      "mainPanelUrl": "https://ui.grudge-studio.com/main-panel.html?era=armada",
      "embedUrl": "https://ui.grudge-studio.com/main-panel.html?era=armada&embed=1",
      "equipmentUrl": "https://ui.grudge-studio.com/main-panel.html?era=armada&tab=equipment",
      "contractUrl": "/eras/armada.json",
      "packId": "mech",
      "packUrl": "/game-ui-packs/mech.json",
      "playUrls": ["https://mech-playground.vercel.app"],
      "equipmentLayout": "unity-trait-store",
      "meshPipeline": "armada",
      "slots": [
        "helmet",
        "shoulders",
        "chest",
        "back",
        "gloves",
        "ring",
        "boots",
        "relic",
        "weapon",
        "offhand"
      ],
      "dataBindings": {
        "characters": "/api/characters?era=armada",
        "equipment": "/api/characters/:id",
        "accountBag": "/api/account/resources",
        "cnftCollection": "/api/characters?era=armada"
      }
    }
  ]
}
