{ "schemaVersion": 1, "figma": { "fileKey": "OTOg5cwbhVNWxkImGmzTJl", "canvasNode": "646:1997", "referenceFrames": [ "918:6917", "918:7827", "918:8941", "918:9851", "918:10385" ] }, "policy": { "description": "Runtime assets are traceable decorative layers only. All copy, controls, user data, ranking data, task state and reward media remain DOM/API content.", "forbiddenSourceNodes": [ "646:1997", "918:6917", "918:7827", "918:8941", "918:9851", "918:10385" ], "forbiddenRuntimeTerms": [ "whole-page", "full-page", "page-screenshot", "root-frame" ], "maxDecorativeLayerPixels": 1600000 }, "assets": [ { "filename": "action-button.png", "sourceNode": "918:8734", "use": "Task action-button chrome; the label, state and click target remain a DOM button.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 72, "height": 26 }, "file": { "format": "png", "pixelWidth": 288, "pixelHeight": 50, "bytes": 27630 }, "sha256": "63372b8ba1ddc800de3467c86baa29de055ba46012d097830770dfac5eae5850", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "back-icon.svg", "sourceNode": "918:10383", "use": "Back-arrow decoration inside the DOM navigation button.", "kind": "single-decorative-icon", "scope": "runtime", "renderedDesignSize": { "width": 24, "height": 24 }, "file": { "format": "svg", "pixelWidth": 24, "pixelHeight": 24, "bytes": 1277 }, "exportViewBox": { "minX": 0, "minY": 0, "width": 24, "height": 24 }, "sha256": "4bf8ae2499b884a4b7e069d4ddad2dd06d56230313b596c53a06c6f75cc535bc", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "coin.png", "sourceNode": "918:9739", "use": "Gold-score icon; leaderboard values remain live API text.", "kind": "single-decorative-icon", "scope": "runtime", "renderedDesignSize": { "width": 32, "height": 32 }, "file": { "format": "png", "pixelWidth": 64, "pixelHeight": 64, "bytes": 6506 }, "sha256": "7f7fa561003ed8baf1e7a747637bbe6591bdb1543d7cb39ebe23cd6b322ce8da", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "countdown-cell.png", "sourceNode": "918:7887", "use": "One countdown-number cell; days, hours, minutes and seconds remain live DOM text.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 72, "height": 77 }, "file": { "format": "png", "pixelWidth": 144, "pixelHeight": 154, "bytes": 42992 }, "sha256": "3a11b703471aff658bf499496f59e45e186c390e492545e8f191b7abe840d148", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "hero-art.png", "sourceNode": "918:7884", "use": "Trophy, lions and blank title plaque. The original embedded Gift Challenge title was removed so the localized title remains DOM text.", "kind": "derived-decorative-hero", "scope": "runtime", "renderedDesignSize": { "width": 375, "height": 375 }, "file": { "format": "png", "pixelWidth": 1000, "pixelHeight": 1000, "bytes": 2039585 }, "sha256": "36babcc651785d107f310010f255c4c8513976ee9d93e9cbe66e3fbfcd9f582a", "derived": true, "derivation": "Precise object edit removed only the embedded title from Figma node 918:7884 and reconstructed the blank plaque.", "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "rank-period-sprite.png", "sourceNode": "918:9020", "use": "Selected and idle ranking-period chrome in one CSS sprite; labels and tab controls remain DOM elements.", "kind": "decorative-state-sprite", "scope": "runtime", "renderedDesignSize": { "width": 169, "height": 60 }, "file": { "format": "png", "pixelWidth": 676, "pixelHeight": 116, "bytes": 131835 }, "sha256": "48094db756f6909bed483acc4bcf09d57bdbd8f7536ddc309e276f8c785b2bce", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "rank-row.png", "sourceNode": "918:9728", "use": "Leaderboard-row border; rank, avatar, user identity and score remain live DOM/API content.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 351, "height": 88 }, "file": { "format": "png", "pixelWidth": 702, "pixelHeight": 176, "bytes": 198958 }, "sha256": "665dcdacad7bddeea9da79456088123cc50e1376be9fb329989f1265d981d174", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "ranking-palace.jpg", "sourceNode": "918:9029", "use": "Palace, red-carpet and floor background behind the live leaderboard. Source watermarks were removed without adding content.", "kind": "derived-decorative-background", "scope": "runtime", "renderedDesignSize": { "width": 359, "height": 637 }, "file": { "format": "jpeg", "pixelWidth": 718, "pixelHeight": 1276, "bytes": 317466 }, "sha256": "5723b0f00739092da4bb58f29a7c491ce7547f18c08caeb839b50e40175221be", "derived": true, "derivation": "Precise object edit removed only the source watermarks from Figma node 918:9029 and reconstructed the palace background beneath them.", "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "ranking-title-frame.png", "sourceNode": "918:9031", "use": "Leaderboard title and podium surround; heading, avatars, names and scores remain live DOM/API content.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 375, "height": 326 }, "file": { "format": "png", "pixelWidth": 750, "pixelHeight": 652, "bytes": 265575 }, "sha256": "c26a575e22569903ec0ff0d7c74aa31e30cf3a82446b0c263e63deed39666679", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "reward-count-frame.png", "sourceNode": "918:8710", "use": "Task reward-quantity frame; quantity remains live DOM/API text.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 79, "height": 30 }, "file": { "format": "png", "pixelWidth": 158, "pixelHeight": 60, "bytes": 16175 }, "sha256": "89a2cbbb8eaea727123c417caf5fa3bff3c77c3cbfa8b57333b8495706110c26", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "section-tab-active.png", "sourceNode": "918:19524", "use": "Selected primary-tab chrome; label and click target remain DOM content.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 113, "height": 42 }, "file": { "format": "png", "pixelWidth": 452, "pixelHeight": 168, "bytes": 123940 }, "sha256": "f6df12b7c290706f83e009f5b4eeca8a51904d9f2d8992f8dbfdb931a3061b71", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "section-tab-idle.png", "sourceNode": "918:19527", "use": "Idle primary-tab chrome; label and click target remain DOM content.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 113, "height": 42 }, "file": { "format": "png", "pixelWidth": 452, "pixelHeight": 168, "bytes": 70971 }, "sha256": "0cb9954872b49c785df55fd59041f614731f362e9c7a02b4459bf1eea6ae9c85", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "side-info.svg", "sourceNode": "918:8934", "use": "Rules icon inside the live DOM action button.", "kind": "single-decorative-icon", "scope": "runtime", "renderedDesignSize": { "width": 24, "height": 24 }, "file": { "format": "svg", "pixelWidth": 24, "pixelHeight": 24, "bytes": 1896 }, "exportViewBox": { "minX": 0, "minY": 0, "width": 24, "height": 24 }, "sha256": "2100697fb9232b99c3ff687e0b8b8231869f8cbe0516ad848939823b0fcfd27c", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "side-rewards.svg", "sourceNode": "918:8939", "use": "Ranking-rewards icon inside the live DOM action button.", "kind": "single-decorative-icon", "scope": "runtime", "renderedDesignSize": { "width": 24, "height": 24 }, "file": { "format": "svg", "pixelWidth": 24, "pixelHeight": 24, "bytes": 6265 }, "exportViewBox": { "minX": 0, "minY": 0, "width": 24, "height": 24 }, "sha256": "734c29bf9b58ff7d6d400191e10b77f30b6578c7f3519ac47dbca08f84343dd8", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "stage-background.jpg", "sourceNode": "918:7830", "use": "Pure red-and-gold event-stage background beneath all live sections.", "kind": "single-decorative-background", "scope": "runtime", "renderedDesignSize": { "width": 375, "height": 667 }, "file": { "format": "jpeg", "pixelWidth": 750, "pixelHeight": 1333, "bytes": 223745 }, "sha256": "c70f7d4b377894e84781dc4dff7520c7dd21aa6acf28c53f506d05029bcaff29", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "task-panel.png", "sourceNode": "918:7908", "use": "Pure task-panel background behind three separately rendered DOM task cards.", "kind": "single-decorative-background", "scope": "runtime", "renderedDesignSize": { "width": 375, "height": 996 }, "file": { "format": "png", "pixelWidth": 375, "pixelHeight": 996, "bytes": 191882 }, "sha256": "4d6331d2450be1e917c143c84e429aa51e75c7dd8ec4b3cfe1421d22c9413b1c", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false }, { "filename": "task-reward-frame.png", "sourceNode": "918:8707", "use": "Task reward-item surround; icon, reward name and quantity remain live API content.", "kind": "single-decorative-frame", "scope": "runtime", "renderedDesignSize": { "width": 79, "height": 80 }, "file": { "format": "png", "pixelWidth": 158, "pixelHeight": 160, "bytes": 29047 }, "sha256": "7e7c828e2eef258b6762fa5e0876a8a35731213de976909e29dc729ad856c232", "derived": false, "containsText": false, "containsControls": false, "containsDynamicBusinessMedia": false } ] }