app.atmobb.actor.profile
Schema Diff
+12 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "app.atmobb.actor.profile:body.theme" }
- AddedEdge AddedEdge { src: "app.atmobb.actor.profile:body", tgt: "app.atmobb.actor.profile:body.theme", kind: "prop", name: Some("theme") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.atmobb.actor.profile:body.theme" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.atmobb.actor.profile:body", tgt: "app.atmobb.actor.profile:body.theme", kind: "prop", name: Some("theme") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"avatarBuilder": {
5
5
"description": "Legacy built avatar as part + colour choices. Kept so existing records stay valid.",
6
6
"properties": {
7
7
"accessory": {
8
8
"ref": "#part",
9
9
"type": "ref"
10
10
},
11
11
"eyebrows": {
12
12
"ref": "#part",
13
13
"type": "ref"
14
14
},
15
15
"eyes": {
16
16
"ref": "#part",
17
17
"type": "ref"
18
18
},
19
19
"facialFeature": {
20
20
"ref": "#part",
21
21
"type": "ref"
22
22
},
23
23
"facialHair": {
24
24
"ref": "#part",
25
25
"type": "ref"
26
26
},
27
27
"hairBack": {
28
28
"ref": "#part",
29
29
"type": "ref"
30
30
},
31
31
"hairFront": {
32
32
"ref": "#part",
33
33
"type": "ref"
34
34
},
35
35
"hat": {
36
36
"ref": "#part",
37
37
"type": "ref"
38
38
},
39
39
"mouth": {
40
40
"ref": "#part",
41
41
"type": "ref"
42
42
},
43
43
"neckwear": {
44
44
"ref": "#garment",
45
45
"type": "ref"
46
46
},
47
47
"nose": {
48
48
"ref": "#part",
49
49
"type": "ref"
50
50
},
51
51
"skin": {
52
52
"description": "Skin tone id; drives body, head, nose and facial-feature colouring.",
53
53
"type": "string"
54
54
},
55
55
"top": {
56
56
"ref": "#garment",
57
57
"type": "ref"
58
58
},
59
59
"v": {
60
60
"description": "Recipe schema version.",
61
61
"minimum": 1,
62
62
"type": "integer"
63
63
}
64
64
},
65
65
"required": [
66
66
"v",
67
67
"skin"
68
68
],
69
69
"type": "object"
70
70
},
71
71
"garment": {
72
72
"description": "A garment choice: which type (e.g. jacket, tie) in which colour.",
73
73
"properties": {
74
74
"color": {
75
75
"type": "string"
76
76
},
77
77
"type": {
78
78
"type": "string"
79
79
}
80
80
},
81
81
"required": [
82
82
"type",
83
83
"color"
84
84
],
85
85
"type": "object"
86
86
},
87
87
"main": {
88
88
"description": "A user's atmoBB profile, global across all forums. Lives in the user's repo.",
89
89
"key": "literal:self",
90
90
"record": {
91
91
"properties": {
92
92
"avatar": {
93
93
"accept": [
94
94
"image/png",
95
95
"image/jpeg",
96
96
"image/webp",
97
97
"image/gif"
98
98
],
99
99
"maxSize": 1000000,
100
100
"type": "blob"
101
101
},
102
102
"avatarBuilder": {
103
103
"description": "Legacy layered-avatar recipe from an earlier builder. atmobb ignores it; clients should read the `avatar` blob.",
104
104
"ref": "#avatarBuilder",
105
105
"type": "ref"
106
106
},
107
107
"createdAt": {
108
108
"format": "datetime",
109
109
"type": "string"
110
110
},
111
111
"description": {
112
112
"description": "Free-text bio, shown on the profile's About panel. Global across forums.",
113
113
"maxGraphemes": 256,
114
114
"maxLength": 2560,
115
115
"type": "string"
116
116
},
117
117
"displayName": {
118
118
"maxGraphemes": 64,
119
119
"maxLength": 640,
120
120
"type": "string"
121
121
},
122
122
"pronouns": {
123
123
"maxGraphemes": 64,
124
124
"maxLength": 640,
125
125
"type": "string"
126
126
},
127
127
"signature": {
128
128
"description": "Rendered under every post, phpBB style. Keep it short; clients may truncate.",
129
129
"items": {
130
130
"refs": [
131
131
"app.atmobb.richtext.block#text",
132
132
"app.atmobb.richtext.block#quote",
133
133
"app.atmobb.richtext.block#code",
134
134
"app.atmobb.richtext.block#image"
135
135
],
136
136
"type": "union"
137
137
},
138
138
"maxLength": 3,
139
139
"type": "array"
140
140
},
141
+
"theme": {
142
+
"description": "Personal color theme across forums. Omit to follow each forum's default styling.",
143
+
"knownValues": [
144
+
"classic",
145
+
"sky",
146
+
"bubblegum",
147
+
"midnight",
148
+
"forest"
149
+
],
150
+
"maxLength": 64,
151
+
"type": "string"
152
+
},
141
153
"title": {
142
154
"description": "Self-chosen user title, shown under the username where the forum allows it.",
143
155
"maxGraphemes": 64,
144
156
"maxLength": 640,
145
157
"type": "string"
146
158
},
147
159
"website": {
148
160
"format": "uri",
149
161
"type": "string"
150
162
}
151
163
},
152
164
"type": "object"
153
165
},
154
166
"type": "record"
155
167
},
156
168
"part": {
157
169
"description": "A part choice: a shape id and, where the part is colourable, a palette colour id.",
158
170
"properties": {
159
171
"color": {
160
172
"type": "string"
161
173
},
162
174
"shape": {
163
175
"type": "string"
164
176
}
165
177
},
166
178
"required": [
167
179
"shape"
168
180
],
169
181
"type": "object"
170
182
}
171
183
},
172
184
"id": "app.atmobb.actor.profile",
173
185
"lexicon": 1
174
186
}