to.atpota.poe.scene

atpota.to

Schema Diff

+4 -3

From

CID
bafyreigfpohniko...
Indexed At
2026-10-22 13:30 UTC
View this version

To

CID
bafyreidopy6t4iy...
Indexed At
2026-10-22 15:45 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@