{
 "note": "GM room: the owner's manual-test space (and the closed-alpha QA kit). Everything a tester needs at once — monsters, static targets, bosses, any item with chosen affixes, preset builds, resets — without a custom alpha ruleset. Server-side commands; the wiki shows the presets and an item forge preview.",
 "proposed": true,
 "access": {
  "who": "Accounts with the gm or qa role. Only the owner grants roles (agents never do).",
  "where": "Instanced 'Caravan Proving Ground' (one per GM, plus a shared QA copy) and /gm chat commands anywhere on a test server.",
  "live": "GM role only. Every action is audited (who, what, where). GM-made items carry a gm flag and can never be traded, sold, listed or mailed.",
  "alpha": "The owner may grant qa to selected testers for the alpha."
 },
 "areas": [
  { "id": "spawn_ring", "name": "Spawn ring", "does": "Spawn any monster or elite by id: count 1–50, level 1–40, behaviour idle / neutral / hostile, pack spread 2–20 m. One-click packs per area." },
  { "id": "static_targets", "name": "Static targets", "does": "Training dummies for every weight class (small, medium, large, boss): fixed or infinite life, armour/resistance presets, DPS meter (1 s / 10 s / fight), hit log." },
  { "id": "boss_pit", "name": "Boss pit", "does": "Summon the Bellbound Regent or Kharuun; pick the start phase, toggle the enrage timer, reset the fight; telegraph timing overlay." },
  { "id": "item_forge", "name": "Item forge", "does": "Create any base at any item level with exact affixes (affix, tier, value), sockets and gems, refinement +0…+15 and the fractured flag; stacks of any orb, shard, consumable or material (1–999)." },
  { "id": "preset_builds", "name": "Preset builds", "does": "Pick any of the 18 builds and get a level-40 character with full gear, a full 45-point Atlas, Codex picks and facets, chain slots, hotbar and gems in one click." },
  { "id": "reset_station", "name": "Reset station", "does": "Set level 1–40; reset Atlas, Codex or facets; clear cooldowns; refill life and mana; clear the bag or a stash tab; remove buffs." },
  { "id": "toggles", "name": "Debug toggles", "does": "God mode, infinite mana, no cooldowns, show hitboxes, show telegraph shapes, freeze monster AI, show server positions. Never a global time-scale." },
  { "id": "teleport", "name": "Teleport board", "does": "Jump to any waypoint, area, boss spawn or quest step." },
  { "id": "network", "name": "Network lab", "does": "Add latency, jitter and packet loss to the GM's own connection to test prediction and reconciliation." }
 ],
 "commands": [
  { "cmd": "/gm spawn <monster> [count] [level]", "does": "Spawn monsters (elites with the _elite id)." },
  { "cmd": "/gm boss <bellbound_regent|kharuun_ashen_caravan> [phase]", "does": "Summon a boss in the boss pit (or at your position on a test server)." },
  { "cmd": "/gm dummy <small|medium|large|boss> [life|inf]", "does": "Place a static target with a DPS meter." },
  { "cmd": "/gm item <base> [rarity] [ilvl]", "does": "Create an item; rarity picks random affixes unless set below." },
  { "cmd": "/gm affix <slot> <affix_id> <T5|T4|T3> [value]", "does": "Set an exact affix on an equipped item (value within the tier range)." },
  { "cmd": "/gm socket <slot> <gem...>", "does": "Set sockets and gems." },
  { "cmd": "/gm refine <slot> <0-15> [fractured]", "does": "Set refinement directly." },
  { "cmd": "/gm give <item_id> <count>", "does": "Add stackables (orbs, shards, consumables, materials) up to 999 per stack." },
  { "cmd": "/gm preset <build_id>", "does": "Apply a preset build (gear, Atlas, Codex, hotbar, gems, level 40)." },
  { "cmd": "/gm level <1-40>", "does": "Set the character level." },
  { "cmd": "/gm reset <atlas|codex|facets|cooldowns|all>", "does": "Reset progression pieces or cooldowns." },
  { "cmd": "/gm god | /gm mana | /gm nocd", "does": "Toggle invulnerability, infinite mana, no cooldowns." },
  { "cmd": "/gm hitboxes | /gm telegraphs", "does": "Show hit shapes and telegraph outlines." },
  { "cmd": "/gm ai freeze|resume", "does": "Freeze or resume monster AI in your instance." },
  { "cmd": "/gm tp <waypoint|area|boss|quest>", "does": "Teleport." },
  { "cmd": "/gm lag <ms> [jitter] [loss%]", "does": "Simulate a bad connection for your client." },
  { "cmd": "/gm clear <bag|stash N|monsters>", "does": "Clear inventory or spawned monsters." },
  {"cmd": "/gm time <dawn|day|dusk|night|HH:MM>", "does": "Jump the GM arena's clock to a phase or a time."},
  {"cmd": "/gm cycle <on|off|x1|x10|x60>", "does": "Run, pause or speed up the day in the GM arena."},
  {"cmd": "/gm weather <clear|dust_haze|overcast|rain|sandstorm|auto>", "does": "Force a weather state in the GM arena, or return to automatic."}
 ],
 "presetRule": {
  "level": 40,
  "atlas": "planBuild(origin, weapon, 45) — the path to the weapon Mastery plus the stat nodes its requirements need — then the remaining points greedily on nodes in the build's sector (notables first). Same algorithm as the Atlas page; the wiki links each preset to the Atlas with that allocation.",
  "gear": "Weapon: the highest-level base of the build's family (≤ 40), epic (5 affixes from the build's damage type), +10. Armour: the class of the build's first stat (STR plate, AGI leather, INT silk), rare. Jewelry: rare with life, mana and attribute affixes.",
  "gems": "Weapon: the build element's primary gem (fire Emberheart, cold Winterglass, lightning Stormseed, others Emberheart) + Lingering Echo + Sure Omen. Belt: Reed Rush + Frugal Step + Quickened Step.",
  "codex": "builds.json picks (all 8) with the first facet at ranks 2 and 3.",
  "hotbar": "builds.json hotbar (chain slots and Q E Z X C)."
 }
}
