2026-07-17 11:54:43 +08:00

104 lines
4.2 KiB
JSON

{
"figma": {
"fileKey": "OTOg5cwbhVNWxkImGmzTJl",
"page": "Fami运营",
"rootNode": "822:2928",
"rootSize": {
"width": 1080,
"height": 3273
}
},
"rules": {
"rootFrameUsedAsAsset": false,
"dynamicTextRenderedByDOM": true,
"productionBusinessMediaFromAPI": true,
"receiveControlMode": "read-only grant status; backend grants automatically and exposes no claim RPC"
},
"assets": [
{
"path": "assets/background-source-844-7068.png",
"sourceNode": "844:7068",
"purpose": "single-node decorative background source, clipped into the three Figma mask ranges by CSS",
"width": 1080,
"height": 1887,
"sha256": "1ee73b4ba3a47cd8cafbc6d42bd7350cdcfc25237f022991d7d190d7d8b22212",
"mockOnly": false
},
{
"path": "assets/countdown-frame-822-2954.png",
"sourceNode": "822:2954",
"purpose": "countdown ornament and empty slots; labels and values remain DOM",
"width": 900,
"height": 393,
"sha256": "fe4cccc3747f37d9c2cf127e704d68a1e453df61c5f6241b187d29f0291d525a",
"mockOnly": false
},
{
"path": "assets/profile-frame-840-4737.png",
"sourceNode": "840:4737",
"purpose": "profile card ornament; avatar, name, id and recharge amount remain independent DOM/data",
"width": 900,
"height": 679,
"sha256": "15946e593bdd4341e78fadf1a7b63202d54b38e650aabba6ed2397428e3f6377",
"mockOnly": false
},
{
"path": "assets/reward-panel-822-2967.png",
"sourceNode": "822:2967",
"purpose": "reward tier panel ornament; tier title, cards and state remain DOM",
"width": 900,
"height": 689,
"sha256": "2464ef72797d6f30730a2d960bbdf9da0a89cab86144937c23614dfdcbdf508f",
"mockOnly": false
},
{
"path": "assets/reward-card-822-2969.png",
"sourceNode": "822:2969",
"purpose": "single reward-card skin; resource preview and amount remain independent",
"width": 229,
"height": 258,
"sha256": "a7029c276f2b6bc05a89c26c89db1f654f587d8be90347b9f29cd36a41381c69",
"mockOnly": false
},
{
"path": "assets/receive-skin-822-2990.png",
"sourceNode": "822:2990",
"purpose": "status skin only; Receive or Claimed is DOM text and is not a fake claim control",
"width": 399,
"height": 129,
"sha256": "a32fbee534c2a0ae98f16bc3624b6e575b78493bebdc72fd026d2172415f8126",
"mockOnly": false
},
{
"path": "assets/mock-avatar-822-2960.png",
"sourceNode": "822:2960",
"purpose": "explicit mock=1 Figma fixture only; production avatar comes from status.user.avatar",
"width": 282,
"height": 270,
"sha256": "97c96761e348811f982cd8216b8e8f312f908337a692cccaca4212d189df2b09",
"mockOnly": true
},
{
"path": "assets/mock-reward-822-2971.png",
"sourceNode": "822:2971",
"purpose": "explicit mock=1 Figma fixture only; production previews come from resource.preview_url",
"width": 193,
"height": 193,
"sha256": "32e56831590c49ab34b1f06c5aaaeffadd370564beab4742fabf3a06323370b3",
"mockOnly": true
}
],
"fonts": [
{
"path": "assets/fonts/source-han-sans-sc-regular-latin.woff2",
"source": "https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese/SourceHanSansSC-Regular.otf",
"sha256": "5a1880101a54dfbf9a4fce716eae6f4e9e84e3d1fd7b465613eee00dc22ee03c"
},
{
"path": "assets/fonts/source-han-sans-sc-medium-latin.woff2",
"source": "activity/cp-space/fami/assets/fonts/source-han-sans-sc-medium-latin.woff2",
"sha256": "0c5b80890935bdf1ab542338c7f5ebe5c4fc678c76873c843a9c3be1c6b23e57"
}
]
}