{
  "schema_version": "np-ui-copy.v1",
  "generated_at": "2026-10-11T17:41:39.943059+08:00",
  "scope": "全量可见状态文案、长帮助、关卡文本、初始HTML/无障碍补充，以及展示措辞提案；不改规则、不改实现。",
  "source_snapshot": {
    "prototype/dist/cards.js": {
      "sha256": "d9fb59d7743aee2ce09b19d5621a92a40f0a4e5682cbf1a65b5598d6114f875d",
      "bytes": 3807,
      "line_count": 63,
      "modified_at": "2026-10-11T01:55:38.165103+08:00"
    },
    "prototype/dist/combat.js": {
      "sha256": "5ae9c45db60bb7522639c72f5e119a732e87c854cb592edb396498f12da96438",
      "bytes": 42134,
      "line_count": 769,
      "modified_at": "2026-10-11T17:39:33.961380+08:00"
    },
    "prototype/dist/index.html": {
      "sha256": "51c732c579232be0c0bd7a418f3caa3d1dfb0f37bec5d24a673253b5a3d1ec2e",
      "bytes": 12489,
      "line_count": 24,
      "modified_at": "2026-10-11T17:01:54.501758+08:00"
    },
    "prototype/dist/rules.js": {
      "sha256": "afab57f4adab35c5dedfecb7036fcf2ae05ba6c6dfdd1aa9caa1cc9c7e798f90",
      "bytes": 19868,
      "line_count": 352,
      "modified_at": "2026-10-11T11:38:26.360895+08:00"
    },
    "prototype/dist/试玩下载.html": {
      "sha256": "da1b874deae54404dca8906a42cf02dbc77ffe80419e133737d3bace59945bfe",
      "bytes": 246128,
      "line_count": 6186,
      "modified_at": "2026-10-11T17:35:47.738383+08:00"
    },
    "prototype/dist/economy.js": {
      "sha256": "563bd8a670211660ac48cd2ec449fcf2b011753e0250bdf05fc779f91a0c430e",
      "bytes": 3528,
      "line_count": 61,
      "modified_at": "2026-10-11T11:37:59.652768+08:00"
    },
    "prototype/dist/levels.js": {
      "sha256": "8463874fc039aac56122126d89bbad17384d13b5cc9233f6b2494d4d00d9fcc3",
      "bytes": 79365,
      "line_count": 4186,
      "modified_at": "2026-10-11T17:39:34.003005+08:00"
    },
    "prototype/dist/inventory.js": {
      "sha256": "f2d3029c5b38f70b73edea216930e1afd66c6e7770a42e92d79c2c5e6a809a90",
      "bytes": 7711,
      "line_count": 130,
      "modified_at": "2026-10-11T01:55:06.032140+08:00"
    },
    "prototype/dist/style.css": {
      "sha256": "dd4ccbd5d32c1d3d05ae63caf9d647bc6d6805e76e9449363f5d4d5ff322c661",
      "bytes": 30443,
      "line_count": 179,
      "modified_at": "2026-10-11T15:50:28.657530+08:00"
    },
    "prototype/dist/unitVisual.js": {
      "sha256": "51b7f6e1c1bfb00a796a640a0cda346a4817a0c495baf3de0a7b69f29f91c15b",
      "bytes": 6521,
      "line_count": 132,
      "modified_at": "2026-10-11T11:13:24.678508+08:00"
    },
    "prototype/dist/app.js": {
      "sha256": "34165c87eeab74f0f84d1435e5500176dc153d5356f7a855df3ca2bca07917f5",
      "bytes": 39267,
      "line_count": 221,
      "modified_at": "2026-10-11T17:34:21.726187+08:00"
    }
  },
  "source_refs_base": "/Users/dingzhuqi/Documents/ChatGPT/NP/prototype/dist",
  "status_definitions": {
    "retain_current": "保留当前源码文案",
    "design_proposal_not_implemented": "仅为本轮美术设计提案，尚未写入原型"
  },
  "template_policy": "{variable} 为运行值占位符；不是要绘制花括号。每条visible_copy中的模板是渲染格式，source_refs指出真实模板位置。",
  "copy_entries": [
    {
      "id": "C0001",
      "current": "{level.name}",
      "proposed": "{level.name}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0002",
      "current": "{level.kicker} ▾",
      "proposed": "{level.kicker} ▾",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0003",
      "current": "待开始",
      "proposed": "待开始",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0004",
      "current": "00:00",
      "proposed": "00:00",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0005",
      "current": "开始本关",
      "proposed": "开始本关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0006",
      "current": "{level.goal}",
      "proposed": "{level.goal}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0007",
      "current": "建造点",
      "proposed": "建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0008",
      "current": "换一批",
      "proposed": "换一批",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0009",
      "current": "出",
      "proposed": "出",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F01"
      ],
      "trigger": "首次载入、切关、重开或结算按钮返回关卡",
      "reason": "",
      "source_refs": [
        "index.html:8-14",
        "app.js:80-87",
        "app.js:123-134",
        "style.css:64-103"
      ],
      "note": ""
    },
    {
      "id": "C0010",
      "current": "交战中",
      "proposed": "交战中",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0011",
      "current": "{MM:SS}",
      "proposed": "{MM:SS}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0012",
      "current": "Ⅱ",
      "proposed": "Ⅱ",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0013",
      "current": "{resources}",
      "proposed": "{resources}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0014",
      "current": "+{incomeAmount} / {seconds}s",
      "proposed": "+{incomeAmount} / {seconds}s",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0015",
      "current": "{wave_status}",
      "proposed": "{wave_status}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "F02"
      ],
      "trigger": "点击开始本关或继续战斗",
      "reason": "",
      "source_refs": [
        "app.js:55-64",
        "app.js:123-146",
        "app.js:147-148"
      ],
      "note": ""
    },
    {
      "id": "C0016",
      "current": "已暂停",
      "proposed": "已暂停",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F03"
      ],
      "trigger": "运行中暂停后收起菜单，或页面切后台触发自动暂停",
      "reason": "",
      "source_refs": [
        "app.js:123-137",
        "app.js:194",
        "app.js:217"
      ],
      "note": ""
    },
    {
      "id": "C0017",
      "current": "继续战斗",
      "proposed": "继续战斗",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F03"
      ],
      "trigger": "运行中暂停后收起菜单，或页面切后台触发自动暂停",
      "reason": "",
      "source_refs": [
        "app.js:123-137",
        "app.js:194",
        "app.js:217"
      ],
      "note": ""
    },
    {
      "id": "C0018",
      "current": "已暂停，可以继续调整布阵",
      "proposed": "已暂停，可继续调整布阵",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F03"
      ],
      "trigger": "运行中暂停后收起菜单，或页面切后台触发自动暂停",
      "reason": "仅缩短措辞，保留暂停时可布阵的规则。",
      "source_refs": [
        "app.js:123-137",
        "app.js:194",
        "app.js:217"
      ],
      "note": ""
    },
    {
      "id": "C0019",
      "current": "☰",
      "proposed": "☰",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F03"
      ],
      "trigger": "运行中暂停后收起菜单，或页面切后台触发自动暂停",
      "reason": "",
      "source_refs": [
        "app.js:123-137",
        "app.js:194",
        "app.js:217"
      ],
      "note": ""
    },
    {
      "id": "C0020",
      "current": "赵云初阵",
      "proposed": "赵云初阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F04"
      ],
      "trigger": "进入第16关，同一单位依次获得赵和云",
      "reason": "",
      "source_refs": [
        "levels.js:3923-4186",
        "app.js:140",
        "unitVisual.js:3-8",
        "unitVisual.js:28-38"
      ],
      "note": ""
    },
    {
      "id": "C0021",
      "current": "赵云",
      "proposed": "赵云",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F04"
      ],
      "trigger": "进入第16关，同一单位依次获得赵和云",
      "reason": "",
      "source_refs": [
        "levels.js:3923-4186",
        "app.js:140",
        "unitVisual.js:3-8",
        "unitVisual.js:28-38"
      ],
      "note": ""
    },
    {
      "id": "C0022",
      "current": "赵云!",
      "proposed": "赵云!",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F04"
      ],
      "trigger": "进入第16关，同一单位依次获得赵和云",
      "reason": "",
      "source_refs": [
        "levels.js:3923-4186",
        "app.js:140",
        "unitVisual.js:3-8",
        "unitVisual.js:28-38"
      ],
      "note": ""
    },
    {
      "id": "C0023",
      "current": "赵云变身：金色主字，伤害系数1.8、攻速翻倍；原基础组合的专属能力保留。",
      "proposed": "赵云变身：金色主字，伤害系数1.8、攻速翻倍；原基础组合的专属能力保留。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F04"
      ],
      "trigger": "进入第16关，同一单位依次获得赵和云",
      "reason": "",
      "source_refs": [
        "levels.js:3923-4186",
        "app.js:140",
        "unitVisual.js:3-8",
        "unitVisual.js:28-38"
      ],
      "note": ""
    },
    {
      "id": "C0024",
      "current": "一字成兵",
      "proposed": "一字成兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0025",
      "current": "十六关试炼",
      "proposed": "十六关试炼",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0026",
      "current": "玩法说明",
      "proposed": "玩法说明",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0027",
      "current": "从一字到一支军队",
      "proposed": "从一字到一支军队",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0028",
      "current": "字成兵，\n路成阵。",
      "proposed": "字成兵，\n路成阵。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0029",
      "current": "玩法要诀",
      "proposed": "玩法要诀",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0030",
      "current": "可玩原型 · 赵云变身",
      "proposed": "可玩原型 · 赵云变身",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0031",
      "current": "这一条路会造出什么",
      "proposed": "这一条路会造出什么",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0032",
      "current": "行军预览",
      "proposed": "行军预览",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0033",
      "current": "字的力量",
      "proposed": "字的力量",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0034",
      "current": "先规划路线，再观察前线。",
      "proposed": "先规划路线，再观察前线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F05"
      ],
      "trigger": "视口宽于850px",
      "reason": "",
      "source_refs": [
        "index.html:5-7",
        "index.html:16",
        "style.css:1-4",
        "style.css:64-66"
      ],
      "note": ""
    },
    {
      "id": "C0035",
      "current": "一字成兵 · 十六关试炼",
      "proposed": "一字成兵 · 十六关试炼",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "F06"
      ],
      "trigger": "直接打开试玩下载.html",
      "reason": "",
      "source_refs": [
        "试玩下载.html:1-205"
      ],
      "note": ""
    },
    {
      "id": "C0036",
      "current": "一字成兵",
      "proposed": "一字成兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0037",
      "current": "战斗已暂停",
      "proposed": "战斗已暂停",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0038",
      "current": "收起菜单后可以调整路线，点击战场中央继续。",
      "proposed": "收起菜单后可以调整路线，点击战场中央继续。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0039",
      "current": "继续战斗",
      "proposed": "继续战斗",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0040",
      "current": "重新开始本关",
      "proposed": "重新开始本关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0041",
      "current": "玩法说明",
      "proposed": "玩法说明",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0042",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M01"
      ],
      "trigger": "点击运行状态Ⅱ，或暂停态☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131-137",
        "app.js:194",
        "style.css:54-60"
      ],
      "note": ""
    },
    {
      "id": "C0043",
      "current": "一字成兵",
      "proposed": "一字成兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0044",
      "current": "准备出阵",
      "proposed": "准备出阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0045",
      "current": "点击开始本关后才能布阵。",
      "proposed": "点击开始本关后才能布阵。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0046",
      "current": "开始本关",
      "proposed": "开始本关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0047",
      "current": "重新开始本关",
      "proposed": "重新开始本关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0048",
      "current": "玩法说明",
      "proposed": "玩法说明",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0049",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M02"
      ],
      "trigger": "未开始时点击☰",
      "reason": "",
      "source_refs": [
        "index.html:19",
        "app.js:131",
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0050",
      "current": "01–04 教学 · 05–15 挑战 · 16 赵云",
      "proposed": "01–04 教学 · 05–15 挑战 · 16 赵云",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0051",
      "current": "十六关试炼",
      "proposed": "十六关试炼",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0052",
      "current": "{01…16}",
      "proposed": "{01…16}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0053",
      "current": "{level.name}",
      "proposed": "{level.name}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0054",
      "current": "{教学/挑战/进阶/武将试玩} · {kicker后半段}",
      "proposed": "{教学/挑战/进阶/武将试玩} · {kicker后半段}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0055",
      "current": "✓",
      "proposed": "✓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0056",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M03"
      ],
      "trigger": "点击游戏标题上方{level.kicker} ▾",
      "reason": "",
      "source_refs": [
        "index.html:20",
        "app.js:37-39",
        "app.js:189-193",
        "style.css:30-36"
      ],
      "note": ""
    },
    {
      "id": "C0057",
      "current": "行军小册",
      "proposed": "行军小册",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0058",
      "current": "认清开口，顺路成兵。",
      "proposed": "认清开口，顺路成兵。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0059",
      "current": "知道了",
      "proposed": "知道了",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0060",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0061",
      "current": "字",
      "proposed": "字",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0062",
      "current": "上、左",
      "proposed": "上、左",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0063",
      "current": "上、右",
      "proposed": "上、右",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0064",
      "current": "右、下",
      "proposed": "右、下",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0065",
      "current": "下、左",
      "proposed": "下、左",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0066",
      "current": "上、右、左",
      "proposed": "上、右、左",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0067",
      "current": "上、右、下",
      "proposed": "上、右、下",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0068",
      "current": "右、下、左",
      "proposed": "右、下、左",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0069",
      "current": "上、下、左",
      "proposed": "上、下、左",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M04"
      ],
      "trigger": "桌面玩法说明，或暂停菜单玩法说明",
      "reason": "",
      "source_refs": [
        "index.html:21",
        "app.js:207-212",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0070",
      "current": "奖励视频 · 机制演示",
      "proposed": "奖励视频 · 机制演示",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0071",
      "current": "▶",
      "proposed": "▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0072",
      "current": "领取建造点",
      "proposed": "领取建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0073",
      "current": "观看后获得60建造点，用于摆牌或换批。",
      "proposed": "观看后获得60建造点，用于摆牌或换批。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0074",
      "current": "当前为奖励机制演示，领取即模拟观看完成，取消不会发奖。",
      "proposed": "当前为奖励机制演示，领取即模拟观看完成，取消不会发奖。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0075",
      "current": "模拟观看 · 领取60",
      "proposed": "观看领取60建造点",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "奖励按钮的美术文案提案；当前程序仍为模拟观看，不代表已接视频SDK。",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0076",
      "current": "本关还可领{remaining}次，两次奖励间隔40秒战斗时间",
      "proposed": "本关还可领{remaining}次，两次奖励间隔40秒战斗时间",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0077",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M05"
      ],
      "trigger": "开始后资源低于最便宜未购候选字牌，奖励可用时点击+60",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:62-63",
        "app.js:197-205",
        "economy.js:1",
        "economy.js:39-60"
      ],
      "note": ""
    },
    {
      "id": "C0078",
      "current": "奖励视频 · 机制演示",
      "proposed": "奖励视频 · 机制演示",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0079",
      "current": "▶",
      "proposed": "▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0080",
      "current": "免费换一批",
      "proposed": "免费换一批",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0081",
      "current": "换掉当前三张手牌，已购字牌也会弃掉。",
      "proposed": "换掉当前三张手牌，已购字牌也会弃掉。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0082",
      "current": "当前为奖励机制演示，领取即模拟观看完成，取消不会发奖。",
      "proposed": "当前为奖励机制演示，领取即模拟观看完成，取消不会发奖。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0083",
      "current": "模拟观看 · 换一批",
      "proposed": "观看换一批",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "奖励按钮的美术文案提案；保留刷新会弃掉已购牌的说明。",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0084",
      "current": "本关还可领{remaining}次，两次奖励间隔40秒战斗时间",
      "proposed": "本关还可领{remaining}次，两次奖励间隔40秒战斗时间",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0085",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M06"
      ],
      "trigger": "资源不足换批且奖励可用时点击带播放图标的换一批",
      "reason": "",
      "source_refs": [
        "index.html:18",
        "app.js:55-61",
        "app.js:195-205"
      ],
      "note": ""
    },
    {
      "id": "C0086",
      "current": "胜",
      "proposed": "胜",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0087",
      "current": "第{N}关完成",
      "proposed": "第{N}关完成",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0088",
      "current": "{level.name}",
      "proposed": "{level.name}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0089",
      "current": "{level.lesson}",
      "proposed": "{level.lesson}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0090",
      "current": "抵达战场",
      "proposed": "抵达战场",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0091",
      "current": "击败敌兵",
      "proposed": "击败敌兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0092",
      "current": "战斗秒数",
      "proposed": "战斗秒数",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0093",
      "current": "{produced}",
      "proposed": "{produced}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0094",
      "current": "{kills}",
      "proposed": "{kills}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0095",
      "current": "{round(time)}",
      "proposed": "{round(time)}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0096",
      "current": "进入下一关",
      "proposed": "进入下一关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0097",
      "current": "再试一种路线",
      "proposed": "再试一种路线",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M07"
      ],
      "trigger": "敌城HP清零，胜利动画2.3秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0098",
      "current": "胜",
      "proposed": "胜",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0099",
      "current": "第16关完成",
      "proposed": "第16关完成",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0100",
      "current": "16关试炼完成",
      "proposed": "16关试炼完成",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0101",
      "current": "赵云出阵，十六关试炼完成。试试更短的路线，或让更多兵带上名字。",
      "proposed": "赵云出阵，十六关试炼完成。试试更短的路线，或让更多兵带上名字。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0102",
      "current": "抵达战场",
      "proposed": "抵达战场",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0103",
      "current": "击败敌兵",
      "proposed": "击败敌兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0104",
      "current": "战斗秒数",
      "proposed": "战斗秒数",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0105",
      "current": "回到第一关",
      "proposed": "回到第一关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0106",
      "current": "再试一种路线",
      "proposed": "再试一种路线",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M08"
      ],
      "trigger": "第16关胜利，2.3秒后",
      "reason": "",
      "source_refs": [
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0107",
      "current": "再战",
      "proposed": "再战",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0108",
      "current": "重新布阵，再来一次",
      "proposed": "重新布阵，再来一次",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0109",
      "current": "这条路，还能更强",
      "proposed": "这条路，还能更强",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0110",
      "current": "试着增加合并等级、分支数量，或缩短到出兵口的路线。",
      "proposed": "试着增加合并等级、分支数量，或缩短到出兵口的路线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0111",
      "current": "抵达战场",
      "proposed": "抵达战场",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0112",
      "current": "击败敌兵",
      "proposed": "击败敌兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0113",
      "current": "战斗秒数",
      "proposed": "战斗秒数",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0114",
      "current": "重新布阵",
      "proposed": "重新布阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0115",
      "current": "再试一种路线",
      "proposed": "再试一种路线",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M09"
      ],
      "trigger": "己城HP清零且trace.outputs非空，0.9秒后",
      "reason": "",
      "source_refs": [
        "index.html:22",
        "app.js:149-153",
        "app.js:210-211"
      ],
      "note": ""
    },
    {
      "id": "C0116",
      "current": "再战",
      "proposed": "再战",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0117",
      "current": "重新布阵，再来一次",
      "proposed": "重新布阵，再来一次",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0118",
      "current": "这条路，还能更强",
      "proposed": "这条路，还能更强",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0119",
      "current": "检查开口是否对准。四边都能接入外环，沿箭头走到左上出兵口才参战。封闭边和障碍会挡住单位。",
      "proposed": "检查开口是否对准。四边都能接入外环，沿箭头走到左上出兵口才参战。封闭边和障碍会挡住单位。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0120",
      "current": "重新布阵",
      "proposed": "重新布阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0121",
      "current": "再试一种路线",
      "proposed": "再试一种路线",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "M10"
      ],
      "trigger": "己城HP清零且trace.outputs为空，0.9秒后",
      "reason": "",
      "source_refs": [
        "app.js:152-153"
      ],
      "note": ""
    },
    {
      "id": "C0122",
      "current": "1×",
      "proposed": "1×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L01"
      ],
      "trigger": "点击speed切换，切关/重开重置1×",
      "reason": "",
      "source_refs": [
        "app.js:85",
        "app.js:122",
        "app.js:194",
        "style.css:162"
      ],
      "note": ""
    },
    {
      "id": "C0123",
      "current": "2×",
      "proposed": "2×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L01"
      ],
      "trigger": "点击speed切换，切关/重开重置1×",
      "reason": "",
      "source_refs": [
        "app.js:85",
        "app.js:122",
        "app.js:194",
        "style.css:162"
      ],
      "note": ""
    },
    {
      "id": "C0124",
      "current": "正常速度",
      "proposed": "正常速度",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip",
      "owner_states": [
        "L01"
      ],
      "trigger": "点击speed切换，切关/重开重置1×",
      "reason": "",
      "source_refs": [
        "app.js:85",
        "app.js:122",
        "app.js:194",
        "style.css:162"
      ],
      "note": ""
    },
    {
      "id": "C0125",
      "current": "2倍加速中",
      "proposed": "2倍加速中",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip",
      "owner_states": [
        "L01"
      ],
      "trigger": "点击speed切换，切关/重开重置1×",
      "reason": "",
      "source_refs": [
        "app.js:85",
        "app.js:122",
        "app.js:194",
        "style.css:162"
      ],
      "note": ""
    },
    {
      "id": "C0126",
      "current": "♪",
      "proposed": "♪",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L02"
      ],
      "trigger": "点击♪，默认关闭",
      "reason": "",
      "source_refs": [
        "index.html:9",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0127",
      "current": "{01…16}",
      "proposed": "{01…16}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L03"
      ],
      "trigger": "加载关卡或胜利保存",
      "reason": "",
      "source_refs": [
        "app.js:37-39",
        "app.js:150"
      ],
      "note": ""
    },
    {
      "id": "C0128",
      "current": "{level.name}",
      "proposed": "{level.name}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L03"
      ],
      "trigger": "加载关卡或胜利保存",
      "reason": "",
      "source_refs": [
        "app.js:37-39",
        "app.js:150"
      ],
      "note": ""
    },
    {
      "id": "C0129",
      "current": "✓",
      "proposed": "✓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L03"
      ],
      "trigger": "加载关卡或胜利保存",
      "reason": "",
      "source_refs": [
        "app.js:37-39",
        "app.js:150"
      ],
      "note": ""
    },
    {
      "id": "C0130",
      "current": "推荐",
      "proposed": "推荐",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L04"
      ],
      "trigger": "第1–4关，目标尚未达到，显示下一个未完成hint",
      "reason": "",
      "source_refs": [
        "app.js:34-36",
        "app.js:42-52",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0131",
      "current": "{hint.letter}",
      "proposed": "{hint.letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L04"
      ],
      "trigger": "第1–4关，目标尚未达到，显示下一个未完成hint",
      "reason": "",
      "source_refs": [
        "app.js:34-36",
        "app.js:42-52",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0132",
      "current": "刀",
      "proposed": "刀",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0133",
      "current": "盾",
      "proposed": "盾",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0134",
      "current": "弓",
      "proposed": "弓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0135",
      "current": "骑",
      "proposed": "骑",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0136",
      "current": "赵",
      "proposed": "赵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0137",
      "current": "云",
      "proposed": "云",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0138",
      "current": "{cost}",
      "proposed": "{cost}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0139",
      "current": "{level}阶",
      "proposed": "{level}阶",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L05"
      ],
      "trigger": "抽到字牌",
      "reason": "",
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ],
      "note": ""
    },
    {
      "id": "C0140",
      "current": "{letter}",
      "proposed": "{letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L06"
      ],
      "trigger": "点击/键盘选中手牌",
      "reason": "",
      "source_refs": [
        "app.js:52",
        "app.js:114",
        "app.js:187",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0141",
      "current": "{cost}",
      "proposed": "{cost}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L06"
      ],
      "trigger": "点击/键盘选中手牌",
      "reason": "",
      "source_refs": [
        "app.js:52",
        "app.js:114",
        "app.js:187",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0142",
      "current": "{cost}",
      "proposed": "{cost}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L07"
      ],
      "trigger": "resources低于该候选报价",
      "reason": "",
      "source_refs": [
        "app.js:52",
        "app.js:64",
        "style.css:1",
        "style.css:169"
      ],
      "note": ""
    },
    {
      "id": "C0143",
      "current": "已购 · 免费",
      "proposed": "已购 · 免费",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L08"
      ],
      "trigger": "新牌替换棋盘不同字牌，旧实体回到同一手牌槽",
      "reason": "",
      "source_refs": [
        "inventory.js:74-81",
        "app.js:51-52",
        "style.css:139-141"
      ],
      "note": ""
    },
    {
      "id": "C0144",
      "current": "{letter}",
      "proposed": "{letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L08"
      ],
      "trigger": "新牌替换棋盘不同字牌，旧实体回到同一手牌槽",
      "reason": "",
      "source_refs": [
        "inventory.js:74-81",
        "app.js:51-52",
        "style.css:139-141"
      ],
      "note": ""
    },
    {
      "id": "C0145",
      "current": "＋",
      "proposed": "＋",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L09"
      ],
      "trigger": "已购实体放回棋盘后，没有新候选补入",
      "reason": "",
      "source_refs": [
        "inventory.js:78",
        "app.js:49",
        "style.css:142-143"
      ],
      "note": ""
    },
    {
      "id": "C0146",
      "current": "换批补牌",
      "proposed": "换批补牌",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L09"
      ],
      "trigger": "已购实体放回棋盘后，没有新候选补入",
      "reason": "",
      "source_refs": [
        "inventory.js:78",
        "app.js:49",
        "style.css:142-143"
      ],
      "note": ""
    },
    {
      "id": "C0147",
      "current": "金",
      "proposed": "金",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L10"
      ],
      "trigger": "抽到reward卡",
      "reason": "",
      "source_refs": [
        "cards.js:4",
        "app.js:28",
        "app.js:50-52",
        "app.js:99"
      ],
      "note": ""
    },
    {
      "id": "C0148",
      "current": "+30",
      "proposed": "+30",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L10"
      ],
      "trigger": "抽到reward卡",
      "reason": "",
      "source_refs": [
        "cards.js:4",
        "app.js:28",
        "app.js:50-52",
        "app.js:99"
      ],
      "note": ""
    },
    {
      "id": "C0149",
      "current": "▶",
      "proposed": "▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L11"
      ],
      "trigger": "本局成功买过前两张三口新牌后，再抽到未解锁三口字牌",
      "reason": "",
      "source_refs": [
        "inventory.js:12-16",
        "inventory.js:79-91",
        "app.js:50-52",
        "app.js:97",
        "style.css:164-169"
      ],
      "note": ""
    },
    {
      "id": "C0150",
      "current": "{cost}",
      "proposed": "{cost}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L11"
      ],
      "trigger": "本局成功买过前两张三口新牌后，再抽到未解锁三口字牌",
      "reason": "",
      "source_refs": [
        "inventory.js:12-16",
        "inventory.js:79-91",
        "app.js:50-52",
        "app.js:97",
        "style.css:164-169"
      ],
      "note": ""
    },
    {
      "id": "C0151",
      "current": "✓",
      "proposed": "✓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L12"
      ],
      "trigger": "点击需观看候选卡",
      "reason": "",
      "source_refs": [
        "app.js:52",
        "app.js:97",
        "inventory.js:83-91",
        "style.css:167-168"
      ],
      "note": ""
    },
    {
      "id": "C0152",
      "current": "{cost}",
      "proposed": "{cost}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L12"
      ],
      "trigger": "点击需观看候选卡",
      "reason": "",
      "source_refs": [
        "app.js:52",
        "app.js:97",
        "inventory.js:83-91",
        "style.css:167-168"
      ],
      "note": ""
    },
    {
      "id": "C0153",
      "current": "换一批",
      "proposed": "换一批",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L13"
      ],
      "trigger": "资源足够 / 不够且奖励可用 / 未开始或结算或资源不足且奖励不可用",
      "reason": "",
      "source_refs": [
        "app.js:55-61",
        "app.js:195-205",
        "economy.js:1-19",
        "style.css:144-145"
      ],
      "note": ""
    },
    {
      "id": "C0154",
      "current": "{10,12,…,30}",
      "proposed": "{10,12,…,30}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L13"
      ],
      "trigger": "资源足够 / 不够且奖励可用 / 未开始或结算或资源不足且奖励不可用",
      "reason": "",
      "source_refs": [
        "app.js:55-61",
        "app.js:195-205",
        "economy.js:1-19",
        "style.css:144-145"
      ],
      "note": ""
    },
    {
      "id": "C0155",
      "current": "▶",
      "proposed": "▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L13"
      ],
      "trigger": "资源足够 / 不够且奖励可用 / 未开始或结算或资源不足且奖励不可用",
      "reason": "",
      "source_refs": [
        "app.js:55-61",
        "app.js:195-205",
        "economy.js:1-19",
        "style.css:144-145"
      ],
      "note": ""
    },
    {
      "id": "C0156",
      "current": "▶",
      "proposed": "▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L14"
      ],
      "trigger": "已开始、未结束、低于最便宜未购字牌，且补给奖励可用",
      "reason": "",
      "source_refs": [
        "app.js:62-63",
        "economy.js:39-60",
        "style.css:133-138"
      ],
      "note": ""
    },
    {
      "id": "C0157",
      "current": "+60",
      "proposed": "+60",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L14"
      ],
      "trigger": "已开始、未结束、低于最便宜未购字牌，且补给奖励可用",
      "reason": "",
      "source_refs": [
        "app.js:62-63",
        "economy.js:39-60",
        "style.css:133-138"
      ],
      "note": ""
    },
    {
      "id": "C0158",
      "current": "建造点",
      "proposed": "建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L15"
      ],
      "trigger": "战斗进行时每6秒+5；暂停冻结",
      "reason": "",
      "source_refs": [
        "app.js:55-58",
        "app.js:145",
        "economy.js:1"
      ],
      "note": ""
    },
    {
      "id": "C0159",
      "current": "{floor(resources)}",
      "proposed": "{floor(resources)}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L15"
      ],
      "trigger": "战斗进行时每6秒+5；暂停冻结",
      "reason": "",
      "source_refs": [
        "app.js:55-58",
        "app.js:145",
        "economy.js:1"
      ],
      "note": ""
    },
    {
      "id": "C0160",
      "current": "+5 / {1…6}s",
      "proposed": "+5 / {1…6}s",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L15"
      ],
      "trigger": "战斗进行时每6秒+5；暂停冻结",
      "reason": "",
      "source_refs": [
        "app.js:55-58",
        "app.js:145",
        "economy.js:1"
      ],
      "note": ""
    },
    {
      "id": "C0161",
      "current": "营",
      "proposed": "营",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0162",
      "current": "↑",
      "proposed": "↑",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0163",
      "current": "→",
      "proposed": "→",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0164",
      "current": "↓",
      "proposed": "↓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0165",
      "current": "←",
      "proposed": "←",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0166",
      "current": "石",
      "proposed": "石",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0167",
      "current": "出",
      "proposed": "出",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L16"
      ],
      "trigger": "各关地图数据",
      "reason": "",
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ],
      "note": ""
    },
    {
      "id": "C0168",
      "current": "{letter}",
      "proposed": "{letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L17"
      ],
      "trigger": "点击非固定棋盘字牌",
      "reason": "",
      "source_refs": [
        "app.js:44",
        "app.js:105",
        "app.js:114",
        "app.js:188",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0169",
      "current": "{level}阶",
      "proposed": "{level}阶",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L17"
      ],
      "trigger": "点击非固定棋盘字牌",
      "reason": "",
      "source_refs": [
        "app.js:44",
        "app.js:105",
        "app.js:114",
        "app.js:188",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0170",
      "current": "{dragged.letter}",
      "proposed": "{dragged.letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L18"
      ],
      "trigger": "指针移动距离超过6px",
      "reason": "",
      "source_refs": [
        "app.js:110-111",
        "index.html:23",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0171",
      "current": "可丢弃",
      "proposed": "松开即可丢弃",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L20"
      ],
      "trigger": "仅将棋盘字牌拖入整个三候选牌区域",
      "reason": "明确动作完成时机；仍只在棋盘牌进入三候选区时临时显示。",
      "source_refs": [
        "app.js:109-119",
        "style.css:158-161",
        "inventory.js:121-127"
      ],
      "note": ""
    },
    {
      "id": "C0172",
      "current": "{level}阶",
      "proposed": "{level}阶",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L21"
      ],
      "trigger": "有效操作",
      "reason": "",
      "source_refs": [
        "inventory.js:57-105",
        "app.js:90-94",
        "rules.js:279-289"
      ],
      "note": ""
    },
    {
      "id": "C0173",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L22"
      ],
      "trigger": "每次改路刷新trace",
      "reason": "",
      "source_refs": [
        "app.js:42-45",
        "app.js:166-169",
        "style.css:1"
      ],
      "note": ""
    },
    {
      "id": "C0174",
      "current": "{main} 入阵 ↑",
      "proposed": "{main} 入阵 ↑",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L23"
      ],
      "trigger": "单位到左上出兵口",
      "reason": "",
      "source_refs": [
        "app.js:142",
        "style.css:19-22",
        "style.css:126-128"
      ],
      "note": ""
    },
    {
      "id": "C0175",
      "current": "守军 {waveCount} 波",
      "proposed": "守军 {waveCount} 波",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L24"
      ],
      "trigger": "本关配置显式wave时",
      "reason": "",
      "source_refs": [
        "app.js:147",
        "combat.js:467-474",
        "style.css:37-39"
      ],
      "note": ""
    },
    {
      "id": "C0176",
      "current": "{waveIndex}/{waveCount} 波 · {waveLabel}",
      "proposed": "{waveIndex}/{waveCount} 波 · {waveLabel}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L24"
      ],
      "trigger": "本关配置显式wave时",
      "reason": "",
      "source_refs": [
        "app.js:147",
        "combat.js:467-474",
        "style.css:37-39"
      ],
      "note": ""
    },
    {
      "id": "C0177",
      "current": " · {seconds}秒后增援",
      "proposed": " · {seconds}秒后增援",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L24"
      ],
      "trigger": "本关配置显式wave时",
      "reason": "",
      "source_refs": [
        "app.js:147",
        "combat.js:467-474",
        "style.css:37-39"
      ],
      "note": ""
    },
    {
      "id": "C0178",
      "current": "兵",
      "proposed": "兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0179",
      "current": "刀盾",
      "proposed": "刀盾",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0180",
      "current": "骑射",
      "proposed": "骑射",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0181",
      "current": "赵云",
      "proposed": "赵云",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0182",
      "current": "刀×{N}",
      "proposed": "刀×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0183",
      "current": "盾×{N}",
      "proposed": "盾×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0184",
      "current": "弓×{N}",
      "proposed": "弓×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0185",
      "current": "骑×{N}",
      "proposed": "骑×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0186",
      "current": "赵×{N}",
      "proposed": "赵×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0187",
      "current": "云×{N}",
      "proposed": "云×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0188",
      "current": "{N}名",
      "proposed": "{N}名",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L25"
      ],
      "trigger": "行军和战场持续渲染",
      "reason": "",
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ],
      "note": ""
    },
    {
      "id": "C0189",
      "current": "−{N}",
      "proposed": "−{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L26"
      ],
      "trigger": "单位/城被击中，或单位死亡",
      "reason": "",
      "source_refs": [
        "combat.js:11-12",
        "combat.js:272-332",
        "combat.js:634-661"
      ],
      "note": ""
    },
    {
      "id": "C0190",
      "current": "−{0.x}",
      "proposed": "−{0.x}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L26"
      ],
      "trigger": "单位/城被击中，或单位死亡",
      "reason": "",
      "source_refs": [
        "combat.js:11-12",
        "combat.js:272-332",
        "combat.js:634-661"
      ],
      "note": ""
    },
    {
      "id": "C0191",
      "current": "免疫",
      "proposed": "免疫",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L26"
      ],
      "trigger": "单位/城被击中，或单位死亡",
      "reason": "",
      "source_refs": [
        "combat.js:11-12",
        "combat.js:272-332",
        "combat.js:634-661"
      ],
      "note": ""
    },
    {
      "id": "C0192",
      "current": "城破",
      "proposed": "城破",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0193",
      "current": "0",
      "proposed": "0",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0194",
      "current": "破城！",
      "proposed": "破城！",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0195",
      "current": "防线失守",
      "proposed": "防线失守",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0196",
      "current": "胜利",
      "proposed": "胜利",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0197",
      "current": "败北",
      "proposed": "败北",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L27"
      ],
      "trigger": "城池HP降至0，结算弹窗前",
      "reason": "",
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ],
      "note": ""
    },
    {
      "id": "C0198",
      "current": "暂无单位能出阵。\n检查开口与行进方向。",
      "proposed": "暂无单位能出阵。\n检查开口与行进方向。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0199",
      "current": "每批 {count} 名 · 行军约 {seconds}秒",
      "proposed": "每批 {count} 名 · 行军约 {seconds}秒",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0200",
      "current": "近战 {damage}",
      "proposed": "近战 {damage}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0201",
      "current": " · 远程 {damage} / 射程 {range}",
      "proposed": " · 远程 {damage} / 射程 {range}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0202",
      "current": "生命 {hp} · 防御 {defense}（减伤 {percent}%）",
      "proposed": "生命 {hp} · 防御 {defense}（减伤 {percent}%）",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0203",
      "current": "每秒 {speed} 次攻击",
      "proposed": "每秒 {speed} 次攻击",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0204",
      "current": "刀盾 · {percent}% 免疫",
      "proposed": "刀盾 · {percent}% 免疫",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0205",
      "current": "刀盾传承 · {percent}% 免疫",
      "proposed": "刀盾传承 · {percent}% 免疫",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0206",
      "current": "武将变身 · 伤害系数 1.8 / 攻速 ×2",
      "proposed": "武将变身 · 伤害系数 1.8 / 攻速 ×2",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0207",
      "current": "骑射传承 · 保留 320 射程",
      "proposed": "骑射传承 · 保留 320 射程",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L28"
      ],
      "trigger": "刷新路线",
      "reason": "",
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ],
      "note": ""
    },
    {
      "id": "C0208",
      "current": "固定障碍",
      "proposed": "固定障碍",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0209",
      "current": "不能放牌，也不能通行。让路线绕开这个格子。",
      "proposed": "不能放牌，也不能通行。让路线绕开这个格子。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0210",
      "current": "营地 · 向{方向}出发",
      "proposed": "营地 · 向{方向}出发",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0211",
      "current": "每9秒出一批兵，营地位置固定。空格直走，利用字格改变方向。",
      "proposed": "每9秒出一批兵，营地位置固定。空格直走，利用字格改变方向。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0212",
      "current": "选择一张文字卡",
      "proposed": "选择一张文字卡",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0213",
      "current": "拖动或点选字牌，再点格子。异字可交换；把棋盘字牌拖到下方三张牌区域，松手丢弃。",
      "proposed": "拖动或点选字牌，再点格子。异字可交换；把棋盘字牌拖到下方三张牌区域，松手丢弃。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0214",
      "current": "点击「开始」后布阵，战斗同时进行。",
      "proposed": "点击「开始」后布阵，战斗同时进行。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0215",
      "current": "「{letter}」{level}阶",
      "proposed": "「{letter}」{level}阶",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0216",
      "current": "{openNames}开口。兵必须从开放边进入，之后排除来路。首次经过会尝试分成两路。",
      "proposed": "{openNames}开口。兵必须从开放边进入，之后排除来路。首次经过会尝试分成两路。",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0217",
      "current": "{openNames}开口。兵必须从开放边进入，之后排除来路。另一开口就是本次出口。",
      "proposed": "{openNames}开口。兵必须从开放边进入，之后排除来路。另一开口就是本次出口。",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "visible",
      "owner_states": [
        "L29"
      ],
      "trigger": "选候选字牌、棋盘牌、营/障碍；或清空选择",
      "reason": "",
      "source_refs": [
        "app.js:74-78"
      ],
      "note": ""
    },
    {
      "id": "C0218",
      "current": "第一层近战 +8，之后每层近战 +6；每层另加2远攻。有弓才开启远攻。",
      "proposed": "第一层近战 +8，之后每层近战 +6；每层另加2远攻。有弓才开启远攻。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看刀牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0219",
      "current": "每层防御 +25；防御会减免每次伤害。刀盾另外有30%概率免疫本次伤害。",
      "proposed": "每层防御 +25；防御会减免每次伤害。刀盾另外有30%概率免疫本次伤害。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看盾牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0220",
      "current": "开启远程攻击，每层远攻 +6；与骑先凑齐可成为骑射。",
      "proposed": "开启远程攻击，每层远攻 +6；与骑先凑齐可成为骑射。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看弓牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0221",
      "current": "每层战场移速 +18%、攻速 +12%。",
      "proposed": "每层战场移速 +18%、攻速 +12%。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看骑牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0222",
      "current": "每层全部攻击 +5%；同一名兵再经过云字就变身赵云。新名字牌两口40、三口60起，以牌面报价为准。",
      "proposed": "每层全部攻击 +5%；同一名兵再经过云字就变身赵云。新名字牌两口40、三口60起，以牌面报价为准。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看赵牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0223",
      "current": "每层全部攻击 +5%；同一名兵再经过赵字就变身赵云。新名字牌两口40、三口60起，以牌面报价为准。",
      "proposed": "每层全部攻击 +5%；同一名兵再经过赵字就变身赵云。新名字牌两口40、三口60起，以牌面报价为准。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [
        "L29"
      ],
      "trigger": "查看云牌说明",
      "reason": "",
      "source_refs": [
        "app.js:77"
      ],
      "note": ""
    },
    {
      "id": "C0224",
      "current": "先点右上角播放图标，再按牌面价格摆放。",
      "proposed": "先点击播放图标，再按牌面价格摆放。",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T01"
      ],
      "trigger": "未解锁分裂卡购买失败",
      "reason": "减少对图标绝对位置的依赖；仍要观看后付费。",
      "source_refs": [
        "app.js:91"
      ],
      "note": ""
    },
    {
      "id": "C0225",
      "current": "建造点不足，等补给后再换入，或调整已有路线。",
      "proposed": "建造点不足，等补给后再换入，或调整已有路线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T02"
      ],
      "trigger": "资源类receipt失败",
      "reason": "",
      "source_refs": [
        "app.js:91"
      ],
      "note": ""
    },
    {
      "id": "C0226",
      "current": "这里不能放置，字牌仍留在原处。",
      "proposed": "这里不能放置，字牌仍留在原处。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T03"
      ],
      "trigger": "其余失败，如固定格、满阶同脸",
      "reason": "",
      "source_refs": [
        "app.js:91"
      ],
      "note": ""
    },
    {
      "id": "C0227",
      "current": "手牌里都是已购字牌，请先放回或换一批。",
      "proposed": "手牌已满，请先放回已购字牌或换一批。",
      "status": "design_proposal_not_implemented",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T04"
      ],
      "trigger": "receipt含full/slot",
      "reason": "仅保留为未接UI分支的文案，不据此增加容量弹窗。",
      "source_refs": [
        "app.js:91",
        "inventory.js:107-119"
      ],
      "note": "当前正常UI无withdraw入口；保留分支，勿据此新增背包容量弹窗。"
    },
    {
      "id": "C0228",
      "current": "同字同向，升了一阶。",
      "proposed": "同字同向，升了一阶。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T05"
      ],
      "trigger": "merge receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0229",
      "current": "交换完成，换下的字牌可免费再放。",
      "proposed": "交换完成，换下的字牌可免费再放。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T06"
      ],
      "trigger": "swap receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0230",
      "current": "字牌已丢弃。",
      "proposed": "字牌已丢弃。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T07"
      ],
      "trigger": "discard receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0231",
      "current": "位置已调整。",
      "proposed": "位置已调整。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T08"
      ],
      "trigger": "move receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0232",
      "current": "摆放成功。",
      "proposed": "摆放成功。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T09"
      ],
      "trigger": "place receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0233",
      "current": "布阵已调整。",
      "proposed": "布阵已调整。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T10"
      ],
      "trigger": "purchase/noop等无特定文案的成功receipt",
      "reason": "",
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ],
      "note": ""
    },
    {
      "id": "C0234",
      "current": "营地与地图格位置固定。",
      "proposed": "营地与地图格位置固定。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast",
      "owner_states": [
        "T11"
      ],
      "trigger": "点击营/固定地图格",
      "reason": "",
      "source_refs": [
        "app.js:105"
      ],
      "note": ""
    },
    {
      "id": "C0235",
      "current": "获得{reward}建造点",
      "proposed": "获得 {reward} 建造点",
      "status": "design_proposal_not_implemented",
      "copy_kind": "rendered_template",
      "channel": "global_toast",
      "owner_states": [
        "T12"
      ],
      "trigger": "点击金卡",
      "reason": "统一资源提示中的空格，不改变数值。",
      "source_refs": [
        "app.js:99"
      ],
      "note": ""
    },
    {
      "id": "C0236",
      "current": "获得 {reward} 建造点",
      "proposed": "获得 {reward} 建造点",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "global_toast",
      "owner_states": [
        "T13"
      ],
      "trigger": "领取补充建造点奖励",
      "reason": "",
      "source_refs": [
        "app.js:202"
      ],
      "note": ""
    },
    {
      "id": "C0237",
      "current": "本关已重置，点击画面中央开始。",
      "proposed": "本关已重置，点击画面中央开始。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T14"
      ],
      "trigger": "暂停菜单重新开始本关",
      "reason": "",
      "source_refs": [
        "app.js:194"
      ],
      "note": ""
    },
    {
      "id": "C0238",
      "current": "出阵路线被阻挡，可以边出兵边调整。",
      "proposed": "出阵路线被阻挡，可以边出兵边调整。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast",
      "owner_states": [
        "T15"
      ],
      "trigger": "点击开始且无产出",
      "reason": "",
      "source_refs": [
        "app.js:134"
      ],
      "note": ""
    },
    {
      "id": "C0239",
      "current": "已开始：拖入文字格，规划路线，让正在行进的兵获得能力。",
      "proposed": "已开始：拖入文字格，规划路线，让正在行进的兵获得能力。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_live_feedback",
      "owner_states": [
        "T16"
      ],
      "trigger": "首次点击开始",
      "reason": "",
      "source_refs": [
        "app.js:134"
      ],
      "note": ""
    },
    {
      "id": "C0240",
      "current": "浏览器未允许保存进度，当前试玩不受影响。",
      "proposed": "浏览器未允许保存进度，当前试玩不受影响。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "global_toast",
      "owner_states": [
        "T17"
      ],
      "trigger": "胜利保存localStorage失败，本会话仅一次",
      "reason": "",
      "source_refs": [
        "app.js:150"
      ],
      "note": ""
    },
    {
      "id": "C0241",
      "current": "+{letter}",
      "proposed": "+{letter}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "board_float",
      "owner_states": [
        "T18"
      ],
      "trigger": "首次获得/重复获得某字、完成组合、首次分路",
      "reason": "",
      "source_refs": [
        "app.js:140",
        "app.js:175"
      ],
      "note": ""
    },
    {
      "id": "C0242",
      "current": "{letter}×{N}",
      "proposed": "{letter}×{N}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "board_float",
      "owner_states": [
        "T18"
      ],
      "trigger": "首次获得/重复获得某字、完成组合、首次分路",
      "reason": "",
      "source_refs": [
        "app.js:140",
        "app.js:175"
      ],
      "note": ""
    },
    {
      "id": "C0243",
      "current": "{main}!",
      "proposed": "{main}!",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "board_float",
      "owner_states": [
        "T18"
      ],
      "trigger": "首次获得/重复获得某字、完成组合、首次分路",
      "reason": "",
      "source_refs": [
        "app.js:140",
        "app.js:175"
      ],
      "note": ""
    },
    {
      "id": "C0244",
      "current": "分流 ×2",
      "proposed": "分流 ×2",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_float",
      "owner_states": [
        "T18"
      ],
      "trigger": "首次获得/重复获得某字、完成组合、首次分路",
      "reason": "",
      "source_refs": [
        "app.js:140",
        "app.js:175"
      ],
      "note": ""
    },
    {
      "id": "C0245",
      "current": "刀盾成型：伤害系数1.5，每次受击有30%概率免疫。",
      "proposed": "刀盾成型：伤害系数1.5，每次受击有30%概率免疫。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_live_feedback",
      "owner_states": [
        "T19"
      ],
      "trigger": "主字发生变身",
      "reason": "",
      "source_refs": [
        "app.js:140"
      ],
      "note": ""
    },
    {
      "id": "C0246",
      "current": "骑射成型。远距离停步，继续积累火力。",
      "proposed": "骑射成型。远距离停步，继续积累火力。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_live_feedback",
      "owner_states": [
        "T19"
      ],
      "trigger": "主字发生变身",
      "reason": "",
      "source_refs": [
        "app.js:140"
      ],
      "note": ""
    },
    {
      "id": "C0247",
      "current": "赵云变身：金色主字，伤害系数1.8、攻速翻倍；原基础组合的专属能力保留。",
      "proposed": "赵云变身：金色主字，伤害系数1.8、攻速翻倍；原基础组合的专属能力保留。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_live_feedback",
      "owner_states": [
        "T19"
      ],
      "trigger": "主字发生变身",
      "reason": "",
      "source_refs": [
        "app.js:140"
      ],
      "note": ""
    },
    {
      "id": "C0248",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_float",
      "owner_states": [
        "T20"
      ],
      "trigger": "stepRoute dead/blocked",
      "reason": "",
      "source_refs": [
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0249",
      "current": "止",
      "proposed": "止",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_float",
      "owner_states": [
        "T20"
      ],
      "trigger": "stepRoute dead/blocked",
      "reason": "",
      "source_refs": [
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0250",
      "current": "单位方向无效",
      "proposed": "单位方向无效",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0251",
      "current": "单位超出外围通道，停止前进",
      "proposed": "单位超出外围通道，停止前进",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0252",
      "current": "绕回营地，单位死亡",
      "proposed": "绕回营地，单位死亡",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0253",
      "current": "撞到障碍，单位死亡",
      "proposed": "撞到障碍，单位死亡",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0254",
      "current": "从{上/右/下/左}侧撞入封闭边，单位死亡",
      "proposed": "从{上/右/下/左}侧撞入封闭边，单位死亡",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0255",
      "current": "前进方向的{上/右/下/左}侧封闭，单位死亡",
      "proposed": "前进方向的{上/右/下/左}侧封闭，单位死亡",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0256",
      "current": "路线超出外围通道，单位停止前进",
      "proposed": "路线超出外围通道，单位停止前进",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0257",
      "current": "路线中断",
      "proposed": "路线中断",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "board_toast_and_desktop_live_feedback",
      "owner_states": [
        "T21"
      ],
      "trigger": "首次损失或每第8次损失",
      "reason": "",
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ],
      "note": ""
    },
    {
      "id": "C0258",
      "current": "正常速度",
      "proposed": "正常速度",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0259",
      "current": "2倍加速中",
      "proposed": "2倍加速中",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0260",
      "current": "切换速度",
      "proposed": "切换速度",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0261",
      "current": "音效开关",
      "proposed": "音效开关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0262",
      "current": "打开音效",
      "proposed": "打开音效",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0263",
      "current": "关闭音效",
      "proposed": "关闭音效",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0264",
      "current": "游戏菜单",
      "proposed": "游戏菜单",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0265",
      "current": "暂停游戏",
      "proposed": "暂停游戏",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0266",
      "current": "沿外环走到这里，进入上方战场",
      "proposed": "沿外环走到这里，进入上方战场",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0267",
      "current": "换批会弃掉手牌中已购的字牌",
      "proposed": "换批会弃掉手牌中已购的字牌",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0268",
      "current": "播放奖励：免费换一批",
      "proposed": "播放奖励：免费换一批",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0269",
      "current": "换一批需要{cost}建造点",
      "proposed": "换一批需要{cost}建造点",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0270",
      "current": "播放奖励：补充建造点",
      "proposed": "播放奖励：补充建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0271",
      "current": "战斗进行时每6秒补充5建造点",
      "proposed": "战斗进行时每6秒补充5建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0272",
      "current": "开始后可操作",
      "proposed": "开始后可操作",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0273",
      "current": "拖动摆牌；棋盘字牌拖到下方三张牌区域可丢弃",
      "proposed": "拖动摆牌；棋盘字牌拖到下方三张牌区域可丢弃",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "tooltip_or_screenreader",
      "owner_states": [
        "T23"
      ],
      "trigger": "hover/读屏",
      "reason": "",
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ],
      "note": ""
    },
    {
      "id": "C0274",
      "current": "点击关名上方可切换十六关。前四关有推荐卡牌和落点，帮助学习规则。第五关起卡牌随机出现，自主布阵。11–16关从只有少量固定石头的空盘开始，营地位置和朝向会变化，需要自行购牌规划路线；第16关提供弓、赵、云试玩开手，购入后继续补牌，短队列结束后回到随机供牌；手牌不合适时可以改路或换一批。路线始终预览当前摆法。挑战关迎战分批守军，敌方增援会显示倒计时。每关点击画面中央「开始本关」，战斗启动后才能拖卡、移格或换牌。每关和重试默认1倍速，右上角可切到2倍速。右上角「Ⅱ」暂停战斗，菜单内可以继续、重开或查看说明；收起菜单后可在暂停中调整路线。所有关卡共用每9秒一批的基础出兵速度，不随关卡改变。可以先接好一段路线，观察交战，再等收入调整。兵从「营」持续出发，空格直走，经过字格获得能力。进入四周黑色输送环后，会自动选择较近的方向，沿环走到左上角「出」口，才进入上方战场。空格会直走；前方没有障碍时，普通兵也可沿环出兵。11–16关初始直线路径被石头阻挡，必须先摆字格改路。",
      "proposed": "点击关名上方可切换十六关。前四关有推荐卡牌和落点，帮助学习规则。第五关起卡牌随机出现，自主布阵。11–16关从只有少量固定石头的空盘开始，营地位置和朝向会变化，需要自行购牌规划路线；第16关提供弓、赵、云试玩开手，购入后继续补牌，短队列结束后回到随机供牌；手牌不合适时可以改路或换一批。路线始终预览当前摆法。挑战关迎战分批守军，敌方增援会显示倒计时。每关点击画面中央「开始本关」，战斗启动后才能拖卡、移格或换牌。每关和重试默认1倍速，右上角可切到2倍速。右上角「Ⅱ」暂停战斗，菜单内可以继续、重开或查看说明；收起菜单后可在暂停中调整路线。所有关卡共用每9秒一批的基础出兵速度，不随关卡改变。可以先接好一段路线，观察交战，再等收入调整。兵从「营」持续出发，空格直走，经过字格获得能力。进入四周黑色输送环后，会自动选择较近的方向，沿环走到左上角「出」口，才进入上方战场。空格会直走；前方没有障碍时，普通兵也可沿环出兵。11–16关初始直线路径被石头阻挡，必须先摆字格改路。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第1段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0275",
      "current": "字格的黑边封闭，缺口可以进出。进入一个开口后，排除来路，剩余开口决定接下来怎么走。三口格首次经过会分成两路，接错的支路仍会损失单位。每场前两张新分裂牌按建造点价格购入；第三张起新分裂牌右上角显示圆形播放图标，点击模拟观看后仍按牌面建造点价格购买。观看只解除额外条件，不赠送免费牌；未购买就换批，观看记录随该候选一起清除。未使用就刷新掉的牌不计次；移动或交换已有牌不重复计次，重新开始本关后重置。分裂牌观看不占补给奖励的次数。",
      "proposed": "字格的黑边封闭，缺口可以进出。进入一个开口后，排除来路，剩余开口决定接下来怎么走。三口格首次经过会分成两路，接错的支路仍会损失单位。每场前两张新分裂牌按建造点价格购入；第三张起新分裂牌右上角显示圆形播放图标，点击模拟观看后仍按牌面建造点价格购买。观看只解除额外条件，不赠送免费牌；未购买就换批，观看记录随该候选一起清除。未使用就刷新掉的牌不计次；移动或交换已有牌不重复计次，重新开始本关后重置。分裂牌观看不占补给奖励的次数。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第2段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0276",
      "current": "刀 + 盾成为刀盾，弓 + 骑成为骑射。先凑齐的组合做主字，后来获得的字保留为附加能力。刀盾拿到弓仍会射箭。刀盾伤害系数1.5，并有30%概率免疫单次伤害；触发时在受击处显示「免疫」。每次命中独立判定，重复盾不提高免疫概率。",
      "proposed": "刀 + 盾成为刀盾，弓 + 骑成为骑射。先凑齐的组合做主字，后来获得的字保留为附加能力。刀盾拿到弓仍会射箭。刀盾伤害系数1.5，并有30%概率免疫单次伤害；触发时在受击处显示「免疫」。每次命中独立判定，重复盾不提高免疫概率。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第3段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0277",
      "current": "第16关：赵 + 云 = 赵云。两个字必须由同一名兵经过，分开的两名兵不会合将。每层赵或云各加5%攻击；凑齐后主字升级为赵云，伤害系数1.8、攻速翻倍。武将的被动技能就是变身：主字变金色，伤害系数1.8替换刀盾的1.5，攻速只翻倍一次，不叠成4倍。刀、盾、弓、骑的逐层加成仍保留。先成刀盾再升赵云，保留30%免疫；先成骑射再升赵云，保留320超远射程。有弓的其他赵云射程为220。先直接成赵云、再补齐基础字，只得到单字属性，不补领基础组合能力。路线持续产出赵云，不设唯一武将名额。",
      "proposed": "第16关：赵 + 云 = 赵云。两个字必须由同一名兵经过，分开的两名兵不会合将。每层赵或云各加5%攻击；凑齐后主字升级为赵云，伤害系数1.8、攻速翻倍。武将的被动技能就是变身：主字变金色，伤害系数1.8替换刀盾的1.5，攻速只翻倍一次，不叠成4倍。刀、盾、弓、骑的逐层加成仍保留。先成刀盾再升赵云，保留30%免疫；先成骑射再升赵云，保留320超远射程。有弓的其他赵云射程为220。先直接成赵云、再补齐基础字，只得到单字属性，不补领基础组合能力。路线持续产出赵云，不设唯一武将名额。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第4段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0278",
      "current": "同字可以叠加，层数写作「刀×2」。基础攻击为8；第一层刀增加100%基础攻击（+8），之后每层增加75%基础攻击（+6），所以单刀近战16、双刀22、三刀28；刀盾的1.5系数下分别为24、33、42。这里是固定增加基础值，不是每层将当前伤害翻倍。每层弓增加75%基础攻击到远攻，刀另增加25%基础攻击到远攻。有弓才开启远攻。附字显示「刀×2」。×N 表示累计层数，不代表最终伤害乘 N；战场上的「3名」则表示聚在一起的兵数。",
      "proposed": "同字可以叠加，层数写作「刀×2」。基础攻击为8；第一层刀增加100%基础攻击（+8），之后每层增加75%基础攻击（+6），所以单刀近战16、双刀22、三刀28；刀盾的1.5系数下分别为24、33、42。这里是固定增加基础值，不是每层将当前伤害翻倍。每层弓增加75%基础攻击到远攻，刀另增加25%基础攻击到远攻。有弓才开启远攻。附字显示「刀×2」。×N 表示累计层数，不代表最终伤害乘 N；战场上的「3名」则表示聚在一起的兵数。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第5段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0279",
      "current": "盾提供防御，骑提供速度。基础生命42；无盾时防御0，每层盾增加25防御。减伤率=防御÷（100+防御），最高85%；一盾减伤20%，两盾约33.3%。未免疫的伤害至少为0.1，低于1的伤害显示小数。每层骑增加18%战场移速和12%攻速，骑射或赵云再将攻速翻倍。重复层数相加，不逐层相乘。金币升级尚未开放，本版使用统一基础属性。",
      "proposed": "盾提供防御，骑提供速度。基础生命42；无盾时防御0，每层盾增加25防御。减伤率=防御÷（100+防御），最高85%；一盾减伤20%，两盾约33.3%。未免疫的伤害至少为0.1，低于1的伤害显示小数。每层骑增加18%战场移速和12%攻速，骑射或赵云再将攻速翻倍。重复层数相加，不逐层相乘。金币升级尚未开放，本版使用统一基础属性。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第6段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0280",
      "current": "外围可双向行走，单位自动选择到左上出兵口的最短环路。左侧直接向上，右侧向上后沿顶边向左，底边向左后沿左边向上；右下角两路等长时固定向上。实际路程越短，参战越快。营地和环上的出兵口固定，外环不能放卡。边缘文字格仍会先执行转向与加成，再进入外圈。相同文字、相同开口的格子可以合并升级。不同字牌拖到已占用的格子会交换：新牌支付一次报价，旧牌回到手牌并标记「已购」，以后免费放回。棋盘字牌之间也能交换。要丢掉棋盘上的字牌，直接拖到下方三张候选牌的整个区域：出现「可丢弃」后松手，字牌立即删除，不退款、不替换候选牌。拖出该区域再松手则取消丢弃。换下回到手牌的已购字牌仍可免费放回；「换一批」会弃掉手牌中的已购字牌。绕回同一个字格不会重复获得，绕回同一分岔也不会继续分兵。",
      "proposed": "外围可双向行走，单位自动选择到左上出兵口的最短环路。左侧直接向上，右侧向上后沿顶边向左，底边向左后沿左边向上；右下角两路等长时固定向上。实际路程越短，参战越快。营地和环上的出兵口固定，外环不能放卡。边缘文字格仍会先执行转向与加成，再进入外圈。相同文字、相同开口的格子可以合并升级。不同字牌拖到已占用的格子会交换：新牌支付一次报价，旧牌回到手牌并标记「已购」，以后免费放回。棋盘字牌之间也能交换。要丢掉棋盘上的字牌，直接拖到下方三张候选牌的整个区域：出现「松开即可丢弃」后松手，字牌立即删除，不退款、不替换候选牌。拖出该区域再松手则取消丢弃。换下回到手牌的已购字牌仍可免费放回；「换一批」会弃掉手牌中的已购字牌。绕回同一个字格不会重复获得，绕回同一分岔也不会继续分兵。",
      "status": "design_proposal_not_implemented",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第7段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0281",
      "current": "普通字两口25、三口45起；赵、云名字牌两口40、三口60起。后续新牌随同字、同开口购买次数涨价，手中报价保持不变，以牌面为准。第16关开手为弓25、赵40、云40，合计105点；随后补出的盾为25点，弓、赵、云、盾四字路线共130点。初始125点，等待一轮自然回复即可补齐，无需广告。建造点每6秒回复5点。全部16关换批费用统一为10、12、14、16…30，之后保持30；每关重新从10开始。缺资源时可点击圆形播放图标体验奖励：补60建造点或免费换一批，每关合计最多3次，两次间隔40秒战斗时间。无需领取也可以正常挑战。",
      "proposed": "普通字两口25、三口45起；赵、云名字牌两口40、三口60起。后续新牌随同字、同开口购买次数涨价，手中报价保持不变，以牌面为准。第16关开手为弓25、赵40、云40，合计105点；随后补出的盾为25点，弓、赵、云、盾四字路线共130点。初始125点，等待一轮自然回复即可补齐，无需广告。建造点每6秒回复5点。全部16关换批费用统一为10、12、14、16…30，之后保持30；每关重新从10开始。缺资源时可点击圆形播放图标体验奖励：补60建造点或免费换一批，每关合计最多3次，两次间隔40秒战斗时间。无需领取也可以正常挑战。",
      "status": "retain_current",
      "copy_kind": "exact_long_copy",
      "channel": "help_body",
      "owner_states": [
        "M04"
      ],
      "trigger": "玩法说明第8段",
      "reason": "只同步丢弃区的新显示措辞，其余规则与数值完整保留。",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0282",
      "current": "一字成兵",
      "proposed": "一字成兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第1关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:7"
      ],
      "note": ""
    },
    {
      "id": "C0283",
      "current": "第一关 · 转向",
      "proposed": "第一关 · 转向",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第1关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:7"
      ],
      "note": ""
    },
    {
      "id": "C0284",
      "current": "试着给兵带上刀，再观察攻营速度。",
      "proposed": "试着给兵带上刀，再观察攻营速度。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第1关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:7"
      ],
      "note": ""
    },
    {
      "id": "C0285",
      "current": "左上开口从左进、向上走。四边均可入环，沿最短方向到左上出兵口参战。",
      "proposed": "左上开口从左进、向上走。四边均可入环，沿最短方向到左上出兵口参战。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第1关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:7"
      ],
      "note": ""
    },
    {
      "id": "C0286",
      "current": "刀盾合一",
      "proposed": "刀盾合一",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第2关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:117"
      ],
      "note": ""
    },
    {
      "id": "C0287",
      "current": "第二关 · 组合",
      "proposed": "第二关 · 组合",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第2关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:117"
      ],
      "note": ""
    },
    {
      "id": "C0288",
      "current": "试着造出刀盾兵，比较更强的军队。",
      "proposed": "试着造出刀盾兵，比较更强的军队。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第2关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:117"
      ],
      "note": ""
    },
    {
      "id": "C0289",
      "current": "两字齐全，就进化为「刀盾」。先转向上，再转向右。",
      "proposed": "两字齐全，就进化为「刀盾」。先转向上，再转向右。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第2关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:117"
      ],
      "note": ""
    },
    {
      "id": "C0290",
      "current": "一兵分两路",
      "proposed": "一兵分两路",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第3关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:257"
      ],
      "note": ""
    },
    {
      "id": "C0291",
      "current": "第三关 · 分流",
      "proposed": "第三关 · 分流",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第3关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:257"
      ],
      "note": ""
    },
    {
      "id": "C0292",
      "current": "让一次出兵分成两队，再给其中一路加上弓。",
      "proposed": "让一次出兵分成两队，再给其中一路加上弓。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第3关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:257"
      ],
      "note": ""
    },
    {
      "id": "C0293",
      "current": "三口格排除来路，两条出路各产生一名兵；后续经过的字各自生效。",
      "proposed": "三口格排除来路，两条出路各产生一名兵；后续经过的字各自生效。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第3关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:257"
      ],
      "note": ""
    },
    {
      "id": "C0294",
      "current": "骑射先成",
      "proposed": "骑射先成",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第4关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:442"
      ],
      "note": ""
    },
    {
      "id": "C0295",
      "current": "第四关 · 骑射",
      "proposed": "第四关 · 骑射",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第4关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:442"
      ],
      "note": ""
    },
    {
      "id": "C0296",
      "current": "试着造出骑射，再给它加刀盾，观察主字保持不变。",
      "proposed": "试着造出骑射，再给它加刀盾，观察主字保持不变。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第4关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:442"
      ],
      "note": ""
    },
    {
      "id": "C0297",
      "current": "先凑齐弓骑，就成为骑射。后来再得刀盾，主字也不会改变。",
      "proposed": "先凑齐弓骑，就成为骑射。后来再得刀盾，主字也不会改变。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第4关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:442"
      ],
      "note": ""
    },
    {
      "id": "C0298",
      "current": "百炼成锋",
      "proposed": "百炼成锋",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第5关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:697"
      ],
      "note": ""
    },
    {
      "id": "C0299",
      "current": "第5关 · 同字叠层",
      "proposed": "第5关 · 同字叠层",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第5关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:697"
      ],
      "note": ""
    },
    {
      "id": "C0300",
      "current": "叠加刀与盾，带着更强的单兵突破近战防线。",
      "proposed": "叠加刀与盾，带着更强的单兵突破近战防线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第5关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:697"
      ],
      "note": ""
    },
    {
      "id": "C0301",
      "current": "同字经过不同格可以叠加；也可以搭配其他文字，比较你的军队变化。",
      "proposed": "同字经过不同格可以叠加；也可以搭配其他文字，比较你的军队变化。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第5关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:697"
      ],
      "note": ""
    },
    {
      "id": "C0302",
      "current": "刀盾护骑射",
      "proposed": "刀盾护骑射",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第6关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:948"
      ],
      "note": ""
    },
    {
      "id": "C0303",
      "current": "第6关 · 双路配合",
      "proposed": "第6关 · 双路配合",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第6关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:948"
      ],
      "note": ""
    },
    {
      "id": "C0304",
      "current": "尝试用不同兵种配合，压过有弓手掩护的守军。",
      "proposed": "尝试用不同兵种配合，压过有弓手掩护的守军。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第6关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:948"
      ],
      "note": ""
    },
    {
      "id": "C0305",
      "current": "分流后的部队各自成长，试试不同字组合和出阵位置。",
      "proposed": "分流后的部队各自成长，试试不同字组合和出阵位置。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第6关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:948"
      ],
      "note": ""
    },
    {
      "id": "C0306",
      "current": "三路齐发",
      "proposed": "三路齐发",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第7关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1238"
      ],
      "note": ""
    },
    {
      "id": "C0307",
      "current": "第7关 · 连续分流",
      "proposed": "第7关 · 连续分流",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第7关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:1238"
      ],
      "note": ""
    },
    {
      "id": "C0308",
      "current": "增加有效出兵支路，用持续兵力顶住敌人的成阵反扑。",
      "proposed": "增加有效出兵支路，用持续兵力顶住敌人的成阵反扑。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第7关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:1238"
      ],
      "note": ""
    },
    {
      "id": "C0309",
      "current": "三口格能增加出兵支路；兼顾有效出口、单兵强度和补兵速度。",
      "proposed": "三口格能增加出兵支路；兼顾有效出口、单兵强度和补兵速度。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第7关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1238"
      ],
      "note": ""
    },
    {
      "id": "C0310",
      "current": "以骑制弓",
      "proposed": "以骑制弓",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第8关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1540"
      ],
      "note": ""
    },
    {
      "id": "C0311",
      "current": "第8关 · 远程对抗",
      "proposed": "第8关 · 远程对抗",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第8关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:1540"
      ],
      "note": ""
    },
    {
      "id": "C0312",
      "current": "在远程对射中补足生存与火力，突破城前弓阵。",
      "proposed": "在远程对射中补足生存与火力，突破城前弓阵。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第8关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:1540"
      ],
      "note": ""
    },
    {
      "id": "C0313",
      "current": "远程单位会在射程内停下，补盾或叠弓都可能帮你稳住阵地。",
      "proposed": "远程单位会在射程内停下，补盾或叠弓都可能帮你稳住阵地。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第8关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1540"
      ],
      "note": ""
    },
    {
      "id": "C0314",
      "current": "同字异阵",
      "proposed": "同字异阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第9关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1862"
      ],
      "note": ""
    },
    {
      "id": "C0315",
      "current": "第9关 · 组合先后",
      "proposed": "第9关 · 组合先后",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第9关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:1862"
      ],
      "note": ""
    },
    {
      "id": "C0316",
      "current": "比较成型顺序，搭配两路军队突破长弓防线。",
      "proposed": "比较成型顺序，搭配两路军队突破长弓防线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第9关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:1862"
      ],
      "note": ""
    },
    {
      "id": "C0317",
      "current": "先完成的组合决定主字；相同文字换个经过顺序，也能形成不同兵种。",
      "proposed": "先完成的组合决定主字；相同文字换个经过顺序，也能形成不同兵种。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第9关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:1862"
      ],
      "note": ""
    },
    {
      "id": "C0318",
      "current": "四路破城",
      "proposed": "四路破城",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第10关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2247"
      ],
      "note": ""
    },
    {
      "id": "C0319",
      "current": "第10关 · 综合城战",
      "proposed": "第10关 · 综合城战",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第10关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:2247"
      ],
      "note": ""
    },
    {
      "id": "C0320",
      "current": "自由规划多路军队，用产量、叠字与兵种配合突破防线。",
      "proposed": "自由规划多路军队，用产量、叠字与兵种配合突破防线。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第10关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:2247"
      ],
      "note": ""
    },
    {
      "id": "C0321",
      "current": "分流、叠字和兵种各有收益，按到手的开口调整你的军队。",
      "proposed": "分流、叠字和兵种各有收益，按到手的开口调整你的军队。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第10关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2247"
      ],
      "note": ""
    },
    {
      "id": "C0322",
      "current": "绕石接阵",
      "proposed": "绕石接阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第11关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2688"
      ],
      "note": ""
    },
    {
      "id": "C0323",
      "current": "第11关 · 单障碍绕行",
      "proposed": "第11关 · 单障碍绕行",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第11关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:2688"
      ],
      "note": ""
    },
    {
      "id": "C0324",
      "current": "从营地自行规划路线，绕开石块，让同一名兵连续获得文字加成。",
      "proposed": "从营地自行规划路线，绕开石块，让同一名兵连续获得文字加成。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第11关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:2688"
      ],
      "note": ""
    },
    {
      "id": "C0325",
      "current": "从营地自行规划路线，绕开石块，让同一名兵连续获得文字加成。",
      "proposed": "从营地自行规划路线，绕开石块，让同一名兵连续获得文字加成。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第11关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2688"
      ],
      "note": ""
    },
    {
      "id": "C0326",
      "current": "双石成阵",
      "proposed": "双石成阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第12关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2928"
      ],
      "note": ""
    },
    {
      "id": "C0327",
      "current": "第12关 · 双石绕行",
      "proposed": "第12关 · 双石绕行",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第12关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:2928"
      ],
      "note": ""
    },
    {
      "id": "C0328",
      "current": "两块石头挡住直线；从空盘接通产线，在叠字、分流和行军距离之间选择。",
      "proposed": "两块石头挡住直线；从空盘接通产线，在叠字、分流和行军距离之间选择。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第12关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:2928"
      ],
      "note": ""
    },
    {
      "id": "C0329",
      "current": "两块石头挡住直线；从空盘接通产线，在叠字、分流和行军距离之间选择。",
      "proposed": "两块石头挡住直线；从空盘接通产线，在叠字、分流和行军距离之间选择。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第12关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:2928"
      ],
      "note": ""
    },
    {
      "id": "C0330",
      "current": "精兵与分兵",
      "proposed": "精兵与分兵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第13关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3175"
      ],
      "note": ""
    },
    {
      "id": "C0331",
      "current": "第13关 · 质量数量取舍",
      "proposed": "第13关 · 质量数量取舍",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第13关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:3175"
      ],
      "note": ""
    },
    {
      "id": "C0332",
      "current": "从空盘安排叠字与分流；每条支路都要接通，并获得足够战力。",
      "proposed": "从空盘安排叠字与分流；每条支路都要接通，并获得足够战力。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第13关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:3175"
      ],
      "note": ""
    },
    {
      "id": "C0333",
      "current": "从空盘安排叠字与分流；每条支路都要接通，并获得足够战力。",
      "proposed": "从空盘安排叠字与分流；每条支路都要接通，并获得足够战力。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第13关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3175"
      ],
      "note": ""
    },
    {
      "id": "C0334",
      "current": "远营先至",
      "proposed": "远营先至",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第14关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3422"
      ],
      "note": ""
    },
    {
      "id": "C0335",
      "current": "第14关 · 到场时机",
      "proposed": "第14关 · 到场时机",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第14关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:3422"
      ],
      "note": ""
    },
    {
      "id": "C0336",
      "current": "营地从右向左出兵；自行规划转向，在路线长度与文字加成之间选择。",
      "proposed": "营地从右向左出兵；自行规划转向，在路线长度与文字加成之间选择。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第14关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:3422"
      ],
      "note": ""
    },
    {
      "id": "C0337",
      "current": "营地从右向左出兵；自行规划转向，在路线长度与文字加成之间选择。",
      "proposed": "营地从右向左出兵；自行规划转向，在路线长度与文字加成之间选择。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第14关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3422"
      ],
      "note": ""
    },
    {
      "id": "C0338",
      "current": "三石破围",
      "proposed": "三石破围",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第15关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3669"
      ],
      "note": ""
    },
    {
      "id": "C0339",
      "current": "第15关 · 变向综合阵",
      "proposed": "第15关 · 变向综合阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第15关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:3669"
      ],
      "note": ""
    },
    {
      "id": "C0340",
      "current": "营地从下向上出兵，三块石头阻挡前进；自行选择转向、叠字与分流。",
      "proposed": "营地从下向上出兵，三块石头阻挡前进；自行选择转向、叠字与分流。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第15关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:3669"
      ],
      "note": ""
    },
    {
      "id": "C0341",
      "current": "营地从下向上出兵，三块石头阻挡前进；自行选择转向、叠字与分流。",
      "proposed": "营地从下向上出兵，三块石头阻挡前进；自行选择转向、叠字与分流。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第15关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3669"
      ],
      "note": ""
    },
    {
      "id": "C0342",
      "current": "赵云初阵",
      "proposed": "赵云初阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_name",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第16关：game heading / level list / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3923"
      ],
      "note": ""
    },
    {
      "id": "C0343",
      "current": "第16关 · 英雄试玩",
      "proposed": "第16关 · 英雄试玩",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_kicker",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第16关：level picker / level list subtitle",
      "reason": "",
      "source_refs": [
        "levels.js:3923"
      ],
      "note": ""
    },
    {
      "id": "C0344",
      "current": "从空盘接通路线，同一名兵经过赵、云才成为赵云；弓盾等能力也由自己摆牌获得。",
      "proposed": "从空盘接通路线，同一名兵经过赵、云才成为赵云；弓盾等能力也由自己摆牌获得。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_goal",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第16关：ready overlay / desktop selection",
      "reason": "",
      "source_refs": [
        "levels.js:3923"
      ],
      "note": ""
    },
    {
      "id": "C0345",
      "current": "从空盘接通路线，同一名兵经过赵、云才成为赵云；弓盾等能力也由自己摆牌获得。",
      "proposed": "从空盘接通路线，同一名兵经过赵、云才成为赵云；弓盾等能力也由自己摆牌获得。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "level_lesson",
      "owner_states": [
        "F01",
        "F02",
        "M03",
        "M07"
      ],
      "trigger": "第16关：desktop feedback / win result",
      "reason": "",
      "source_refs": [
        "levels.js:3923"
      ],
      "note": ""
    },
    {
      "id": "C0346",
      "current": "玩法说明 ?",
      "proposed": "玩法说明 ?",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "help-open",
      "reason": "",
      "source_refs": [
        "index.html:5"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0347",
      "current": "第一关 · 转向 ▾",
      "proposed": "第一关 · 转向 ▾",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "level-kicker",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0348",
      "current": "选择关卡，当前第1关，共16关",
      "proposed": "选择关卡，当前第1关，共16关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "level-kicker",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0349",
      "current": "1×",
      "proposed": "1×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "speed",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0350",
      "current": "切换速度",
      "proposed": "切换速度",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "title",
      "owner_states": [],
      "trigger": "speed",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0351",
      "current": "当前1倍速，切换为2倍速",
      "proposed": "当前1倍速，切换为2倍速",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "speed",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0352",
      "current": "♪",
      "proposed": "♪",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "sound",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0353",
      "current": "音效开关",
      "proposed": "音效开关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "title",
      "owner_states": [],
      "trigger": "sound",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0354",
      "current": "打开音效",
      "proposed": "打开音效",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "sound",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0355",
      "current": "☰",
      "proposed": "☰",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "pause-toggle",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0356",
      "current": "游戏菜单",
      "proposed": "游戏菜单",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "title",
      "owner_states": [],
      "trigger": "pause-toggle",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0357",
      "current": "游戏菜单",
      "proposed": "游戏菜单",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "pause-toggle",
      "reason": "",
      "source_refs": [
        "index.html:9"
      ],
      "note": ""
    },
    {
      "id": "C0358",
      "current": "+60",
      "proposed": "+60",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "ad-resources",
      "reason": "",
      "source_refs": [
        "index.html:12"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0359",
      "current": "播放奖励：补充60建造点",
      "proposed": "播放奖励：补充60建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "ad-resources",
      "reason": "",
      "source_refs": [
        "index.html:12"
      ],
      "note": ""
    },
    {
      "id": "C0360",
      "current": "换一批10",
      "proposed": "换一批10",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "reroll",
      "reason": "",
      "source_refs": [
        "index.html:13"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0361",
      "current": "开始本关 ▶",
      "proposed": "开始本关 ▶",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "play",
      "reason": "",
      "source_refs": [
        "index.html:14"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0362",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "ad-close",
      "reason": "",
      "source_refs": [
        "index.html:18"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0363",
      "current": "取消奖励",
      "proposed": "取消奖励",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "ad-close",
      "reason": "",
      "source_refs": [
        "index.html:18"
      ],
      "note": ""
    },
    {
      "id": "C0364",
      "current": "领取奖励",
      "proposed": "领取奖励",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "ad-claim",
      "reason": "",
      "source_refs": [
        "index.html:18"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0365",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "pause-close",
      "reason": "",
      "source_refs": [
        "index.html:19"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0366",
      "current": "收起菜单",
      "proposed": "收起菜单",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "pause-close",
      "reason": "",
      "source_refs": [
        "index.html:19"
      ],
      "note": ""
    },
    {
      "id": "C0367",
      "current": "继续战斗",
      "proposed": "继续战斗",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "pause-resume",
      "reason": "",
      "source_refs": [
        "index.html:19"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0368",
      "current": "重新开始本关",
      "proposed": "重新开始本关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "restart",
      "reason": "",
      "source_refs": [
        "index.html:19"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0369",
      "current": "玩法说明",
      "proposed": "玩法说明",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "pause-help",
      "reason": "",
      "source_refs": [
        "index.html:19"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0370",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "level-close",
      "reason": "",
      "source_refs": [
        "index.html:20"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0371",
      "current": "关闭选关",
      "proposed": "关闭选关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "level-close",
      "reason": "",
      "source_refs": [
        "index.html:20"
      ],
      "note": ""
    },
    {
      "id": "C0372",
      "current": "×",
      "proposed": "×",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "help-close",
      "reason": "",
      "source_refs": [
        "index.html:21"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0373",
      "current": "关闭玩法说明",
      "proposed": "关闭玩法说明",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "aria_label",
      "owner_states": [],
      "trigger": "help-close",
      "reason": "",
      "source_refs": [
        "index.html:21"
      ],
      "note": ""
    },
    {
      "id": "C0374",
      "current": "知道了",
      "proposed": "知道了",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "help-play",
      "reason": "",
      "source_refs": [
        "index.html:21"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0375",
      "current": "下一关",
      "proposed": "下一关",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "next",
      "reason": "",
      "source_refs": [
        "index.html:22"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0376",
      "current": "再试一种路线",
      "proposed": "再试一种路线",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_button",
      "owner_states": [],
      "trigger": "result-retry",
      "reason": "",
      "source_refs": [
        "index.html:22"
      ],
      "note": "初始HTML原文；具体运行态以带owner_states记录为准，不能将占位标题当运行文案。"
    },
    {
      "id": "C0377",
      "current": "兵一字成兵十六关试炼玩法说明 ?",
      "proposed": "兵一字成兵十六关试炼玩法说明 ?",
      "status": "retain_current",
      "copy_kind": "exact_static_region",
      "channel": "desktop_static_region",
      "owner_states": [
        "F05"
      ],
      "trigger": "brand",
      "reason": "",
      "source_refs": [
        "index.html:5"
      ],
      "note": "初始HTML原文；运行时变量以状态条目覆盖为准"
    },
    {
      "id": "C0378",
      "current": "从一字到一支军队字成兵，\n路成阵。让每一名兵走过你铺设的文字，\n把一条路线变成一支军队。玩法要诀字格缺口通行，黑环自动抄近路。\n左上出兵，先成的做主字。可玩原型 · 赵云变身",
      "proposed": "从一字到一支军队字成兵，\n路成阵。让每一名兵走过你铺设的文字，\n把一条路线变成一支军队。玩法要诀字格缺口通行，黑环自动抄近路。\n左上出兵，先成的做主字。可玩原型 · 赵云变身",
      "status": "retain_current",
      "copy_kind": "exact_static_region",
      "channel": "desktop_static_region",
      "owner_states": [
        "F05"
      ],
      "trigger": "chapter-panel",
      "reason": "",
      "source_refs": [
        "index.html:7"
      ],
      "note": "初始HTML原文；运行时变量以状态条目覆盖为准"
    },
    {
      "id": "C0379",
      "current": "这一条路会造出什么行军预览选择一张文字卡可以拖动，也可以点选后再点格子。摆好的文字还可以移动。字的力量刀近战攻击盾防御与减伤弓远程射箭骑移动与攻速刀 + 盾 = 刀盾\n弓 + 骑 = 骑射经过不同的同字格，能力叠加。\n刀×2 = 刀的总层数为 2。\n成型后也保留层数；主字不额外计层。先规划路线，再观察前线。",
      "proposed": "这一条路会造出什么行军预览选择一张文字卡可以拖动，也可以点选后再点格子。摆好的文字还可以移动。字的力量刀近战攻击盾防御与减伤弓远程射箭骑移动与攻速刀 + 盾 = 刀盾\n弓 + 骑 = 骑射经过不同的同字格，能力叠加。\n刀×2 = 刀的总层数为 2。\n成型后也保留层数；主字不额外计层。先规划路线，再观察前线。",
      "status": "retain_current",
      "copy_kind": "exact_static_region",
      "channel": "desktop_static_region",
      "owner_states": [
        "F05"
      ],
      "trigger": "inspector",
      "reason": "",
      "source_refs": [
        "index.html:16"
      ],
      "note": "初始HTML原文；运行时变量以状态条目覆盖为准"
    },
    {
      "id": "C0380",
      "current": "城",
      "proposed": "城",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "battle_base",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "combat.js:713"
      ],
      "note": "城内字"
    },
    {
      "id": "C0381",
      "current": "我方",
      "proposed": "我方",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "battle_base",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "combat.js:714"
      ],
      "note": "友方城下身份"
    },
    {
      "id": "C0382",
      "current": "敌城",
      "proposed": "敌城",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "battle_base",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "combat.js:714"
      ],
      "note": "敌方城下身份"
    },
    {
      "id": "C0383",
      "current": "{Math.ceil(hp)}",
      "proposed": "{Math.ceil(hp)}",
      "status": "retain_current",
      "copy_kind": "rendered_template",
      "channel": "battle_base",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "combat.js:716"
      ],
      "note": "当前是剩余值，没有/max后缀"
    },
    {
      "id": "C0384",
      "current": "局内建造点",
      "proposed": "局内建造点",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "app.js:75"
      ],
      "note": "函数支持，但资源牌点击会直接领取，普通交互不会持续停留该说明"
    },
    {
      "id": "C0385",
      "current": "点击即可领取，不需要放进棋盘。",
      "proposed": "点击即可领取，不需要放进棋盘。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_selection",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "app.js:76"
      ],
      "note": "同上"
    },
    {
      "id": "C0386",
      "current": "开始后，边出兵边布阵",
      "proposed": "开始后，边出兵边布阵",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "ready_fallback",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "app.js:129"
      ],
      "note": "当前所有关卡都有goal，因此通常被关卡goal覆盖"
    },
    {
      "id": "C0387",
      "current": "把文字拖进棋盘",
      "proposed": "把文字拖进棋盘",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "screenreader_initial",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "index.html:14"
      ],
      "note": "sr-only；初始化后被app.js:71覆盖"
    },
    {
      "id": "C0388",
      "current": "补给到了",
      "proposed": "补给到了",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_placeholder",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "index.html:18"
      ],
      "note": "打开奖励弹窗前即被领取建造点/免费换一批覆盖"
    },
    {
      "id": "C0389",
      "current": "领取奖励",
      "proposed": "领取奖励",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "initial_html_placeholder",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "index.html:18"
      ],
      "note": "打开奖励弹窗前即被模拟观看按钮覆盖"
    },
    {
      "id": "C0390",
      "current": "暂无单位能出阵。",
      "proposed": "暂无单位能出阵。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_preview",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "app.js:70"
      ],
      "note": "第一行"
    },
    {
      "id": "C0391",
      "current": "检查开口与行进方向。",
      "proposed": "检查开口与行进方向。",
      "status": "retain_current",
      "copy_kind": "literal",
      "channel": "desktop_preview",
      "owner_states": [],
      "trigger": "",
      "reason": "",
      "source_refs": [
        "app.js:70"
      ],
      "note": "第二行"
    }
  ],
  "non_dialog_state_design_map": [
    {
      "state_id": "L01",
      "name": "倍速按钮：1× / 2×",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "同一按钮给1×常态与2×高亮态；保留用户可一眼识别的倍速值。",
      "copy_ids": [
        "C0122",
        "C0123",
        "C0124",
        "C0125"
      ],
      "source_refs": [
        "app.js:85",
        "app.js:122",
        "app.js:194",
        "style.css:162"
      ]
    },
    {
      "state_id": "L02",
      "name": "音效开/关",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "音符图标用状态色区别开关，提供触控态；不画独立设置面板。",
      "copy_ids": [
        "C0126"
      ],
      "source_refs": [
        "index.html:9",
        "app.js:206"
      ]
    },
    {
      "state_id": "L03",
      "name": "关卡按钮当前/完成",
      "boards": [
        "D05"
      ],
      "channel": "local_visual",
      "recommendation": "当前关与完成✓分开表达；全部可选，不画锁。",
      "copy_ids": [
        "C0127",
        "C0128",
        "C0129"
      ],
      "source_refs": [
        "app.js:37-39",
        "app.js:150"
      ]
    },
    {
      "state_id": "L04",
      "name": "教学推荐候选牌与落点",
      "boards": [
        "D02"
      ],
      "channel": "local_visual",
      "recommendation": "推荐贴角与落点柔性描边同一引导色；不占用新增提示按钮。",
      "copy_ids": [
        "C0130",
        "C0131"
      ],
      "source_refs": [
        "app.js:34-36",
        "app.js:42-52",
        "style.css:1"
      ]
    },
    {
      "state_id": "L05",
      "name": "普通候选卡",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "一套卡面覆盖六字、八朝向、1–5阶；完整封边与价格必须可读。",
      "copy_ids": [
        "C0132",
        "C0133",
        "C0134",
        "C0135",
        "C0136",
        "C0137",
        "C0138",
        "C0139"
      ],
      "source_refs": [
        "app.js:22-30",
        "app.js:47-52",
        "cards.js:18-59",
        "economy.js:1-19"
      ]
    },
    {
      "state_id": "L06",
      "name": "候选卡选中",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "选中牌强化边框，保持封边方向不被选中外框混淆。",
      "copy_ids": [
        "C0140",
        "C0141"
      ],
      "source_refs": [
        "app.js:52",
        "app.js:114",
        "app.js:187",
        "style.css:1"
      ]
    },
    {
      "state_id": "L07",
      "name": "候选卡资源不足",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "不足态降低牌面和价格对比，仍能读数字；观看角标不可一并隐去。",
      "copy_ids": [
        "C0142"
      ],
      "source_refs": [
        "app.js:52",
        "app.js:64",
        "style.css:1",
        "style.css:169"
      ]
    },
    {
      "state_id": "L08",
      "name": "已购牌在候选区",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "已购免费牌使用克制存放标签“已购 · 免费”；占原三槽，不扩成背包。",
      "copy_ids": [
        "C0143",
        "C0144"
      ],
      "source_refs": [
        "inventory.js:74-81",
        "app.js:51-52",
        "style.css:139-141"
      ]
    },
    {
      "state_id": "L09",
      "name": "候选空槽",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "空槽用轻虚线与＋，保留“换批补牌”动作说明。",
      "copy_ids": [
        "C0145",
        "C0146"
      ],
      "source_refs": [
        "inventory.js:78",
        "app.js:49",
        "style.css:142-143"
      ]
    },
    {
      "state_id": "L10",
      "name": "建造点奖励卡",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "金卡用统一建造点图标与+30，区别于普通字牌和视频补给。",
      "copy_ids": [
        "C0147",
        "C0148"
      ],
      "source_refs": [
        "cards.js:4",
        "app.js:28",
        "app.js:50-52",
        "app.js:99"
      ]
    },
    {
      "state_id": "L11",
      "name": "新分裂牌需观看",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "分裂卡播放标记避开四条开闭边；观看只是附加条件，不显示免费购买。",
      "copy_ids": [
        "C0149",
        "C0150"
      ],
      "source_refs": [
        "inventory.js:12-16",
        "inventory.js:79-91",
        "app.js:50-52",
        "app.js:97",
        "style.css:164-169"
      ]
    },
    {
      "state_id": "L12",
      "name": "分裂牌已观看待购买",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "已观看用✓替换播放标记，价格继续可见；不画获得新卡动画。",
      "copy_ids": [
        "C0151",
        "C0152"
      ],
      "source_refs": [
        "app.js:52",
        "app.js:97",
        "inventory.js:83-91",
        "style.css:167-168"
      ]
    },
    {
      "state_id": "L13",
      "name": "普通换批 / 广告换批 / 禁用",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "换批价格态、播放态、禁用态排成同一组件；不把3次奖励变成3次总换批。",
      "copy_ids": [
        "C0153",
        "C0154",
        "C0155"
      ],
      "source_refs": [
        "app.js:55-61",
        "app.js:195-205",
        "economy.js:1-19",
        "style.css:144-145"
      ]
    },
    {
      "state_id": "L14",
      "name": "补给入口可用/隐藏",
      "boards": [
        "D10"
      ],
      "channel": "local_visual",
      "recommendation": "补给图标与分裂牌共用播放符号，但按钮只在满足当前规则时出现。",
      "copy_ids": [
        "C0156",
        "C0157"
      ],
      "source_refs": [
        "app.js:62-63",
        "economy.js:39-60",
        "style.css:133-138"
      ]
    },
    {
      "state_id": "L15",
      "name": "自然收入计时",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "资源数为主，+5/倒计时为次；这是真实收入倒计时，与上方已用时区分。",
      "copy_ids": [
        "C0158",
        "C0159",
        "C0160"
      ],
      "source_refs": [
        "app.js:55-58",
        "app.js:145",
        "economy.js:1"
      ]
    },
    {
      "state_id": "L16",
      "name": "固定营地、障碍、出兵口",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "营房朝向至少示范上/右/下/左；石头是障碍，出兵口是固定地标。",
      "copy_ids": [
        "C0161",
        "C0162",
        "C0163",
        "C0164",
        "C0165",
        "C0166",
        "C0167"
      ],
      "source_refs": [
        "app.js:22-27",
        "app.js:83-84",
        "style.css:172-175"
      ]
    },
    {
      "state_id": "L17",
      "name": "棋盘牌选中",
      "boards": [
        "D11"
      ],
      "channel": "local_visual",
      "recommendation": "选中字牌描边不误读为新封边；不画旋转、分解、出售按钮。",
      "copy_ids": [
        "C0168",
        "C0169"
      ],
      "source_refs": [
        "app.js:44",
        "app.js:105",
        "app.js:114",
        "app.js:188",
        "style.css:1"
      ]
    },
    {
      "state_id": "L18",
      "name": "拖拽浮牌",
      "boards": [
        "D11"
      ],
      "channel": "local_visual",
      "recommendation": "浮牌保留主字、完整开闭边；缩放和阴影保持轻，不遮目标格。",
      "copy_ids": [
        "C0170"
      ],
      "source_refs": [
        "app.js:110-111",
        "index.html:23",
        "style.css:1"
      ]
    },
    {
      "state_id": "L19",
      "name": "有效/无效落点",
      "boards": [
        "D11"
      ],
      "channel": "local_visual",
      "recommendation": "有效/无效落点通过颜色和可达轮廓双重区别；满阶同脸拒绝也复用无效态。",
      "copy_ids": [],
      "source_refs": [
        "app.js:89",
        "app.js:111",
        "inventory.js:47-52",
        "style.css:1"
      ]
    },
    {
      "state_id": "L20",
      "name": "候选区临时丢弃态",
      "boards": [
        "D11"
      ],
      "channel": "local_visual",
      "recommendation": "仅拖入后覆盖原三候选区，设计文案“松开即可丢弃”；正常状态无条、无垃圾桶。",
      "copy_ids": [
        "C0171"
      ],
      "source_refs": [
        "app.js:109-119",
        "style.css:158-161",
        "inventory.js:121-127"
      ]
    },
    {
      "state_id": "L21",
      "name": "移动/交换/合并成功",
      "boards": [
        "D11"
      ],
      "channel": "local_visual",
      "recommendation": "交换、移动、合并用同一轻弹动与toast体系；合并额外标阶，不新开弹窗。",
      "copy_ids": [
        "C0172"
      ],
      "source_refs": [
        "inventory.js:57-105",
        "app.js:90-94",
        "rules.js:279-289"
      ]
    },
    {
      "state_id": "L22",
      "name": "棋盘路径与错误标记",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "路线用清晰浅虚线，错误点用小×/圈；不要让路线与封闭边竞争。",
      "copy_ids": [
        "C0173"
      ],
      "source_refs": [
        "app.js:42-45",
        "app.js:166-169",
        "style.css:1"
      ]
    },
    {
      "state_id": "L23",
      "name": "入口出阵反馈",
      "boards": [
        "D12"
      ],
      "channel": "local_visual",
      "recommendation": "入口短发光+“{主字} 入阵 ↑”，与棋盘失败toast分层，900ms后收起。",
      "copy_ids": [
        "C0174"
      ],
      "source_refs": [
        "app.js:142",
        "style.css:19-22",
        "style.css:126-128"
      ]
    },
    {
      "state_id": "L24",
      "name": "波次/增援",
      "boards": [
        "D01"
      ],
      "channel": "local_visual",
      "recommendation": "波次/下波倒计时使用紧凑局部条，当前无波时隐藏，不常驻空壳。",
      "copy_ids": [
        "C0175",
        "C0176",
        "C0177"
      ],
      "source_refs": [
        "app.js:147",
        "combat.js:467-474",
        "style.css:37-39"
      ]
    },
    {
      "state_id": "L25",
      "name": "单位：主字/附字/层数/聚合人数/血条",
      "boards": [
        "D01",
        "D12"
      ],
      "channel": "local_visual",
      "recommendation": "友军青绿#28796C、敌军赭红#B84C35；赵云主字金#A87826。行军与战场同套字级，附字与人数清楚分开。",
      "copy_ids": [
        "C0178",
        "C0179",
        "C0180",
        "C0181",
        "C0182",
        "C0183",
        "C0184",
        "C0185",
        "C0186",
        "C0187",
        "C0188"
      ],
      "source_refs": [
        "unitVisual.js:3-8",
        "unitVisual.js:28-43",
        "unitVisual.js:98-125",
        "rules.js:210-228",
        "combat.js:514-558",
        "combat.js:742-759"
      ]
    },
    {
      "state_id": "L26",
      "name": "命中、免疫、死亡、攻城",
      "boards": [
        "D12"
      ],
      "channel": "local_visual",
      "recommendation": "伤害/免疫贴住受击对象上方；城与单位短受击反馈复用，保持字本体清晰。",
      "copy_ids": [
        "C0189",
        "C0190",
        "C0191"
      ],
      "source_refs": [
        "combat.js:11-12",
        "combat.js:272-332",
        "combat.js:634-661"
      ]
    },
    {
      "state_id": "L27",
      "name": "即时胜利/失败演出",
      "boards": [
        "D12"
      ],
      "channel": "local_visual",
      "recommendation": "先表现门墙碎裂与“破城！”/“防线失守”，再出结算；用2–3关键帧合在演出板。",
      "copy_ids": [
        "C0192",
        "C0193",
        "C0194",
        "C0195",
        "C0196",
        "C0197"
      ],
      "source_refs": [
        "combat.js:307-308",
        "combat.js:663-716",
        "app.js:149-153",
        "style.css:153-155"
      ]
    },
    {
      "state_id": "L28",
      "name": "桌面产出预览有/无产出",
      "boards": [
        "D13"
      ],
      "channel": "local_visual",
      "recommendation": "桌面预览分有产出/无产出/英雄继承三种；不强加到移动端常驻空间。",
      "copy_ids": [
        "C0198",
        "C0199",
        "C0200",
        "C0201",
        "C0202",
        "C0203",
        "C0204",
        "C0205",
        "C0206",
        "C0207"
      ],
      "source_refs": [
        "index.html:16",
        "app.js:68-70",
        "style.css:177-179"
      ]
    },
    {
      "state_id": "L29",
      "name": "桌面选中说明",
      "boards": [
        "D13"
      ],
      "channel": "local_visual",
      "recommendation": "卡牌属性说明按短标题、方向、作用三段；复杂公式留在帮助，当前数值不改。",
      "copy_ids": [
        "C0208",
        "C0209",
        "C0210",
        "C0211",
        "C0212",
        "C0213",
        "C0214",
        "C0215",
        "C0216",
        "C0217",
        "C0218",
        "C0219",
        "C0220",
        "C0221",
        "C0222",
        "C0223"
      ],
      "source_refs": [
        "app.js:74-78"
      ]
    },
    {
      "state_id": "T01",
      "name": "摆放失败：分裂播放未解锁",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0224"
      ],
      "source_refs": [
        "app.js:91"
      ]
    },
    {
      "state_id": "T02",
      "name": "摆放失败：资源不足",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0225"
      ],
      "source_refs": [
        "app.js:91"
      ]
    },
    {
      "state_id": "T03",
      "name": "摆放失败：无效目标",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0226"
      ],
      "source_refs": [
        "app.js:91"
      ]
    },
    {
      "state_id": "T04",
      "name": "手牌满的保留文案",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0227"
      ],
      "source_refs": [
        "app.js:91",
        "inventory.js:107-119"
      ]
    },
    {
      "state_id": "T05",
      "name": "合并成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0228"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T06",
      "name": "交换成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0229"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T07",
      "name": "丢弃成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0230"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T08",
      "name": "移牌成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0231"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T09",
      "name": "已购牌放回成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0232"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T10",
      "name": "购买或未移动通用成功",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0233"
      ],
      "source_refs": [
        "app.js:93-94",
        "inventory.js:80",
        "inventory.js:97-104"
      ]
    },
    {
      "state_id": "T11",
      "name": "固定格提醒",
      "boards": [
        "D12"
      ],
      "channel": "board_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0234"
      ],
      "source_refs": [
        "app.js:105"
      ]
    },
    {
      "state_id": "T12",
      "name": "资源卡领取",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0235"
      ],
      "source_refs": [
        "app.js:99"
      ]
    },
    {
      "state_id": "T13",
      "name": "补给广告领取",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0236"
      ],
      "source_refs": [
        "app.js:202"
      ]
    },
    {
      "state_id": "T14",
      "name": "本关重开",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0237"
      ],
      "source_refs": [
        "app.js:194"
      ]
    },
    {
      "state_id": "T15",
      "name": "开始时路线受阻",
      "boards": [
        "D12"
      ],
      "channel": "board_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0238"
      ],
      "source_refs": [
        "app.js:134"
      ]
    },
    {
      "state_id": "T16",
      "name": "开始旁白",
      "boards": [
        "D12"
      ],
      "channel": "desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0239"
      ],
      "source_refs": [
        "app.js:134"
      ]
    },
    {
      "state_id": "T17",
      "name": "存档失败",
      "boards": [
        "D12"
      ],
      "channel": "global_toast",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0240"
      ],
      "source_refs": [
        "app.js:150"
      ]
    },
    {
      "state_id": "T18",
      "name": "行军增益浮字",
      "boards": [
        "D12"
      ],
      "channel": "board_float",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0241",
        "C0242",
        "C0243",
        "C0244"
      ],
      "source_refs": [
        "app.js:140",
        "app.js:175"
      ]
    },
    {
      "state_id": "T19",
      "name": "组合旁白",
      "boards": [
        "D12"
      ],
      "channel": "desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0245",
        "C0246",
        "C0247"
      ],
      "source_refs": [
        "app.js:140"
      ]
    },
    {
      "state_id": "T20",
      "name": "行军死亡/阻断标记",
      "boards": [
        "D12"
      ],
      "channel": "board_float",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0248",
        "C0249"
      ],
      "source_refs": [
        "app.js:143"
      ]
    },
    {
      "state_id": "T21",
      "name": "行军死亡/阻断原因",
      "boards": [
        "D12"
      ],
      "channel": "board_toast_and_desktop_live_feedback",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0250",
        "C0251",
        "C0252",
        "C0253",
        "C0254",
        "C0255",
        "C0256",
        "C0257"
      ],
      "source_refs": [
        "rules.js:103-127",
        "rules.js:173-178",
        "app.js:143"
      ]
    },
    {
      "state_id": "T22",
      "name": "提示持续时长",
      "boards": [
        "D12"
      ],
      "channel": "presentation_rule",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [],
      "source_refs": [
        "app.js:182-184"
      ]
    },
    {
      "state_id": "T23",
      "name": "鼠标悬停与无障碍文案",
      "boards": [
        "D12"
      ],
      "channel": "tooltip_or_screenreader",
      "recommendation": "复用全局/棋盘/浮字对应提示样式；原文及提案见copy_entries，不增加弹窗。",
      "copy_ids": [
        "C0258",
        "C0259",
        "C0260",
        "C0261",
        "C0262",
        "C0263",
        "C0264",
        "C0265",
        "C0266",
        "C0267",
        "C0268",
        "C0269",
        "C0270",
        "C0271",
        "C0272",
        "C0273"
      ],
      "source_refs": [
        "index.html:9-14",
        "app.js:58-63",
        "app.js:71",
        "app.js:122-132",
        "app.js:206"
      ]
    }
  ],
  "required_proposals": [
    {
      "current": "可丢弃",
      "proposed": "松开即可丢弃",
      "status": "design_proposal_not_implemented",
      "owner_state": "L20",
      "source_refs": [
        "style.css:160"
      ],
      "rule_invariants": [
        "只在棋盘字牌拖入三候选区时出现",
        "松手删除且不退款",
        "候选牌不被替换",
        "移出区域即取消该提示"
      ]
    },
    {
      "current": "模拟观看 · 领取60",
      "proposed": "观看领取60建造点",
      "status": "design_proposal_not_implemented",
      "owner_state": "M05",
      "source_refs": [
        "app.js:199"
      ],
      "rule_invariants": [
        "奖励60建造点",
        "补给两种奖励合计每关3次",
        "间隔40秒战斗时间",
        "取消不发奖"
      ],
      "prototype_disclosure": "原型机制演示说明保留，按钮短文案不代表已接真实广告。"
    },
    {
      "current": "模拟观看 · 换一批",
      "proposed": "观看换一批",
      "status": "design_proposal_not_implemented",
      "owner_state": "M06",
      "source_refs": [
        "app.js:199"
      ],
      "rule_invariants": [
        "刷新当前三张候选",
        "已购牌也会弃掉",
        "共享补给奖励次数和冷却"
      ],
      "prototype_disclosure": "同上；分裂牌播放是另一个即时解锁状态，不复用此弹窗。"
    }
  ],
  "implementation_differences": [
    {
      "id": "DIFF_TIMER",
      "priority": "must_label",
      "subject": "顶部已用时 vs 倒计时",
      "current_implementation": "time从0开始，运行时递增；battle-clock渲染formatTime(time)，开始为00:00；暂停停止，2×加速推进。",
      "user_art_direction": "此前用户要求顶部倒计时；图片示意02:36。",
      "design_status": "设计要求与实现不一致，不能声称当前demo已倒计时。",
      "copy_only_action": "可以在美术版保持时间数字的样式；交付注记必须标“倒计时为设计示意”。不把已用时数值直接改名剩余时间。",
      "implementation_needed_for_true_countdown": [
        "关卡总时长来源",
        "倒计时归零时的胜负/继续规则",
        "暂停与倍速下计时方式"
      ],
      "source_refs": [
        "app.js:85-86",
        "app.js:145-148",
        "combat.js:307-308"
      ]
    },
    {
      "id": "DIFF_CASTLE_HP",
      "subject": "城脚血条 vs 当前demo城上条",
      "current_implementation": "drawBase将血条画在城上方，数值为Math.ceil(hp)。",
      "user_art_direction": "此前用户确认大城下面放城血条，图中为1500/1500与1200/1200示意。",
      "design_status": "保留用户美术布局；当前数值和位置不是源码实机复刻。",
      "source_refs": [
        "combat.js:715-716"
      ]
    },
    {
      "id": "DIFF_AD_LABELS",
      "subject": "观看文案与模拟奖励",
      "current_implementation": "点击领取按钮即模拟观看完成，没有真实视频流程。",
      "user_art_direction": "用观看领取/观看换一批的展示措辞。",
      "design_status": "纯文案提案；本次不接入广告SDK，不新增视频中/失败/网络异常页面。",
      "source_refs": [
        "index.html:18",
        "app.js:197-205"
      ]
    }
  ],
  "excluded_internal_or_unbound_copy": [
    {
      "kind": "API validation errors",
      "examples": [
        "Inventory requires...",
        "Invalid economy setting...",
        "invalid_slot",
        "payment_failed",
        "duplicate",
        "limit",
        "cooldown"
      ],
      "reason": "未直接渲染，不应画成用户错误弹窗。"
    },
    {
      "kind": "unused route messages",
      "examples": [
        "进入外围通道…",
        "抵达左上出口，进入战场",
        "获得「字」",
        "组成…！主字确定",
        "本关缺少营地",
        "路线形成回路；重访不再分裂",
        "预览达到 512 步，请缩短回路"
      ],
      "reason": "成功事件改用app浮字；预览诊断只驱动标记或调试快照。"
    },
    {
      "kind": "unused styles or functions",
      "examples": [
        "hint-button",
        "preview-toggle",
        "mission",
        "route-summary",
        "mobile-chapters",
        "inventory.withdraw"
      ],
      "reason": "当前HTML/交互未绑定，不新增提示页、收回页或背包页。"
    }
  ],
  "checks": {
    "rules_changed": false,
    "demo_edited": false,
    "ppt_edited": false,
    "images_generated": false,
    "copy_record_count": 391,
    "non_dialog_state_mapping_count": 52
  }
}
