[
  {
    "id": "C01",
    "title": "普通、选中、资源不足",
    "scene": "availability",
    "states": [
      "普通",
      "选中",
      "资源不足"
    ],
    "note": "同一水墨底板与绿色刀字。选中只加青框；不足同时降低字色并标红价格，封边仍清晰。",
    "accept": "三态共用尺寸，不能换成系统楷体或黑色字牌。",
    "links": [
      "WT02-725",
      "UI22-06"
    ]
  },
  {
    "id": "C02",
    "title": "已购、空槽",
    "scene": "owned",
    "states": [
      "已购免费重摆",
      "空手牌槽"
    ],
    "note": "已购实体重摆不再付费；空槽是虚线槽，不伪装成可购买牌。",
    "accept": "已购不显示普通价格；空槽由换批补齐。",
    "links": [
      "WT02-726",
      "UI22-04",
      "UI22-05"
    ]
  },
  {
    "id": "C03",
    "title": "建造点资源牌",
    "scene": "resource",
    "states": [
      "资源可领",
      "资源领取反馈"
    ],
    "note": "金＋30表示建造点；点击领取并补候选，不放入棋盘，不画路线封边。",
    "accept": "建造点与局外金币分开命名。",
    "links": [
      "WT02-726"
    ]
  },
  {
    "id": "C04",
    "title": "十二单字",
    "scene": "letters",
    "states": [
      "刀",
      "盾",
      "弓",
      "骑",
      "赵",
      "云",
      "黄",
      "忠",
      "张",
      "飞",
      "关",
      "羽"
    ],
    "note": "基础字使用己方绿，武将姓名字沿用当前赭金；字形独立于封边和牌阶。",
    "accept": "12字齐全，不把组合名或塔精英当手牌。",
    "links": [
      "WT02-723"
    ]
  },
  {
    "id": "C05",
    "title": "四种两口",
    "scene": "ports2",
    "states": [
      "上右",
      "右下",
      "上左",
      "下左"
    ],
    "note": "mask：上1、右2、下4、左8；仅封闭边画粗墨线。",
    "accept": "逐个检查开口与文字朝向，不把粗线当开口。",
    "links": [
      "WT02-724"
    ],
    "masks": [
      3,
      6,
      9,
      12
    ]
  },
  {
    "id": "C06",
    "title": "四种三口",
    "scene": "ports3",
    "states": [
      "上右下",
      "上右左",
      "上下左",
      "右下左"
    ],
    "note": "每张三口只有一条封边；四种朝向分别为7、11、13、14。",
    "accept": "三口不是十字四口；牌字不随朝向旋转。",
    "links": [
      "WT02-724"
    ],
    "masks": [
      7,
      11,
      13,
      14
    ]
  },
  {
    "id": "C07",
    "title": "牌阶1—5",
    "scene": "ranks",
    "states": [
      "1阶",
      "2阶",
      "3阶",
      "4阶",
      "5阶"
    ],
    "note": "牌阶决定首次获得层数；报价由朝向与字的购买计数决定，不能按牌阶直接定价。",
    "accept": "同一字形、封边和牌身尺寸，最高5阶。",
    "links": [
      "WT02-727",
      "UI26-06"
    ]
  },
  {
    "id": "C08",
    "title": "教学推荐动态",
    "scene": "tutorial",
    "states": [
      "推荐缩小相位",
      "推荐放大相位",
      "第5场起无推荐"
    ],
    "note": "前4场推荐卡与目标格保留缩放动态；角标不能遮住封口。",
    "accept": "提供可重播动态示意；减少动态偏好下保留静态高亮。",
    "links": [
      "UI58",
      "WT02-727"
    ]
  },
  {
    "id": "C09",
    "title": "三口许可边界",
    "scene": "permit",
    "states": [
      "新手/塔前2张免视频",
      "第3张起待许可",
      "AI三口免视频"
    ],
    "note": "免视频仍付建造点；AI攻城局内不开放视频，三口正常报价购买。",
    "accept": "按模式与成功新购次数判断；弃牌不回退计数。",
    "links": [
      "UI30-01",
      "WT02-728"
    ]
  },
  {
    "id": "C10",
    "title": "塔系列许可",
    "scene": "family",
    "states": [
      "第三新系列需要许可",
      "替掉最后旧系列不需",
      "已有系列重复不需"
    ],
    "note": "按操作完成后的棋盘预演：新购引入盘前不存在系列且最终大于2系列才需视频。",
    "accept": "手牌与兵身不占系列；移动已购牌不重看。",
    "links": [
      "UI30-02",
      "UI30-05",
      "UI30-06"
    ]
  },
  {
    "id": "C11",
    "title": "许可完成仍付款",
    "scene": "permission-complete",
    "states": [
      "待许可且显示价格",
      "许可完成保留价格"
    ],
    "note": "右上圆播放标在成功后消失，价格保留；不增加绿色对勾，不自动落牌。",
    "accept": "免视频、免建造点、已购免费三种语义不能混用。",
    "links": [
      "UI30-04",
      "WT02-728"
    ]
  },
  {
    "id": "C12",
    "title": "视频过程与异常",
    "scene": "video",
    "states": [
      "准备中",
      "播放中",
      "冷却",
      "失败/取消",
      "回调待确认"
    ],
    "note": "两项构筑限制同一次视频满足；失败或取消不付费、不发放许可；结果去重。",
    "accept": "冷却显示剩余真实前台秒；许可绑定该候选。",
    "links": [
      "UI30-03",
      "WT02-728"
    ]
  },
  {
    "id": "C13",
    "title": "拖牌与合法落点",
    "scene": "drag",
    "states": [
      "跟手拖影",
      "合法空格预演"
    ],
    "note": "拖影上偏；合法格显示淡字与新路线，提交前不扣费。",
    "accept": "封边保持可辨，拖影不遮指尖目标格。",
    "links": [
      "UI28-01",
      "UI28-02",
      "WT02-729"
    ]
  },
  {
    "id": "C14",
    "title": "非法、越界与取消",
    "scene": "invalid",
    "states": [
      "石头/营地拒绝",
      "越界取消",
      "滑回取消"
    ],
    "note": "非法落点同时给边框与叉号；越界/取消回原处，盘面、资源和许可不变。",
    "accept": "石格只显示居中的石，不显示固定小字。",
    "links": [
      "UI28-03",
      "UI28-08",
      "UI28-09"
    ]
  },
  {
    "id": "C15",
    "title": "已购牌免费交换",
    "scene": "swap-owned",
    "states": [
      "交换前",
      "交换后"
    ],
    "note": "棋盘已购牌与已购手牌或棋盘牌换位，实体与牌阶保留，不再收费。",
    "accept": "两条相反方向箭头只用于换位，不用于合并。",
    "links": [
      "UI28-04"
    ]
  },
  {
    "id": "C16",
    "title": "新牌换入与旧牌回槽",
    "scene": "swap-new",
    "states": [
      "新牌付冻结报价",
      "原格旧牌回来源手牌槽"
    ],
    "note": "非合并换入占用格时，旧实体回到该新候选原来的手牌槽，不另补一张新候选。",
    "accept": "显示来源槽与目标格的对应关系。",
    "links": [
      "UI28-04"
    ]
  },
  {
    "id": "C17",
    "title": "合并与拒绝边界",
    "scene": "merge",
    "states": [
      "1阶＋1阶→2阶",
      "3阶入1阶→2阶需确认",
      "5阶目标拒绝",
      "异字/异朝向交换"
    ],
    "note": "同字同朝向，目标+1，来源消耗；高阶来源提示损失。不同字/朝向按交换处理。",
    "accept": "目标5阶拒绝且零扣费；合并方向单向指向目标。",
    "links": [
      "UI28-05",
      "UI29",
      "WT02-730"
    ]
  },
  {
    "id": "C18",
    "title": "撤回与丢弃",
    "scene": "withdraw",
    "states": [
      "撤回保留已购",
      "弃牌不退款",
      "无可撤回槽提示"
    ],
    "note": "撤回优先空槽，否则明示替换的未购候选；不覆盖已购手牌。弃牌删实体、不返资源。",
    "accept": "拖入下方交互区时才提示松开即可丢弃；撤回/弃牌命中区待灰盒确认。",
    "links": [
      "UI28-06",
      "UI28-07",
      "WT02-730"
    ]
  },
  {
    "id": "C19",
    "title": "换批全部状态",
    "scene": "reroll",
    "states": [
      "可换批",
      "资源不足",
      "全已购且无空槽",
      "换批保留已购"
    ],
    "note": "仅替换未购候选、补空槽；保留已购手牌。普通价格10起每次+2、最高30。",
    "accept": "空槽存在时仍可换；三槽全已购时禁用。",
    "links": [
      "WT02-730"
    ]
  },
  {
    "id": "C20",
    "title": "视频换批与石格",
    "scene": "ad-stone",
    "states": [
      "新手/塔视频换批",
      "AI无局内视频",
      "石字居中"
    ],
    "note": "视频换批遵守模式、上限与公共间隔，成功仍推进换批次数；石纹与石字分层。",
    "accept": "视频不覆盖普通换批状态；石字大小参照同格字牌。",
    "links": [
      "UI22",
      "WT02-726"
    ]
  },
  {
    "id": "U01",
    "title": "三个基础主形态",
    "scene": "basic-forms",
    "states": [
      "兵",
      "刀盾",
      "骑射"
    ],
    "note": "成型只显示主形态；刀盾与骑射上方不再挂小兵字。",
    "accept": "基本单字未成型时主字仍是兵。",
    "links": [
      "WT01-715",
      "WT01-716"
    ]
  },
  {
    "id": "U02",
    "title": "四位武将",
    "scene": "heroes",
    "states": [
      "赵云",
      "黄忠",
      "张飞",
      "关羽"
    ],
    "note": "完整姓名为主字，赭金显示武将身份；主字最多两字，单位始终是文字。",
    "accept": "不画人物、兵器手持或角色立绘。",
    "links": [
      "WT01-718"
    ]
  },
  {
    "id": "U03",
    "title": "三类塔精英",
    "scene": "elites",
    "states": [
      "甲卫",
      "冲车",
      "旗手"
    ],
    "note": "全部两字，仅塔敌军；保留独立血条。",
    "accept": "不是玩家供牌，不拆成重、甲等新卡。",
    "links": [
      "WT01-720",
      "UI40"
    ]
  },
  {
    "id": "U04",
    "title": "敌我与金字",
    "scene": "factions",
    "states": [
      "我方绿字青条",
      "敌方朱字朱条",
      "我方金将青条",
      "敌方金将朱条"
    ],
    "note": "基础主字和血条同时区分敌我，金色武将用血条和方向辨阵营。",
    "accept": "全套均用同一4px细血条，不能因金将变粗。",
    "links": [
      "WT01-719"
    ]
  },
  {
    "id": "U05",
    "title": "未成型与单字层数",
    "scene": "unformed",
    "states": [
      "兵＋刀",
      "兵＋刀×3",
      "兵＋散名"
    ],
    "note": "只有单字或未配完整姓名时仍显示兵；附字表示真实兵身层数。",
    "accept": "不显示大刀代替未成型兵，不误成将。",
    "links": [
      "WT01-715",
      "UI26-01"
    ]
  },
  {
    "id": "U06",
    "title": "完整字层与详情",
    "scene": "layers",
    "states": [
      "重复层数",
      "附加基础字",
      "详情完整字段"
    ],
    "note": "同字×N，单层可以省略×1；密集时详情承载完整字段，不修改真实层数。",
    "accept": "刀盾主字不把真实刀盾层从详情删掉。",
    "links": [
      "WT01-717",
      "UI26"
    ]
  },
  {
    "id": "U07",
    "title": "姓名两层与额外将字",
    "scene": "hero-layers",
    "states": [
      "赵3云2",
      "身份赵1云1",
      "额外将×3"
    ],
    "note": "成将姓名各1层用于身份，原始姓名层仍保留在详情；其余姓名层按最新规则计将字。",
    "accept": "不是删除两层原始数据；不能把将×3显示成人数。",
    "links": [
      "WT01-717",
      "UI26-04"
    ]
  },
  {
    "id": "U08",
    "title": "组合锁定与传承",
    "scene": "heritage",
    "states": [
      "先刀盾再成将",
      "先成将再补组合"
    ],
    "note": "先成型基础组合与先成将路径不同；保留已确认传承能力，后补不追授。",
    "accept": "表现为主字变化与详情标记，不叠两个武将主字。",
    "links": [
      "WT01-716",
      "WT03-732"
    ]
  },
  {
    "id": "U09",
    "title": "首次领字与重访",
    "scene": "visit",
    "states": [
      "首次获得刀×1",
      "重访同实体不加",
      "另一实体可再加"
    ],
    "note": "记录卡牌实体的首次访问；牌阶决定首次获得层数。",
    "accept": "搬动同一实体不能刷层。",
    "links": [
      "WT03-731"
    ]
  },
  {
    "id": "U10",
    "title": "分流先领再分",
    "scene": "split",
    "states": [
      "先领本格刀",
      "分为两名",
      "两支继承已访记录"
    ],
    "note": "三口首次经过先领字再分，两名继承字层、主将、组合与已访记录。",
    "accept": "这是人数增加，不能凭空多算本格字层。",
    "links": [
      "WT03-733"
    ]
  },
  {
    "id": "U11",
    "title": "运输与战场同字号",
    "scene": "same-size",
    "states": [
      "出兵环",
      "战场"
    ],
    "note": "同一字兵从路线到战场复用主字26、附字13、血条4 CSS像素；双字不单独放大。",
    "accept": "图册单元可等比例放大展示，三项比例不可分别调整。",
    "links": [
      "UI22",
      "WT01-722"
    ]
  },
  {
    "id": "U12",
    "title": "密集、受击与人数",
    "scene": "crowd",
    "states": [
      "三名不同血量",
      "受击底光",
      "阵营仍可辨"
    ],
    "note": "接战敌我保持正面，不为避字上下躲开；死亡后可以重新排位。",
    "accept": "人数与×N层数不混用；主字、细血条优先显示。",
    "links": [
      "WT01-721",
      "WT01-722"
    ]
  },
  {
    "id": "F01",
    "title": "默认路线与营地首箭头",
    "scene": "route",
    "states": [
      "营地首箭头实心",
      "后续浅虚线",
      "无兵时默认直连出兵环"
    ],
    "note": "保留未出兵时默认指引；首箭头实心，后续浅虚线连贯可辨。",
    "accept": "路线画在单位与文字下方，不能遮住封边。",
    "links": [
      "WT03-734",
      "UI58"
    ]
  },
  {
    "id": "F02",
    "title": "外围出兵环与入阵",
    "scene": "ring",
    "states": [
      "最外围行军",
      "左上出口",
      "入阵提示在棋盘上方"
    ],
    "note": "环靠近屏幕边缘，宽于手牌区；出字在外环左上。环上单位不缩小。",
    "accept": "入阵提示放棋盘上方；出口不放到内格。",
    "links": [
      "WT03-734",
      "UI22"
    ]
  },
  {
    "id": "F03",
    "title": "近战正面接触",
    "scene": "melee",
    "states": [
      "接近",
      "正面挥击",
      "命中受击者"
    ],
    "note": "碰面正面拼杀，短促挥击在真实接触点；原阵位不因文字拥挤上下分离。",
    "accept": "挥击结束不留长亮线；死亡后可重排。",
    "links": [
      "WT03-735"
    ]
  },
  {
    "id": "F04",
    "title": "远程箭矢",
    "scene": "ranged",
    "states": [
      "起手",
      "箭矢在途",
      "目标命中"
    ],
    "note": "箭从射手飞向真实目标，方向和距离明确；短嗖声独立于命中反馈。",
    "accept": "不使用落牌音代替命中声，不把路线虚线当箭。",
    "links": [
      "WT03-735"
    ]
  },
  {
    "id": "F05",
    "title": "伤害跳字抛物线",
    "scene": "float",
    "states": [
      "起点",
      "上抛顶点",
      "下落淡出"
    ],
    "note": "保持现有字号、粗细和描边，只先调上抛后下落的轨迹；同一命中只显示一次。",
    "accept": "跳字锚定真实受击者，含小数时不截为伪伤害。",
    "links": [
      "WT03-736"
    ]
  },
  {
    "id": "F06",
    "title": "刀盾固定减伤",
    "scene": "mitigation",
    "states": [
      "真实受击",
      "33%固定减伤",
      "扣减后伤害"
    ],
    "note": "当前刀盾固定减伤33%；不再出现随机免疫、免疫盾或0伤害。",
    "accept": "图中数值只为样例，取实际战斗结果显示。",
    "links": [
      "WT03-736",
      "UI26-02"
    ]
  },
  {
    "id": "F07",
    "title": "死亡淡散",
    "scene": "death",
    "states": [
      "存活",
      "死亡一次",
      "淡散后移除"
    ],
    "note": "字形轻淡散一次，死亡音轻短不刺耳；移除血条并停止该单位后续动作。",
    "accept": "不是复活或整场消失，命中与死亡音密集限频。",
    "links": [
      "WT03-737"
    ]
  },
  {
    "id": "F08",
    "title": "黄忠贯穿",
    "scene": "pierce",
    "states": [
      "主目标",
      "至多1个后方副目标"
    ],
    "note": "远程主箭可命中后方合法目标；最多一个额外兵，追加40%，不穿城。",
    "accept": "一条箭路连接主副目标，不画成范围爆炸。",
    "links": [
      "WT03-735"
    ]
  },
  {
    "id": "F09",
    "title": "张飞控制与抗性",
    "scene": "control",
    "states": [
      "第4次有效近攻",
      "短控",
      "控制结束抗性"
    ],
    "note": "控制与抗性两个标记分开；普通兵短控0.4秒、Boss0.2秒，结束后4秒共享抗性。",
    "accept": "空挥、攻城、追加伤害不计有效近战次数。",
    "links": [
      "WT03-737"
    ]
  },
  {
    "id": "F10",
    "title": "关羽横扫",
    "scene": "sweep",
    "states": [
      "第3次有效近攻",
      "主目标",
      "最多3个额外兵"
    ],
    "note": "横扫最多3名额外兵，各原击150%；副伤不递归、不伤城。",
    "accept": "范围与目标由实际逻辑给定，不伪造全屏清兵。",
    "links": [
      "WT03-735"
    ]
  },
  {
    "id": "F11",
    "title": "塔精英持续状态",
    "scene": "elite-fx",
    "states": [
      "甲卫举盾",
      "旗手蓄力/鼓舞",
      "冲车压城"
    ],
    "note": "三精英仍为文字；用低遮挡底纹表现技能，名称与血条始终可辨。",
    "accept": "甲卫是远程减伤，不用免疫；旗手死亡取消蓄力。",
    "links": [
      "WT03-738",
      "UI40"
    ]
  },
  {
    "id": "F12",
    "title": "城池生命与城破",
    "scene": "castle",
    "states": [
      "正常",
      "受击",
      "低血",
      "城破"
    ],
    "note": "使用原水墨城池；城池血条在城下方，与单位血条独立，受击确实落在城上。",
    "accept": "不裁切城下血条；底部不留让单位消失的区域。",
    "links": [
      "WT03-739"
    ]
  },
  {
    "id": "F13",
    "title": "轻提示位置",
    "scene": "feedback",
    "states": [
      "入阵提示",
      "操作提示",
      "获得奖励提示"
    ],
    "note": "入阵与操作短提示在棋盘上方；独立奖励提示居中，不能遮住手牌。",
    "accept": "非关键战斗波次/增援文字隐藏，保留重要操作反馈。",
    "links": [
      "UI22",
      "WT03-739"
    ]
  },
  {
    "id": "F14",
    "title": "计时与战术入口",
    "scene": "timer",
    "states": [
      "普通05:00",
      "塔03:00",
      "无计时则隐藏"
    ],
    "note": "普通和塔按现行规则显示倒计时；塔当前战术入口位于顶部中央计时下方。",
    "accept": "不重复显示项目名，不把战术角标压在敌城血条上。",
    "links": [
      "UI22",
      "WT03-739"
    ]
  },
  {
    "id": "F15",
    "title": "塔层间确认弹窗",
    "scene": "tower-modal",
    "states": [
      "通过层数与奖励",
      "开始下一层按钮",
      "全画面暗底"
    ],
    "note": "中央提示本层结果、已确认奖励和整备结果；点击开始下一层才继续。",
    "accept": "弹窗期间暂停模拟、遮罩阻断棋盘手牌，不自动倒计时开战。",
    "links": [
      "WT03-739"
    ]
  },
  {
    "id": "F16",
    "title": "结算与回城积分反馈",
    "scene": "result",
    "states": [
      "胜利/失败",
      "基础战报",
      "回城积分增减"
    ],
    "note": "结算简洁，战报与最新奖励语义保留；回主城后播放积分增减及进度变化，塔/试用不改积分。",
    "accept": "不把示例第九关文案套入长期攻城；失败按钮使用本关重来或该模式既有重试文案。",
    "links": [
      "WT03-739"
    ]
  }
]