{ "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 } ] }