{
  "schemaVersion": 1,
  "title": "一字成兵 · 当前UI资源与美术制作交接",
  "updatedAt": "2026-10-30",
  "sourceVersion": "v66 / 0e255dcba7b6f1ddb48ddb5223aae5f589a111fd",
  "summary": {
    "assetCount": 127,
    "bySection": {
      "source-assets": 28,
      "runtime-derived": 71,
      "reference-atlases": 8,
      "supporting-files": 20
    },
    "sourcePngCount": 28,
    "productionRequirementCount": 349,
    "requirementsWithPrototypeReferences": 46,
    "completeProductionRequirementCount": 0
  },
  "categories": [
    {
      "id": "hub",
      "title": "主界面建筑拆件",
      "section": "source-assets",
      "description": "当前主城与通天塔独立透明原图"
    },
    {
      "id": "panels",
      "title": "纸张、按钮与面板原始拆件",
      "section": "source-assets",
      "description": "v25原始素材；部分已被运行时图集取样覆盖"
    },
    {
      "id": "battle",
      "title": "战斗、封边与特效原始拆件",
      "section": "source-assets",
      "description": "原型现有城楼、营地、外环与墨效；最新城楼需另行制作"
    },
    {
      "id": "obstacles",
      "title": "当前石块底板",
      "section": "source-assets",
      "description": "当前石块无字透明底板，文字独立渲染"
    },
    {
      "id": "icons",
      "title": "代码原生线性图标",
      "section": "runtime-derived",
      "description": "从当前SVG图形系统直接导出，保留路径"
    },
    {
      "id": "ranks",
      "title": "代码原生段位徽章",
      "section": "runtime-derived",
      "description": "当前SVG和字体样式的实际导出"
    },
    {
      "id": "glyphs",
      "title": "原图字形与按钮文字遮罩",
      "section": "runtime-derived",
      "description": "沿用当前运行时代码的透明白色遮罩"
    },
    {
      "id": "crops",
      "title": "运行时原图取样区域",
      "section": "runtime-derived",
      "description": "代码取样矩形；含烘焙内容，不能当成透明独立切图"
    },
    {
      "id": "atlases",
      "title": "原稿整图与运行时图集",
      "section": "reference-atlases",
      "description": "含多个UI元素的整图，仅作参考与运行时取样"
    },
    {
      "id": "fonts",
      "title": "字体与授权",
      "section": "supporting-files",
      "description": "原始字体、当前子集和SIL OFL许可"
    },
    {
      "id": "bindings",
      "title": "裁切参数与代码使用说明",
      "section": "supporting-files",
      "description": "原型资源接入元数据、来源和当前渲染代码"
    }
  ],
  "assets": [
    {
      "id": "v25-badge-recommend",
      "title": "推荐角标",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/badge-recommend.png",
      "width": 1881,
      "height": 836,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1518046,
      "sha256": "9dec393ededd218782ef1ab7eab030802678a8d82beb8cda029908077ba4ff69",
      "source": "prototype/public/ink-assets/v25/badge-recommend.png",
      "usage": "推荐角标",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 76,
          "height": 34
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 77,
          "y": 168,
          "width": 1725,
          "height": 477
        },
        "visibleBoundsAlpha16": {
          "x": 84,
          "y": 175,
          "width": 1711,
          "height": 463
        }
      }
    },
    {
      "id": "v25-badge-status",
      "title": "完成与当前状态底",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/badge-status.png",
      "width": 1774,
      "height": 887,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1468879,
      "sha256": "176096cbe98596c81a5c9cd604dfab872f3d70f87d37a30f5b5e598cda267973",
      "source": "prototype/public/ink-assets/v25/badge-status.png",
      "usage": "选关完成/当前徽章底",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 88,
          "height": 36
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 82,
          "y": 177,
          "width": 1610,
          "height": 530
        },
        "visibleBoundsAlpha16": {
          "x": 89,
          "y": 184,
          "width": 1596,
          "height": 516
        },
        "nineSlice": {
          "sourceInsets": [
            186,
            242,
            186,
            242
          ],
          "sourcePercentOfTrimmed": [
            35.094,
            15.031,
            35.094,
            15.031
          ],
          "displayInsets": [
            10,
            12,
            10,
            12
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-brush-section",
      "title": "选关刷痕条",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/brush-section.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1032428,
      "sha256": "a26aecb375e38d5849e1f5f00e867a2487f5aeb0f65909faf5d2f9a91c83a579",
      "source": "prototype/public/ink-assets/v25/brush-section.png",
      "usage": "选关刷痕条",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 280,
          "height": 56
        },
        "renderMode": "stretch-x",
        "sourceRect": {
          "x": 67,
          "y": 210,
          "width": 2037,
          "height": 312
        },
        "visibleBoundsAlpha16": {
          "x": 73,
          "y": 216,
          "width": 2025,
          "height": 300
        }
      }
    },
    {
      "id": "v25-button-primary",
      "title": "青绿主按钮",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/button-primary.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1712441,
      "sha256": "75abcd923f689e8162becc8f2772660aaf700b105e1f0a3ee70a8e11874abc05",
      "source": "prototype/public/ink-assets/v25/button-primary.png",
      "usage": "青绿主按钮",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 360,
          "height": 76
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 46,
          "y": 137,
          "width": 2080,
          "height": 446
        },
        "visibleBoundsAlpha16": {
          "x": 52,
          "y": 143,
          "width": 2068,
          "height": 434
        },
        "nineSlice": {
          "sourceInsets": [
            125,
            146,
            125,
            146
          ],
          "sourcePercentOfTrimmed": [
            28.027,
            7.019,
            28.027,
            7.019
          ],
          "displayInsets": [
            14,
            20,
            14,
            20
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-button-secondary",
      "title": "素纸次按钮",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/button-secondary.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1557254,
      "sha256": "47d7b1bef6463b275ee7d41e5885fe33fc673ca7c783f022bfbda322de6508cd",
      "source": "prototype/public/ink-assets/v25/button-secondary.png",
      "usage": "素纸次按钮",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 360,
          "height": 76
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 48,
          "y": 104,
          "width": 2076,
          "height": 511
        },
        "visibleBoundsAlpha16": {
          "x": 54,
          "y": 110,
          "width": 2064,
          "height": 499
        },
        "nineSlice": {
          "sourceInsets": [
            143,
            145,
            143,
            145
          ],
          "sourcePercentOfTrimmed": [
            27.984,
            6.985,
            27.984,
            6.985
          ],
          "displayInsets": [
            14,
            20,
            14,
            20
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-button-start",
      "title": "开始本关按钮",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/button-start.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1869448,
      "sha256": "fa600014ac824e5214c21cb0ca6816d4375f2f7ba6ad39ea264024df54fa29f0",
      "source": "prototype/public/ink-assets/v25/button-start.png",
      "usage": "金边开始按钮",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 360,
          "height": 88
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 60,
          "y": 99,
          "width": 2052,
          "height": 530
        },
        "visibleBoundsAlpha16": {
          "x": 66,
          "y": 105,
          "width": 2040,
          "height": 518
        },
        "nineSlice": {
          "sourceInsets": [
            148,
            267,
            148,
            267
          ],
          "sourcePercentOfTrimmed": [
            27.925,
            13.012,
            27.925,
            13.012
          ],
          "displayInsets": [
            17,
            28,
            17,
            28
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-camp",
      "title": "营地空白建筑底",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/camp.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1684862,
      "sha256": "e20c1712e1ead14707396bfd9f06d55326c6ad914bb3a2c707334fb8336e3f52",
      "source": "prototype/public/ink-assets/v25/camp.png",
      "usage": "营地空白建筑底",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 76,
          "height": 76
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 26,
          "y": 50,
          "width": 1201,
          "height": 1118
        },
        "visibleBoundsAlpha16": {
          "x": 36,
          "y": 60,
          "width": 1181,
          "height": 1098
        }
      }
    },
    {
      "id": "v25-card-paper",
      "title": "字牌纸底",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/card-paper.png",
      "width": 1166,
      "height": 1349,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1900727,
      "sha256": "83d6572f44aafa87dd795705d31254f031088190bfd338ddc6c053b13985b3b4",
      "source": "prototype/public/ink-assets/v25/card-paper.png",
      "usage": "字牌纸底",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 128,
          "height": 148
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 60,
          "y": 47,
          "width": 1047,
          "height": 1254
        },
        "visibleBoundsAlpha16": {
          "x": 69,
          "y": 56,
          "width": 1029,
          "height": 1236
        },
        "nineSlice": {
          "sourceInsets": [
            138,
            136,
            138,
            136
          ],
          "sourcePercentOfTrimmed": [
            11.005,
            12.989,
            11.005,
            12.989
          ],
          "displayInsets": [
            16,
            16,
            16,
            16
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-castle-ally",
      "title": "早期我方城楼",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/castle-ally.png",
      "width": 1086,
      "height": 1448,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1434502,
      "sha256": "d9bf557d3e3821d275e46006dbfa80ad368e1b2a8afb1d09971da29093156467",
      "source": "prototype/public/ink-assets/v25/castle-ally.png",
      "usage": "我方城池",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 此为旧正侧视城楼，与2026-10-30已确认斜俯视城楼不同，需按最新效果重制独立透明切图。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 148,
          "height": 126
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 7,
          "y": 273,
          "width": 1070,
          "height": 881
        },
        "visibleBoundsAlpha16": {
          "x": 16,
          "y": 282,
          "width": 1052,
          "height": 863
        }
      }
    },
    {
      "id": "v25-castle-enemy",
      "title": "早期敌方城楼",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/castle-enemy.png",
      "width": 1086,
      "height": 1448,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1757950,
      "sha256": "7e4f9b2e80cdf235ef55b9ec9009db18a36cd000f451d40e6efe44772f916515",
      "source": "prototype/public/ink-assets/v25/castle-enemy.png",
      "usage": "敌方城池",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 此为旧正侧视城楼，与2026-10-30已确认斜俯视城楼不同，需按最新效果重制独立透明切图。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 124,
          "height": 136
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 23,
          "y": 161,
          "width": 1059,
          "height": 1160
        },
        "visibleBoundsAlpha16": {
          "x": 32,
          "y": 170,
          "width": 1041,
          "height": 1142
        }
      }
    },
    {
      "id": "v25-coin",
      "title": "建造点钱币",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/coin.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1225304,
      "sha256": "017e11c1a1308c9581c30acbc1d9c876ff1e1ffded662937e097d6dd59016614",
      "source": "prototype/public/ink-assets/v25/coin.png",
      "usage": "建造点钱币",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 48,
          "height": 48
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 130,
          "y": 132,
          "width": 994,
          "height": 990
        },
        "visibleBoundsAlpha16": {
          "x": 140,
          "y": 142,
          "width": 974,
          "height": 970
        }
      }
    },
    {
      "id": "v25-control-round",
      "title": "圆形控制钮",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/control-round.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1874493,
      "sha256": "a790a23cd1c061a4a381fb3e9f2f4d050c960c5b83f6a52eedbb149bc5e87810",
      "source": "prototype/public/ink-assets/v25/control-round.png",
      "usage": "圆形控制钮",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 64,
          "height": 64
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 27,
          "y": 33,
          "width": 1201,
          "height": 1188
        },
        "visibleBoundsAlpha16": {
          "x": 37,
          "y": 43,
          "width": 1181,
          "height": 1168
        }
      }
    },
    {
      "id": "v25-discard-highlight",
      "title": "丢牌高亮",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/discard-highlight.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1726091,
      "sha256": "9b256afbf06a797bf4615528d15492b382d940c1935258cbe3bee02e2086b00e",
      "source": "prototype/public/ink-assets/v25/discard-highlight.png",
      "usage": "丢牌区域高亮",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 420,
          "height": 140
        },
        "renderMode": "nine-slice-overlay",
        "sourceRect": {
          "x": 52,
          "y": 84,
          "width": 2070,
          "height": 547
        },
        "visibleBoundsAlpha16": {
          "x": 58,
          "y": 90,
          "width": 2058,
          "height": 535
        },
        "nineSlice": {
          "sourceInsets": [
            98,
            104,
            98,
            104
          ],
          "sourcePercentOfTrimmed": [
            17.916,
            5.024,
            17.916,
            5.024
          ],
          "displayInsets": [
            18,
            20,
            18,
            20
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-exit-ring",
      "title": "出兵口圈",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/exit-ring.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2002409,
      "sha256": "800d7eefdc580eda146e62375ad82ed519dd66510a391d489a6883c02f006e40",
      "source": "prototype/public/ink-assets/v25/exit-ring.png",
      "usage": "出兵口圈",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 80,
          "height": 80
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 27,
          "y": 40,
          "width": 1205,
          "height": 1171
        },
        "visibleBoundsAlpha16": {
          "x": 37,
          "y": 50,
          "width": 1185,
          "height": 1151
        }
      }
    },
    {
      "id": "v25-fx-arrival",
      "title": "入阵扩散圈",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/fx-arrival.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1360385,
      "sha256": "118f65c1ed65fe5de79b6e320a4773a58b723966fb46b418642bc6dc11b5f354",
      "source": "prototype/public/ink-assets/v25/fx-arrival.png",
      "usage": "入阵扩散圈",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 100,
          "height": 100
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 76,
          "y": 89,
          "width": 1085,
          "height": 1059
        },
        "visibleBoundsAlpha16": {
          "x": 86,
          "y": 99,
          "width": 1065,
          "height": 1039
        }
      }
    },
    {
      "id": "v25-fx-hit",
      "title": "受击墨痕",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/fx-hit.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 673995,
      "sha256": "da91a476157b06410cb1a7d1bd116c1a12cba68f0c28abe8aa0267e494d47b43",
      "source": "prototype/public/ink-assets/v25/fx-hit.png",
      "usage": "受击墨痕",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 96,
          "height": 96
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 210,
          "y": 70,
          "width": 914,
          "height": 967
        },
        "visibleBoundsAlpha16": {
          "x": 220,
          "y": 80,
          "width": 894,
          "height": 947
        }
      }
    },
    {
      "id": "v25-fx-immune",
      "title": "免疫金光",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/fx-immune.png",
      "width": 1402,
      "height": 1122,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 385984,
      "sha256": "a263400fc0661c4ca0035275b962dc8951144088f48294959cc7e24e3443e573",
      "source": "prototype/public/ink-assets/v25/fx-immune.png",
      "usage": "免疫金光",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 120,
          "height": 96
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 36,
          "y": 133,
          "width": 1342,
          "height": 756
        },
        "visibleBoundsAlpha16": {
          "x": 45,
          "y": 142,
          "width": 1324,
          "height": 738
        }
      }
    },
    {
      "id": "v25-ink-stroke",
      "title": "毛笔封边笔触",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/ink-stroke.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 484464,
      "sha256": "90e4112c1032a5f18a69ed4905d8fc08220134561157acd48a619c8719f17a72",
      "source": "prototype/public/ink-assets/v25/ink-stroke.png",
      "usage": "字牌和格子毛笔封边",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 96,
          "height": 8
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 71,
          "y": 270,
          "width": 2031,
          "height": 180
        },
        "visibleBoundsAlpha16": {
          "x": 77,
          "y": 276,
          "width": 2019,
          "height": 168
        }
      }
    },
    {
      "id": "v25-modal-paper",
      "title": "弹窗纸张",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/modal-paper.png",
      "width": 1122,
      "height": 1402,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2117605,
      "sha256": "6c1faa4c459c84a2d64aae4b56eb242fdd14cfd1b01608f3c05f64f5e3bd7371",
      "source": "prototype/public/ink-assets/v25/modal-paper.png",
      "usage": "弹窗纸张/九宫格",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 560,
          "height": 760
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 23,
          "y": 28,
          "width": 1077,
          "height": 1347
        },
        "visibleBoundsAlpha16": {
          "x": 32,
          "y": 37,
          "width": 1059,
          "height": 1329
        },
        "nineSlice": {
          "sourceInsets": [
            88,
            97,
            88,
            97
          ],
          "sourcePercentOfTrimmed": [
            6.533,
            9.006,
            6.533,
            9.006
          ],
          "displayInsets": [
            24,
            24,
            24,
            24
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-obstacle-stone",
      "title": "早期障碍石格",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/obstacle-stone.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1067190,
      "sha256": "c2c91592d5464c5e0048881db58095c7743994ec8c08d5322be8ac51b8af4be7",
      "source": "prototype/public/ink-assets/v25/obstacle-stone.png",
      "usage": "障碍浅灰石格",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 历史底板，当前改用stone-background-v54并独立绘制“石”字。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 72,
          "height": 72
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 173,
          "y": 235,
          "width": 919,
          "height": 778
        },
        "visibleBoundsAlpha16": {
          "x": 183,
          "y": 245,
          "width": 899,
          "height": 758
        }
      }
    },
    {
      "id": "v25-paper-texture",
      "title": "宣纸底纹",
      "category": "panels",
      "section": "source-assets",
      "kind": "opaque-texture",
      "file": "original/v25/paper-texture.png",
      "width": 1254,
      "height": 1254,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 2170239,
      "sha256": "7f623ee1d5dd6ab6608f7455f274134284004f47c3667a95fb7b79c1e0ef3e88",
      "source": "prototype/public/ink-assets/v25/paper-texture.png",
      "usage": "宣纸底纹",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 512,
          "height": 512
        },
        "renderMode": "repeat",
        "sourceRect": {
          "x": 0,
          "y": 0,
          "width": 1254,
          "height": 1254
        },
        "visibleBoundsAlpha16": {
          "x": 0,
          "y": 0,
          "width": 1254,
          "height": 1254
        }
      }
    },
    {
      "id": "v25-ring-gravel",
      "title": "外围出兵环",
      "category": "battle",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/ring-gravel.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 807762,
      "sha256": "6d6a43af681a2723d888a6b9f3563be2f1cf74f37938d43b5d7f34571448a917",
      "source": "prototype/public/ink-assets/v25/ring-gravel.png",
      "usage": "外环碎石纹",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。 当前显示存在原稿取样或CSS覆盖，不能直接以此推断最终画面。",
      "status": "existing-original",
      "currentUse": "overridden",
      "renderMetadata": {
        "logicalSize": {
          "width": 640,
          "height": 640
        },
        "renderMode": "square-ring",
        "sourceRect": {
          "x": 61,
          "y": 79,
          "width": 1134,
          "height": 1094
        },
        "visibleBoundsAlpha16": {
          "x": 71,
          "y": 89,
          "width": 1114,
          "height": 1074
        }
      }
    },
    {
      "id": "v25-seal-vermilion",
      "title": "胜败印章底",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/seal-vermilion.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2444064,
      "sha256": "76cad36a39f5b6e030434068d45c0c75d4c99409732f0b24041eee60e9fb7fbd",
      "source": "prototype/public/ink-assets/v25/seal-vermilion.png",
      "usage": "胜/败/终章共用印章底",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 112,
          "height": 112
        },
        "renderMode": "contain",
        "sourceRect": {
          "x": 91,
          "y": 95,
          "width": 1074,
          "height": 1064
        },
        "visibleBoundsAlpha16": {
          "x": 101,
          "y": 105,
          "width": 1054,
          "height": 1044
        }
      }
    },
    {
      "id": "v25-toast-paper",
      "title": "轻提示纸条",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/toast-paper.png",
      "width": 2172,
      "height": 724,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1223683,
      "sha256": "47acbcc5f62189b0aba97e7332dc36f39c7942745023cd059573c3267333e934",
      "source": "prototype/public/ink-assets/v25/toast-paper.png",
      "usage": "轻提示纸条",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 360,
          "height": 64
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 29,
          "y": 164,
          "width": 2115,
          "height": 397
        },
        "visibleBoundsAlpha16": {
          "x": 35,
          "y": 170,
          "width": 2103,
          "height": 385
        },
        "nineSlice": {
          "sourceInsets": [
            87,
            95,
            87,
            95
          ],
          "sourcePercentOfTrimmed": [
            21.914,
            4.492,
            21.914,
            4.492
          ],
          "displayInsets": [
            12,
            16,
            12,
            16
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "v25-video-frame",
      "title": "奖励视频边框",
      "category": "panels",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/v25/video-frame.png",
      "width": 1774,
      "height": 887,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1721707,
      "sha256": "d278ea6e0754417c46ee458288a379b2ba7059357c77018d3862d444d2710720",
      "source": "prototype/public/ink-assets/v25/video-frame.png",
      "usage": "奖励视频框",
      "notes": "原始像素与透明边距保持不变。逻辑尺寸、sourceRect和九宫格参数见配套元数据。",
      "status": "existing-original",
      "currentUse": "source-present",
      "renderMetadata": {
        "logicalSize": {
          "width": 360,
          "height": 180
        },
        "renderMode": "nine-slice",
        "sourceRect": {
          "x": 47,
          "y": 119,
          "width": 1682,
          "height": 647
        },
        "visibleBoundsAlpha16": {
          "x": 54,
          "y": 126,
          "width": 1668,
          "height": 633
        },
        "nineSlice": {
          "sourceInsets": [
            91,
            93,
            91,
            93
          ],
          "sourcePercentOfTrimmed": [
            14.065,
            5.529,
            14.065,
            5.529
          ],
          "displayInsets": [
            16,
            16,
            16,
            16
          ],
          "order": "top,right,bottom,left",
          "coordinateSpace": "relative to sourceRect, not full PNG",
          "center": "stretch"
        }
      }
    },
    {
      "id": "hub-city",
      "title": "主城建筑",
      "category": "hub",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/hub/city.png",
      "width": 1366,
      "height": 1152,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1642294,
      "sha256": "d9493895ee4e1589103561071871d3e2aacb470891b87068f964b7fc3998fc60",
      "source": "prototype/public/ink-hub-assets/city.png",
      "usage": "主界面外围建筑",
      "notes": "与已确认外围融合参考中的建筑拆件同源；原始透明像素完整保留。",
      "status": "existing-original",
      "currentUse": "active"
    },
    {
      "id": "hub-tower",
      "title": "通天塔建筑",
      "category": "hub",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/hub/tower.png",
      "width": 1241,
      "height": 1268,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1087819,
      "sha256": "16d767f16ccf65a442228a685e1c19cbc435132af3784426c99ce870664165de",
      "source": "prototype/public/ink-hub-assets/tower.png",
      "usage": "主界面外围建筑",
      "notes": "与已确认外围融合参考中的建筑拆件同源；原始透明像素完整保留。",
      "status": "existing-original",
      "currentUse": "active"
    },
    {
      "id": "stone-background-v54",
      "title": "当前石块无字底板",
      "category": "obstacles",
      "section": "source-assets",
      "kind": "transparent-png",
      "file": "original/obstacles/stone-background-v54.png",
      "width": 1254,
      "height": 1254,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2509063,
      "sha256": "c8a18fa10aa3234786da7b40c1aea29d6b08a2a6731495de949110c7dc9d9493",
      "source": "prototype/public/ink-assets/reference/stone-background-v54.png",
      "usage": "当前固定障碍底板",
      "notes": "不含“石”主字和“固定”小字；主字由运行时代码使用glyph-shi遮罩居中叠加。",
      "status": "existing-original",
      "currentUse": "active"
    },
    {
      "id": "atlas-battle",
      "title": "战斗整图图集",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/battle.png",
      "width": 948,
      "height": 1660,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1998559,
      "sha256": "ae64ad3c2e8f5cdc4af5c7c7276b09530eb13280b9f388ed0d7cf0daa09e8fcb",
      "source": "prototype/public/ink-assets/reference/battle.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "reference-only"
    },
    {
      "id": "atlas-feedback",
      "title": "战斗与文字反馈图集",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/feedback.png",
      "width": 1536,
      "height": 1024,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1823817,
      "sha256": "c45c65765a98955836f8182fe06fd78c7eb40c75f3ae4a1a62b18803e91e87e1",
      "source": "prototype/public/ink-assets/reference/feedback.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "atlas-letters",
      "title": "文字说明整图图集",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/letters.png",
      "width": 948,
      "height": 1660,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1998701,
      "sha256": "f229b36f874702c5e15210499948093fe829b69425bfe9ec6ae5affb6c9c03c0",
      "source": "prototype/public/ink-assets/reference/letters.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "atlas-pause",
      "title": "暂停整图",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/pause.png",
      "width": 948,
      "height": 1659,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1869898,
      "sha256": "0da9dca1d1706f78be2512440c96ca733d2005cbd68bfc547287ffedb1a1d938",
      "source": "prototype/public/ink-assets/reference/pause.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "atlas-ready",
      "title": "战前布阵整图",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/ready.png",
      "width": 948,
      "height": 1659,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1955128,
      "sha256": "2306c41571124b184912083732eb199cd4958fefd2e804386b3b6bbbdf1a9993",
      "source": "prototype/public/ink-assets/reference/ready.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "atlas-states",
      "title": "字牌与布阵原图图集",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/states.png",
      "width": 1716,
      "height": 1184,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 2356527,
      "sha256": "c409855de86dcc937a4b66cadb01e477c1595e36c1f4e7934b0a30ac53793a6c",
      "source": "prototype/public/ink-assets/reference/states.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "atlas-stone-without-caption",
      "title": "早期石牌移除说明文字参考",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/stone-without-caption.png",
      "width": 1510,
      "height": 1041,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1780937,
      "sha256": "a64322ea68a3983fd4c4c4c5d16c491935964fb3e12d4f80f7fe2febfbab85d9",
      "source": "prototype/public/ink-assets/reference/stone-without-caption.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "reference-only"
    },
    {
      "id": "atlas-victory",
      "title": "胜利整图",
      "category": "atlases",
      "section": "reference-atlases",
      "kind": "opaque-atlas",
      "file": "atlases/victory.png",
      "width": 948,
      "height": 1660,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 1961575,
      "sha256": "a888e2a5526f36ddb08dae82a0fa21bf5287edd5debbd588fe14b220583c82dd",
      "source": "prototype/public/ink-assets/reference/victory.png",
      "usage": "运行时取样源／历史美术比对",
      "notes": "完整原图，包含示例文字、血条或多状态；不是独立透明切图。早期文案和玩法信息不覆盖当前需求。",
      "status": "reference-only",
      "currentUse": "active"
    },
    {
      "id": "font-peripheralbrush",
      "title": "外围界面书法字子集",
      "category": "fonts",
      "section": "supporting-files",
      "kind": "font",
      "file": "fonts/PeripheralBrush.woff2",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 230244,
      "sha256": "d2f16694ecbe0b10e954f2c8cfed308f8a990cdeb3aa5d7d3bd896848e532180",
      "source": "prototype/public/ink-hub-assets/PeripheralBrush.woff2",
      "usage": "字形与布局复现",
      "notes": "遵循随包SIL OFL 1.1；子集并非覆盖全部汉字。正文阅读字体目前依赖系统字体，尚无独立正式字库。",
      "status": "existing-original",
      "currentUse": "active"
    },
    {
      "id": "font-yizibrush",
      "title": "战斗书法字子集",
      "category": "fonts",
      "section": "supporting-files",
      "kind": "font",
      "file": "fonts/YiZiBrush.woff2",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 324616,
      "sha256": "641208b4af35c44dfdaa555389f2d3f4f41424fc1ddd3ee25c5b7ae75886e4c3",
      "source": "prototype/public/ink-assets/v25/fonts/YiZiBrush.woff2",
      "usage": "字形与布局复现",
      "notes": "遵循随包SIL OFL 1.1；子集并非覆盖全部汉字。正文阅读字体目前依赖系统字体，尚无独立正式字库。",
      "status": "existing-original",
      "currentUse": "active"
    },
    {
      "id": "font-mashanzheng-regular",
      "title": "马善政书法字体原始完整版",
      "category": "fonts",
      "section": "supporting-files",
      "kind": "font",
      "file": "fonts/MaShanZheng-Regular.ttf",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 5857936,
      "sha256": "6d2546bb189c732a8ca29af9e22457b152387d158aa459e4ac2ce1e51788b7fb",
      "source": "prototype/public/ink-assets/v25/fonts/MaShanZheng-Regular.ttf",
      "usage": "字形与布局复现",
      "notes": "遵循随包SIL OFL 1.1；子集并非覆盖全部汉字。正文阅读字体目前依赖系统字体，尚无独立正式字库。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-ofl-txt",
      "title": "马善政字体授权",
      "category": "fonts",
      "section": "supporting-files",
      "kind": "text",
      "file": "support/OFL.txt",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 4397,
      "sha256": "d7bdb1cee215b689e23c2f95672a6084c790542170648267a55114103d756a08",
      "source": "prototype/public/ink-assets/v25/fonts/OFL.txt",
      "usage": "授权、来源与接入核对",
      "notes": "原项目已有说明文件，内容保留。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-font-source-txt",
      "title": "字体来源说明",
      "category": "fonts",
      "section": "supporting-files",
      "kind": "text",
      "file": "support/FONT-SOURCE.txt",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 703,
      "sha256": "004305d377c3c5a45463b078e65112e99baec3168ad8f72d147fc839cd825589",
      "source": "prototype/public/ink-assets/v25/fonts/SOURCE.txt",
      "usage": "授权、来源与接入核对",
      "notes": "原项目已有说明文件，内容保留。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-hub-source-txt",
      "title": "外围建筑与字体来源说明",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "text",
      "file": "support/HUB-SOURCE.txt",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 454,
      "sha256": "549512161cc62213686931bc4d75f3a0ce8e6c541ca2af3e5fa54ff8fc8021e9",
      "source": "prototype/public/ink-hub-assets/SOURCE.txt",
      "usage": "授权、来源与接入核对",
      "notes": "原项目已有说明文件，内容保留。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-stone-source-txt",
      "title": "当前石板来源说明",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "text",
      "file": "support/STONE-SOURCE.txt",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 686,
      "sha256": "7b8f3b941b80e938a5525c1e3f0706f71eac19272254b428eba301276da67ad8",
      "source": "prototype/public/ink-assets/reference/stone-background-v54.txt",
      "usage": "授权、来源与接入核对",
      "notes": "原项目已有说明文件，内容保留。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-v25-integration-txt",
      "title": "v25原始素材接入说明",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "text",
      "file": "support/V25-INTEGRATION.txt",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 4888,
      "sha256": "9097e7bd7fda05183d1f384a3ceb8a80188387aad155bb14f8dc466c5aae5fd3",
      "source": "prototype/public/ink-assets/v25/INTEGRATION.txt",
      "usage": "授权、来源与接入核对",
      "notes": "原项目已有说明文件，内容保留。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "support-v25-metadata",
      "title": "原始切片与九宫格参数",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "metadata",
      "file": "support/v25-metadata.json",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 28937,
      "sha256": "176eab3266732616401e0e102409df2c8acd014c5b6e4328200ce5607dcd1b4c",
      "source": "prototype/public/ink-assets/v25/manifest.json",
      "usage": "素材尺寸、透明边界、取样与九宫格参数",
      "notes": "元数据值保留；绝对本地路径转为项目相对路径。",
      "status": "existing-original",
      "currentUse": "source-present"
    },
    {
      "id": "binding-inkReference-js",
      "title": "运行时接入代码 · inkReference.js",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/inkReference.js",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 4100,
      "sha256": "0016fa6dd2e656f5475f9a9c893140ae8f55ffb760922e2110497e8b584b98d0",
      "source": "prototype/public/inkReference.js",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-skins-js",
      "title": "运行时接入代码 · ink-skins.js",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-skins.js",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 10494,
      "sha256": "f786850ffc84bac055a7dad75bfecdb21dfbae044f4e656579c4068f2d9fe304",
      "source": "prototype/public/ink-skins.js",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-inkRender-js",
      "title": "运行时接入代码 · inkRender.js",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/inkRender.js",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 11134,
      "sha256": "14400c01e894f902e8e7f46dc1462008e8b3009013819925a3f1837fc71a029e",
      "source": "prototype/public/inkRender.js",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-unitVisual-js",
      "title": "运行时接入代码 · unitVisual.js",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/unitVisual.js",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 8653,
      "sha256": "770d6b2fa996e70821d1ae5a8c4b170ab5059392ab12618a4a22afcc7db40d83",
      "source": "prototype/public/unitVisual.js",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-hub-js",
      "title": "运行时接入代码 · ink-hub.js",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-hub.js",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 66107,
      "sha256": "bdc593ce03ef5b774f7c24598ae27a8d1e4ce373b6522282104ccaf4281b5459",
      "source": "prototype/public/ink-hub.js",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-hub-css",
      "title": "运行时接入代码 · ink-hub.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-hub.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 26090,
      "sha256": "887d7460fadde804e5d6e069de7b83675c943be0f8e7e5bcf708194536f340ff",
      "source": "prototype/public/ink-hub.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-hub-css",
      "title": "运行时接入代码 · hub.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/hub.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 34207,
      "sha256": "1b6400dcf68f6855ed76ff89746594b1ef6788cf5e9ecf0b5af9e3fef253d195",
      "source": "prototype/public/hub.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-css",
      "title": "运行时接入代码 · ink.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 28118,
      "sha256": "e6fb7da0cb39a6c980a260d49f420ee518ed1d5c56273decff04d7a7259678c8",
      "source": "prototype/public/ink.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-art-css",
      "title": "运行时接入代码 · ink-art.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-art.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 39939,
      "sha256": "ab88b09bb33a6edf9c5dcd41a4833b06b9e3b7a4e0f800b39d9d5539e33a88a0",
      "source": "prototype/public/ink-art.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-review-css",
      "title": "运行时接入代码 · ink-review.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-review.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 9966,
      "sha256": "d118489054dbd2b4aff307e2555670e1de1e937e1fc3ac1428425107cbc072f0",
      "source": "prototype/public/ink-review.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "binding-ink-fidelity-css",
      "title": "运行时接入代码 · ink-fidelity.css",
      "category": "bindings",
      "section": "supporting-files",
      "kind": "source-code",
      "file": "support/runtime-code/ink-fidelity.css",
      "width": null,
      "height": null,
      "alpha": null,
      "alphaRange": null,
      "mode": null,
      "bytes": 15023,
      "sha256": "f5b227c5d7593e26172889a845e4179ecee577ae18eaa0ab96a768916b5c684d",
      "source": "prototype/public/ink-fidelity.css",
      "usage": "查看实际字形、颜色、控件、血条和图集覆盖逻辑",
      "notes": "当前网页实现的只读参考，不是Unity Prefab或可编辑美术源稿。",
      "status": "existing-original",
      "currentUse": "code-derived"
    },
    {
      "id": "crop-start",
      "title": "运行时取样 · start",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/start.png",
      "width": 496,
      "height": 148,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 105762,
      "sha256": "510ea3eba459f440693deb11a442e16e1947c67b51b202269f26de34e27096eb",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        229,
        718,
        496,
        148
      ],
      "nineSliceInsets": [
        28,
        35,
        26,
        35
      ],
      "sourceAtlas": "atlases/ready.png"
    },
    {
      "id": "crop-primary",
      "title": "运行时取样 · primary",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/primary.png",
      "width": 600,
      "height": 108,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 104675,
      "sha256": "d7ffeeac4674e649e1f333e6cb74507af4ae9a38bfcd60ab4f2ce13196f75c40",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        175,
        788,
        600,
        108
      ],
      "nineSliceInsets": [
        16,
        20,
        16,
        20
      ],
      "sourceAtlas": "atlases/pause.png"
    },
    {
      "id": "crop-secondary",
      "title": "运行时取样 · secondary",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/secondary.png",
      "width": 599,
      "height": 110,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 80708,
      "sha256": "dd2c4e64cb0b67a5f674bbdeda365ada73c28de57d6fdf5ea6654de57b0f210d",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        176,
        916,
        599,
        110
      ],
      "nineSliceInsets": [
        18,
        23,
        18,
        23
      ],
      "sourceAtlas": "atlases/pause.png"
    },
    {
      "id": "crop-card",
      "title": "运行时取样 · card",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/card.png",
      "width": 203,
      "height": 214,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 53837,
      "sha256": "197f61cb4737e10777ebbefca41f21aa41698ff04bcfeff86577e890ad0454b1",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        87,
        229,
        203,
        214
      ],
      "nineSliceInsets": [
        15,
        15,
        15,
        15
      ],
      "sourceAtlas": "atlases/states.png"
    },
    {
      "id": "crop-gold-card",
      "title": "运行时取样 · gold-card",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/gold-card.png",
      "width": 216,
      "height": 223,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 63759,
      "sha256": "6bc751c6dd80b7652db2348eef07fca1d7d663b24c0e50577568c7896bdc154d",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        81,
        566,
        216,
        223
      ],
      "nineSliceInsets": [
        21,
        21,
        21,
        21
      ],
      "sourceAtlas": "atlases/states.png"
    },
    {
      "id": "crop-ring",
      "title": "运行时取样 · ring",
      "category": "crops",
      "section": "runtime-derived",
      "kind": "runtime-atlas-crop",
      "file": "derived/atlas-crops/ring.png",
      "width": 910,
      "height": 903,
      "alpha": false,
      "alphaRange": null,
      "mode": "RGB",
      "bytes": 960718,
      "sha256": "afdc824b0a35a122fe013c8b8730590e045fece35677718fd2eed2ae25d96ddd",
      "source": "prototype/public/ink-skins.js",
      "usage": "当前原图覆盖的取样矩形",
      "notes": "仅按代码矩形导出；包含烘焙示例字样或格子。实际程序会替换中心或跳过中心，不是可直接交付的透明空白底图。",
      "status": "runtime-export",
      "currentUse": "code-derived",
      "sourceRect": [
        20,
        454,
        910,
        903
      ],
      "nineSliceInsets": [
        73,
        60,
        59,
        58
      ],
      "sourceAtlas": "atlases/ready.png"
    },
    {
      "id": "glyph-dao",
      "title": "刀 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/dao.png",
      "width": 84,
      "height": 74,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2359,
      "sha256": "0c69442a3cc17268be717fb8e6d74cbd76877d7b91a63a7f424b7336b2239b63",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",144,268,96,87]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-dun",
      "title": "盾 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/dun.png",
      "width": 84,
      "height": 89,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3317,
      "sha256": "24ba8b0ac0ac9ff1ffb52deaafd15620763212ef2de255be06a44ac13b006bbc",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",464,266,102,97]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-qi",
      "title": "骑 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/qi.png",
      "width": 91,
      "height": 95,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 4376,
      "sha256": "d8c2769a4fc09b419856f04760e4a1e61b09b0f9375470ba0d0b7293878c9883",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",1131,259,97,106]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-gong",
      "title": "弓 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/gong.png",
      "width": 54,
      "height": 76,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1922,
      "sha256": "a15dcc5e74d5b7646ca9ee1065531b8ec39733960985771c2280631f83dca5ac",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"letters\",175,507,70,82]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-jin",
      "title": "金 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/jin.png",
      "width": 100,
      "height": 97,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3840,
      "sha256": "32b6d7fc3ace61b912a613e19b334dfb015f3c797d231603dcc31a31503822c1",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",135,595,105,107]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-shi",
      "title": "石 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/shi.png",
      "width": 95,
      "height": 92,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3396,
      "sha256": "b22b4d45a1594a7fab477dc4794329bbc5d8f7bf217c7f5177de5bf605e84b58",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",1452,608,101,103]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-bing",
      "title": "兵 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/bing.png",
      "width": 42,
      "height": 43,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1143,
      "sha256": "15f8e1988e78a16dd10c43996652dc471741381221e351fcb4ba13c81b17388c",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"feedback\",934,513,48,51]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-she",
      "title": "射 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/she.png",
      "width": 72,
      "height": 81,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2757,
      "sha256": "cb5925b3219dd34310c1e04a878526c799ab972fd058f2aa98f210f21fd2b8c8",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"letters\",681,852,80,83]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-zhao",
      "title": "赵 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/zhao.png",
      "width": 67,
      "height": 64,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2317,
      "sha256": "88fd131d36eb0f4f0d9486258fec06525e391958b700476a7678f03069ee8c99",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"letters\",201,1168,76,70]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-yun",
      "title": "云 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/yun.png",
      "width": 56,
      "height": 56,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1667,
      "sha256": "a0ba14503526ea90c3a6a6909474a107ee708c3ff5c64b6467dd811ebe95598b",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"letters\",380,1166,77,72]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-ying",
      "title": "营 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/ying.png",
      "width": 53,
      "height": 59,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2030,
      "sha256": "ddab00bbd308504bb544f6f42cb8e8643590e005e4451cf1f1670ac2162631cf",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"ready\",117,1225,54,59]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-chu",
      "title": "出 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/chu.png",
      "width": 44,
      "height": 65,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1634,
      "sha256": "aacbcccca5394197a7160ba3aaec860d345c29387dc05d92f3e6c52481314c61",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"ready\",46,474,48,65]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-start-level",
      "title": "开始本关 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/start-level.png",
      "width": 249,
      "height": 58,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 9725,
      "sha256": "780aab4a9e9ee441acab4041c7764654fef5f752643a0c59d11d4d501c50f30b",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"ready\",319,754,259,77,\"white\"]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-resume-battle",
      "title": "继续战斗 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/resume-battle.png",
      "width": 208,
      "height": 51,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 6297,
      "sha256": "1723de8a8587d1939433a731bfce4f57ca1042076cb01b2dd431113bf2b89137",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"pause\",364,812,225,67,\"white\"]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-next-level",
      "title": "进入下一关 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/next-level.png",
      "width": 267,
      "height": 52,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 5605,
      "sha256": "ac523037a8ef7f51bcd2a88f2ad385bf4f325e1b116d76c6e0c2d56cb4709e60",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"victory\",331,1157,292,68,\"white\"]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-acknowledge",
      "title": "知道了 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/acknowledge.png",
      "width": 129,
      "height": 43,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2914,
      "sha256": "cb4b793cbe6910e26c43f5407ccf1cb05b57fc5a55e28ab73e5ae8473a832c04",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"letters\",401,1514,177,54,\"white\"]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "glyph-reroll",
      "title": "换一批 · 原图透明遮罩",
      "category": "glyphs",
      "section": "runtime-derived",
      "kind": "glyph-mask",
      "file": "derived/glyph-masks/reroll.png",
      "width": 153,
      "height": 52,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 4497,
      "sha256": "a3968948f061bc825bfa6f1e5aac4694224d5dae2a331b913d16b154a447c68d",
      "source": "prototype/public/inkReference.js",
      "usage": "当前原稿字形或按钮文字的透明白色遮罩",
      "notes": "由当前maskFrom算法直接导出，原始取样 [\"states\",1122,966,160,58]；白色为着色遮罩，应以实际阵营颜色叠加。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-back-svg",
      "title": "返回 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/back.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 854,
      "sha256": "37e4c72a1f90038fda7d9b96e58e7892cfb3bebf1d6cefba35fe8c1039d4f981",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-back-png",
      "title": "返回 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/back.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1263,
      "sha256": "83fe74474a3a645ffb8ca80ac22e31ecc7ed2df8762d1281f3239f15b27fb5bb",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-info-svg",
      "title": "信息 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/info.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 1179,
      "sha256": "bd4ae3140f35111e451e30efb60d900dbb954af35bb8fc1a8fee65b18feb9958",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-info-png",
      "title": "信息 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/info.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 4469,
      "sha256": "d8ab03e309e52a1c36d84c9660ab081feb3b7fc922dc3460acc142159859b58a",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-lock-svg",
      "title": "锁定 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/lock.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 1206,
      "sha256": "644d591f913000bb5bebf42ddcfec4d4ab60b7a41f5f4e6720f4e71f21e2b426",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-lock-png",
      "title": "锁定 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/lock.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2341,
      "sha256": "06ecc591883da0ecd64162a98b50e226530531a35cb14dc1c31f4a90adc16f1a",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-training-svg",
      "title": "训练 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/training.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 896,
      "sha256": "d065a8603a85e563fa2b9217258ea4973d258b20c32263c4c403ae8fb97b02fc",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-training-png",
      "title": "训练 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/training.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3059,
      "sha256": "d98e4f3d8a194bafd24771b107568357f6e416233106cf2347e54ea9ae77fc47",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-heroes-svg",
      "title": "武将 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/heroes.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 930,
      "sha256": "eac0ab71abcaa5017883219d1f4bb245b9837f39f9609520da9708e162635a2a",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-heroes-png",
      "title": "武将 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/heroes.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2603,
      "sha256": "70c1de2687ce9fd940abcd70da649333d251d366513acc98cf8429301a2de895",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-recruit-svg",
      "title": "招募 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/recruit.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 884,
      "sha256": "8a19a90a6fc647dd08341a7fd01cbb1402f85a6d7ea72b94587834ee27c98e6f",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-recruit-png",
      "title": "招募 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/recruit.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1480,
      "sha256": "4c385928811c9a63afc263bd40c344be63108f9ab428229bf4a24f792c593eb3",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-tower-svg",
      "title": "通天塔 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/tower.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 901,
      "sha256": "ab23c1981f4b8394c2292e4abfe12ba78b6ce0cdfddaceb8cfc7f4362f52880a",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-tower-png",
      "title": "通天塔 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/tower.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1946,
      "sha256": "2574d8162eaf3222ef928892c8d81a8d781912ddd38d2f85c4566feaa1b35acb",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-progress-svg",
      "title": "进度 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/progress.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 889,
      "sha256": "54ecc0f0b9285823d3b000869be2b5ffbc68f9909294f54792212a8a2add1a6c",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-progress-png",
      "title": "进度 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/progress.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1567,
      "sha256": "56c19ffd45e240a9e163e1a7a4574dd80c05bf321b2f0a9c73e45df9b56916fd",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-coins-svg",
      "title": "金币 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/coins.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 1199,
      "sha256": "c387fc6a6314c1ce99b10182e129c84dee9192cf2e107b27297e51b3a2bb4bb8",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-coins-png",
      "title": "金币 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/coins.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 4593,
      "sha256": "bb4c3e12200f099b92851f0cfbf85393c29cd1f5d253c188326aca5e5dd30777",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-stamina-svg",
      "title": "体力 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/stamina.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 867,
      "sha256": "a108fd2a971c684cfdce476b34462434d7c1c26a5544f330ac48b9f07c9d83bc",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-stamina-png",
      "title": "体力 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/stamina.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 2166,
      "sha256": "b8e91b01baffa86d4b61f87bf2307678c2d17c42538f36d3e53634fe8f31447a",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-tickets-svg",
      "title": "将签 · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/tickets.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 886,
      "sha256": "9beeea450dd9ce10c0eb57d8520760ffc6ae22f02cfe4c50513311aa08644c86",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-tickets-png",
      "title": "将签 · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/tickets.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 1985,
      "sha256": "2dda346b54abe4e6af7f2f795b84dd0f62acc7a94f4a5248651021d2bf17f260",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-settings-svg",
      "title": "设置（函数版本） · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/settings.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 1263,
      "sha256": "3d052072c00df42c863d7a6d4d939d56510078f0fa93b995b44de2c04f683972",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-settings-png",
      "title": "设置（函数版本） · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/settings.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3642,
      "sha256": "7259d74e33b273ecabe2ce4781c55e694c0ec1d1496db617a9cf510b309fc59f",
      "source": "prototype/public/ink-hub.js#icon",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-settings-header-svg",
      "title": "设置（主界面当前版本） · SVG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/icons/settings-header.svg",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 1263,
      "sha256": "1dcb9bd8ac85e5cd05169e8068114a285004b04101e9b346a59ed507a4979c00",
      "source": "prototype/public/ink-hub.html",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "icon-settings-header-png",
      "title": "设置（主界面当前版本） · PNG",
      "category": "icons",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/icons/settings-header.png",
      "width": 128,
      "height": 128,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 3890,
      "sha256": "6fadc1ef5de24c7573469d44248c0439732e3338e4bd348a949ddbb76b7835f4",
      "source": "prototype/public/ink-hub.html",
      "usage": "当前简洁线性图标",
      "notes": "保留当前SVG路径和线宽，currentColor解析为水墨绿#23695b；PNG为128px代码预览，可按角色改色。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-bronze-svg",
      "title": "青铜徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/bronze.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "5c2a5a450782724cbcc139eae451513dcd6b5cecac01688ee04a89c4473822a3",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-bronze-png",
      "title": "青铜徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/bronze.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30946,
      "sha256": "efb92438fff3ce4cac8ffebef212f066e4d6766abc558e5fa1be976454ccbb18",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-silver-svg",
      "title": "白银徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/silver.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "d209848ef1e370f2271d421c92902ed8b9d6a473772d256cea9afd40a7daa005",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-silver-png",
      "title": "白银徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/silver.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30290,
      "sha256": "3211c5414b10f0194a5472f1f760c30cb2c7a30bc492c5d50e8adf0f614b21c6",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-gold-svg",
      "title": "黄金徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/gold.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309760,
      "sha256": "56b2639a2a8196080a9684981e268d63a35174f460268da8fbfad7c264952e9b",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-gold-png",
      "title": "黄金徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/gold.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 31087,
      "sha256": "862229e8e4f589c087ed30fc9df6be2c53af4bac78cb584f0ec69077e7f3f480",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-platinum-svg",
      "title": "铂金徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/platinum.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309760,
      "sha256": "9fbb59f7eeb39e76673a94121e185812e47ef7a5aca7c33c4af1757726a57b23",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-platinum-png",
      "title": "铂金徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/platinum.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 31373,
      "sha256": "000a6942588120e1a9e97bb4fac8c07f548c3e5328998f76ab9c296f1ed68aff",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-diamond-svg",
      "title": "钻石徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/diamond.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309760,
      "sha256": "7123b7e2efba4bda79258386c769d2478f147edc22eb1dcc5981ae706f232bcb",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-diamond-png",
      "title": "钻石徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/diamond.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30945,
      "sha256": "5a90e0d166026dedfc2b707acbb97a10cb0f8eb18f1e6bde8dc1fa067bd22224",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-master-svg",
      "title": "大师徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/master.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309760,
      "sha256": "b72dda835c3be5d81638eca16d79ecaafe502853eaef5178a9ffbf38af4ea9d4",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-master-png",
      "title": "大师徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/master.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30022,
      "sha256": "2cd12248552b26485a6c08565648b8c8a5760daa96478b4aeb7e421a70d0e0be",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-grandmaster-svg",
      "title": "宗师徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/grandmaster.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "c925088fa7cbec09ad8387ed9ffa7415fbf54d37da86932fec2e71d55097223c",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-grandmaster-png",
      "title": "宗师徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/grandmaster.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30974,
      "sha256": "ee874b11a5a31a5793885f1952acd7bef79513883ed122aed11375149163eef7",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-king-svg",
      "title": "王者徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/king.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "a34099011487584b01cc7ea4ee068736bb8335d968f5ba628157681708617161",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-king-png",
      "title": "王者徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/king.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30155,
      "sha256": "e78b086d587efbe680e6f56d00971be04a1a5e191f82b4fac3c09da8b2b5e47c",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-emperor-svg",
      "title": "荣耀徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/emperor.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "1ef96fcccfbc411807c97cc1793b97c731a69ee1fc76c250f21ab3da27ccd2e5",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-emperor-png",
      "title": "荣耀徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/emperor.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 31075,
      "sha256": "fbcbc27e2e7819dfc0f1af760a726e31bd9fe621c85631b1079554729e8d433a",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-legend-svg",
      "title": "传奇徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/legend.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "e322bb3c5118e92982f36cc0b5ec18ddf807986e6c064b1c71f18ea293d15fd9",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-legend-png",
      "title": "传奇徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/legend.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 31076,
      "sha256": "5f85a85e63657118e6473a893a5e4d18033c947664188b52400d6c28e6f6c041",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-peerless-svg",
      "title": "无双徽章 · SVG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg",
      "file": "derived/ranks/peerless.svg",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": null,
      "mode": null,
      "bytes": 309759,
      "sha256": "57898023764e3d333b27cce0d495c5377feac00d64897974e7afb893ba53f8aa",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    },
    {
      "id": "rank-peerless-png",
      "title": "无双徽章 · PNG",
      "category": "ranks",
      "section": "runtime-derived",
      "kind": "native-svg-preview",
      "file": "derived/ranks/peerless.png",
      "width": 320,
      "height": 240,
      "alpha": true,
      "alphaRange": [
        0,
        255
      ],
      "mode": "RGBA",
      "bytes": 30824,
      "sha256": "bd2e932972d95d1d16e74aef15fee0c0588c2354e8181746211ca60433a39530",
      "source": "prototype/public/ink-hub.js#rankBadge",
      "usage": "当前段位徽章示例；小段数字在徽章外另排",
      "notes": "按当前rankBadge几何和hub.css/ink-hub.css计算样式直接导出；SVG内嵌实际PeripheralBrush字体，PNG是同一代码渲染预览。不是新制分层美术。",
      "status": "runtime-export",
      "currentUse": "code-derived"
    }
  ],
  "packs": [
    {
      "id": "hub",
      "title": "主界面建筑拆件",
      "file": "packs/hub.zip",
      "categoryIds": [
        "hub"
      ],
      "assetCount": 2,
      "bytes": 2651582,
      "sha256": "66d1b09976c3c3429c97e692772734cd169b9fbf3e44306f56de437a49a581bd"
    },
    {
      "id": "panels-01",
      "title": "纸张、按钮与面板原始拆件（1/2）",
      "file": "packs/panels-01.zip",
      "categoryIds": [
        "panels"
      ],
      "assetCount": 13,
      "bytes": 20607302,
      "sha256": "b3fc6eda43930c91a0a43c433998ff289beffabea7538f986999944b9b9feccc"
    },
    {
      "id": "panels-02",
      "title": "纸张、按钮与面板原始拆件（2/2）",
      "file": "packs/panels-02.zip",
      "categoryIds": [
        "panels"
      ],
      "assetCount": 2,
      "bytes": 2585603,
      "sha256": "dc9818bf4d8a8d11c924898afb14d09e4fd68420d5222eac2021faf3ebc4dc37"
    },
    {
      "id": "battle",
      "title": "战斗、封边与特效原始拆件",
      "file": "packs/battle.zip",
      "categoryIds": [
        "battle"
      ],
      "assetCount": 10,
      "bytes": 11019506,
      "sha256": "6000f8915187d6ab4149c438bd14788a454be5c75764083c49ce942983782142"
    },
    {
      "id": "obstacles",
      "title": "当前石块底板",
      "file": "packs/obstacles.zip",
      "categoryIds": [
        "obstacles"
      ],
      "assetCount": 1,
      "bytes": 2357926,
      "sha256": "5ff87094d2f8efd5ae9e8d2091b173a4a910d08fb8188c739ac9c277ed85d9b5"
    },
    {
      "id": "icons",
      "title": "代码原生线性图标",
      "file": "packs/icons.zip",
      "categoryIds": [
        "icons"
      ],
      "assetCount": 26,
      "bytes": 46290,
      "sha256": "465f76af266437c2454d740c4009038f6ea57c109f9a03bdf97ee95d7534f568"
    },
    {
      "id": "ranks",
      "title": "代码原生段位徽章",
      "file": "packs/ranks.zip",
      "categoryIds": [
        "ranks"
      ],
      "assetCount": 22,
      "bytes": 2915344,
      "sha256": "c7e7ea9701984d72433bcb2472112e607886d666b842d31341c40a370746018e"
    },
    {
      "id": "glyphs",
      "title": "原图字形与按钮文字遮罩",
      "file": "packs/glyphs.zip",
      "categoryIds": [
        "glyphs"
      ],
      "assetCount": 17,
      "bytes": 65441,
      "sha256": "87c993576ce803c37b141d887edcebe5c751f46f41039fcc747ce0c1b71baf09"
    },
    {
      "id": "crops",
      "title": "运行时原图取样区域",
      "file": "packs/crops.zip",
      "categoryIds": [
        "crops"
      ],
      "assetCount": 6,
      "bytes": 1373154,
      "sha256": "c18c7fa98ca2aea7e6e1ff4ee8b0214ace8608487b529f53b473d5f9d8fe798c"
    },
    {
      "id": "atlases",
      "title": "原稿整图与运行时图集",
      "file": "packs/atlases.zip",
      "categoryIds": [
        "atlases"
      ],
      "assetCount": 8,
      "bytes": 14771549,
      "sha256": "8b4d4aff86478d971bf93e0f5eb2e3eb77465337df9b077e27c6647b99fbb25f"
    },
    {
      "id": "fonts",
      "title": "字体与授权",
      "file": "packs/fonts.zip",
      "categoryIds": [
        "fonts"
      ],
      "assetCount": 5,
      "bytes": 4383127,
      "sha256": "ddc6acb360a49c35292c176498ef8826df1291b2091beead216cdc621af18bd2"
    },
    {
      "id": "bindings",
      "title": "裁切参数与代码使用说明",
      "file": "packs/bindings.zip",
      "categoryIds": [
        "bindings"
      ],
      "assetCount": 15,
      "bytes": 87878,
      "sha256": "a2e69985663bc906fb075e43af17571b21c50c94832df4119659459125e6de9f"
    }
  ],
  "csv": "asset-manifest.csv",
  "requirements": {
    "count": 349,
    "json": "requirements/production-requirements-349.json",
    "csv": "requirements/production-requirements-349.csv",
    "mappingJson": "requirements/production-mapping.json",
    "mappingCsv": "requirements/production-mapping.csv"
  },
  "limitations": [
    "349项为正式制作需求，原始清单全部为待制作／评估复用，不是349份现有素材，也不是349项完成。",
    "本包独立原始PNG保持源像素；原型透明边距、逻辑尺寸、取样矩形和九宫格内边距不可混为一谈。",
    "2026-10-30已确认斜俯视城楼与淡远景目前只有合成示意；旧castle-ally/enemy透明PNG不是最新城楼正式切图。",
    "运行时字形是原稿取样得到的白色透明遮罩，需着己方绿、敌方红或武将色；不能直接当成白字最终效果。",
    "运行时原图裁片含烘焙文字或棋盘；实际代码替换中心／跳过中心后再叠字，裁片不是透明空白按钮。",
    "线性图标、段位为现有SVG代码导出；段位SVG含实际嵌入字体。PNG为代码预览，不是重新绘制的正式美术源稿。",
    "所列字体遵循随包SIL OFL 1.1；当前系统正文阅读字体并未作为独立文件交付。",
    "Prefab、完整可编辑源稿、动画、正式音频与平台宣传资源未在本UI静态拆件包中交付；详见349项逐条映射。",
    "血条粗细、单位尺寸、边框朝向、箭头透明度及交互反馈是运行时实现，参考代码随包，不能只替换PNG保证一致。"
  ]
}
