to.atpota.poe.overlay

atpota.to

Schema Diff

+1 -2

From

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

To

CID
bafyreiaeiiwlg5l...
Indexed At
2026-10-22 15:50 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.overlay#widget.style", sort: "knownValues", old_value: "[\"ticking\",\"decoded\",\"mini\",\"count\",\"stats\",\"latest\",\"both\",\"status\",\"vitals\",\"now\",\"history\",\"corner\",\"side\",\"pop\"]", new_value: "[\"ticking\",\"mini\",\"count\",\"stats\",\"latest\",\"both\",\"status\",\"vitals\",\"now\",\"history\",\"corner\",\"side\",\"pop\"]" }

Migration Guidance

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "to.atpota.poe.overlay#widget.style", sort: "knownValues", old_value: "[\"ticking\",\"decoded\",\"mini\",\"count\",\"stats\",\"latest\",\"both\",\"status\",\"vitals\",\"now\",\"history\",\"corner\",\"side\",\"pop\"]", new_value: "[\"ticking\",\"mini\",\"count\",\"stats\",\"latest\",\"both\",\"status\",\"vitals\",\"now\",\"history\",\"corner\",\"side\",\"pop\"]" }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "any",
6 6
      "record": {
7 7
        "properties": {
8 8
          "alerts": {
9 9
            "description": "Poe says weather alerts (storms, apps blowing in).",
10 10
            "type": "boolean"
11 11
          },
12 12
          "chat": {
13 13
            "description": "Poe says hello to chatters and answers chat commands.",
14 14
            "type": "boolean"
15 15
          },
16 16
          "createdAt": {
17 17
            "format": "datetime",
18 18
            "type": "string"
19 19
          },
20 20
          "follows": {
21 21
            "description": "Poe thanks new followers.",
22 22
            "type": "boolean"
23 23
          },
24 24
          "ignore": {
25 25
            "description": "Accounts Poe never greets, thanks or answers (bots).",
26 26
            "items": {
27 27
              "format": "at-identifier",
28 28
              "type": "string"
29 29
            },
30 30
            "maxLength": 50,
31 31
            "type": "array"
32 32
          },
33 33
          "name": {
34 34
            "description": "What the streamer calls this layout, on the setup page only.",
35 35
            "maxGraphemes": 40,
36 36
            "maxLength": 400,
37 37
            "type": "string"
38 38
          },
39 39
          "nap": {
40 40
            "description": "Minutes of quiet before Poe naps; 0 never.",
41 41
            "maximum": 240,
42 42
            "minimum": 0,
43 43
            "type": "integer"
44 44
          },
45 45
          "poe": {
46 46
            "ref": "#poe",
47 47
            "type": "ref"
48 48
          },
49 49
          "theme": {
50 50
            "knownValues": [
51 51
              "light",
52 52
              "dark"
53 53
            ],
54 54
            "type": "string"
55 55
          },
56 56
          "updatedAt": {
57 57
            "format": "datetime",
58 58
            "type": "string"
59 59
          },
60 60
          "visitors": {
61 61
            "description": "Now and then a butterfly, bird, snail, worm or moth visits Poe.",
62 62
            "type": "boolean"
63 63
          },
64 64
          "volume": {
65 65
            "description": "How loud Poe's noises are; 0 is silent.",
66 66
            "maximum": 100,
67 67
            "minimum": 0,
68 68
            "type": "integer"
69 69
          },
70 70
          "widgets": {
71 71
            "description": "The widgets on screen, each kind at most once.",
72 72
            "items": {
73 73
              "ref": "#widget",
74 74
              "type": "ref"
75 75
            },
76 76
            "maxLength": 16,
77 77
            "type": "array"
78 78
          }
79 79
        },
80 80
        "required": [
81 81
          "poe",
82 82
          "widgets",
83 83
          "createdAt",
84 84
          "updatedAt"
85 85
        ],
86 86
        "type": "object"
87 87
      },
88 88
      "type": "record"
89 89
    },
90 90
    "poe": {
91 91
      "properties": {
92 92
        "scale": {
93 93
          "description": "Percent of its usual size.",
94 94
          "maximum": 200,
95 95
          "minimum": 50,
96 96
          "type": "integer"
97 97
        },
98 98
        "show": {
99 99
          "type": "boolean"
100 100
        },
101 101
        "side": {
102 102
          "description": "Which bottom corner Poe sits in; it faces into the screen.",
103 103
          "knownValues": [
104 104
            "left",
105 105
            "right"
106 106
          ],
107 107
          "type": "string"
108 108
        }
109 109
      },
110 110
      "required": [
111 111
        "show",
112 112
        "side",
113 113
        "scale"
114 114
      ],
115 115
      "type": "object"
116 116
    },
117 117
    "widget": {
118 118
      "properties": {
119 119
        "kind": {
120 120
          "description": "The atmosphere's weather (card to pulse), Anisota's moon, mark and loader, the time as a TID, the streamer's flushes (im.flushing.right.now), status and vitals (is.dame.now, is.dame.state) and teal.fm music, or their stream.place chat.",
121 121
          "knownValues": [
122 122
            "card",
123 123
            "strip",
124 124
            "badge",
125 125
            "apps",
126 126
            "forecast",
127 127
            "pulse",
128 128
            "moon",
129 129
            "mark",
130 130
            "loader",
131 131
            "tid",
132 132
            "flushes",
133 133
            "status",
134 134
            "music",
135 135
            "chat"
136 136
          ],
137 137
          "type": "string"
138 138
        },
139 139
        "scale": {
140 140
          "description": "Percent of its usual size.",
141 141
          "maximum": 200,
142 142
          "minimum": 50,
143 143
          "type": "integer"
144 144
        },
145 145
        "slot": {
146 146
          "description": "Where on screen. Widgets in the same slot stack.",
147 147
          "knownValues": [
148 148
            "top-left",
149 149
            "top-center",
150 150
            "top-right",
151 151
            "bottom-left",
152 152
            "bottom-center",
153 153
            "bottom-right"
154 154
          ],
155 155
          "type": "string"
156 156
        },
157 157
        "style": {
158 -
          "description": "How the widget looks, for the kinds with more than one way: tid (ticking, decoded, mini), flushes (count, stats, latest), status (both, status, vitals), music (now, history, stats, mini), chat (corner, side, pop). Absent or unknown is the kind's first.",
158 +
          "description": "How the widget looks, for the kinds with more than one way: tid (ticking, mini), flushes (count, stats, latest), status (both, status, vitals), music (now, history, stats, mini), chat (corner, side, pop). Absent or unknown is the kind's first.",
159 159
          "knownValues": [
160 160
            "ticking",
161 -
            "decoded",
162 161
            "mini",
163 162
            "count",
164 163
            "stats",
165 164
            "latest",
166 165
            "both",
167 166
            "status",
168 167
            "vitals",
169 168
            "now",
170 169
            "history",
171 170
            "corner",
172 171
            "side",
173 172
            "pop"
174 173
          ],
175 174
          "maxLength": 32,
176 175
          "type": "string"
177 176
        }
178 177
      },
179 178
      "required": [
180 179
        "kind",
181 180
        "slot",
182 181
        "scale"
183 182
      ],
184 183
      "type": "object"
185 184
    }
186 185
  },
187 186
  "description": "How you've set up Poe's stream overlay (atpota.to/overlay): which weather widgets show, where and how big, which side Poe sits on, and what it reacts to. One record per layout: \"self\" is the main one (atpota.to/overlay?streamer=<handle>), and any others are at their own record key, their id in the URL (&layout=<id>; lowercase letters, digits and dashes). The overlay reads it from your repo and follows changes live, so a stream's overlay changes as soon as you save.",
188 187
  "id": "to.atpota.poe.overlay",
189 188
  "lexicon": 1
190 189
}

Compare Other Versions

Lexicon Garden

@