113 lines
5.0 KiB
JSON
113 lines
5.0 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"figma": {
|
|
"fileKey": "OTOg5cwbhVNWxkImGmzTJl",
|
|
"frameNode": "822:2775",
|
|
"frameName": "room reward event",
|
|
"designSize": [1080, 1985]
|
|
},
|
|
"policy": {
|
|
"forbiddenNodes": ["822:2775", "822:2783"],
|
|
"forbiddenRuntimeAssets": [".audit/figma-default.png"],
|
|
"rule": "Only single visual layers are assets. Text, table rows, state, controls, and dynamic media are DOM/CSS/API driven."
|
|
},
|
|
"assets": [
|
|
{
|
|
"file": "hero-room-reward.webp",
|
|
"nodes": ["822:2778"],
|
|
"role": "hero illustration",
|
|
"kind": "single-raster-illustration",
|
|
"design": [1080, 810],
|
|
"note": "Single Figma image-fill artwork; dynamic page content is not embedded.",
|
|
"sha256": "e26e31a04e42a1562aecd7671c8c3d59f54e3b462b1b16d73dcc075f4ce89653",
|
|
"sourceSha256": "f8236a4fe58aadc228993f415146eb70832e7edfa9291e31736731d7cf8ab8ae",
|
|
"pixelSize": [1080, 810],
|
|
"sourceFile": "hero-source.bin"
|
|
},
|
|
{
|
|
"file": "hero-fade-mask.svg",
|
|
"nodes": ["822:2777"],
|
|
"role": "hero bottom fade mask",
|
|
"kind": "single-mask",
|
|
"design": [1080, 810],
|
|
"note": "Mask for the hero illustration only.",
|
|
"sha256": "a2f81f0beaabab653ba390bfa0d8f0fa3bfcc7ad01a0c3e9744d727163c069b6",
|
|
"sourceSha256": "a2f81f0beaabab653ba390bfa0d8f0fa3bfcc7ad01a0c3e9744d727163c069b6",
|
|
"pixelSize": [1080, 810],
|
|
"sourceFile": "hero-mask.bin"
|
|
},
|
|
{
|
|
"file": "frame-purple-gold.webp",
|
|
"nodes": ["822:2779", "822:2911"],
|
|
"role": "target and active value ornamental frame",
|
|
"kind": "single-ornamental-frame",
|
|
"design": [900, 289],
|
|
"note": "Reused at 215x69 for the value pill; all numbers remain DOM text.",
|
|
"sha256": "3e4dbc62c88914cf7dd9b06daf67afd8a9fcbb7af12cd40f4fbaacd88eac53bb",
|
|
"sourceSha256": "98c9dfbea98bca32e7cf97cf4f6e62185f472b7ca7bcfa4ff494aab7695b1994",
|
|
"pixelSize": [900, 289],
|
|
"sourceFile": "purple-frame.bin"
|
|
},
|
|
{
|
|
"file": "table-border-ornament.webp",
|
|
"nodes": ["822:2789", "822:2795", "822:2830"],
|
|
"role": "table top and side border ornament",
|
|
"kind": "single-ornamental-border-source",
|
|
"design": [1008, 1003],
|
|
"note": "CSS clips one source into top/left/right decorative rails; rows and labels remain DOM.",
|
|
"sha256": "912ab4da6b606cbe75c618e37123c30538e87302d1d9e137690f4c0ef57fdf17",
|
|
"sourceSha256": "3d854ee220f85b25a7525f2e4255e9f741f7aaf100853f5661b6dce58128572c",
|
|
"pixelSize": [1008, 1003],
|
|
"sourceFile": "border-source.bin"
|
|
},
|
|
{
|
|
"file": "coin-target.webp",
|
|
"nodes": ["822:2782"],
|
|
"role": "target currency icon",
|
|
"kind": "single-icon",
|
|
"design": [44, 44],
|
|
"note": "Decorative currency icon beside a DOM value.",
|
|
"sha256": "3c78529eaf1c85ccb56ceb5af17ed7b1ba95f61229d7d085e10ed11e2941a0b9",
|
|
"sourceSha256": "28f2737ecf85a13858b02b45b447c132ea2bee6cc32d6eceec95f17c85ac0d0c",
|
|
"pixelSize": [44, 44],
|
|
"sourceFile": "coin-large.bin"
|
|
},
|
|
{
|
|
"file": "coin-tier.webp",
|
|
"nodes": ["822:2869"],
|
|
"role": "tier reward currency icon",
|
|
"kind": "single-icon",
|
|
"design": [38, 38],
|
|
"note": "Repeated icon only; reward values remain DOM text.",
|
|
"sha256": "796d13d982fd4d96f30312a61eddc65a683d6d32a508db766df00298f3364009",
|
|
"sourceSha256": "f0ac90be6a9dc4fb471d6b6fe9a03a0e465b8ddcb11b932f6e7cd10b5d1a0251",
|
|
"pixelSize": [38, 38],
|
|
"sourceFile": "coin-small.bin"
|
|
},
|
|
{
|
|
"file": "pill-disabled.webp",
|
|
"nodes": ["822:2913"],
|
|
"role": "disabled reward value ornamental frame",
|
|
"kind": "single-ornamental-frame",
|
|
"design": [215, 69],
|
|
"note": "Display frame only; not a claim control.",
|
|
"sha256": "a6caf2d3311b4d99d32fbd9ff63eb6debe1bb9d208ad45ec9551cf69190b221e",
|
|
"sourceSha256": "d93927d705a527ba7528d1399fed3eac3afc649530c3fda024f8b6e994e7bf46",
|
|
"pixelSize": [215, 69],
|
|
"sourceFile": "button-disabled.bin"
|
|
},
|
|
{
|
|
"file": "avatar-mock.webp",
|
|
"nodes": ["822:2904"],
|
|
"role": "Figma QA mock avatar",
|
|
"kind": "single-dynamic-media-fixture",
|
|
"design": [119, 119],
|
|
"note": "Used only when ?mock=1; production uses API user.avatar/room.cover_url.",
|
|
"sha256": "6297d792db71672c9eb39103ebc1cad51257f6243ce115bd2a11bb51ad57dc7f",
|
|
"sourceSha256": "42f8c005b3c77796b55dac4cfe5096fbe2773d46c9d78d1114b59a41c45b5a68",
|
|
"pixelSize": [384, 512],
|
|
"sourceFile": "avatar-source.bin"
|
|
}
|
|
]
|
|
}
|