app.witchsky.theme.colors
Schema Diff
+2 -14
Compatibility Analysis
Breaking Changes Detected
5 breaking changes, 7 non-breaking changes.
Breaking Changes (5)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.witchsky.theme.colors#materialYou", src: "app.witchsky.theme.colors#materialYou", tgt: "app.witchsky.theme.colors#materialYou.accent", kind: "prop", name: Some("accent") }
- RemovedVertex RemovedVertex { vertex_id: "app.witchsky.theme.colors#materialYou" }
- RemovedVertex RemovedVertex { vertex_id: "app.witchsky.theme.colors#materialYou.accent" }
- RemovedEdge RemovedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant0", kind: "variant", name: Some("#materialYou") }
- RemovedEdge RemovedEdge { src: "app.witchsky.theme.colors:body.special:variant0", tgt: "app.witchsky.theme.colors#materialYou", kind: "ref", name: None }
Non-Breaking Changes (7)
- AddedVertex AddedVertex { vertex_id: "app.witchsky.theme.colors:body.special:variant1" }
- AddedVertex AddedVertex { vertex_id: "app.witchsky.theme.defs#hue" }
- AddedVertex AddedVertex { vertex_id: "app.witchsky.theme.defs#materialYou" }
- AddedEdge AddedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant0", kind: "variant", name: Some("app.witchsky.theme.defs#materialYou") }
- AddedEdge AddedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant1", kind: "variant", name: Some("app.witchsky.theme.defs#hue") }
- AddedEdge AddedEdge { src: "app.witchsky.theme.colors:body.special:variant0", tgt: "app.witchsky.theme.defs#materialYou", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.witchsky.theme.colors:body.special:variant1", tgt: "app.witchsky.theme.defs#hue", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.witchsky.theme.colors#materialYou" }RemovedVertex { vertex_id: "app.witchsky.theme.colors#materialYou.accent" }
Added Elements
AddedVertex { vertex_id: "app.witchsky.theme.colors:body.special:variant1" }AddedVertex { vertex_id: "app.witchsky.theme.defs#hue" }AddedVertex { vertex_id: "app.witchsky.theme.defs#materialYou" }
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "app.witchsky.theme.colors#materialYou", src: "app.witchsky.theme.colors#materialYou", tgt: "app.witchsky.theme.colors#materialYou.accent", kind: "prop", name: Some("accent") }
- Breaking: RemovedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant0", kind: "variant", name: Some("#materialYou") }
- Breaking: RemovedEdge { src: "app.witchsky.theme.colors:body.special:variant0", tgt: "app.witchsky.theme.colors#materialYou", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant0", kind: "variant", name: Some("app.witchsky.theme.defs#materialYou") }
- Non-breaking: AddedEdge { src: "app.witchsky.theme.colors:body.special", tgt: "app.witchsky.theme.colors:body.special:variant1", kind: "variant", name: Some("app.witchsky.theme.defs#hue") }
- Non-breaking: AddedEdge { src: "app.witchsky.theme.colors:body.special:variant0", tgt: "app.witchsky.theme.defs#materialYou", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.witchsky.theme.colors:body.special:variant1", tgt: "app.witchsky.theme.defs#hue", kind: "ref", name: None }
1
1
{
2
2
"id": "app.witchsky.theme.colors",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"mode",
12
12
"base",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"base": {
17
17
"ref": "#colorSet",
18
18
"type": "ref"
19
19
},
20
20
"mode": {
21
21
"type": "string",
22
22
"knownValues": [
23
23
"light",
24
24
"dark"
25
25
]
26
26
},
27
27
"name": {
28
28
"type": "string",
29
29
"maxLength": 64,
30
30
"maxGraphemes": 48
31
31
},
32
32
"special": {
33
33
"refs": [
34
-
"#materialYou"
34
+
"app.witchsky.theme.defs#materialYou",
35
+
"app.witchsky.theme.defs#hue"
35
36
],
36
37
"type": "union",
37
38
"closed": false,
38
39
"description": "Generator metadata requiring special client support. Unsupported union variants may be hidden."
39
40
},
40
41
"variants": {
41
42
"type": "array",
42
43
"items": {
43
44
"ref": "#variant",
44
45
"type": "ref"
45
46
},
46
47
"maxLength": 11
47
48
},
48
49
"createdAt": {
49
50
"type": "string",
50
51
"format": "datetime"
51
52
},
52
53
"updatedAt": {
53
54
"type": "string",
54
55
"format": "datetime"
55
56
},
56
57
"description": {
57
58
"type": "string",
58
59
"maxLength": 300,
59
60
"maxGraphemes": 300
60
61
},
61
62
"recommendedPair": {
62
63
"type": "string",
63
64
"format": "at-uri",
64
65
"description": "Theme recommended for the opposite appearance mode."
65
66
}
66
67
}
67
68
}
68
69
},
69
70
"variant": {
70
71
"type": "object",
71
72
"required": [
72
73
"name"
73
74
],
74
75
"properties": {
75
76
"name": {
76
77
"type": "string",
77
78
"maxLength": 48,
78
79
"maxGraphemes": 32
79
80
},
80
81
"colors": {
81
82
"ref": "#semanticColorOverrides",
82
83
"type": "ref"
83
84
}
84
85
}
85
86
},
86
87
"colorSet": {
87
88
"type": "object",
88
89
"required": [
89
90
"name",
90
91
"colors"
91
92
],
92
93
"properties": {
93
94
"name": {
94
95
"type": "string",
95
96
"maxLength": 48,
96
97
"maxGraphemes": 32
97
98
},
98
99
"colors": {
99
100
"ref": "#semanticColors",
100
101
"type": "ref"
101
-
}
102
-
}
103
-
},
104
-
"materialYou": {
105
-
"type": "object",
106
-
"required": [
107
-
"accent"
108
-
],
109
-
"properties": {
110
-
"accent": {
111
-
"type": "string",
112
-
"maxLength": 7,
113
-
"description": "Hex accent used to generate this Material You example on clients without a system palette."
114
102
}
115
103
}
116
104
},
117
105
"semanticColors": {
118
106
"type": "object",
119
107
"required": [
120
108
"canvas",
121
109
"surface",
122
110
"surfaceRaised",
123
111
"text",
124
112
"textMuted",
125
113
"border",
126
114
"accent",
127
115
"accentSoft",
128
116
"onAccent",
129
117
"positive",
130
118
"warning",
131
119
"critical",
132
120
"favorite"
133
121
],
134
122
"properties": {
135
123
"text": {
136
124
"type": "string",
137
125
"description": "Primary content text."
138
126
},
139
127
"accent": {
140
128
"type": "string",
141
129
"description": "Links, selected controls, and primary actions."
142
130
},
143
131
"border": {
144
132
"type": "string",
145
133
"description": "Dividers and control outlines."
146
134
},
147
135
"canvas": {
148
136
"type": "string",
149
137
"description": "App background."
150
138
},
151
139
"surface": {
152
140
"type": "string",
153
141
"description": "Cards, sheets, and controls."
154
142
},
155
143
"warning": {
156
144
"type": "string",
157
145
"description": "Caution states."
158
146
},
159
147
"critical": {
160
148
"type": "string",
161
149
"description": "Errors and destructive actions."
162
150
},
163
151
"favorite": {
164
152
"type": "string",
165
153
"description": "Like and favorite actions."
166
154
},
167
155
"onAccent": {
168
156
"type": "string",
169
157
"description": "Content drawn on the accent color."
170
158
},
171
159
"positive": {
172
160
"type": "string",
173
161
"description": "Success and confirmation states."
174
162
},
175
163
"textMuted": {
176
164
"type": "string",
177
165
"description": "Secondary labels and metadata."
178
166
},
179
167
"accentSoft": {
180
168
"type": "string",
181
169
"description": "Subtle selected and accent backgrounds."
182
170
},
183
171
"surfaceRaised": {
184
172
"type": "string",
185
173
"description": "Menus and elevated surfaces."
186
174
}
187
175
}
188
176
},
189
177
"semanticColorOverrides": {
190
178
"type": "object",
191
179
"properties": {
192
180
"text": {
193
181
"type": "string",
194
182
"description": "Primary content text."
195
183
},
196
184
"accent": {
197
185
"type": "string",
198
186
"description": "Links, selected controls, and primary actions."
199
187
},
200
188
"border": {
201
189
"type": "string",
202
190
"description": "Dividers and control outlines."
203
191
},
204
192
"canvas": {
205
193
"type": "string",
206
194
"description": "App background."
207
195
},
208
196
"surface": {
209
197
"type": "string",
210
198
"description": "Cards, sheets, and controls."
211
199
},
212
200
"warning": {
213
201
"type": "string",
214
202
"description": "Caution states."
215
203
},
216
204
"critical": {
217
205
"type": "string",
218
206
"description": "Errors and destructive actions."
219
207
},
220
208
"favorite": {
221
209
"type": "string",
222
210
"description": "Like and favorite actions."
223
211
},
224
212
"onAccent": {
225
213
"type": "string",
226
214
"description": "Content drawn on the accent color."
227
215
},
228
216
"positive": {
229
217
"type": "string",
230
218
"description": "Success and confirmation states."
231
219
},
232
220
"textMuted": {
233
221
"type": "string",
234
222
"description": "Secondary labels and metadata."
235
223
},
236
224
"accentSoft": {
237
225
"type": "string",
238
226
"description": "Subtle selected and accent backgrounds."
239
227
},
240
228
"surfaceRaised": {
241
229
"type": "string",
242
230
"description": "Menus and elevated surfaces."
243
231
}
244
232
}
245
233
}
246
234
},
247
235
"$type": "com.atproto.lexicon.schema",
248
236
"lexicon": 1
249
237
}