{
  "schemaVersion": "1.0",
  "catalogueId": "SGMJ-TILES-WHW-001",
  "catalogueVersion": "2026.08.25",
  "locale": "en-SG",
  "reviewedAt": "2026-08-25",
  "reviewStatus": {
    "editorialLanguage": "en-SG",
    "editorialReview": "repository-quality-control-completed",
    "implementationReview": "deterministic-tests",
    "independentMahjongExpertReview": "pending",
    "chineseTerminologyReview": "pending-fluent-human-review"
  },
  "scope": "The physical 148-tile set and tile behaviour used by the Wong Hong Wei Singapore Mahjong practice table.",
  "totals": {
    "physicalTiles": 148,
    "uniqueFaces": 46
  },
  "tiles": [
    {
      "code": "b1",
      "category": "bamboo",
      "english": "One Bamboo",
      "zhHans": "一索",
      "zhHant": "一索",
      "commonTableName": "1 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b2",
      "category": "bamboo",
      "english": "Two Bamboo",
      "zhHans": "二索",
      "zhHant": "二索",
      "commonTableName": "2 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b3",
      "category": "bamboo",
      "english": "Three Bamboo",
      "zhHans": "三索",
      "zhHant": "三索",
      "commonTableName": "3 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b4",
      "category": "bamboo",
      "english": "Four Bamboo",
      "zhHans": "四索",
      "zhHant": "四索",
      "commonTableName": "4 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b5",
      "category": "bamboo",
      "english": "Five Bamboo",
      "zhHans": "五索",
      "zhHant": "五索",
      "commonTableName": "5 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b6",
      "category": "bamboo",
      "english": "Six Bamboo",
      "zhHans": "六索",
      "zhHant": "六索",
      "commonTableName": "6 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b7",
      "category": "bamboo",
      "english": "Seven Bamboo",
      "zhHans": "七索",
      "zhHant": "七索",
      "commonTableName": "7 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b8",
      "category": "bamboo",
      "english": "Eight Bamboo",
      "zhHans": "八索",
      "zhHant": "八索",
      "commonTableName": "8 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "b9",
      "category": "bamboo",
      "english": "Nine Bamboo",
      "zhHans": "九索",
      "zhHant": "九索",
      "commonTableName": "9 Soh",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d1",
      "category": "circles",
      "english": "One Circle",
      "zhHans": "一筒",
      "zhHant": "一筒",
      "commonTableName": "1 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d2",
      "category": "circles",
      "english": "Two Circle",
      "zhHans": "二筒",
      "zhHant": "二筒",
      "commonTableName": "2 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d3",
      "category": "circles",
      "english": "Three Circle",
      "zhHans": "三筒",
      "zhHant": "三筒",
      "commonTableName": "3 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d4",
      "category": "circles",
      "english": "Four Circle",
      "zhHans": "四筒",
      "zhHant": "四筒",
      "commonTableName": "4 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d5",
      "category": "circles",
      "english": "Five Circle",
      "zhHans": "五筒",
      "zhHant": "五筒",
      "commonTableName": "5 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d6",
      "category": "circles",
      "english": "Six Circle",
      "zhHans": "六筒",
      "zhHant": "六筒",
      "commonTableName": "6 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d7",
      "category": "circles",
      "english": "Seven Circle",
      "zhHans": "七筒",
      "zhHant": "七筒",
      "commonTableName": "7 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d8",
      "category": "circles",
      "english": "Eight Circle",
      "zhHans": "八筒",
      "zhHant": "八筒",
      "commonTableName": "8 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "d9",
      "category": "circles",
      "english": "Nine Circle",
      "zhHans": "九筒",
      "zhHant": "九筒",
      "commonTableName": "9 Tong",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c1",
      "category": "characters",
      "english": "One Character",
      "zhHans": "一万",
      "zhHant": "一萬",
      "commonTableName": "1 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c2",
      "category": "characters",
      "english": "Two Character",
      "zhHans": "二万",
      "zhHant": "二萬",
      "commonTableName": "2 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c3",
      "category": "characters",
      "english": "Three Character",
      "zhHans": "三万",
      "zhHant": "三萬",
      "commonTableName": "3 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c4",
      "category": "characters",
      "english": "Four Character",
      "zhHans": "四万",
      "zhHant": "四萬",
      "commonTableName": "4 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c5",
      "category": "characters",
      "english": "Five Character",
      "zhHans": "五万",
      "zhHant": "五萬",
      "commonTableName": "5 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c6",
      "category": "characters",
      "english": "Six Character",
      "zhHans": "六万",
      "zhHant": "六萬",
      "commonTableName": "6 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c7",
      "category": "characters",
      "english": "Seven Character",
      "zhHans": "七万",
      "zhHant": "七萬",
      "commonTableName": "7 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c8",
      "category": "characters",
      "english": "Eight Character",
      "zhHans": "八万",
      "zhHant": "八萬",
      "commonTableName": "8 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "c9",
      "category": "characters",
      "english": "Nine Character",
      "zhHans": "九万",
      "zhHant": "九萬",
      "commonTableName": "9 Wan",
      "copies": 4,
      "setUse": [
        "Chow",
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "A numbered suited tile. It may form a three-tile sequence in the same suit, a matching set, or the eye pair."
    },
    {
      "code": "E",
      "category": "winds",
      "english": "East Wind",
      "zhHans": "东风",
      "zhHant": "東風",
      "commonTableName": "East",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching set may score when it is the player's seat wind or the prevailing wind."
    },
    {
      "code": "S",
      "category": "winds",
      "english": "South Wind",
      "zhHans": "南风",
      "zhHant": "南風",
      "commonTableName": "South",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching set may score when it is the player's seat wind or the prevailing wind."
    },
    {
      "code": "W",
      "category": "winds",
      "english": "West Wind",
      "zhHans": "西风",
      "zhHant": "西風",
      "commonTableName": "West",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching set may score when it is the player's seat wind or the prevailing wind."
    },
    {
      "code": "N",
      "category": "winds",
      "english": "North Wind",
      "zhHans": "北风",
      "zhHant": "北風",
      "commonTableName": "North",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching set may score when it is the player's seat wind or the prevailing wind."
    },
    {
      "code": "RD",
      "category": "dragons",
      "english": "Red Dragon",
      "zhHans": "红中",
      "zhHant": "紅中",
      "commonTableName": "Red Dragon / Zhong",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching Dragon set is a scoring source on this practice table."
    },
    {
      "code": "GD",
      "category": "dragons",
      "english": "Green Dragon",
      "zhHans": "发财",
      "zhHant": "發財",
      "commonTableName": "Green Dragon / Fa",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching Dragon set is a scoring source on this practice table."
    },
    {
      "code": "WD",
      "category": "dragons",
      "english": "White Dragon",
      "zhHans": "白板",
      "zhHant": "白板",
      "commonTableName": "White Dragon / Bai Ban",
      "copies": 4,
      "setUse": [
        "Pong",
        "Kong",
        "pair"
      ],
      "bonusReplacement": false,
      "tableEffect": "An honour tile. It cannot form a Chow; a matching Dragon set is a scoring source on this practice table."
    },
    {
      "code": "F1",
      "category": "flowers",
      "english": "Plum Flower",
      "zhHans": "梅花",
      "zhHant": "梅花",
      "commonTableName": "1 Flower",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "East",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 1 matches the East seat on this practice table."
    },
    {
      "code": "F2",
      "category": "flowers",
      "english": "Orchid Flower",
      "zhHans": "兰花",
      "zhHant": "蘭花",
      "commonTableName": "2 Flower",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "South",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 2 matches the South seat on this practice table."
    },
    {
      "code": "F3",
      "category": "flowers",
      "english": "Chrysanthemum Flower",
      "zhHans": "菊花",
      "zhHant": "菊花",
      "commonTableName": "3 Flower",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "West",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 3 matches the West seat on this practice table."
    },
    {
      "code": "F4",
      "category": "flowers",
      "english": "Bamboo Flower",
      "zhHans": "竹花",
      "zhHant": "竹花",
      "commonTableName": "4 Flower",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "North",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 4 matches the North seat on this practice table."
    },
    {
      "code": "S1",
      "category": "seasons",
      "english": "Spring Season",
      "zhHans": "春季",
      "zhHant": "春季",
      "commonTableName": "1 Season",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "East",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 1 matches the East seat on this practice table."
    },
    {
      "code": "S2",
      "category": "seasons",
      "english": "Summer Season",
      "zhHans": "夏季",
      "zhHant": "夏季",
      "commonTableName": "2 Season",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "South",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 2 matches the South seat on this practice table."
    },
    {
      "code": "S3",
      "category": "seasons",
      "english": "Autumn Season",
      "zhHans": "秋季",
      "zhHant": "秋季",
      "commonTableName": "3 Season",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "West",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 3 matches the West seat on this practice table."
    },
    {
      "code": "S4",
      "category": "seasons",
      "english": "Winter Season",
      "zhHans": "冬季",
      "zhHant": "冬季",
      "commonTableName": "4 Season",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "seatMatch": "North",
      "tableEffect": "Expose it and draw a rear-wall replacement. Number 4 matches the North seat on this practice table."
    },
    {
      "code": "CAT",
      "category": "animals",
      "english": "Cat",
      "zhHans": "猫",
      "zhHant": "貓",
      "commonTableName": "Cat",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "pairedAnimal": "RAT",
      "pairName": "Cat catches Rat",
      "tableEffect": "Expose it and draw a rear-wall replacement. It scores one Tai here; completing Cat catches Rat also triggers the table's immediate bite payment."
    },
    {
      "code": "RAT",
      "category": "animals",
      "english": "Rat",
      "zhHans": "老鼠",
      "zhHant": "老鼠",
      "commonTableName": "Rat",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "pairedAnimal": "CAT",
      "pairName": "Cat catches Rat",
      "tableEffect": "Expose it and draw a rear-wall replacement. It scores one Tai here; completing Cat catches Rat also triggers the table's immediate bite payment."
    },
    {
      "code": "ROOSTER",
      "category": "animals",
      "english": "Cockerel",
      "zhHans": "公鸡",
      "zhHant": "公雞",
      "commonTableName": "Cockerel",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "pairedAnimal": "CENTIPEDE",
      "pairName": "Cockerel catches Centipede",
      "tableEffect": "Expose it and draw a rear-wall replacement. It scores one Tai here; completing Cockerel catches Centipede also triggers the table's immediate bite payment."
    },
    {
      "code": "CENTIPEDE",
      "category": "animals",
      "english": "Centipede",
      "zhHans": "蜈蚣",
      "zhHant": "蜈蚣",
      "commonTableName": "Centipede",
      "copies": 1,
      "setUse": [],
      "bonusReplacement": true,
      "pairedAnimal": "ROOSTER",
      "pairName": "Cockerel catches Centipede",
      "tableEffect": "Expose it and draw a rear-wall replacement. It scores one Tai here; completing Cockerel catches Centipede also triggers the table's immediate bite payment."
    }
  ]
}
