net.atchan.richtext.facet

atchan.net

Schema Diff

+7 -1

From

CID
bafyreif3dj6l3ol...
Indexed At
2026-07-18 07:29 UTC
View this version

To

CID
bafyreiaxrrcypox...
Indexed At
2026-07-18 17:07 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "net.atchan.richtext.facet#kaomoji" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.richtext.facet.features:items:variant6" }
  • AddedEdge AddedEdge { src: "net.atchan.richtext.facet.features:items", tgt: "net.atchan.richtext.facet.features:items:variant6", kind: "variant", name: Some("#kaomoji") }
  • AddedEdge AddedEdge { src: "net.atchan.richtext.facet.features:items:variant6", tgt: "net.atchan.richtext.facet#kaomoji", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "net.atchan.richtext.facet#kaomoji" }
  • AddedVertex { vertex_id: "net.atchan.richtext.facet.features:items:variant6" }

Additional Notes

  • Non-breaking: AddedEdge { src: "net.atchan.richtext.facet.features:items", tgt: "net.atchan.richtext.facet.features:items:variant6", kind: "variant", name: Some("#kaomoji") }
  • Non-breaking: AddedEdge { src: "net.atchan.richtext.facet.features:items:variant6", tgt: "net.atchan.richtext.facet#kaomoji", kind: "ref", name: None }
1 1
{
2 2
  "id": "net.atchan.richtext.facet",
3 3
  "defs": {
4 4
    "bold": {
5 5
      "type": "object",
6 6
      "properties": {},
7 7
      "description": "Facet feature marking the range as bold."
8 8
    },
9 9
    "font": {
10 10
      "type": "object",
11 11
      "required": [
12 12
        "name"
13 13
      ],
14 14
      "properties": {
15 15
        "name": {
16 16
          "type": "string"
17 17
        }
18 18
      },
19 19
      "description": "Facet feature rendering the range in a named font"
20 20
    },
21 21
    "main": {
22 22
      "type": "object",
23 23
      "required": [
24 24
        "index",
25 25
        "features"
26 26
      ],
27 27
      "properties": {
28 28
        "index": {
29 29
          "ref": "#byteSlice",
30 30
          "type": "ref"
31 31
        },
32 32
        "features": {
33 33
          "type": "array",
34 34
          "items": {
35 35
            "refs": [
36 36
              "#bold",
37 37
              "#italic",
38 38
              "#underline",
39 39
              "#strikethrough",
40 40
              "#spoiler",
41 -
              "#font"
41 +
              "#font",
42 +
              "#kaomoji"
42 43
            ],
43 44
            "type": "union"
44 45
          },
45 46
          "minLength": 1
46 47
        }
47 48
      },
48 49
      "description": "A facet defines a range of rich text within a larger string."
49 50
    },
50 51
    "italic": {
51 52
      "type": "object",
52 53
      "properties": {},
53 54
      "description": "Facet feature marking the range as italic."
54 55
    },
56 +
    "kaomoji": {
57 +
      "type": "object",
58 +
      "properties": {},
59 +
      "description": "Facet feature marking the range as a kaomoji, ideally rendered in a Shift-JIS font."
60 +
    },
55 61
    "spoiler": {
56 62
      "type": "object",
57 63
      "properties": {},
58 64
      "description": "Facet feature marking the range as a spoiler, hidden until the reader interacts with it."
59 65
    },
60 66
    "byteSlice": {
61 67
      "type": "object",
62 68
      "required": [
63 69
        "byteStart",
64 70
        "byteEnd"
65 71
      ],
66 72
      "properties": {
67 73
        "byteEnd": {
68 74
          "type": "integer",
69 75
          "minimum": 0
70 76
        },
71 77
        "byteStart": {
72 78
          "type": "integer",
73 79
          "minimum": 0
74 80
        }
75 81
      },
76 82
      "description": "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets."
77 83
    },
78 84
    "underline": {
79 85
      "type": "object",
80 86
      "properties": {},
81 87
      "description": "Facet feature marking the range as underlined."
82 88
    },
83 89
    "strikethrough": {
84 90
      "type": "object",
85 91
      "properties": {},
86 92
      "description": "Facet feature marking the range as struck through."
87 93
    }
88 94
  },
89 95
  "$type": "com.atproto.lexicon.schema",
90 96
  "lexicon": 1
91 97
}

Compare Other Versions

Lexicon Garden

@