tech.waow.brand.defs
Schema Diff
+14 -4
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 1 non-breaking change.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "tech.waow.brand.defs#brandView", src: "tech.waow.brand.defs#brandView", tgt: "tech.waow.brand.defs#brandView.subject", kind: "prop", name: Some("subject") }
Non-Breaking Changes (1)
- AddedVertex AddedVertex { vertex_id: "tech.waow.brand.defs#brandView.subject" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "tech.waow.brand.defs#brandView.subject" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "tech.waow.brand.defs#brandView", src: "tech.waow.brand.defs#brandView", tgt: "tech.waow.brand.defs#brandView.subject", kind: "prop", name: Some("subject") }
1
1
{
2
2
"id": "tech.waow.brand.defs",
3
3
"defs": {
4
4
"colors": {
5
5
"type": "object",
6
6
"properties": {
7
7
"primary": {
8
8
"type": "string",
9
9
"maxLength": 7
10
10
},
11
11
"background": {
12
12
"type": "string",
13
13
"maxLength": 7
14
14
},
15
15
"foreground": {
16
16
"type": "string",
17
17
"maxLength": 7
18
18
}
19
19
},
20
20
"description": "Brand colors as sRGB hex, '#rrggbb'. Shared by the declaration record and the views that render it."
21
21
},
22
22
"authority": {
23
23
"type": "object",
24
24
"required": [
25
25
"domain",
26
26
"did",
27
27
"uri"
28
28
],
29
29
"properties": {
30
30
"did": {
31
31
"type": "string",
32
32
"format": "did"
33
33
},
34
34
"uri": {
35
35
"type": "string",
36
36
"format": "at-uri"
37
37
},
38
38
"domain": {
39
39
"type": "string",
40
40
"maxLength": 253,
41
-
"description": "The domain whose _lexicon TXT record names the declaring DID."
41
+
"description": "The domain whose _lexicon TXT record names the declaring DID, or the actor's handle."
42
42
}
43
43
},
44
-
"description": "Who declared a brand, and where they said it. Present only on a declared response."
44
+
"description": "Who chose this, and where they said it. For a namespace, the DID its _lexicon TXT record names; for an actor, the account itself."
45
45
},
46
46
"brandView": {
47
47
"type": "object",
48
48
"required": [
49
+
"subject",
49
50
"namespace",
50
51
"matched",
51
52
"source",
52
53
"icon"
53
54
],
54
55
"properties": {
55
56
"url": {
56
57
"type": "string",
57
58
"format": "uri"
58
59
},
59
60
"icon": {
60
61
"type": "string",
61
62
"maxLength": 8192,
62
63
"description": "URL for the icon: an https URL, or a data: URI when generated."
63
64
},
64
65
"name": {
65
66
"type": "string",
66
67
"maxLength": 128
67
68
},
68
69
"colors": {
69
70
"ref": "tech.waow.brand.defs#colors",
70
71
"type": "ref"
71
72
},
72
73
"source": {
73
74
"type": "string",
74
75
"maxLength": 32,
75
76
"description": "Who chose this. 'declared': the namespace's lexicon authority, in a record. 'borrowed': the reverse-DNS domain's atproto account avatar, chosen for that account rather than for this namespace. 'curated': the responding service's own table. 'generated': nobody, a deterministic monogram.",
76
77
"knownValues": [
77
78
"declared",
78
79
"borrowed",
79
80
"curated",
80
81
"generated"
81
82
]
82
83
},
83
84
"matched": {
84
85
"type": "string",
85
86
"maxLength": 317,
86
-
"description": "The namespace that actually answered: this one, or a shorter prefix it inherits from."
87
+
"description": "What actually answered: the namespace itself, a shorter prefix it inherits from, or -- for an actor -- their resolved handle."
88
+
},
89
+
"subject": {
90
+
"type": "string",
91
+
"maxLength": 16,
92
+
"description": "What kind of thing answered. 'plyr.fm' and 'fm.plyr' are both well-formed inputs and mean entirely different things: an identity and a namespace.",
93
+
"knownValues": [
94
+
"namespace",
95
+
"actor"
96
+
]
87
97
},
88
98
"wordmark": {
89
99
"type": "string",
90
100
"maxLength": 8192
91
101
},
92
102
"authority": {
93
103
"ref": "tech.waow.brand.defs#authority",
94
104
"type": "ref"
95
105
},
96
106
"namespace": {
97
107
"type": "string",
98
108
"maxLength": 317,
99
-
"description": "The namespace that was asked for."
109
+
"description": "The namespace or identifier that was asked for."
100
110
},
101
111
"iconSource": {
102
112
"type": "string",
103
113
"maxLength": 32,
104
114
"description": "Present only when the icon comes from a lower tier than the rest of the response, e.g. a declaration that omitted an icon. The icon never inherits the declaration's authority.",
105
115
"knownValues": [
106
116
"declared",
107
117
"borrowed",
108
118
"curated",
109
119
"generated"
110
120
]
111
121
},
112
122
"description": {
113
123
"type": "string",
114
124
"maxLength": 512
115
125
}
116
126
},
117
127
"description": "Resolved brand assets for one namespace."
118
128
}
119
129
},
120
130
"$type": "com.atproto.lexicon.schema",
121
131
"lexicon": 1
122
132
}