zone.zephyra.screens.frame

zephyra.zone

Schema Diff

+3 -3

From

CID
bafyreidiqcf2toq...
Indexed At
2026-06-02 19:23 UTC
View this version

To

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

Compatibility Analysis

Backward Compatible

Backward compatible. 3 non-breaking changes.

Non-Breaking Changes (3)
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "zone.zephyra.screens.frame:body.episode", sort: "maximum", old_value: "32", new_value: "256" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "zone.zephyra.screens.frame:body.season", sort: "maximum", old_value: "64", new_value: "256" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "zone.zephyra.screens.frame:body.frame", sort: "maximum", old_value: "524288", new_value: "8388608" }

Migration Guidance

Constraint Changes

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

Compare Other Versions

Lexicon Garden

@