lol.folk.profile

folk.lol

Schema Diff

+14 -0

From

CID
bafyreidxuv5tgfw...
Indexed At
2026-08-15 18:12 UTC
View this version

To

CID
bafyreib4r5q2wns...
Indexed At
2026-08-16 09:16 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@