A rhythm game net ranking service built on ATproto.
at main 78 lines 2.3 kB view raw
1{ 2 "lexicon": 1, 3 "id": "dev.tsunagite.chart", 4 "description": "Definitions related to charts included in games hosting leaderboards via Tsunagite.", 5 "defs": { 6 "main": { 7 "type": "record", 8 "description": "A chart included in a game hosting leaderboards via Tsunagite.", 9 "key": "any", 10 "record": { 11 "type": "object", 12 "properties": { 13 "game": { 14 "type": "string", 15 "description": "The game this chart is included in. URI must point to a record of type `dev.tsunagite.game`.", 16 "format": "at-uri" 17 }, 18 "song": { 19 "type": "string", 20 "description": "The song this chart is for. URI must point to a record of type `dev.tsunagite.song`.", 21 "format": "at-uri" 22 }, 23 "difficulty": { 24 "type": "union", 25 "description": "The difficulty slot this chart is placed in. Can be an inline definition or a reference to a standard-defined difficulty slot.", 26 "refs": [ 27 "dev.tsunagite.difficulty", 28 "dev.tsunagite.defs#typedRef" 29 ] 30 }, 31 "rating": { 32 "type": "string", 33 "description": "The numeric difficulty rating displayed to players, formatted as a string to support decimal or + difficulties." 34 }, 35 "rankedVersions": { 36 "type": "array", 37 "description": "The md5 hashes of any versions of the chart that are up-to-date enough to be leaderboard-legal. Optional if you will not perform leaderboard resets upon any chart changes.", 38 "items": { 39 "type": "bytes", 40 "minLength": 16, 41 "maxLength": 16 42 } 43 }, 44 "jacket": { 45 "type": "blob", 46 "description": "The jacket or banner art of this chart, for display in UI. Will fall back to the song jacket if not present", 47 "accept": [ 48 "image/png", 49 "image/jpeg", 50 "image/jxl", 51 "image/webp" 52 ], 53 "maxSize": 8000000 54 }, 55 "jacketArtist": { 56 "type": "ref", 57 "description": "The name of the jacket artist for this chart.", 58 "ref": "dev.tsunagite.translatable" 59 }, 60 "createdAt": { 61 "type": "string", 62 "format": "datetime" 63 }, 64 "updatedAt": { 65 "type": "string", 66 "format": "datetime" 67 } 68 }, 69 "required": [ 70 "game", 71 "song", 72 "difficulty", 73 "rating" 74 ] 75 } 76 } 77 } 78}