@ue-shed/protocol 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/contracts/cameras/map-tile/v1/README.md +27 -6
  2. package/contracts/cameras/map-tile/v1/capture-operation.schema.json +69 -0
  3. package/contracts/cameras/map-tile/v1/capture-request.schema.json +2 -1
  4. package/contracts/cameras/map-tile/v1/capture-response.schema.json +97 -25
  5. package/contracts/cameras/map-tile/v1/fixtures/capture-operation-finished-valid.json +41 -0
  6. package/contracts/cameras/map-tile/v1/fixtures/capture-operation-progress-valid.json +13 -0
  7. package/contracts/cameras/map-tile/v1/fixtures/capture-operation-running-valid.json +5 -0
  8. package/contracts/cameras/map-tile/v1/fixtures/capture-request-lit-valid.json +59 -0
  9. package/contracts/cameras/map-tile/v1/fixtures/readiness-blocked.json +11 -0
  10. package/contracts/cameras/map-tile/v1/fixtures/readiness-ready.json +7 -0
  11. package/contracts/cameras/map-tile/v1/fixtures/selection-ready.json +21 -0
  12. package/contracts/cameras/map-tile/v1/fixtures/selection-unavailable.json +6 -0
  13. package/contracts/cameras/map-tile/v1/inspection.md +16 -0
  14. package/contracts/cameras/map-tile/v1/manifest.schema.json +136 -37
  15. package/contracts/cameras/map-tile/v1/plan.schema.json +132 -35
  16. package/contracts/cameras/map-tile/v1/readiness.schema.json +39 -0
  17. package/contracts/cameras/map-tile/v1/release-result.schema.json +12 -0
  18. package/contracts/cameras/map-tile/v1/selection.schema.json +105 -0
  19. package/contracts/cameras/render/v1/README.md +33 -0
  20. package/contracts/cameras/render/v1/begin-result.schema.json +712 -0
  21. package/contracts/cameras/render/v1/capabilities.schema.json +201 -0
  22. package/contracts/cameras/render/v1/end-result.schema.json +185 -0
  23. package/contracts/cameras/render/v1/fixtures/frame-orthographic.json +31 -0
  24. package/contracts/cameras/render/v1/fixtures/frame-perspective.json +31 -0
  25. package/contracts/cameras/render/v1/fixtures/invalid-frame-mixed-projection.json +32 -0
  26. package/contracts/cameras/render/v1/fixtures/invalid-frame-size.json +31 -0
  27. package/contracts/cameras/render/v1/fixtures/invalid-session-backend-fields.json +40 -0
  28. package/contracts/cameras/render/v1/fixtures/invalid-session-budget.json +39 -0
  29. package/contracts/cameras/render/v1/fixtures/invalid-session-future.json +39 -0
  30. package/contracts/cameras/render/v1/fixtures/session-camera-regions.json +51 -0
  31. package/contracts/cameras/render/v1/fixtures/session-editor-viewport.json +40 -0
  32. package/contracts/cameras/render/v1/fixtures/session-scene-capture.json +39 -0
  33. package/contracts/cameras/render/v1/frame-evidence.schema.json +771 -0
  34. package/contracts/cameras/render/v1/frame-request.schema.json +219 -0
  35. package/contracts/cameras/render/v1/frame-status.schema.json +1076 -0
  36. package/contracts/cameras/render/v1/policy.schema.json +510 -0
  37. package/contracts/cameras/render/v1/preflight.schema.json +68 -0
  38. package/contracts/cameras/render/v1/review-inspection-request.schema.json +342 -0
  39. package/contracts/cameras/render/v1/review-inspection-result.schema.json +2030 -0
  40. package/contracts/cameras/render/v1/review-realization-request.schema.json +417 -0
  41. package/contracts/cameras/render/v1/review-realization-result.schema.json +454 -0
  42. package/contracts/cameras/render/v1/session-request.schema.json +617 -0
  43. package/contracts/cameras/review/v1/README.md +7 -0
  44. package/contracts/cameras/review/v1/capture-request.schema.json +247 -61
  45. package/contracts/cameras/review/v1/capture-response.schema.json +820 -192
  46. package/contracts/core/v1/producer-identity.schema.json +44 -0
  47. package/contracts/niagara/preview/v1/common.schema.json +224 -30
  48. package/contracts/niagara/preview/v1/fixtures/background-manifest.json +136 -0
  49. package/contracts/niagara/preview/v1/fixtures/background-receipt.json +112 -0
  50. package/contracts/niagara/preview/v1/fixtures/background-request.json +39 -0
  51. package/contracts/niagara/preview/v1/fixtures/progress.json +8 -0
  52. package/contracts/niagara/preview/v1/fixtures/scene-manifest.json +108 -0
  53. package/contracts/niagara/preview/v1/fixtures/scene-receipt.json +84 -0
  54. package/contracts/niagara/preview/v1/fixtures/scene-request.json +25 -0
  55. package/contracts/niagara/preview/v1/manifest.schema.json +110 -25
  56. package/contracts/niagara/preview/v1/progress.schema.json +37 -0
  57. package/contracts/niagara/preview/v1/receipt.schema.json +75 -16
  58. package/contracts/niagara/preview/v1/request.schema.json +20 -5
  59. package/contracts/niagara/preview/v1/session.md +25 -0
  60. package/contracts/observatory/v1/actor-metadata.schema.json +33 -0
  61. package/contracts/uasset-io/v1/README.md +26 -1
  62. package/contracts/uasset-io/v1/event.schema.json +511 -1
  63. package/contracts/uasset-io/v1/fixtures/invalid/project-index-count-empty-filters.json +23 -0
  64. package/contracts/uasset-io/v1/fixtures/invalid/project-index-dictionary-page-negative-index.json +35 -0
  65. package/contracts/uasset-io/v1/fixtures/valid/blueprint-request.json +6 -0
  66. package/contracts/uasset-io/v1/fixtures/valid/blueprint-result-event.json +58 -0
  67. package/contracts/uasset-io/v1/fixtures/valid/project-index-count-request.json +32 -0
  68. package/contracts/uasset-io/v1/fixtures/valid/project-index-count-result-event.json +20 -0
  69. package/contracts/uasset-io/v1/fixtures/valid/project-index-dictionary-page-result-event.json +35 -0
  70. package/contracts/uasset-io/v1/fixtures/valid/project-index-dictionary-query-request.json +26 -0
  71. package/contracts/uasset-io/v1/request.schema.json +174 -0
  72. package/dist/authoring-review.d.ts +36 -36
  73. package/dist/authoring.d.ts +45 -45
  74. package/dist/authoring.d.ts.map +1 -1
  75. package/dist/blueprint-graph.d.ts +628 -0
  76. package/dist/blueprint-graph.d.ts.map +1 -0
  77. package/dist/blueprint-graph.js +111 -0
  78. package/dist/blueprint-graph.js.map +1 -0
  79. package/dist/companion.d.ts +34 -3
  80. package/dist/companion.d.ts.map +1 -1
  81. package/dist/companion.js +11 -0
  82. package/dist/companion.js.map +1 -1
  83. package/dist/editor-asset-navigation.d.ts +12 -12
  84. package/dist/editor-play-session.d.ts +6 -6
  85. package/dist/editor-world-control.d.ts +8 -8
  86. package/dist/index.d.ts +1 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +1 -0
  89. package/dist/index.js.map +1 -1
  90. package/dist/saved-world.d.ts +20 -14
  91. package/dist/saved-world.d.ts.map +1 -1
  92. package/dist/saved-world.js +1 -0
  93. package/dist/saved-world.js.map +1 -1
  94. package/dist/uasset-inspection.d.ts +6 -5
  95. package/dist/uasset-inspection.d.ts.map +1 -1
  96. package/dist/uasset-inspection.js +1 -1
  97. package/dist/uasset-inspection.js.map +1 -1
  98. package/dist/uasset-io.d.ts +648 -129
  99. package/dist/uasset-io.d.ts.map +1 -1
  100. package/dist/uasset-io.js +51 -1
  101. package/dist/uasset-io.js.map +1 -1
  102. package/package.json +1 -1
@@ -29,20 +29,34 @@
29
29
  "additionalProperties": false,
30
30
  "required": ["children", "parent", "path"],
31
31
  "properties": {
32
- "children": { "const": "z+1: (2r,2c),(2r,2c+1),(2r+1,2c),(2r+1,2c+1)" },
33
- "parent": { "const": "z-1: (floor(r/2),floor(c/2))" },
34
- "path": { "const": "Z{zoom:02}/R{row:03}_C{column:03}.png" }
32
+ "children": {
33
+ "const": "z+1: (2r,2c),(2r,2c+1),(2r+1,2c),(2r+1,2c+1)"
34
+ },
35
+ "parent": {
36
+ "const": "z-1: (floor(r/2),floor(c/2))"
37
+ },
38
+ "path": {
39
+ "const": "Z{zoom:02}/R{row:03}_C{column:03}.png"
40
+ }
35
41
  }
36
42
  },
37
- "capturePolicy": { "$ref": "plan.schema.json#/$defs/capturePolicy" },
38
- "completedAt": { "$ref": "#/$defs/timestamp" },
43
+ "capturePolicy": {
44
+ "$ref": "plan.schema.json#/$defs/capturePolicy"
45
+ },
46
+ "completedAt": {
47
+ "$ref": "#/$defs/timestamp"
48
+ },
39
49
  "contract": {
40
50
  "type": "object",
41
51
  "additionalProperties": false,
42
52
  "required": ["name", "version"],
43
53
  "properties": {
44
- "name": { "const": "ue-shed-map-tile-pyramid" },
45
- "version": { "$ref": "plan.schema.json#/$defs/version" }
54
+ "name": {
55
+ "const": "ue-shed-map-tile-pyramid"
56
+ },
57
+ "version": {
58
+ "$ref": "plan.schema.json#/$defs/version"
59
+ }
46
60
  }
47
61
  },
48
62
  "failures": {
@@ -52,8 +66,12 @@
52
66
  "additionalProperties": false,
53
67
  "required": ["failure", "key"],
54
68
  "properties": {
55
- "failure": { "$ref": "capture-response.schema.json#/$defs/failure" },
56
- "key": { "$ref": "capture-request.schema.json#/$defs/tileKey" }
69
+ "failure": {
70
+ "$ref": "capture-response.schema.json#/$defs/failure"
71
+ },
72
+ "key": {
73
+ "$ref": "capture-request.schema.json#/$defs/tileKey"
74
+ }
57
75
  }
58
76
  }
59
77
  },
@@ -67,18 +85,33 @@
67
85
  "additionalProperties": false,
68
86
  "required": ["name", "version"],
69
87
  "properties": {
70
- "name": { "const": "rows_max_x_to_min_x_columns_min_y_to_max_y" },
71
- "version": { "const": 1 }
88
+ "name": {
89
+ "const": "rows_max_x_to_min_x_columns_min_y_to_max_y"
90
+ },
91
+ "version": {
92
+ "const": 1
93
+ }
72
94
  }
73
95
  },
74
96
  "origin": {
75
97
  "type": "object",
76
98
  "additionalProperties": false,
77
99
  "required": ["x", "y"],
78
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } }
100
+ "properties": {
101
+ "x": {
102
+ "type": "number"
103
+ },
104
+ "y": {
105
+ "type": "number"
106
+ }
107
+ }
108
+ },
109
+ "requestedBounds": {
110
+ "$ref": "plan.schema.json#/$defs/bounds"
79
111
  },
80
- "requestedBounds": { "$ref": "plan.schema.json#/$defs/bounds" },
81
- "snappedBounds": { "$ref": "plan.schema.json#/$defs/bounds" }
112
+ "snappedBounds": {
113
+ "$ref": "plan.schema.json#/$defs/bounds"
114
+ }
82
115
  }
83
116
  },
84
117
  "gutter": {
@@ -86,9 +119,17 @@
86
119
  "additionalProperties": false,
87
120
  "required": ["pixels", "rule", "textureAddress"],
88
121
  "properties": {
89
- "pixels": { "type": "integer", "minimum": 0, "maximum": 32 },
90
- "rule": { "const": "render_overdraw_then_crop" },
91
- "textureAddress": { "const": "clamp_to_edge" }
122
+ "pixels": {
123
+ "type": "integer",
124
+ "minimum": 0,
125
+ "maximum": 32
126
+ },
127
+ "rule": {
128
+ "const": "render_overdraw_then_crop"
129
+ },
130
+ "textureAddress": {
131
+ "const": "clamp_to_edge"
132
+ }
92
133
  }
93
134
  },
94
135
  "levels": {
@@ -100,30 +141,69 @@
100
141
  "additionalProperties": false,
101
142
  "required": ["columns", "rows", "tileWorldSize", "unitsPerPixel", "zoom"],
102
143
  "properties": {
103
- "columns": { "type": "integer", "minimum": 1 },
104
- "rows": { "type": "integer", "minimum": 1 },
105
- "tileWorldSize": { "type": "number", "exclusiveMinimum": 0 },
106
- "unitsPerPixel": { "type": "number", "exclusiveMinimum": 0 },
107
- "zoom": { "type": "integer", "minimum": 0 }
144
+ "columns": {
145
+ "type": "integer",
146
+ "minimum": 1
147
+ },
148
+ "rows": {
149
+ "type": "integer",
150
+ "minimum": 1
151
+ },
152
+ "tileWorldSize": {
153
+ "type": "number",
154
+ "exclusiveMinimum": 0
155
+ },
156
+ "unitsPerPixel": {
157
+ "type": "number",
158
+ "exclusiveMinimum": 0
159
+ },
160
+ "zoom": {
161
+ "type": "integer",
162
+ "minimum": 0
163
+ }
108
164
  }
109
165
  }
110
166
  },
111
- "planId": { "$ref": "plan.schema.json#/$defs/id" },
112
- "project": { "$ref": "plan.schema.json#/$defs/project" },
167
+ "planId": {
168
+ "$ref": "plan.schema.json#/$defs/id"
169
+ },
170
+ "project": {
171
+ "$ref": "plan.schema.json#/$defs/project"
172
+ },
113
173
  "provenance": {
114
174
  "type": "object",
115
175
  "additionalProperties": false,
116
176
  "required": ["producer", "tool", "toolVersion"],
117
177
  "properties": {
118
- "producer": { "type": "string", "minLength": 1, "maxLength": 1024 },
119
- "tool": { "const": "ue-shed" },
120
- "toolVersion": { "type": "string", "minLength": 1, "maxLength": 1024 }
178
+ "producer": {
179
+ "type": "string",
180
+ "minLength": 1,
181
+ "maxLength": 1024
182
+ },
183
+ "tool": {
184
+ "const": "ue-shed"
185
+ },
186
+ "toolVersion": {
187
+ "type": "string",
188
+ "minLength": 1,
189
+ "maxLength": 1024
190
+ }
121
191
  }
122
192
  },
123
- "runId": { "$ref": "plan.schema.json#/$defs/id" },
124
- "startedAt": { "$ref": "#/$defs/timestamp" },
125
- "state": { "enum": ["complete", "partial", "cancelled"] },
126
- "tilePixelSize": { "type": "integer", "minimum": 64, "maximum": 4096 },
193
+ "runId": {
194
+ "$ref": "plan.schema.json#/$defs/id"
195
+ },
196
+ "startedAt": {
197
+ "$ref": "#/$defs/timestamp"
198
+ },
199
+ "state": {
200
+ "enum": ["complete", "partial", "cancelled"]
201
+ },
202
+ "tilePixelSize": {
203
+ "type": "integer",
204
+ "minimum": 64,
205
+ "maximum": 4096
206
+ },
127
207
  "tiles": {
128
208
  "type": "array",
129
209
  "items": {
@@ -139,16 +219,35 @@
139
219
  "worldBounds"
140
220
  ],
141
221
  "properties": {
142
- "bytes": { "type": "integer", "minimum": 1 },
143
- "hash": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
144
- "height": { "type": "integer", "minimum": 1 },
145
- "key": { "$ref": "capture-request.schema.json#/$defs/tileKey" },
222
+ "bytes": {
223
+ "type": "integer",
224
+ "minimum": 1
225
+ },
226
+ "hash": {
227
+ "type": "string",
228
+ "pattern": "^sha256:[a-f0-9]{64}$"
229
+ },
230
+ "height": {
231
+ "type": "integer",
232
+ "minimum": 1
233
+ },
234
+ "key": {
235
+ "$ref": "capture-request.schema.json#/$defs/tileKey"
236
+ },
146
237
  "relativePath": {
147
238
  "type": "string",
148
239
  "pattern": "^Z[0-9]{2,}/R[0-9]{3,}_C[0-9]{3,}\\.png$"
149
240
  },
150
- "width": { "type": "integer", "minimum": 1 },
151
- "worldBounds": { "$ref": "plan.schema.json#/$defs/bounds" }
241
+ "width": {
242
+ "type": "integer",
243
+ "minimum": 1
244
+ },
245
+ "worldBounds": {
246
+ "$ref": "plan.schema.json#/$defs/bounds"
247
+ },
248
+ "renderEvidence": {
249
+ "$ref": "../../render/v1/frame-evidence.schema.json"
250
+ }
152
251
  }
153
252
  }
154
253
  }
@@ -16,25 +16,44 @@
16
16
  "tilePixelSize"
17
17
  ],
18
18
  "properties": {
19
- "capture": { "$ref": "#/$defs/capturePolicy" },
19
+ "capture": {
20
+ "$ref": "#/$defs/capturePolicy"
21
+ },
20
22
  "contract": {
21
23
  "type": "object",
22
24
  "additionalProperties": false,
23
25
  "required": ["name", "version"],
24
26
  "properties": {
25
- "name": { "const": "ue-shed-map-capture-plan" },
26
- "version": { "$ref": "#/$defs/version" }
27
+ "name": {
28
+ "const": "ue-shed-map-capture-plan"
29
+ },
30
+ "version": {
31
+ "$ref": "#/$defs/version"
32
+ }
27
33
  }
28
34
  },
29
- "gutterPixels": { "type": "integer", "minimum": 0, "maximum": 32 },
30
- "id": { "$ref": "#/$defs/id" },
35
+ "gutterPixels": {
36
+ "type": "integer",
37
+ "minimum": 0,
38
+ "maximum": 32
39
+ },
40
+ "id": {
41
+ "$ref": "#/$defs/id"
42
+ },
31
43
  "levels": {
32
44
  "type": "object",
33
45
  "additionalProperties": false,
34
46
  "required": ["coarsestUnitsPerPixel", "count"],
35
47
  "properties": {
36
- "coarsestUnitsPerPixel": { "type": "number", "exclusiveMinimum": 0 },
37
- "count": { "type": "integer", "minimum": 1, "maximum": 24 }
48
+ "coarsestUnitsPerPixel": {
49
+ "type": "number",
50
+ "exclusiveMinimum": 0
51
+ },
52
+ "count": {
53
+ "type": "integer",
54
+ "minimum": 1,
55
+ "maximum": 24
56
+ }
38
57
  }
39
58
  },
40
59
  "output": {
@@ -42,31 +61,61 @@
42
61
  "additionalProperties": false,
43
62
  "required": ["imageFormat", "publication"],
44
63
  "properties": {
45
- "imageFormat": { "const": "png" },
46
- "publication": { "const": "local_immutable" }
64
+ "imageFormat": {
65
+ "const": "png"
66
+ },
67
+ "publication": {
68
+ "const": "local_immutable"
69
+ }
47
70
  }
48
71
  },
49
- "project": { "$ref": "#/$defs/project" },
50
- "requestedBounds": { "$ref": "#/$defs/bounds" },
51
- "tilePixelSize": { "type": "integer", "minimum": 64, "maximum": 4096 }
72
+ "project": {
73
+ "$ref": "#/$defs/project"
74
+ },
75
+ "requestedBounds": {
76
+ "$ref": "#/$defs/bounds"
77
+ },
78
+ "tilePixelSize": {
79
+ "type": "integer",
80
+ "minimum": 64,
81
+ "maximum": 4096
82
+ }
52
83
  },
53
84
  "$defs": {
54
- "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" },
85
+ "id": {
86
+ "type": "string",
87
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
88
+ },
55
89
  "version": {
56
90
  "type": "object",
57
91
  "additionalProperties": false,
58
92
  "required": ["major", "minor"],
59
- "properties": { "major": { "const": 1 }, "minor": { "const": 0 } }
93
+ "properties": {
94
+ "major": {
95
+ "const": 1
96
+ },
97
+ "minor": {
98
+ "enum": [0, 1]
99
+ }
100
+ }
60
101
  },
61
102
  "bounds": {
62
103
  "type": "object",
63
104
  "additionalProperties": false,
64
105
  "required": ["minX", "minY", "maxX", "maxY"],
65
106
  "properties": {
66
- "minX": { "type": "number" },
67
- "minY": { "type": "number" },
68
- "maxX": { "type": "number" },
69
- "maxY": { "type": "number" }
107
+ "minX": {
108
+ "type": "number"
109
+ },
110
+ "minY": {
111
+ "type": "number"
112
+ },
113
+ "maxX": {
114
+ "type": "number"
115
+ },
116
+ "maxY": {
117
+ "type": "number"
118
+ }
70
119
  }
71
120
  },
72
121
  "project": {
@@ -74,8 +123,13 @@
74
123
  "additionalProperties": false,
75
124
  "required": ["id", "mapPath"],
76
125
  "properties": {
77
- "id": { "$ref": "#/$defs/id" },
78
- "mapPath": { "type": "string", "pattern": "^/[A-Za-z0-9_./-]+$" }
126
+ "id": {
127
+ "$ref": "#/$defs/id"
128
+ },
129
+ "mapPath": {
130
+ "type": "string",
131
+ "pattern": "^/[A-Za-z0-9_./-]+$"
132
+ }
79
133
  }
80
134
  },
81
135
  "dataLayers": {
@@ -84,14 +138,20 @@
84
138
  "type": "object",
85
139
  "additionalProperties": false,
86
140
  "required": ["mode"],
87
- "properties": { "mode": { "const": "unchanged" } }
141
+ "properties": {
142
+ "mode": {
143
+ "const": "unchanged"
144
+ }
145
+ }
88
146
  },
89
147
  {
90
148
  "type": "object",
91
149
  "additionalProperties": false,
92
150
  "required": ["mode", "states"],
93
151
  "properties": {
94
- "mode": { "const": "explicit" },
152
+ "mode": {
153
+ "const": "explicit"
154
+ },
95
155
  "states": {
96
156
  "type": "array",
97
157
  "maxItems": 64,
@@ -100,8 +160,14 @@
100
160
  "additionalProperties": false,
101
161
  "required": ["name", "state"],
102
162
  "properties": {
103
- "name": { "type": "string", "minLength": 1, "maxLength": 1024 },
104
- "state": { "enum": ["unloaded", "loaded", "activated"] }
163
+ "name": {
164
+ "type": "string",
165
+ "minLength": 1,
166
+ "maxLength": 1024
167
+ },
168
+ "state": {
169
+ "enum": ["unloaded", "loaded", "activated"]
170
+ }
105
171
  }
106
172
  }
107
173
  }
@@ -114,15 +180,23 @@
114
180
  "additionalProperties": false,
115
181
  "required": ["dataLayers", "orientation", "render", "z"],
116
182
  "properties": {
117
- "dataLayers": { "$ref": "#/$defs/dataLayers" },
183
+ "dataLayers": {
184
+ "$ref": "#/$defs/dataLayers"
185
+ },
118
186
  "orientation": {
119
187
  "type": "object",
120
188
  "additionalProperties": false,
121
189
  "required": ["pitch", "roll", "yaw"],
122
190
  "properties": {
123
- "pitch": { "const": -90 },
124
- "roll": { "const": 0 },
125
- "yaw": { "const": 0 }
191
+ "pitch": {
192
+ "const": -90
193
+ },
194
+ "roll": {
195
+ "const": 0
196
+ },
197
+ "yaw": {
198
+ "const": 0
199
+ }
126
200
  }
127
201
  },
128
202
  "render": {
@@ -130,20 +204,33 @@
130
204
  "additionalProperties": false,
131
205
  "required": ["effects", "lodPolicy", "profile"],
132
206
  "properties": {
207
+ "exposureEV100": {
208
+ "type": "number",
209
+ "minimum": -20,
210
+ "maximum": 30
211
+ },
133
212
  "effects": {
134
213
  "type": "object",
135
214
  "additionalProperties": false,
136
215
  "required": ["fog", "volumetricFog"],
137
216
  "properties": {
138
- "fog": { "type": "boolean" },
139
- "volumetricFog": { "type": "boolean" }
217
+ "fog": {
218
+ "type": "boolean"
219
+ },
220
+ "volumetricFog": {
221
+ "type": "boolean"
222
+ }
140
223
  }
141
224
  },
142
225
  "lodDistanceScaleByZoom": {
143
226
  "type": "array",
144
227
  "minItems": 1,
145
228
  "maxItems": 24,
146
- "items": { "type": "number", "minimum": 0.1, "maximum": 100 }
229
+ "items": {
230
+ "type": "number",
231
+ "minimum": 0.1,
232
+ "maximum": 100
233
+ }
147
234
  },
148
235
  "lodPolicy": {
149
236
  "enum": ["natural", "fixed_lod_zero", "per_level_distance_scale"]
@@ -161,15 +248,25 @@
161
248
  {
162
249
  "if": {
163
250
  "properties": {
164
- "lodPolicy": { "const": "per_level_distance_scale" }
251
+ "lodPolicy": {
252
+ "const": "per_level_distance_scale"
253
+ }
165
254
  }
166
255
  },
167
- "then": { "required": ["lodDistanceScaleByZoom"] },
168
- "else": { "not": { "required": ["lodDistanceScaleByZoom"] } }
256
+ "then": {
257
+ "required": ["lodDistanceScaleByZoom"]
258
+ },
259
+ "else": {
260
+ "not": {
261
+ "required": ["lodDistanceScaleByZoom"]
262
+ }
263
+ }
169
264
  }
170
265
  ]
171
266
  },
172
- "z": { "type": "number" }
267
+ "z": {
268
+ "type": "number"
269
+ }
173
270
  }
174
271
  }
175
272
  }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "required": ["schemaVersion", "backend", "ready", "blockers"],
6
+ "properties": {
7
+ "schemaVersion": {
8
+ "const": 1
9
+ },
10
+ "backend": {
11
+ "const": "lit_camera_tiles"
12
+ },
13
+ "ready": {
14
+ "type": "boolean"
15
+ },
16
+ "actualMapPath": {
17
+ "type": "string",
18
+ "minLength": 1
19
+ },
20
+ "blockers": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["code", "message"],
26
+ "properties": {
27
+ "code": {
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "message": {
32
+ "type": "string",
33
+ "minLength": 1
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ue-shed.dev/contracts/cameras/map-tile/v1/release-result.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "released": { "type": "boolean" },
7
+ "restoration": { "type": "string", "enum": ["restored", "failed"] }
8
+ },
9
+ "required": ["released", "restoration"],
10
+ "additionalProperties": false,
11
+ "$defs": {}
12
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "oneOf": [
4
+ {
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "status",
10
+ "mapPath",
11
+ "bounds",
12
+ "actors",
13
+ "skippedActorPaths"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "const": 1
18
+ },
19
+ "status": {
20
+ "const": "ready"
21
+ },
22
+ "mapPath": {
23
+ "type": "string",
24
+ "minLength": 1
25
+ },
26
+ "bounds": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["minX", "maxX", "minY", "maxY", "minZ", "maxZ"],
30
+ "properties": {
31
+ "minX": {
32
+ "type": "number"
33
+ },
34
+ "maxX": {
35
+ "type": "number"
36
+ },
37
+ "minY": {
38
+ "type": "number"
39
+ },
40
+ "maxY": {
41
+ "type": "number"
42
+ },
43
+ "minZ": {
44
+ "type": "number"
45
+ },
46
+ "maxZ": {
47
+ "type": "number"
48
+ }
49
+ }
50
+ },
51
+ "actors": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "additionalProperties": false,
56
+ "required": ["path", "label"],
57
+ "properties": {
58
+ "path": {
59
+ "type": "string",
60
+ "minLength": 1
61
+ },
62
+ "label": {
63
+ "type": "string"
64
+ },
65
+ "actorGuid": {
66
+ "type": "string",
67
+ "pattern": "^[0-9A-Fa-f]{32}$"
68
+ }
69
+ }
70
+ },
71
+ "minItems": 1,
72
+ "maxItems": 1024
73
+ },
74
+ "skippedActorPaths": {
75
+ "type": "array",
76
+ "items": {
77
+ "type": "string"
78
+ },
79
+ "maxItems": 1024
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "required": ["schemaVersion", "status", "code", "message"],
87
+ "properties": {
88
+ "schemaVersion": {
89
+ "const": 1
90
+ },
91
+ "status": {
92
+ "const": "unavailable"
93
+ },
94
+ "code": {
95
+ "type": "string",
96
+ "minLength": 1
97
+ },
98
+ "message": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ }