net.anisota.lab.poetry
Schema Diff
+4 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "net.anisota.lab.poetry:body.board" }
- AddedEdge AddedEdge { src: "net.anisota.lab.poetry:body", tgt: "net.anisota.lab.poetry:body.board", kind: "prop", name: Some("board") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "net.anisota.lab.poetry:body.board" }
Additional Notes
- Non-breaking: AddedEdge { src: "net.anisota.lab.poetry:body", tgt: "net.anisota.lab.poetry:body.board", kind: "prop", name: Some("board") }
1
1
{
2
2
"id": "net.anisota.lab.poetry",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"text",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"name": {
15
15
"type": "string",
16
16
"maxLength": 800,
17
17
"description": "Optional title for the poem",
18
18
"maxGraphemes": 100
19
19
},
20
20
"text": {
21
21
"type": "string",
22
22
"maxLength": 6000,
23
23
"description": "The assembled poem — the placed word tiles read top-to-bottom, left-to-right",
24
24
"maxGraphemes": 1000
25
25
},
26
+
"board": {
27
+
"type": "unknown",
28
+
"description": "Optional snapshot of the studio board taken at save time, so the arrangement can be re-laid faithfully at any size: { aspect, font, bx, by, bw, bh } — the bounding box of the placed tiles (bx/by/bw/bh as 0..1000 of the surface, matching tile x/y), the box's width:height aspect, and the tile font size as a fraction of the box width."
29
+
},
26
30
"tiles": {
27
31
"type": "array",
28
32
"items": {
29
33
"type": "unknown"
30
34
},
31
35
"maxLength": 512,
32
36
"description": "The placed word tiles and their positions, so the arrangement can be reopened. Each is an object: { word, fragment, x, y, rot } where x/y are the tile centre as a 0..1000 fraction of the field and rot is degrees."
33
37
},
34
38
"sources": {
35
39
"type": "array",
36
40
"items": {
37
41
"type": "string",
38
42
"format": "at-uri"
39
43
},
40
44
"maxLength": 512,
41
45
"description": "at-uri references to the author's own posts that the used words were drawn from"
42
46
},
43
47
"createdAt": {
44
48
"type": "string",
45
49
"format": "datetime",
46
50
"description": "When the poem was saved"
47
51
}
48
52
}
49
53
},
50
54
"description": "A fridge-poetry composition made in the Anisota Lab's Word Magnets studio, where word tiles drawn from the author's own recent posts are arranged on a field into a short poem. The record keeps the assembled text, the placed tiles with their positions (so the arrangement can be reopened), and at-uri references to the posts the used words were drawn from."
51
55
}
52
56
},
53
57
"$type": "com.atproto.lexicon.schema",
54
58
"lexicon": 1
55
59
}