com.cultureblocs.annotation
Schema Diff
+9 -12
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 6 non-breaking changes.
Breaking Changes (4)
- RemovedVertex RemovedVertex { vertex_id: "com.cultureblocs.annotation:body.photos" }
- RemovedVertex RemovedVertex { vertex_id: "com.cultureblocs.annotation:body.photos:items" }
- RemovedEdge RemovedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.photos", kind: "prop", name: Some("photos") }
- RemovedEdge RemovedEdge { src: "com.cultureblocs.annotation:body.photos", tgt: "com.cultureblocs.annotation:body.photos:items", kind: "items", name: None }
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.annotation:body.images" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.annotation:body.images:items" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.defs#imageRef" }
- AddedEdge AddedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.images", kind: "prop", name: Some("images") }
- AddedEdge AddedEdge { src: "com.cultureblocs.annotation:body.images", tgt: "com.cultureblocs.annotation:body.images:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "com.cultureblocs.annotation:body.images:items", tgt: "com.cultureblocs.defs#imageRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.cultureblocs.annotation:body.photos" }RemovedVertex { vertex_id: "com.cultureblocs.annotation:body.photos:items" }
Added Elements
AddedVertex { vertex_id: "com.cultureblocs.annotation:body.images" }AddedVertex { vertex_id: "com.cultureblocs.annotation:body.images:items" }AddedVertex { vertex_id: "com.cultureblocs.defs#imageRef" }
Additional Notes
- Breaking: RemovedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.photos", kind: "prop", name: Some("photos") }
- Breaking: RemovedEdge { src: "com.cultureblocs.annotation:body.photos", tgt: "com.cultureblocs.annotation:body.photos:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "com.cultureblocs.annotation:body", tgt: "com.cultureblocs.annotation:body.images", kind: "prop", name: Some("images") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.annotation:body.images", tgt: "com.cultureblocs.annotation:body.images:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "com.cultureblocs.annotation:body.images:items", tgt: "com.cultureblocs.defs#imageRef", kind: "ref", 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
+
"images": {
23
+
"description": "Published images as imageRefs. Tier 0 records use `media` (local refs); the promoter uploads the bytes and maps alt + aspectRatio across at publish time.",
24
+
"items": {
25
+
"ref": "com.cultureblocs.defs#imageRef",
26
+
"type": "ref"
27
+
},
28
+
"maxLength": 10,
29
+
"type": "array"
30
+
},
22
31
"matchConfidence": {
23
32
"description": "How the work was identified: cosine embedding match, ORB geometric verification, or manual entry.",
24
33
"knownValues": [
25
34
"embedding",
26
35
"geometric",
27
36
"manual"
28
37
],
29
38
"type": "string"
30
39
},
31
40
"media": {
32
41
"items": {
33
42
"ref": "com.cultureblocs.defs#mediaRef",
34
43
"type": "ref"
35
44
},
36
45
"maxLength": 10,
37
46
"type": "array"
38
47
},
39
48
"note": {
40
49
"maxGraphemes": 3000,
41
50
"type": "string"
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
51
},
55
52
"provenance": {
56
53
"ref": "com.cultureblocs.defs#provenance",
57
54
"type": "ref"
58
55
},
59
56
"work": {
60
57
"ref": "com.cultureblocs.defs#workRef",
61
58
"type": "ref"
62
59
}
63
60
},
64
61
"required": [
65
62
"createdAt",
66
63
"work"
67
64
],
68
65
"type": "object"
69
66
},
70
67
"type": "record"
71
68
}
72
69
},
73
70
"id": "com.cultureblocs.annotation",
74
71
"lexicon": 1
75
72
}