full diff

pub.chive.review.comment

From
bafyreihdvpzxr5sf3jgmm3nivknmrm6fzcrlkxcdkqjuoagkqmn57gfdlm indexed 2026-06-18 13:14 UTC View this version
To
bafyreihdvpzxr5sf3jgmm3nivknmrm6fzcrlkxcdkqjuoagkqmn57gfdlm indexed 2026-06-18 13:14 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "boundingRect": {
55 "description": "Bounding rectangle coordinates for highlight positioning. All values stored as strings to preserve floating-point precision since ATProto only supports integer type.",
66 "properties": {
77 "height": {
88 "description": "Page height reference (as string to preserve float precision)",
99 "type": "string"
1010 },
1111 "pageNumber": {
1212 "description": "Page number (1-indexed for the library)",
1313 "minimum": 1,
1414 "type": "integer"
1515 },
1616 "width": {
1717 "description": "Page width reference (as string to preserve float precision)",
1818 "type": "string"
1919 },
2020 "x1": {
2121 "description": "Left edge coordinate (as string to preserve float precision)",
2222 "type": "string"
2323 },
2424 "x2": {
2525 "description": "Right edge coordinate (as string to preserve float precision)",
2626 "type": "string"
2727 },
2828 "y1": {
2929 "description": "Top edge coordinate (as string to preserve float precision)",
3030 "type": "string"
3131 },
3232 "y2": {
3333 "description": "Bottom edge coordinate (as string to preserve float precision)",
3434 "type": "string"
3535 }
3636 },
3737 "required": [
3838 "x1",
3939 "y1",
4040 "x2",
4141 "y2",
4242 "width",
4343 "height",
4444 "pageNumber"
4545 ],
4646 "type": "object"
4747 },
4848 "fragmentSelector": {
4949 "description": "W3C Fragment Selector",
5050 "properties": {
5151 "conformsTo": {
5252 "description": "Fragment syntax specification",
5353 "format": "uri",
5454 "type": "string"
5555 },
5656 "type": {
5757 "const": "FragmentSelector",
5858 "type": "string"
5959 },
6060 "value": {
6161 "description": "Fragment identifier (e.g., page number, section ID)",
6262 "maxLength": 200,
6363 "type": "string"
6464 }
6565 },
6666 "required": [
6767 "type",
6868 "value"
6969 ],
7070 "type": "object"
7171 },
7272 "main": {
7373 "description": "Review comment on preprint with rich body supporting text and node references",
7474 "key": "tid",
7575 "record": {
7676 "properties": {
7777 "body": {
7878 "description": "Rich review body with formatting and references",
7979 "items": {
8080 "refs": [
8181 "pub.chive.richtext.defs#textItem",
8282 "pub.chive.richtext.defs#nodeRefItem",
8383 "pub.chive.richtext.defs#wikidataRefItem",
8484 "pub.chive.richtext.defs#fieldRefItem",
8585 "pub.chive.richtext.defs#facetRefItem",
8686 "pub.chive.richtext.defs#eprintRefItem",
8787 "pub.chive.richtext.defs#annotationRefItem",
8888 "pub.chive.richtext.defs#authorRefItem",
8989 "pub.chive.richtext.defs#mentionItem",
9090 "pub.chive.richtext.defs#linkItem",
9191 "pub.chive.richtext.defs#tagItem",
9292 "pub.chive.richtext.defs#latexItem",
9393 "pub.chive.richtext.defs#codeBlockItem",
9494 "pub.chive.richtext.defs#headingItem",
9595 "pub.chive.richtext.defs#listItem",
9696 "pub.chive.richtext.defs#blockquoteItem"
9797 ],
9898 "type": "union"
9999 },
100100 "maxLength": 500,
101101 "type": "array"
102102 },
103103 "createdAt": {
104104 "format": "datetime",
105105 "type": "string"
106106 },
107107 "eprintUri": {
108108 "description": "Reviewed eprint URI",
109109 "format": "at-uri",
110110 "type": "string"
111111 },
112112 "motivationFallback": {
113113 "description": "Fallback motivation if motivationUri not available",
114114 "knownValues": [
115115 "commenting",
116116 "questioning",
117117 "highlighting",
118118 "replying",
119119 "linking"
120120 ],
121121 "type": "string"
122122 },
123123 "motivationUri": {
124124 "description": "AT-URI of motivation type node (subkind=motivation)",
125125 "format": "at-uri",
126126 "type": "string"
127127 },
128128 "parentComment": {
129129 "description": "Parent comment for threading",
130130 "format": "at-uri",
131131 "type": "string"
132132 },
133133 "schemaRevision": {
134134 "description": "Schema revision this record was created with. Absent means revision 1.",
135135 "minimum": 1,
136136 "type": "integer"
137137 },
138138 "target": {
139139 "description": "Target text span for inline annotations",
140140 "ref": "#textSpanTarget",
141141 "type": "ref"
142142 }
143143 },
144144 "required": [
145145 "eprintUri",
146146 "body",
147147 "createdAt"
148148 ],
149149 "type": "object"
150150 },
151151 "type": "record"
152152 },
153153 "positionRefinement": {
154154 "description": "Position refinement for precise visual rendering of annotations",
155155 "properties": {
156156 "boundingRect": {
157157 "description": "Bounding rectangle for visual positioning",
158158 "ref": "#boundingRect",
159159 "type": "ref"
160160 },
161161 "end": {
162162 "description": "Approximate character end offset",
163163 "minimum": 0,
164164 "type": "integer"
165165 },
166166 "pageNumber": {
167167 "description": "0-indexed page number",
168168 "minimum": 0,
169169 "type": "integer"
170170 },
171171 "start": {
172172 "description": "Approximate character start offset",
173173 "minimum": 0,
174174 "type": "integer"
175175 },
176176 "type": {
177177 "const": "TextPositionSelector",
178178 "type": "string"
179179 }
180180 },
181181 "required": [
182182 "type"
183183 ],
184184 "type": "object"
185185 },
186186 "textPositionSelector": {
187187 "description": "W3C Text Position Selector",
188188 "properties": {
189189 "end": {
190190 "minimum": 0,
191191 "type": "integer"
192192 },
193193 "start": {
194194 "minimum": 0,
195195 "type": "integer"
196196 },
197197 "type": {
198198 "const": "TextPositionSelector",
199199 "type": "string"
200200 }
201201 },
202202 "required": [
203203 "type",
204204 "start",
205205 "end"
206206 ],
207207 "type": "object"
208208 },
209209 "textQuoteSelector": {
210210 "description": "W3C Text Quote Selector",
211211 "properties": {
212212 "exact": {
213213 "maxLength": 1000,
214214 "type": "string"
215215 },
216216 "prefix": {
217217 "maxLength": 100,
218218 "type": "string"
219219 },
220220 "suffix": {
221221 "maxLength": 100,
222222 "type": "string"
223223 },
224224 "type": {
225225 "const": "TextQuoteSelector",
226226 "type": "string"
227227 }
228228 },
229229 "required": [
230230 "type",
231231 "exact"
232232 ],
233233 "type": "object"
234234 },
235235 "textSpanTarget": {
236236 "description": "Target text span for inline annotations (W3C Web Annotation compatible)",
237237 "properties": {
238238 "refinedBy": {
239239 "description": "Position refinement with page number and bounding box for visual rendering",
240240 "ref": "#positionRefinement",
241241 "type": "ref"
242242 },
243243 "selector": {
244244 "refs": [
245245 "#textQuoteSelector",
246246 "#textPositionSelector",
247247 "#fragmentSelector"
248248 ],
249249 "type": "union"
250250 },
251251 "versionUri": {
252252 "description": "AT-URI of specific eprint version",
253253 "format": "at-uri",
254254 "type": "string"
255255 }
256256 },
257257 "required": [
258258 "selector"
259259 ],
260260 "type": "object"
261261 }
262262 },
263263 "id": "pub.chive.review.comment",
264264 "lexicon": 1,
265265 "revision": 1
266266}