pics.2bit.actor.profile
Schema Diff
+21 -7
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 6 non-breaking changes.
Breaking Changes (3)
- KindChanged KindChanged { vertex_id: "pics.2bit.actor.profile:body.avatar", old_kind: "blob", new_kind: "bytes" }
- ConstraintAdded ConstraintAdded { vertex_id: "pics.2bit.actor.profile:body.avatar", sort: "maxLength", value: "3584" }
- ConstraintAdded ConstraintAdded { vertex_id: "pics.2bit.actor.profile:body.avatar", sort: "minLength", value: "3584" }
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "pics.2bit.actor.profile:body.avatarColors" }
- AddedVertex AddedVertex { vertex_id: "pics.2bit.actor.profile:body.avatarColors:items" }
- AddedVertex AddedVertex { vertex_id: "pics.2bit.actor.profile:body.updatedAt" }
- AddedEdge AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.avatarColors", kind: "prop", name: Some("avatarColors") }
- AddedEdge AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.updatedAt", kind: "prop", name: Some("updatedAt") }
- AddedEdge AddedEdge { src: "pics.2bit.actor.profile:body.avatarColors", tgt: "pics.2bit.actor.profile:body.avatarColors:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "pics.2bit.actor.profile:body.avatarColors" }AddedVertex { vertex_id: "pics.2bit.actor.profile:body.avatarColors:items" }AddedVertex { vertex_id: "pics.2bit.actor.profile:body.updatedAt" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "pics.2bit.actor.profile:body.avatar", sort: "minLength", value: "3584" }
- ConstraintAdded ConstraintAdded { vertex_id: "pics.2bit.actor.profile:body.avatar", sort: "maxLength", value: "3584" }
Additional Notes
- Breaking: KindChanged { vertex_id: "pics.2bit.actor.profile:body.avatar", old_kind: "blob", new_kind: "bytes" }
- Non-breaking: AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.avatarColors", kind: "prop", name: Some("avatarColors") }
- Non-breaking: AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.updatedAt", kind: "prop", name: Some("updatedAt") }
- Non-breaking: AddedEdge { src: "pics.2bit.actor.profile:body.avatarColors", tgt: "pics.2bit.actor.profile:body.avatarColors:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A 2bit.pics profile.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"avatar": {
10
-
"accept": [
11
-
"image/png",
12
-
"image/jpeg"
13
-
],
14
-
"description": "Ideally also dithered.",
15
-
"maxSize": 1000000,
16
-
"type": "blob"
10
+
"description": "128x112 2bpp Game Boy Camera tile data, same layout as pics.2bit.feed.photo#image. Square avatars are produced by cropping at render time, not on write.",
11
+
"maxLength": 3584,
12
+
"minLength": 3584,
13
+
"type": "bytes"
14
+
},
15
+
"avatarColors": {
16
+
"description": "Four 24-bit RGB colors (0 to 0xFFFFFF) corresponding to the avatar's 2bpp pixel values 0 through 3, where 0 is lightest and 3 is darkest.",
17
+
"items": {
18
+
"maximum": 16777215,
19
+
"minimum": 0,
20
+
"type": "integer"
21
+
},
22
+
"maxLength": 4,
23
+
"minLength": 4,
24
+
"type": "array"
17
25
},
18
26
"createdAt": {
27
+
"description": "When this profile record was first published.",
19
28
"format": "datetime",
20
29
"type": "string"
21
30
},
22
31
"description": {
23
32
"maxGraphemes": 256,
24
33
"maxLength": 2560,
25
34
"type": "string"
26
35
},
27
36
"displayName": {
28
37
"maxGraphemes": 64,
29
38
"maxLength": 640,
30
39
"type": "string"
31
40
},
32
41
"gear": {
33
42
"description": "Main rig flex slot.",
34
43
"maxLength": 100,
35
44
"type": "string"
45
+
},
46
+
"updatedAt": {
47
+
"description": "When this profile record was last edited. Unset on a profile that has never been edited since creation.",
48
+
"format": "datetime",
49
+
"type": "string"
36
50
}
37
51
},
38
52
"type": "object"
39
53
},
40
54
"type": "record"
41
55
}
42
56
},
43
57
"id": "pics.2bit.actor.profile",
44
58
"lexicon": 1
45
59
}