431 lines
17 KiB
JSON
431 lines
17 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"figma": {
|
|
"fileKey": "OTOg5cwbhVNWxkImGmzTJl",
|
|
"canvas": {
|
|
"id": "543:1998",
|
|
"name": "Huwaa运营"
|
|
},
|
|
"entryFrames": {
|
|
"default": "850:232",
|
|
"win": "850:431",
|
|
"estimatedRewards": "850:638"
|
|
},
|
|
"designSize": {
|
|
"width": 375,
|
|
"height": 1114
|
|
},
|
|
"forbiddenAggregateNodes": [
|
|
"543:1998",
|
|
"850:232",
|
|
"850:431",
|
|
"850:638",
|
|
"850:237",
|
|
"850:255",
|
|
"850:262",
|
|
"850:291",
|
|
"850:314",
|
|
"850:425",
|
|
"850:628",
|
|
"850:835"
|
|
]
|
|
},
|
|
"assets": [
|
|
{
|
|
"file": "bg-palace-mask.svg",
|
|
"sourceNode": "850:234",
|
|
"sourceName": "image 5044",
|
|
"sourceType": "ROUNDED_RECTANGLE",
|
|
"purpose": "Bottom fade mask for the palace-only background layer",
|
|
"bounds": { "width": 541, "height": 812 },
|
|
"original": { "width": 541, "height": 812 },
|
|
"exportFormat": "svg",
|
|
"bytes": 542,
|
|
"sha256": "f99c7cf545fa81ef21174ea786fa32485a2efa0bc0e0b223b04f13e29255c8cf",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "bg-palace.webp",
|
|
"sourceNode": "850:235",
|
|
"sourceNodes": ["850:235", "850:236"],
|
|
"sourceName": "image 5046",
|
|
"sourceType": "ROUNDED_RECTANGLE",
|
|
"purpose": "Palace-only decorative background reused by both half-opacity Figma layers",
|
|
"bounds": { "width": 541, "height": 812 },
|
|
"original": { "width": 1024, "height": 1536 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 2406896,
|
|
"sha256": "fb80cada233c7ebcf37aa5a0fa16c92f836db8aa7a05e7b8782426273563ddb6",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "button-awesome.webp",
|
|
"sourceNode": "850:636",
|
|
"sourceName": "图层 1 9",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Cropped AWESOME button skin without its DOM label",
|
|
"bounds": { "width": 250, "height": 53 },
|
|
"original": { "width": 250, "height": 53 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 13646,
|
|
"sha256": "a40f8c77ed9f78921e857dc530e032997d964e396207cff931934e46f9f93888",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "button-invite.webp",
|
|
"sourceNode": "850:426",
|
|
"sourceName": "图层 0 315",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Invite CTA skin without its DOM label",
|
|
"bounds": { "width": 280, "height": 50 },
|
|
"original": { "width": 1990, "height": 360 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 417966,
|
|
"sha256": "538d9833e1e8f8bf7bfbfbf7c6032afa18425a9fff0a661dd83d09f082b1f00b",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "button-withdraw.webp",
|
|
"sourceNode": "850:312",
|
|
"sourceName": "图层 1 7",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Wallet withdrawal button skin without its DOM label",
|
|
"bounds": { "width": 214, "height": 34 },
|
|
"original": { "width": 2055, "height": 329 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 374810,
|
|
"sha256": "e566ebfbe19d15b667a3238df600a7cc1225d3e7ec35903443f82008760239f9",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-blue.webp",
|
|
"sourceNode": "850:267",
|
|
"sourceName": "03 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Blue wheel reward chest",
|
|
"bounds": { "width": 57, "height": 55 },
|
|
"original": { "width": 354, "height": 336 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 149466,
|
|
"sha256": "0551c01bc09d311d20a8a6f1323629b7bb3898d446b3b22c6e947a2c0b04b272",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-gold.webp",
|
|
"sourceNode": "850:270",
|
|
"sourceName": "01 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Gold wheel reward chest",
|
|
"bounds": { "width": 57, "height": 51 },
|
|
"original": { "width": 355, "height": 316 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 142820,
|
|
"sha256": "0ba668e4312b24377ead80d73b0fb87bd778dcaf8bf444a9a176e703fe88cd36",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-green.webp",
|
|
"sourceNode": "850:283",
|
|
"sourceName": "04 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Green wheel reward chest",
|
|
"bounds": { "width": 57, "height": 53 },
|
|
"original": { "width": 354, "height": 331 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 164498,
|
|
"sha256": "5b3e74a47979ac5f4459a4de0ceb66473d272fbb0484f9aa84807a0c630b3209",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-orange.webp",
|
|
"sourceNode": "850:279",
|
|
"sourceName": "07 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Orange wheel reward chest",
|
|
"bounds": { "width": 57, "height": 53 },
|
|
"original": { "width": 354, "height": 325 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 178720,
|
|
"sha256": "3e7ffe20e4309dee33cbde633597794f68a77e3b07beaff4d5e63f830dbb33e9",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-purple.webp",
|
|
"sourceNode": "850:276",
|
|
"sourceName": "05 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Purple wheel reward chest",
|
|
"bounds": { "width": 57, "height": 55 },
|
|
"original": { "width": 354, "height": 334 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 162400,
|
|
"sha256": "f6f782ee6440d7349fabf6955f81d71345f71a70a9d3151a20417cb40893703e",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-red.webp",
|
|
"sourceNode": "850:273",
|
|
"sourceNodes": ["850:273", "850:429", "850:430"],
|
|
"sourceName": "02 2 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Red wheel reward chest reused by the estimated-rewards entry",
|
|
"bounds": { "width": 57, "height": 52 },
|
|
"original": { "width": 353, "height": 318 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 153572,
|
|
"sha256": "89fba58f5b4ad0aebf4fe193eabbec83070eeb6246f11f5fa41e580f150e4e39",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "chest-white-gold.webp",
|
|
"sourceNode": "850:286",
|
|
"sourceName": "图层 1 6",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "White-gold wheel reward chest",
|
|
"bounds": { "width": 57, "height": 55 },
|
|
"original": { "width": 355, "height": 341 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 174792,
|
|
"sha256": "ed3f81ff4f21ad9a8ca3d32c42a11953b5a2e8bf9bd9ddeb1918d64a4220946b",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "icon-convert.svg",
|
|
"sourceNode": "850:306",
|
|
"sourceName": "转换_转换_copy 1",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Points conversion arrows",
|
|
"bounds": { "width": 12.521, "height": 14 },
|
|
"original": { "width": 14, "height": 12.5205 },
|
|
"exportFormat": "svg",
|
|
"bytes": 2095,
|
|
"sha256": "df2b2c6f97d7ae52bd61240846a9168281d2406b61bc1a39b5676061a6484ebb",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "icon-finance.svg",
|
|
"sourceNode": "850:308",
|
|
"sourceName": "Finance 1",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Wallet finance icon",
|
|
"bounds": { "width": 14, "height": 14 },
|
|
"original": { "width": 14, "height": 14 },
|
|
"exportFormat": "svg",
|
|
"bytes": 2884,
|
|
"sha256": "86e054e618747a8d6ec1c248fc74bc1781eeb96654cceacc4b4274db24c07be4",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "icon-infinity.svg",
|
|
"sourceNode": "850:304",
|
|
"sourceName": "符号_无限 1",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Infinite points indicator",
|
|
"bounds": { "width": 14, "height": 14 },
|
|
"original": { "width": 14, "height": 14 },
|
|
"exportFormat": "svg",
|
|
"bytes": 1472,
|
|
"sha256": "58b7569f3a7f018c492bcfb1633d58c73b4fc807cb9e4a86ff5a03845dd2f841",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "nav-back.svg",
|
|
"sourceNode": "850:257",
|
|
"sourceName": "icon_20_返回",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Navigation back icon",
|
|
"bounds": { "width": 24, "height": 24 },
|
|
"original": { "width": 24, "height": 24 },
|
|
"exportFormat": "svg",
|
|
"bytes": 419,
|
|
"sha256": "50d06f24adb0019fcdfb3c3f5db012808c230cd8c2f06c61b775fcccdbf525d4",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "panel-gold-emerald.webp",
|
|
"sourceNode": "850:292",
|
|
"sourceNodes": ["850:292", "850:315", "850:836"],
|
|
"sourceName": "图层 0 46",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Reusable gold-and-emerald panel skin reconstructed without Figma one-pixel slices",
|
|
"bounds": { "width": 351, "height": 205 },
|
|
"original": { "width": 1502, "height": 879 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 722510,
|
|
"sha256": "6780e103ca19992a5fa3b1e6be5f0d598dab26d803fb9463f9e01fc2fce49789",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "points-a.webp",
|
|
"sourceNode": "850:297",
|
|
"sourceNodes": ["850:297", "850:302"],
|
|
"sourceName": "图层 0 47",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Huwaa A points icon",
|
|
"bounds": { "width": 23, "height": 24 },
|
|
"original": { "width": 868, "height": 892 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 514910,
|
|
"sha256": "5e3b941cc0f6224ccb17017fad201a508d96230ff70d3f1268d2765636eb2240",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "reward-calendar-check.webp",
|
|
"sourceNode": "850:394",
|
|
"sourceNodes": ["850:394", "850:405", "850:416", "850:1085"],
|
|
"sourceName": "image 5049",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Task icon and reward-list fallback icon",
|
|
"bounds": { "width": 42, "height": 45 },
|
|
"original": { "width": 658, "height": 701 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 182252,
|
|
"sha256": "79b06b912c2e64ff3487bf8d35b848f493df4134583ba16c34d35ce0427ba81b",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "reward-modal-panel.webp",
|
|
"sourceNode": "850:629",
|
|
"sourceName": "图层 0 316",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Win dialog decorative panel without reward media or text",
|
|
"bounds": { "width": 327, "height": 415 },
|
|
"original": { "width": 994, "height": 1262 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 960078,
|
|
"sha256": "26ded67cb3b3f917d68e517627a3328dbb02c223f3590f2ac3ad9609e510627f",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "status-battery.svg",
|
|
"sourceNode": "850:240",
|
|
"sourceName": "Battery",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Design status-bar battery icon",
|
|
"bounds": { "width": 24.33, "height": 11.3333 },
|
|
"original": { "width": 24.33, "height": 11.3333 },
|
|
"exportFormat": "svg",
|
|
"bytes": 1005,
|
|
"sha256": "62fd408926ad465cc16e1fb57634dc5ff2205b4ab11a6b0edc110440e83f0f2b",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "status-cellular.svg",
|
|
"sourceNode": "850:248",
|
|
"sourceName": "Cellular Connection",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Design status-bar cellular icon",
|
|
"bounds": { "width": 17, "height": 11.3334 },
|
|
"original": { "width": 17.0001, "height": 11.3334 },
|
|
"exportFormat": "svg",
|
|
"bytes": 1147,
|
|
"sha256": "112f067ba1b97345f39df94cba9e080a46606a4387fe913344a2b2e7e7aee13e",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "status-wifi.svg",
|
|
"sourceNode": "850:244",
|
|
"sourceName": "Wifi",
|
|
"sourceType": "INSTANCE",
|
|
"purpose": "Design status-bar Wi-Fi icon",
|
|
"bounds": { "width": 15.3333, "height": 11.01 },
|
|
"original": { "width": 15.3333, "height": 11.01 },
|
|
"exportFormat": "svg",
|
|
"bytes": 1633,
|
|
"sha256": "22cf5fae5ae340219fbe1ed699d3a7d1562f6f4993c24df5502c640f907a1ec5",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "wallet-inner-panel.webp",
|
|
"sourceNode": "850:293",
|
|
"sourceName": "成v下 1",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Wallet inner texture behind live balance values",
|
|
"bounds": { "width": 327, "height": 120 },
|
|
"original": { "width": 1464, "height": 622 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 459290,
|
|
"sha256": "e8fe298ba89673bb8058668481dee7023b30e4445f83ae3363d8202796750f1c",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "wheel-base.webp",
|
|
"sourceNode": "850:264",
|
|
"sourceName": "图层 0 49",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Empty wheel frame, stage, and pedestal without prizes or controls",
|
|
"bounds": { "width": 370, "height": 437.464 },
|
|
"original": { "width": 1038, "height": 1227 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 1118800,
|
|
"sha256": "abb8c248b21d09716eb7022aa991fd18c0452ec7a2f832792104dbeb533b58bb",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
},
|
|
{
|
|
"file": "wheel-spin-center.webp",
|
|
"sourceNode": "850:265",
|
|
"sourceName": "图层 0 43",
|
|
"sourceType": "RECTANGLE",
|
|
"purpose": "Wheel center and pointer skin without Spin or cost text",
|
|
"bounds": { "width": 106, "height": 117 },
|
|
"original": { "width": 756, "height": 840 },
|
|
"exportFormat": "webp-lossless",
|
|
"bytes": 407758,
|
|
"sha256": "09659e624c1cc7979ca847142f00e5c322653ad531f7752878d7fe9cc90c6506",
|
|
"containsText": false,
|
|
"containsControls": false,
|
|
"containsDynamicMedia": false
|
|
}
|
|
]
|
|
}
|