com.cultureblocs.annotation
Schema Diff
+12 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.annotation:body.photos" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.annotation:body.photos:items" }
- AddedEdge AddedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.photos", kind: "prop", name: Some("photos") }
- AddedEdge AddedEdge { src: "com.cultureblocs.annotation:body.photos", tgt: "com.cultureblocs.annotation:body.photos:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.cultureblocs.annotation:body.photos" }AddedVertex { vertex_id: "com.cultureblocs.annotation:body.photos:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.photos", kind: "prop", name: Some("photos") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.annotation:body.photos", tgt: "com.cultureblocs.annotation:body.photos:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A bookmark/note about a specific work, typically minted by the AR gallery app at the moment of recognition. Meaningful entirely on its own — no bead required.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"context": {
10
10
"description": "Optional exhibition or event record this annotation was made within.",
11
11
"ref": "com.cultureblocs.defs#strongRef",
12
12
"type": "ref"
13
13
},
14
14
"createdAt": {
15
15
"format": "datetime",
16
16
"type": "string"
17
17
},
18
18
"geo": {
19
19
"ref": "com.cultureblocs.defs#geo",
20
20
"type": "ref"
21
21
},
22
22
"matchConfidence": {
23
23
"description": "How the work was identified: cosine embedding match, ORB geometric verification, or manual entry.",
24
24
"knownValues": [
25
25
"embedding",
26
26
"geometric",
27
27
"manual"
28
28
],
29
29
"type": "string"
30
30
},
31
31
"media": {
32
32
"items": {
33
33
"ref": "com.cultureblocs.defs#mediaRef",
34
34
"type": "ref"
35
35
},
36
36
"maxLength": 10,
37
37
"type": "array"
38
38
},
39
39
"note": {
40
40
"maxGraphemes": 3000,
41
41
"type": "string"
42
42
},
43
+
"photos": {
44
+
"description": "Published photos as ATProto blobs. Tier 0 records use `media` (local refs); the promoter uploads and swaps at publish time.",
45
+
"items": {
46
+
"accept": [
47
+
"image/*"
48
+
],
49
+
"maxSize": 2000000,
50
+
"type": "blob"
51
+
},
52
+
"maxLength": 10,
53
+
"type": "array"
54
+
},
43
55
"provenance": {
44
56
"ref": "com.cultureblocs.defs#provenance",
45
57
"type": "ref"
46
58
},
47
59
"work": {
48
60
"ref": "com.cultureblocs.defs#workRef",
49
61
"type": "ref"
50
62
}
51
63
},
52
64
"required": [
53
65
"createdAt",
54
66
"work"
55
67
],
56
68
"type": "object"
57
69
},
58
70
"type": "record"
59
71
}
60
72
},
61
73
"id": "com.cultureblocs.annotation",
62
74
"lexicon": 1
63
75
}