pub.leaflet.pages.canvas
Schema Diff
+2 -0
Compatibility Analysis
Breaking Changes Detected
8 breaking changes, 16 non-breaking changes.
Breaking Changes (8)
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant23", kind: "variant", name: Some("pub.leaflet.blocks.membersOnlyDelimiter") }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant24", kind: "variant", name: Some("pub.leaflet.blocks.postHeader") }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant25", kind: "variant", name: Some("pub.leaflet.blocks.drawing") }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant26", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant23", tgt: "pub.leaflet.blocks.membersOnlyDelimiter", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant24", tgt: "pub.leaflet.blocks.postHeader", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant25", tgt: "pub.leaflet.blocks.drawing", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant26", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
Non-Breaking Changes (16)
- AddedVertex AddedVertex { vertex_id: "pub.leaflet.blocks.questions" }
- AddedVertex AddedVertex { vertex_id: "pub.leaflet.blocks.reply" }
- AddedVertex AddedVertex { vertex_id: "pub.leaflet.pages.canvas#block.block:variant27" }
- AddedVertex AddedVertex { vertex_id: "pub.leaflet.pages.canvas#block.block:variant28" }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant23", kind: "variant", name: Some("pub.leaflet.blocks.reply") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant24", kind: "variant", name: Some("pub.leaflet.blocks.questions") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant25", kind: "variant", name: Some("pub.leaflet.blocks.membersOnlyDelimiter") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant26", kind: "variant", name: Some("pub.leaflet.blocks.postHeader") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant27", kind: "variant", name: Some("pub.leaflet.blocks.drawing") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant28", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant23", tgt: "pub.leaflet.blocks.reply", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant24", tgt: "pub.leaflet.blocks.questions", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant25", tgt: "pub.leaflet.blocks.membersOnlyDelimiter", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant26", tgt: "pub.leaflet.blocks.postHeader", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant27", tgt: "pub.leaflet.blocks.drawing", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant28", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "pub.leaflet.blocks.questions" }AddedVertex { vertex_id: "pub.leaflet.blocks.reply" }AddedVertex { vertex_id: "pub.leaflet.pages.canvas#block.block:variant27" }AddedVertex { vertex_id: "pub.leaflet.pages.canvas#block.block:variant28" }
Additional Notes
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant23", kind: "variant", name: Some("pub.leaflet.blocks.membersOnlyDelimiter") }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant24", kind: "variant", name: Some("pub.leaflet.blocks.postHeader") }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant25", kind: "variant", name: Some("pub.leaflet.blocks.drawing") }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant26", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant23", tgt: "pub.leaflet.blocks.membersOnlyDelimiter", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant24", tgt: "pub.leaflet.blocks.postHeader", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant25", tgt: "pub.leaflet.blocks.drawing", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "pub.leaflet.pages.canvas#block.block:variant26", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant23", kind: "variant", name: Some("pub.leaflet.blocks.reply") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant24", kind: "variant", name: Some("pub.leaflet.blocks.questions") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant25", kind: "variant", name: Some("pub.leaflet.blocks.membersOnlyDelimiter") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant26", kind: "variant", name: Some("pub.leaflet.blocks.postHeader") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant27", kind: "variant", name: Some("pub.leaflet.blocks.drawing") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block", tgt: "pub.leaflet.pages.canvas#block.block:variant28", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant23", tgt: "pub.leaflet.blocks.reply", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant24", tgt: "pub.leaflet.blocks.questions", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant25", tgt: "pub.leaflet.blocks.membersOnlyDelimiter", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant26", tgt: "pub.leaflet.blocks.postHeader", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant27", tgt: "pub.leaflet.blocks.drawing", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.leaflet.pages.canvas#block.block:variant28", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"background": {
5
5
"description": "An image tiled across the canvas, under its guide pattern and blocks.",
6
6
"properties": {
7
7
"image": {
8
8
"accept": [
9
9
"image/*"
10
10
],
11
11
"maxSize": 1000000,
12
12
"type": "blob"
13
13
},
14
14
"opacity": {
15
15
"description": "Opacity of the image as a percentage. Defaults to 100.",
16
16
"maximum": 100,
17
17
"minimum": 0,
18
18
"type": "integer"
19
19
},
20
20
"width": {
21
21
"description": "Width of each tile in canvas px. Defaults to 500.",
22
22
"type": "integer"
23
23
}
24
24
},
25
25
"required": [
26
26
"image"
27
27
],
28
28
"type": "object"
29
29
},
30
30
"block": {
31
31
"properties": {
32
32
"alignment": {
33
33
"description": "Alignment of a single block's content. A linear document's blocks carry their own.",
34
34
"knownValues": [
35
35
"lex:pub.leaflet.pages.linearDocument#textAlignLeft",
36
36
"lex:pub.leaflet.pages.linearDocument#textAlignCenter",
37
37
"lex:pub.leaflet.pages.linearDocument#textAlignRight",
38
38
"lex:pub.leaflet.pages.linearDocument#textAlignJustify"
39
39
],
40
40
"type": "string"
41
41
},
42
42
"block": {
43
43
"description": "A single block, or a linear document: blocks grouped in reading order that are positioned, sized and rotated on the canvas as one.",
44
44
"refs": [
45
45
"pub.leaflet.blocks.iframe",
46
46
"pub.leaflet.blocks.html",
47
47
"pub.leaflet.blocks.text",
48
48
"pub.leaflet.blocks.blockquote",
49
49
"pub.leaflet.blocks.header",
50
50
"pub.leaflet.blocks.image",
51
51
"pub.leaflet.blocks.imageGallery",
52
52
"pub.leaflet.blocks.unorderedList",
53
53
"pub.leaflet.blocks.orderedList",
54
54
"pub.leaflet.blocks.website",
55
55
"pub.leaflet.blocks.math",
56
56
"pub.leaflet.blocks.code",
57
57
"pub.leaflet.blocks.horizontalRule",
58
58
"pub.leaflet.blocks.bskyPost",
59
59
"pub.leaflet.blocks.standardSitePost",
60
60
"pub.leaflet.blocks.standardSitePublication",
61
61
"pub.leaflet.blocks.page",
62
62
"pub.leaflet.blocks.embeddedCanvas",
63
63
"pub.leaflet.blocks.poll",
64
64
"pub.leaflet.blocks.button",
65
65
"pub.leaflet.blocks.postsList",
66
66
"pub.leaflet.blocks.signup",
67
67
"pub.leaflet.blocks.recommendedPubs",
68
+
"pub.leaflet.blocks.reply",
69
+
"pub.leaflet.blocks.questions",
68
70
"pub.leaflet.blocks.membersOnlyDelimiter",
69
71
"pub.leaflet.blocks.postHeader",
70
72
"pub.leaflet.blocks.drawing",
71
73
"pub.leaflet.pages.linearDocument"
72
74
],
73
75
"type": "union"
74
76
},
75
77
"height": {
76
78
"type": "integer"
77
79
},
78
80
"rotation": {
79
81
"description": "The rotation of the block in degrees",
80
82
"type": "integer"
81
83
},
82
84
"stackOrder": {
83
85
"description": "Fractional index ordering this block against its siblings on the z axis. Blocks without one stack below every block with one, ordered by position.",
84
86
"type": "string"
85
87
},
86
88
"width": {
87
89
"type": "integer"
88
90
},
89
91
"x": {
90
92
"type": "integer"
91
93
},
92
94
"y": {
93
95
"type": "integer"
94
96
}
95
97
},
96
98
"required": [
97
99
"block",
98
100
"x",
99
101
"y",
100
102
"width"
101
103
],
102
104
"type": "object"
103
105
},
104
106
"main": {
105
107
"properties": {
106
108
"background": {
107
109
"ref": "#background",
108
110
"type": "ref"
109
111
},
110
112
"blocks": {
111
113
"items": {
112
114
"ref": "#block",
113
115
"type": "ref"
114
116
},
115
117
"type": "array"
116
118
},
117
119
"height": {
118
120
"description": "Fixed canvas height in canvas px; see width.",
119
121
"type": "integer"
120
122
},
121
123
"id": {
122
124
"type": "string"
123
125
},
124
126
"lockViewerZoom": {
125
127
"description": "Viewers cannot zoom the canvas or scroll it sideways: no wheel, pinch, double-tap or zoom controls, and the initial framing (see mobileView) stays. Vertical scrolling is unaffected.",
126
128
"type": "boolean"
127
129
},
128
130
"mobileView": {
129
131
"description": "How a narrow viewport frames the canvas: the whole canvas scaled to fit the width (unconstrained, the default), or a phone-width area anchored to the canvas's left edge or centered on it, shown at up to 1:1.",
130
132
"knownValues": [
131
133
"unconstrained",
132
134
"left",
133
135
"center"
134
136
],
135
137
"type": "string"
136
138
},
137
139
"pattern": {
138
140
"description": "The guide pattern drawn over the canvas's background, under its blocks. Absent, a canvas that grows with its content shows the grid and a fixed-size canvas is plain.",
139
141
"knownValues": [
140
142
"grid",
141
143
"dot",
142
144
"plain"
143
145
],
144
146
"type": "string"
145
147
},
146
148
"theme": {
147
149
"ref": "pub.leaflet.theme.page",
148
150
"type": "ref"
149
151
},
150
152
"width": {
151
153
"description": "Fixed canvas width in canvas px. With height, bounds the canvas: blocks are clipped to the area. Absent, the canvas grows with its content and is 1272px wide, or as wide as the inside of the publication's page (its theme's pageWidth) when it is one of a publication's pages.",
152
154
"type": "integer"
153
155
}
154
156
},
155
157
"required": [
156
158
"blocks"
157
159
],
158
160
"type": "object"
159
161
},
160
162
"position": {
161
163
"properties": {
162
164
"block": {
163
165
"items": {
164
166
"type": "integer"
165
167
},
166
168
"type": "array"
167
169
},
168
170
"offset": {
169
171
"type": "integer"
170
172
}
171
173
},
172
174
"required": [
173
175
"block",
174
176
"offset"
175
177
],
176
178
"type": "object"
177
179
},
178
180
"quote": {
179
181
"properties": {
180
182
"end": {
181
183
"ref": "#position",
182
184
"type": "ref"
183
185
},
184
186
"start": {
185
187
"ref": "#position",
186
188
"type": "ref"
187
189
}
188
190
},
189
191
"required": [
190
192
"start",
191
193
"end"
192
194
],
193
195
"type": "object"
194
196
},
195
197
"textAlignCenter": {
196
198
"type": "token"
197
199
},
198
200
"textAlignLeft": {
199
201
"type": "token"
200
202
},
201
203
"textAlignRight": {
202
204
"type": "token"
203
205
}
204
206
},
205
207
"id": "pub.leaflet.pages.canvas",
206
208
"lexicon": 1
207
209
}