zone.zephyra.screens.frame

zephyra.zone

Schema Diff

+12 -10

From

CID
bafyreia4rdkddez...
Indexed At
2026-06-03 13:29 UTC
View this version

To

CID
bafyreide24oqvmq...
Indexed At
2026-06-03 13:34 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 0 non-breaking changes.

Breaking Changes (1)
  • ConstraintAdded ConstraintAdded { vertex_id: "zone.zephyra.screens.frame:body.subtitle", sort: "maxLength", value: "1024" }

Migration Guidance

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "zone.zephyra.screens.frame:body.subtitle", sort: "maxLength", value: "1024" }
1 1
{
2 2
  "id": "zone.zephyra.screens.frame",
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 -
          "season",
11 10
          "episode",
11 +
          "externalRecords",
12 12
          "frame",
13 13
          "frameRate",
14 +
          "image",
14 15
          "resolution",
15 -
          "image",
16 +
          "season",
16 17
          "createdAt"
17 18
        ],
18 19
        "properties": {
19 20
          "frame": {
20 21
            "type": "integer",
21 22
            "maximum": 8388608,
22 23
            "minimum": 0,
23 -
            "description": "Frame index within the episode video."
24 +
            "description": "Index of the frame within the episode video file."
24 25
          },
25 26
          "image": {
26 27
            "type": "blob",
27 28
            "accept": [
28 -
              "image/png"
29 +
              "image/*"
29 30
            ],
30 31
            "maxSize": 10485760,
31 -
            "description": "PNG render of the frame."
32 +
            "description": "Image render of the frame."
32 33
          },
33 34
          "season": {
34 35
            "type": "integer",
35 36
            "maximum": 256,
36 37
            "minimum": 1,
37 -
            "description": "Season number."
38 +
            "description": "Season number. 1-indexed."
38 39
          },
39 40
          "episode": {
40 41
            "type": "integer",
41 42
            "maximum": 256,
42 43
            "minimum": 1,
43 -
            "description": "Episode number within the season."
44 +
            "description": "Episode number within the season. 1-indexed."
44 45
          },
45 46
          "subtitle": {
46 47
            "type": "string",
48 +
            "maxLength": 1024,
47 49
            "description": "Subtitle text active at this frame, if any. Not all frames have subtitles."
48 50
          },
49 51
          "createdAt": {
50 52
            "type": "string",
51 53
            "format": "datetime",
52 54
            "description": "Timestamp the frame was published."
53 55
          },
54 56
          "frameRate": {
55 57
            "type": "string",
56 -
            "description": "Frame rate of the source video as a rational number string (e.g. '24000/1001'). Combine with `frame` to derive the time offset."
58 +
            "description": "Frame rate of the source video, probably as a rational number string (e.g. '24000/1001'). Combine with `frame` to derive the time offset."
57 59
          },
58 60
          "resolution": {
59 61
            "ref": "#resolution",
60 62
            "type": "ref",
61 63
            "description": "Pixel dimensions of `image`."
62 64
          },
63 65
          "externalRecords": {
64 66
            "type": "array",
65 67
            "items": {
66 68
              "ref": "#externalRecord",
67 69
              "type": "ref"
68 70
            },
69 71
            "description": "Records on external services or other ATProto collections that disseminate this frame."
70 72
          }
71 73
        }
72 74
      }
73 75
    },
74 76
    "resolution": {
75 77
      "type": "object",
76 78
      "required": [
77 -
        "width",
78 -
        "height"
79 +
        "height",
80 +
        "width"
79 81
      ],
80 82
      "properties": {
81 83
        "width": {
82 84
          "type": "integer",
83 85
          "minimum": 1
84 86
        },
85 87
        "height": {
86 88
          "type": "integer",
87 89
          "minimum": 1
88 90
        }
89 91
      }
90 92
    },
91 93
    "externalRecord": {
92 94
      "type": "object",
93 95
      "required": [
94 96
        "collection",
95 97
        "ref"
96 98
      ],
97 99
      "properties": {
98 100
        "ref": {
99 101
          "ref": "com.atproto.repo.strongRef",
100 102
          "type": "ref",
101 103
          "description": "Strong reference to the ATProto record."
102 104
        },
103 105
        "collection": {
104 106
          "type": "string",
105 107
          "description": "Identifier of the collection the record belongs to."
106 108
        }
107 109
      }
108 110
    }
109 111
  },
110 112
  "lexicon": 1,
111 113
  "description": "A single frame extracted from a TV show, published alongside disseminated posts on external services."
112 114
}

Compare Other Versions

Lexicon Garden

@