cafe.thunderbird.sevenup.match
Schema Diff
+3 -3
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "One player's copy of a finished Seven-Up match. Each player saves their own; the record key is the match id, so the two copies share it. A player against the bot saves alone.",
6
-
"key": "any",
5
+
"description": "One player's copy of a finished Seven-Up match. Each player saves their own; the record key is the match id (a TID made when the house flips the coin), so the two copies share it. A player against the bot saves alone.",
6
+
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"format": "datetime",
11
11
"type": "string"
12
12
},
13
13
"firstPlayer": {
14
14
"description": "Who the house's coin chose to start.",
15
15
"maximum": 2,
16
16
"minimum": 1,
17
17
"type": "integer"
18
18
},
19
19
"handoffs": {
20
20
"description": "How the dice changed hands between rounds: granted by the player holding them, or passed by the house after 10 seconds.",
21
21
"items": {
22
22
"knownValues": [
23
23
"granted",
24
24
"auto"
25
25
],
26
26
"type": "string"
27
27
},
28
28
"maxLength": 5,
29
29
"type": "array"
30
30
},
31
31
"house": {
32
32
"description": "The house tile that refereed the match (rolled the dice and kept the score).",
33
33
"ref": "com.atproto.repo.strongRef",
34
34
"type": "ref"
35
35
},
36
36
"matchId": {
37
-
"description": "The match id, also this record's key.",
37
+
"description": "The match id, also this record's key: a TID made when the house flipped the coin. (Matches saved before Oct 17 2026 have random 13-character ids.)",
38
38
"maxLength": 13,
39
39
"minLength": 13,
40
40
"type": "string"
41
41
},
42
42
"players": {
43
43
"items": {
44
44
"ref": "#player",
45
45
"type": "ref"
46
46
},
47
47
"maxLength": 2,
48
48
"minLength": 2,
49
49
"type": "array"
50
50
},
51
51
"rounds": {
52
52
"description": "All six rounds in play order, three each, players taking turns.",
53
53
"items": {
54
54
"ref": "#round",
55
55
"type": "ref"
56
56
},
57
57
"maxLength": 6,
58
58
"minLength": 6,
59
59
"type": "array"
60
60
},
61
61
"seat": {
62
62
"description": "Which player saved this record (1 or 2, an index into players).",
63
63
"maximum": 2,
64
64
"minimum": 1,
65
65
"type": "integer"
66
66
},
67
67
"summary": {
68
68
"description": "Each player's totals, in player order. Special rolls are worked out from the rolls.",
69
69
"items": {
70
70
"ref": "#summary",
71
71
"type": "ref"
72
72
},
73
73
"maxLength": 2,
74
74
"minLength": 2,
75
75
"type": "array"
76
76
}
77
77
},
78
78
"required": [
79
79
"matchId",
80
80
"seat",
81
81
"players",
82
82
"firstPlayer",
83
83
"rounds",
84
84
"handoffs",
85
85
"summary",
86
86
"createdAt"
87
87
],
88
88
"type": "object"
89
89
},
90
90
"type": "record"
91
91
},
92
92
"player": {
93
93
"properties": {
94
94
"bot": {
95
95
"description": "True when this seat was played by the table's bot.",
96
96
"type": "boolean"
97
97
},
98
98
"diceStyle": {
99
99
"knownValues": [
100
100
"bone",
101
101
"casino",
102
102
"jade",
103
103
"midnight",
104
104
"glow",
105
105
"brick"
106
106
],
107
107
"type": "string"
108
108
},
109
109
"did": {
110
110
"format": "did",
111
111
"type": "string"
112
112
},
113
113
"handle": {
114
114
"description": "The handle at the time of the match, for display; the did is what counts.",
115
115
"format": "handle",
116
116
"type": "string"
117
117
}
118
118
},
119
119
"required": [
120
120
"did",
121
121
"handle",
122
122
"diceStyle"
123
123
],
124
124
"type": "object"
125
125
},
126
126
"round": {
127
127
"properties": {
128
128
"player": {
129
129
"maximum": 2,
130
130
"minimum": 1,
131
131
"type": "integer"
132
132
},
133
133
"rolls": {
134
134
"description": "Every roll of the round, two dice each, ending with the first 7.",
135
135
"items": {
136
136
"items": {
137
137
"maximum": 6,
138
138
"minimum": 1,
139
139
"type": "integer"
140
140
},
141
141
"maxLength": 2,
142
142
"minLength": 2,
143
143
"type": "array"
144
144
},
145
145
"minLength": 1,
146
146
"type": "array"
147
147
}
148
148
},
149
149
"required": [
150
150
"player",
151
151
"rolls"
152
152
],
153
153
"type": "object"
154
154
},
155
155
"summary": {
156
156
"properties": {
157
157
"longest": {
158
158
"description": "Rolls in the player's longest round.",
159
159
"minimum": 0,
160
160
"type": "integer"
161
161
},
162
162
"quickest": {
163
163
"description": "Rolls in the player's quickest round.",
164
164
"minimum": 0,
165
165
"type": "integer"
166
166
},
167
167
"specials": {
168
168
"description": "Special rolls (snake eyes, yo-leven, boxcars and the doubles 2 to 5), never counting the closing 7.",
169
169
"minimum": 0,
170
170
"type": "integer"
171
171
}
172
172
},
173
173
"required": [
174
174
"longest",
175
175
"quickest",
176
176
"specials"
177
177
],
178
178
"type": "object"
179
179
}
180
180
},
181
181
"description": "Seven-Up, a two-player dice game played with web tiles at thunderbird.cafe/webtiles/sevenup/.",
182
182
"id": "cafe.thunderbird.sevenup.match",
183
183
"lexicon": 1
184
184
}