blue.atroom.room.layout

atroom.blue

Schema Diff

+8 -6

From

CID
bafyreia2nys22t5...
Indexed At
2026-03-30 09:19 UTC
View this version

To

CID
bafyreiavvv2vgm6...
Indexed At
2026-03-30 09:53 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 2 non-breaking changes.

Breaking Changes (2)
  • RemovedVertex RemovedVertex { vertex_id: "blue.atroom.room.layout#furnishing.object" }
  • RemovedEdge RemovedEdge { src: "blue.atroom.room.layout#furnishing", tgt: "blue.atroom.room.layout#furnishing.object", kind: "prop", name: Some("object") }
Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "blue.atroom.room.layout#furnishing.roomObject" }
  • AddedEdge AddedEdge { src: "blue.atroom.room.layout#furnishing", tgt: "blue.atroom.room.layout#furnishing.roomObject", kind: "prop", name: Some("roomObject") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "blue.atroom.room.layout#furnishing.object" }

Added Elements

  • AddedVertex { vertex_id: "blue.atroom.room.layout#furnishing.roomObject" }

Additional Notes

  • Breaking: RemovedEdge { src: "blue.atroom.room.layout#furnishing", tgt: "blue.atroom.room.layout#furnishing.object", kind: "prop", name: Some("object") }
  • Non-breaking: AddedEdge { src: "blue.atroom.room.layout#furnishing", tgt: "blue.atroom.room.layout#furnishing.roomObject", kind: "prop", name: Some("roomObject") }
1 1
{
2 2
  "id": "blue.atroom.room.layout",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "any",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "size",
11 11
          "floor",
12 12
          "wall",
13 13
          "furnishings",
14 14
          "createdAt"
15 15
        ],
16 16
        "properties": {
17 17
          "size": {
18 18
            "type": "integer",
19 19
            "maximum": 20000,
20 20
            "minimum": 1000,
21 21
            "description": "Room size in millimeters (square room)."
22 22
          },
23 23
          "wall": {
24 24
            "ref": "#wall",
25 25
            "type": "ref"
26 26
          },
27 27
          "floor": {
28 28
            "ref": "#floor",
29 29
            "type": "ref"
30 30
          },
31 31
          "createdAt": {
32 32
            "type": "string",
33 33
            "format": "datetime"
34 34
          },
35 35
          "furnishings": {
36 36
            "type": "array",
37 37
            "items": {
38 38
              "ref": "#furnishing",
39 39
              "type": "ref"
40 40
            },
41 41
            "maxLength": 100
42 42
          }
43 43
        }
44 44
      },
45 45
      "description": "A room layout with placed objects."
46 46
    },
47 47
    "wall": {
48 48
      "type": "object",
49 49
      "required": [
50 50
        "height",
51 51
        "thickness",
52 52
        "surface"
53 53
      ],
54 54
      "properties": {
55 55
        "height": {
56 56
          "type": "integer",
57 57
          "description": "Wall height in millimeters."
58 58
        },
59 59
        "surface": {
60 60
          "ref": "#surface",
61 61
          "type": "ref"
62 62
        },
63 63
        "thickness": {
64 64
          "type": "integer",
65 65
          "description": "Wall thickness in millimeters."
66 66
        }
67 67
      },
68 68
      "description": "Wall configuration."
69 69
    },
70 70
    "color": {
71 71
      "type": "object",
72 72
      "required": [
73 73
        "red",
74 74
        "green",
75 75
        "blue"
76 76
      ],
77 77
      "properties": {
78 78
        "red": {
79 79
          "type": "integer",
80 80
          "maximum": 255,
81 81
          "minimum": 0
82 82
        },
83 83
        "blue": {
84 84
          "type": "integer",
85 85
          "maximum": 255,
86 86
          "minimum": 0
87 87
        },
88 88
        "green": {
89 89
          "type": "integer",
90 90
          "maximum": 255,
91 91
          "minimum": 0
92 92
        }
93 93
      },
94 94
      "description": "RGB color with 8-bit channels."
95 95
    },
96 96
    "floor": {
97 97
      "type": "object",
98 98
      "required": [
99 99
        "surface"
100 100
      ],
101 101
      "properties": {
102 102
        "surface": {
103 103
          "ref": "#surface",
104 104
          "type": "ref"
105 105
        }
106 106
      }
107 107
    },
108 108
    "surface": {
109 109
      "type": "object",
110 110
      "required": [
111 111
        "color"
112 112
      ],
113 113
      "properties": {
114 114
        "color": {
115 115
          "ref": "#color",
116 116
          "type": "ref"
117 117
        },
118 118
        "texture": {
119 119
          "type": "blob",
120 120
          "accept": [
121 121
            "image/png",
122 122
            "image/jpeg",
123 123
            "image/webp"
124 124
          ],
125 125
          "maxSize": 1048576,
126 126
          "description": "Texture image."
127 127
        },
128 128
        "textureTiling": {
129 129
          "type": "array",
130 130
          "items": {
131 131
            "type": "integer"
132 132
          },
133 133
          "maxLength": 2,
134 134
          "minLength": 2,
135 135
          "description": "Texture tiling [u, v]."
136 136
        }
137 137
      }
138 138
    },
139 139
    "furnishing": {
140 140
      "type": "object",
141 141
      "required": [
142 -
        "object",
142 +
        "roomObject",
143 143
        "position",
144 144
        "rotation"
145 145
      ],
146 146
      "properties": {
147 -
        "object": {
148 -
          "ref": "com.atproto.repo.strongRef",
149 -
          "type": "ref",
150 -
          "description": "Strong reference to a blue.atroom.room.object record."
151 -
        },
152 147
        "position": {
153 148
          "type": "array",
154 149
          "items": {
155 150
            "type": "integer"
156 151
          },
152 +
          "maxLength": 3,
157 153
          "minLength": 3,
158 154
          "description": "Position [x, y, z] in millimeters."
159 155
        },
160 156
        "rotation": {
161 157
          "type": "array",
162 158
          "items": {
163 159
            "type": "integer"
164 160
          },
161 +
          "maxLength": 3,
165 162
          "minLength": 3,
166 163
          "description": "Euler rotation [x, y, z] in degrees."
164 +
        },
165 +
        "roomObject": {
166 +
          "ref": "com.atproto.repo.strongRef",
167 +
          "type": "ref",
168 +
          "description": "Strong reference to a blue.atroom.room.object record."
167 169
        }
168 170
      },
169 171
      "description": "A placed object in the room."
170 172
    }
171 173
  },
172 174
  "$type": "com.atproto.lexicon.schema",
173 175
  "lexicon": 1
174 176
}

Compare Other Versions

Lexicon Garden

@