lol.folk.profile
Schema Diff
+14 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "lol.folk.profile:body.avatar" }
- AddedVertex AddedVertex { vertex_id: "lol.folk.profile:body.updatedAt" }
- AddedEdge AddedEdge { src: "lol.folk.profile:body", tgt: "lol.folk.profile:body.avatar", kind: "prop", name: Some("avatar") }
- AddedEdge AddedEdge { src: "lol.folk.profile:body", tgt: "lol.folk.profile:body.updatedAt", kind: "prop", name: Some("updatedAt") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "lol.folk.profile:body.avatar" }AddedVertex { vertex_id: "lol.folk.profile:body.updatedAt" }
Additional Notes
- Non-breaking: AddedEdge { src: "lol.folk.profile:body", tgt: "lol.folk.profile:body.avatar", kind: "prop", name: Some("avatar") }
- Non-breaking: AddedEdge { src: "lol.folk.profile:body", tgt: "lol.folk.profile:body.updatedAt", kind: "prop", name: Some("updatedAt") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A player's FOLK profile, stored in the player's own repository. The collection identifies the game: the NSID authority reverses to folk.lol, whose repo holds the lol.folk.game record. Presence of this record is itself the signal that the account plays FOLK, so every field is optional.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
+
"avatar": {
10
+
"accept": [
11
+
"image/webp",
12
+
"image/png"
13
+
],
14
+
"description": "The player's portrait, already composited over its background. A rendered image rather than the traits behind it, so any client can draw a FOLK player with one fetch and no knowledge of our art. The traits themselves stay in the game's own database, where the editor needs them.",
15
+
"maxSize": 262144,
16
+
"type": "blob"
17
+
},
9
18
"displayName": {
10
19
"description": "In-game display name.",
11
20
"maxGraphemes": 64,
12
21
"maxLength": 640,
13
22
"type": "string"
23
+
},
24
+
"updatedAt": {
25
+
"description": "When this record last changed. The record is rewritten in place on every rename or avatar edit, so without this a reader cannot tell a current profile from a stale one.",
26
+
"format": "datetime",
27
+
"type": "string"
14
28
}
15
29
},
16
30
"type": "object"
17
31
},
18
32
"type": "record"
19
33
}
20
34
},
21
35
"id": "lol.folk.profile",
22
36
"lexicon": 1
23
37
}