art.cllctv.artwork

cllctv.art

Schema Diff

+27 -1

From

CID
bafyreiccfo7gxpe...
Indexed At
2026-04-28 16:01 UTC
View this version

To

CID
bafyreiflf7yct4c...
Indexed At
2026-06-17 13:26 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 18 non-breaking changes.

Breaking Changes (1)
  • RemovedEdge RemovedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("art.cllctv.content.plaintext") }
Non-Breaking Changes (18)
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant0" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant1" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant2" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant3" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant4" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.artwork:body.textContent" }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content", tgt: "art.cllctv.artwork#content.blocks", kind: "prop", name: Some("blocks") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks", tgt: "art.cllctv.artwork#content.blocks:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant0", kind: "variant", name: Some("art.cllctv.block.text") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant1", kind: "variant", name: Some("art.cllctv.block.blockquote") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant2", kind: "variant", name: Some("art.cllctv.block.bulletList") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant3", kind: "variant", name: Some("art.cllctv.block.orderedList") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant4", kind: "variant", name: Some("art.cllctv.block.horizontalRule") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork:body", tgt: "art.cllctv.artwork:body.textContent", kind: "prop", name: Some("textContent") }
  • AddedEdge AddedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("#content") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "art.cllctv.artwork#content" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant0" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant1" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant2" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant3" }
  • AddedVertex { vertex_id: "art.cllctv.artwork#content.blocks:items:variant4" }
  • AddedVertex { vertex_id: "art.cllctv.artwork:body.textContent" }

Additional Notes

  • Breaking: RemovedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("art.cllctv.content.plaintext") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content", tgt: "art.cllctv.artwork#content.blocks", kind: "prop", name: Some("blocks") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks", tgt: "art.cllctv.artwork#content.blocks:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant0", kind: "variant", name: Some("art.cllctv.block.text") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant1", kind: "variant", name: Some("art.cllctv.block.blockquote") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant2", kind: "variant", name: Some("art.cllctv.block.bulletList") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant3", kind: "variant", name: Some("art.cllctv.block.orderedList") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork#content.blocks:items", tgt: "art.cllctv.artwork#content.blocks:items:variant4", kind: "variant", name: Some("art.cllctv.block.horizontalRule") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork:body", tgt: "art.cllctv.artwork:body.textContent", kind: "prop", name: Some("textContent") }
  • Non-breaking: AddedEdge { src: "art.cllctv.artwork:body.content", tgt: "art.cllctv.artwork:body.content:variant0", kind: "variant", name: Some("#content") }
1 1
{
2 2
  "id": "art.cllctv.artwork",
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 +
          "title",
11 +
          "embed",
10 12
          "createdAt"
11 13
        ],
12 14
        "properties": {
13 15
          "tags": {
14 16
            "type": "array",
15 17
            "items": {
16 18
              "type": "string",
17 19
              "maxLength": 640,
18 20
              "maxGraphemes": 64
19 21
            },
20 22
            "maxLength": 8,
21 23
            "description": "Additional hashtags, in addition to any included in post text and facets."
22 24
          },
23 25
          "embed": {
24 26
            "type": "array",
25 27
            "items": {
26 28
              "refs": [
27 29
                "art.cllctv.embed.images#image",
28 30
                "art.cllctv.embed.externalVideo"
29 31
              ],
30 32
              "type": "union"
31 33
            }
32 34
          },
33 35
          "langs": {
34 36
            "type": "array",
35 37
            "items": {
36 38
              "type": "string",
37 39
              "format": "language"
38 40
            },
39 41
            "maxLength": 3,
40 42
            "description": "Indicates human language of post primary text content."
41 43
          },
42 44
          "title": {
43 45
            "type": "string",
44 46
            "maxLength": 1280,
45 47
            "maxGraphemes": 128
46 48
          },
47 49
          "labels": {
48 50
            "refs": [
49 51
              "com.atproto.label.defs#selfLabels"
50 52
            ],
51 53
            "type": "union",
52 54
            "description": "Self-label values for this post. Effectively content warnings."
53 55
          },
54 56
          "content": {
55 57
            "refs": [
56 -
              "art.cllctv.content.plaintext"
58 +
              "#content"
57 59
            ],
58 60
            "type": "union"
59 61
          },
60 62
          "details": {
61 63
            "ref": "#details",
62 64
            "type": "ref"
63 65
          },
64 66
          "ogImage": {
65 67
            "type": "blob",
66 68
            "accept": [
67 69
              "image/png"
68 70
            ],
69 71
            "maxSize": 5000000
70 72
          },
71 73
          "createdAt": {
72 74
            "type": "string",
73 75
            "format": "datetime"
74 76
          },
75 77
          "description": {
76 78
            "type": "string",
77 79
            "maxLength": 3000,
78 80
            "maxGraphemes": 300
81 +
          },
82 +
          "textContent": {
83 +
            "type": "string"
79 84
          }
80 85
        }
81 86
      },
82 87
      "description": "Record containing a cllctv.ART artwork."
83 88
    },
89 +
    "content": {
90 +
      "type": "object",
91 +
      "required": [
92 +
        "blocks"
93 +
      ],
94 +
      "properties": {
95 +
        "blocks": {
96 +
          "type": "array",
97 +
          "items": {
98 +
            "refs": [
99 +
              "art.cllctv.block.text",
100 +
              "art.cllctv.block.blockquote",
101 +
              "art.cllctv.block.bulletList",
102 +
              "art.cllctv.block.orderedList",
103 +
              "art.cllctv.block.horizontalRule"
104 +
            ],
105 +
            "type": "union"
106 +
          }
107 +
        }
108 +
      }
109 +
    },
84 110
    "details": {
85 111
      "type": "object",
86 112
      "properties": {
87 113
        "size": {
88 114
          "ref": "#detailsSize",
89 115
          "type": "ref"
90 116
        },
91 117
        "year": {
92 118
          "type": "string"
93 119
        },
94 120
        "place": {
95 121
          "type": "string",
96 122
          "maxLength": 3000,
97 123
          "maxGraphemes": 300
98 124
        },
99 125
        "medium": {
100 126
          "type": "string",
101 127
          "knownValues": [
102 128
            "ceramic",
103 129
            "collage",
104 130
            "digital",
105 131
            "drawing",
106 132
            "ephemera",
107 133
            "jewelry",
108 134
            "painting",
109 135
            "performance",
110 136
            "photography",
111 137
            "prints",
112 138
            "sculpture",
113 139
            "street",
114 140
            "video"
115 141
          ]
116 142
        },
117 143
        "rarity": {
118 144
          "type": "string",
119 145
          "knownValues": [
120 146
            "unique",
121 147
            "limited",
122 148
            "open",
123 149
            "unknown"
124 150
          ]
125 151
        },
126 152
        "condition": {
127 153
          "type": "string",
128 154
          "knownValues": [
129 155
            "excellent",
130 156
            "fine",
131 157
            "good",
132 158
            "fair"
133 159
          ]
134 160
        },
135 161
        "materials": {
136 162
          "type": "string",
137 163
          "maxLength": 2000,
138 164
          "maxGraphemes": 200
139 165
        }
140 166
      }
141 167
    },
142 168
    "detailsSize": {
143 169
      "type": "object",
144 170
      "properties": {
145 171
        "depth": {
146 172
          "type": "string"
147 173
        },
148 174
        "width": {
149 175
          "type": "string"
150 176
        },
151 177
        "height": {
152 178
          "type": "string"
153 179
        }
154 180
      },
155 181
      "description": "Values should be stored in millimetre (mm)."
156 182
    }
157 183
  },
158 184
  "$type": "com.atproto.lexicon.schema",
159 185
  "lexicon": 1
160 186
}

Compare Other Versions

Lexicon Garden

@