{
  "_readme": [
    "Galaxy Strike Online — Starbase World Layout",
    "Edit this file to customize your starbase. Changes take effect next time you visit the Starbases tab.",
    "",
    "GRID",
    "  cols / rows  : overall size of the world (min 8×8, max ~32×26 before performance drops)",
    "",
    "STYLE  (global defaults — all optional hex strings)",
    "  wallColor / wallColorLeft / wallColorRight / wallColorTop",
    "  floorColorEven / floorColorOdd",
    "  doorColor / doorFrameColor",
    "",
    "WALLS  — each entry draws a run of wall tiles",
    "  col, row   : start position",
    "  span       : number of tiles  (default 1)",
    "  dir        : 'h' horizontal  |  'v' vertical",
    "  color / colorLeft / colorRight / colorTop  : per-segment color overrides",
    "",
    "DOORS  — walkable openings; panel slides up when player is adjacent",
    "  col, row   : position",
    "  color      : panel color override",
    "  frameColor : pillar/frame color override",
    "",
    "ROOMS  — named regions; rendered as ghost labels + used for per-room wallpapers",
    "  id         : unique string (used by the unlock / wallpaper system)",
    "  label      : display text",
    "  bounds     : { col, row, cols, rows }",
    "  unlock     : item id required to unlock this room (omit = always open)",
    "              Locked rooms are filled with sealed-wall tiles and shown as 'LOCKED'",
    "",
    "PLAYER START",
    "  col, row   : spawn tile (must be walkable floor)"
  ],

  "name": "Starbase Alpha-7",

  "grid": { "cols": 26, "rows": 20 },

  "style": {
    "wallColor":        "#00d4ff",
    "wallColorLeft":    "#0c1626",
    "wallColorRight":   "#0a1220",
    "wallColorTop":     "#1a2840",
    "floorColorEven":   "#151c2e",
    "floorColorOdd":    "#111827",
    "doorColor":        "#00ffcc",
    "doorFrameColor":   "#00d4ff"
  },

  "walls": [
    { "col": 0,  "row": 0,  "span": 26, "dir": "h", "_": "top wall" },
    { "col": 0,  "row": 19, "span": 26, "dir": "h", "_": "bottom wall" },
    { "col": 0,  "row": 0,  "span": 20, "dir": "v", "_": "left wall" },
    { "col": 25, "row": 0,  "span": 20, "dir": "v", "_": "right wall" },

    { "col": 1,  "row": 6,  "span": 24, "dir": "h", "_": "main hall separator",
      "color": "#00d4ff", "colorLeft": "#0d1a2e", "colorRight": "#0a1525", "colorTop": "#182a42" },

    { "col": 7,  "row": 7,  "span": 13, "dir": "v", "_": "left inner wall" },
    { "col": 17, "row": 7,  "span":  2, "dir": "v", "_": "right stub top" },
    { "col": 17, "row": 10, "span": 10, "dir": "v", "_": "right stub bottom",
      "color": "#4488ff", "colorLeft": "#0a1830", "colorRight": "#080e20", "colorTop": "#102040" },

    { "col": 7,  "row": 13, "span": 10, "dir": "h", "_": "operations divider",
      "color": "#ff00ff", "colorLeft": "#1a0a20", "colorRight": "#120616", "colorTop": "#200a30" },

    { "col": 17, "row": 13, "span":  6, "dir": "h", "_": "vault corridor wall",
      "color": "#ffcc00", "colorLeft": "#1a1200", "colorRight": "#140e00", "colorTop": "#221800" }
  ],

  "doors": [
    { "col": 13, "row": 6,  "dir": "h", "_": "main hall → command centre" },
    { "col": 17, "row": 6,  "dir": "h", "color": "#4488ff", "frameColor": "#0066ff", "_": "main hall → right wing" },
    { "col": 7,  "row": 10, "dir": "v", "_": "left wing ↔ command centre" },
    { "col": 17, "row": 9,  "dir": "v", "color": "#ff88ff", "frameColor": "#cc44cc", "_": "command centre ↔ right wing" },
    { "col": 7,  "row": 15, "dir": "v", "_": "left wing → operations" },
    { "col": 13, "row": 13, "dir": "h", "color": "#ff00ff", "frameColor": "#cc00cc", "_": "command centre → operations" },
    { "col": 20, "row": 13, "dir": "h", "color": "#ffcc00", "frameColor": "#ddaa00", "_": "right wing → vault corridor" }
  ],

  "rooms": [
    {
      "id": "main_hall",
      "label": "Main Hall",
      "bounds": { "col": 1, "row": 1, "cols": 24, "rows": 5 }
    },
    {
      "id": "left_wing",
      "label": "Armory Wing",
      "bounds": { "col": 1, "row": 7, "cols": 6, "rows": 12 },
      "unlock": "room_armory"
    },
    {
      "id": "command_centre",
      "label": "Command Centre",
      "bounds": { "col": 8, "row": 7, "cols": 9, "rows": 6 }
    },
    {
      "id": "right_wing",
      "label": "Research Lab",
      "bounds": { "col": 18, "row": 7, "cols": 7, "rows": 6 },
      "unlock": "room_research_lab"
    },
    {
      "id": "operations",
      "label": "Operations Centre",
      "bounds": { "col": 8, "row": 14, "cols": 9, "rows": 5 },
      "unlock": "room_operations"
    },
    {
      "id": "commanders_vault",
      "label": "Commander's Vault",
      "bounds": { "col": 18, "row": 14, "cols": 7, "rows": 5 },
      "unlock": "room_vault"
    }
  ],

  "playerStart": { "col": 13, "row": 3 }
}
