to.atpota.poe.scene
Schema Diff
+4 -3
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "to.atpota.poe.scene:body.kind", sort: "knownValues", old_value: "[\"starting\",\"brb\",\"ending\",\"screenshare\",\"loading\"]", new_value: "[\"starting\",\"brb\",\"ending\",\"screenshare\",\"loading\",\"clock\"]" }
Migration Guidance
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "to.atpota.poe.scene:body.kind", sort: "knownValues", old_value: "[\"starting\",\"brb\",\"ending\",\"screenshare\",\"loading\"]", new_value: "[\"starting\",\"brb\",\"ending\",\"screenshare\",\"loading\",\"clock\"]" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"camera": {
5
5
"description": "The screen share's camera window.",
6
6
"properties": {
7
7
"shape": {
8
8
"knownValues": [
9
9
"rounded",
10
10
"circle",
11
11
"wide"
12
12
],
13
13
"type": "string"
14
14
},
15
15
"side": {
16
16
"knownValues": [
17
17
"right",
18
18
"left",
19
19
"none"
20
20
],
21
21
"type": "string"
22
22
}
23
23
},
24
24
"required": [
25
25
"side",
26
26
"shape"
27
27
],
28
28
"type": "object"
29
29
},
30
30
"countdown": {
31
31
"description": "The starting screen's countdown: to a time, or a timer that starts when the scene is shown.",
32
32
"properties": {
33
33
"at": {
34
34
"description": "For a clock: when the stream starts.",
35
35
"format": "datetime",
36
36
"type": "string"
37
37
},
38
38
"minutes": {
39
39
"description": "For a timer.",
40
40
"maximum": 120,
41
41
"minimum": 1,
42
42
"type": "integer"
43
43
},
44
44
"mode": {
45
45
"knownValues": [
46
46
"timer",
47
47
"clock",
48
48
"none"
49
49
],
50
50
"type": "string"
51
51
}
52
52
},
53
53
"required": [
54
54
"mode"
55
55
],
56
56
"type": "object"
57
57
},
58
58
"main": {
59
59
"key": "any",
60
60
"record": {
61
61
"properties": {
62
62
"background": {
63
63
"description": "The sky behind it all (the screen share's frame colour).",
64
64
"knownValues": [
65
65
"day",
66
66
"night",
67
67
"garden",
68
68
"butter"
69
69
],
70
70
"type": "string"
71
71
},
72
72
"camera": {
73
73
"ref": "#camera",
74
74
"type": "ref"
75
75
},
76
76
"countdown": {
77
77
"ref": "#countdown",
78
78
"type": "ref"
79
79
},
80
80
"createdAt": {
81
81
"format": "datetime",
82
82
"type": "string"
83
83
},
84
84
"ground": {
85
85
"description": "What's along the bottom: a meadow hill with flowers, a strip of grass, soil with sprouts, or nothing.",
86
86
"knownValues": [
87
87
"meadow",
88
88
"grass",
89
89
"soil",
90
90
"none"
91
91
],
92
92
"type": "string"
93
93
},
94
94
"kind": {
95
-
"description": "Which sort of screen it is (loading: Anisota's loading screen, its brand mark with the moon running through its phases, on black). Without it, the record key's kind, or starting.",
95
+
"description": "Which sort of screen it is (loading: Anisota's loading screen, its brand mark with the moon running through its phases, on black; clock: a waiting screen with the time ticking as an atproto TID). Without it, the record key's kind, or starting.",
96
96
"knownValues": [
97
97
"starting",
98
98
"brb",
99
99
"ending",
100
100
"screenshare",
101
-
"loading"
101
+
"loading",
102
+
"clock"
102
103
],
103
104
"type": "string"
104
105
},
105
106
"links": {
106
107
"description": "Where to find the streamer, on the end screen (\"bsky.app/profile/dame.is\").",
107
108
"items": {
108
109
"maxGraphemes": 60,
109
110
"maxLength": 300,
110
111
"type": "string"
111
112
},
112
113
"maxLength": 4,
113
114
"type": "array"
114
115
},
115
116
"name": {
116
117
"description": "What the streamer calls this screen (\"coding brb\"), on the setup page only.",
117
118
"maxGraphemes": 40,
118
119
"maxLength": 200,
119
120
"type": "string"
120
121
},
121
122
"showPoe": {
122
123
"type": "boolean"
123
124
},
124
125
"showWidgets": {
125
126
"description": "Whether the weather widgets from the overlay's settings show on this scene too.",
126
127
"type": "boolean"
127
128
},
128
129
"subtitle": {
129
130
"description": "A line under them: what the stream is about.",
130
131
"maxGraphemes": 200,
131
132
"maxLength": 1000,
132
133
"type": "string"
133
134
},
134
135
"title": {
135
136
"description": "The big words (\"starting soon\").",
136
137
"maxGraphemes": 80,
137
138
"maxLength": 400,
138
139
"type": "string"
139
140
},
140
141
"updatedAt": {
141
142
"format": "datetime",
142
143
"type": "string"
143
144
}
144
145
},
145
146
"required": [
146
147
"createdAt",
147
148
"updatedAt"
148
149
],
149
150
"type": "object"
150
151
},
151
152
"type": "record"
152
153
}
153
154
},
154
-
"description": "One of the full-screen screens of Poe's stream overlay (atpota.to/overlay?scene=<record key>): a countdown before a stream, a be-right-back screen, an end screen, or a frame for sharing a screen with a camera. A streamer can keep as many as they like, one record each; the record key is the screen's id in its URL (lowercase letters, digits and dashes). The ones a streamer starts with are keyed by their kind: \"starting\", \"brb\", \"ending\", \"screenshare\" and \"loading\". The overlay reads it from your repo and follows changes live.",
155
+
"description": "One of the full-screen screens of Poe's stream overlay (atpota.to/overlay?scene=<record key>): a countdown before a stream, a be-right-back screen, an end screen, or a frame for sharing a screen with a camera. A streamer can keep as many as they like, one record each; the record key is the screen's id in its URL (lowercase letters, digits and dashes). The ones a streamer starts with are keyed by their kind: \"starting\", \"brb\", \"ending\", \"screenshare\", \"loading\" and \"clock\". The overlay reads it from your repo and follows changes live.",
155
156
"id": "to.atpota.poe.scene",
156
157
"lexicon": 1
157
158
}