@ue-shed/protocol 0.7.1 → 0.8.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 (79) hide show
  1. package/contracts/cameras/authoring/v1/README.md +50 -0
  2. package/contracts/cameras/authoring/v1/approval.schema.json +106 -0
  3. package/contracts/cameras/authoring/v1/arrangement.schema.json +1801 -0
  4. package/contracts/cameras/authoring/v1/bridge-request.schema.json +10862 -0
  5. package/contracts/cameras/authoring/v1/bridge-response.schema.json +10323 -0
  6. package/contracts/cameras/authoring/v1/command.schema.json +4109 -0
  7. package/contracts/cameras/authoring/v1/document.schema.json +4409 -0
  8. package/contracts/cameras/authoring/v1/panel-event.schema.json +4885 -0
  9. package/contracts/cameras/authoring/v1/panel-state.schema.json +3548 -0
  10. package/contracts/cameras/authoring/v1/recipe.schema.json +340 -0
  11. package/contracts/cameras/authoring/v1/visibility-preset.schema.json +205 -0
  12. package/contracts/cameras/map-tile/v1/README.md +4 -1
  13. package/contracts/cameras/map-tile/v1/capture-operation.schema.json +1621 -30
  14. package/contracts/cameras/map-tile/v1/capture-request.schema.json +497 -48
  15. package/contracts/cameras/map-tile/v1/capture-response.schema.json +1383 -96
  16. package/contracts/cameras/map-tile/v1/manifest.schema.json +1760 -110
  17. package/contracts/cameras/map-tile/v1/plan.schema.json +394 -200
  18. package/contracts/cameras/map-tile/v1/release-result.schema.json +7 -2
  19. package/contracts/cameras/provisioning/v1/provision-request.schema.json +663 -141
  20. package/contracts/cameras/render/v1/begin-result.schema.json +167 -0
  21. package/contracts/cameras/render/v1/capabilities.schema.json +25 -0
  22. package/contracts/cameras/render/v1/frame-evidence.schema.json +240 -0
  23. package/contracts/cameras/render/v1/frame-status.schema.json +249 -0
  24. package/contracts/cameras/render/v1/policy.schema.json +159 -0
  25. package/contracts/cameras/render/v1/review-inspection-result.schema.json +263 -0
  26. package/contracts/cameras/render/v1/session-request.schema.json +167 -0
  27. package/contracts/cameras/review/v1/README.md +6 -0
  28. package/contracts/cameras/review/v1/capture-request.schema.json +221 -3
  29. package/contracts/cameras/review/v1/capture-response.schema.json +3648 -0
  30. package/contracts/cameras/review/v1/fixtures/capture-authored.json +205 -0
  31. package/contracts/core/v1/WINDOW-ACTIVATION.md +21 -0
  32. package/contracts/core/v1/window-activation-request.schema.json +20 -0
  33. package/contracts/core/v1/window-activation-result.schema.json +49 -0
  34. package/contracts/editor-world/v1/README.md +27 -0
  35. package/contracts/editor-world/v1/operation.schema.json +761 -0
  36. package/contracts/editor-world/v1/state.schema.json +92 -0
  37. package/contracts/uasset-io/v1/event.schema.json +613 -171
  38. package/contracts/uasset-io/v1/fixtures/invalid/inspect-string-table-nonstring-metadata.json +53 -0
  39. package/contracts/uasset-io/v1/fixtures/invalid/negative-instanced-size.json +97 -0
  40. package/contracts/uasset-io/v1/fixtures/invalid/non-string-metadata.json +97 -0
  41. package/contracts/uasset-io/v1/fixtures/invalid/unknown-native-value.json +97 -0
  42. package/contracts/uasset-io/v1/fixtures/valid/extract-text-string-table-occurrence-result-event.json +30 -0
  43. package/contracts/uasset-io/v1/fixtures/valid/inspect-native-result-event.json +97 -0
  44. package/contracts/uasset-io/v1/fixtures/valid/inspect-string-table-metadata-result-event.json +53 -0
  45. package/contracts/world/preparation/v1/fixtures/invalid-contract-version.json +10 -0
  46. package/contracts/world/preparation/v1/fixtures/invalid-extra-field.json +11 -0
  47. package/contracts/world/preparation/v1/fixtures/invalid-negative-budget.json +37 -0
  48. package/contracts/world/preparation/v1/fixtures/invalid-region-negative-extent.json +40 -0
  49. package/contracts/world/preparation/v1/fixtures/valid-actor-context.json +37 -0
  50. package/contracts/world/preparation/v1/fixtures/valid-describe.json +10 -0
  51. package/contracts/world/preparation/v1/request.schema.json +897 -0
  52. package/contracts/world/preparation/v1/response.schema.json +449 -0
  53. package/dist/cameras.d.ts +16 -12
  54. package/dist/cameras.d.ts.map +1 -1
  55. package/dist/cameras.js +1 -0
  56. package/dist/cameras.js.map +1 -1
  57. package/dist/companion.d.ts +6 -0
  58. package/dist/companion.d.ts.map +1 -1
  59. package/dist/companion.js +3 -0
  60. package/dist/companion.js.map +1 -1
  61. package/dist/editor-window-activation.d.ts +16 -0
  62. package/dist/editor-window-activation.d.ts.map +1 -0
  63. package/dist/editor-window-activation.js +19 -0
  64. package/dist/editor-window-activation.js.map +1 -0
  65. package/dist/editor-world-control.d.ts +125 -0
  66. package/dist/editor-world-control.d.ts.map +1 -1
  67. package/dist/editor-world-control.js +25 -0
  68. package/dist/editor-world-control.js.map +1 -1
  69. package/dist/index.d.ts +1 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +1 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/uasset-inspection.d.ts +112 -55
  74. package/dist/uasset-inspection.d.ts.map +1 -1
  75. package/dist/uasset-inspection.js +29 -0
  76. package/dist/uasset-inspection.js.map +1 -1
  77. package/dist/uasset-io.d.ts +54 -0
  78. package/dist/uasset-io.d.ts.map +1 -1
  79. package/package.json +1 -1
@@ -1,218 +1,267 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://ue-shed.dev/contracts/cameras/map-tile/v1/plan.schema.json",
4
- "title": "UE Shed Map Capture Plan v1.0",
5
4
  "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "capture",
9
- "contract",
10
- "gutterPixels",
11
- "id",
12
- "levels",
13
- "output",
14
- "project",
15
- "requestedBounds",
16
- "tilePixelSize"
17
- ],
18
5
  "properties": {
19
6
  "capture": {
20
- "$ref": "#/$defs/capturePolicy"
21
- },
22
- "contract": {
23
- "type": "object",
24
- "additionalProperties": false,
25
- "required": ["name", "version"],
26
- "properties": {
27
- "name": {
28
- "const": "ue-shed-map-capture-plan"
29
- },
30
- "version": {
31
- "$ref": "#/$defs/version"
32
- }
33
- }
34
- },
35
- "gutterPixels": {
36
- "type": "integer",
37
- "minimum": 0,
38
- "maximum": 32
39
- },
40
- "id": {
41
- "$ref": "#/$defs/id"
42
- },
43
- "levels": {
44
- "type": "object",
45
- "additionalProperties": false,
46
- "required": ["coarsestUnitsPerPixel", "count"],
47
- "properties": {
48
- "coarsestUnitsPerPixel": {
49
- "type": "number",
50
- "exclusiveMinimum": 0
51
- },
52
- "count": {
53
- "type": "integer",
54
- "minimum": 1,
55
- "maximum": 24
56
- }
57
- }
58
- },
59
- "output": {
60
- "type": "object",
61
- "additionalProperties": false,
62
- "required": ["imageFormat", "publication"],
63
- "properties": {
64
- "imageFormat": {
65
- "const": "png"
66
- },
67
- "publication": {
68
- "const": "local_immutable"
69
- }
70
- }
71
- },
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
- }
83
- },
84
- "$defs": {
85
- "id": {
86
- "type": "string",
87
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
88
- },
89
- "version": {
90
7
  "type": "object",
91
- "additionalProperties": false,
92
- "required": ["major", "minor"],
93
8
  "properties": {
94
- "major": {
95
- "const": 1
96
- },
97
- "minor": {
98
- "enum": [0, 1]
99
- }
100
- }
101
- },
102
- "bounds": {
103
- "type": "object",
104
- "additionalProperties": false,
105
- "required": ["minX", "minY", "maxX", "maxY"],
106
- "properties": {
107
- "minX": {
108
- "type": "number"
109
- },
110
- "minY": {
111
- "type": "number"
112
- },
113
- "maxX": {
114
- "type": "number"
115
- },
116
- "maxY": {
117
- "type": "number"
118
- }
119
- }
120
- },
121
- "project": {
122
- "type": "object",
123
- "additionalProperties": false,
124
- "required": ["id", "mapPath"],
125
- "properties": {
126
- "id": {
127
- "$ref": "#/$defs/id"
128
- },
129
- "mapPath": {
130
- "type": "string",
131
- "pattern": "^/[A-Za-z0-9_./-]+$"
132
- }
133
- }
134
- },
135
- "dataLayers": {
136
- "oneOf": [
137
- {
9
+ "visibility": {
138
10
  "type": "object",
139
- "additionalProperties": false,
140
- "required": ["mode"],
141
11
  "properties": {
142
- "mode": {
143
- "const": "unchanged"
144
- }
145
- }
146
- },
147
- {
148
- "type": "object",
149
- "additionalProperties": false,
150
- "required": ["mode", "states"],
151
- "properties": {
152
- "mode": {
153
- "const": "explicit"
154
- },
155
- "states": {
12
+ "hide": {
156
13
  "type": "array",
157
- "maxItems": 64,
158
14
  "items": {
159
15
  "type": "object",
160
- "additionalProperties": false,
161
- "required": ["name", "state"],
162
16
  "properties": {
163
- "name": {
17
+ "locator": {
18
+ "anyOf": [
19
+ {
20
+ "type": "object",
21
+ "properties": {
22
+ "kind": {
23
+ "type": "string",
24
+ "enum": ["actor_path"]
25
+ },
26
+ "actorPath": {
27
+ "type": "string",
28
+ "allOf": [
29
+ {
30
+ "pattern": "^\\/Game\\/"
31
+ },
32
+ {
33
+ "maxLength": 4096
34
+ }
35
+ ]
36
+ }
37
+ },
38
+ "required": ["kind", "actorPath"],
39
+ "additionalProperties": false
40
+ },
41
+ {
42
+ "type": "object",
43
+ "properties": {
44
+ "kind": {
45
+ "type": "string",
46
+ "enum": ["actor_guid"]
47
+ },
48
+ "actorGuid": {
49
+ "type": "string",
50
+ "allOf": [
51
+ {
52
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
53
+ }
54
+ ]
55
+ },
56
+ "lastKnownActorPath": {
57
+ "type": "string",
58
+ "allOf": [
59
+ {
60
+ "maxLength": 4096
61
+ }
62
+ ]
63
+ }
64
+ },
65
+ "required": [
66
+ "kind",
67
+ "actorGuid",
68
+ "lastKnownActorPath"
69
+ ],
70
+ "additionalProperties": false
71
+ }
72
+ ]
73
+ },
74
+ "label": {
164
75
  "type": "string",
165
- "minLength": 1,
166
- "maxLength": 1024
76
+ "allOf": [
77
+ {
78
+ "maxLength": 256
79
+ }
80
+ ]
81
+ }
82
+ },
83
+ "required": ["locator", "label"],
84
+ "additionalProperties": false
85
+ },
86
+ "allOf": [
87
+ {
88
+ "maxItems": 256
89
+ }
90
+ ]
91
+ },
92
+ "protect": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "properties": {
97
+ "locator": {
98
+ "anyOf": [
99
+ {
100
+ "type": "object",
101
+ "properties": {
102
+ "kind": {
103
+ "type": "string",
104
+ "enum": ["actor_path"]
105
+ },
106
+ "actorPath": {
107
+ "type": "string",
108
+ "allOf": [
109
+ {
110
+ "pattern": "^\\/Game\\/"
111
+ },
112
+ {
113
+ "maxLength": 4096
114
+ }
115
+ ]
116
+ }
117
+ },
118
+ "required": ["kind", "actorPath"],
119
+ "additionalProperties": false
120
+ },
121
+ {
122
+ "type": "object",
123
+ "properties": {
124
+ "kind": {
125
+ "type": "string",
126
+ "enum": ["actor_guid"]
127
+ },
128
+ "actorGuid": {
129
+ "type": "string",
130
+ "allOf": [
131
+ {
132
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
133
+ }
134
+ ]
135
+ },
136
+ "lastKnownActorPath": {
137
+ "type": "string",
138
+ "allOf": [
139
+ {
140
+ "maxLength": 4096
141
+ }
142
+ ]
143
+ }
144
+ },
145
+ "required": [
146
+ "kind",
147
+ "actorGuid",
148
+ "lastKnownActorPath"
149
+ ],
150
+ "additionalProperties": false
151
+ }
152
+ ]
167
153
  },
168
- "state": {
169
- "enum": ["unloaded", "loaded", "activated"]
154
+ "label": {
155
+ "type": "string",
156
+ "allOf": [
157
+ {
158
+ "maxLength": 256
159
+ }
160
+ ]
170
161
  }
162
+ },
163
+ "required": ["locator", "label"],
164
+ "additionalProperties": false
165
+ },
166
+ "allOf": [
167
+ {
168
+ "maxItems": 256
171
169
  }
172
- }
170
+ ]
173
171
  }
174
- }
175
- }
176
- ]
177
- },
178
- "capturePolicy": {
179
- "type": "object",
180
- "additionalProperties": false,
181
- "required": ["dataLayers", "orientation", "render", "z"],
182
- "properties": {
172
+ },
173
+ "required": ["hide", "protect"],
174
+ "additionalProperties": false
175
+ },
183
176
  "dataLayers": {
184
- "$ref": "#/$defs/dataLayers"
177
+ "anyOf": [
178
+ {
179
+ "type": "object",
180
+ "properties": {
181
+ "mode": {
182
+ "type": "string",
183
+ "enum": ["unchanged"]
184
+ }
185
+ },
186
+ "required": ["mode"],
187
+ "additionalProperties": false
188
+ },
189
+ {
190
+ "type": "object",
191
+ "properties": {
192
+ "mode": {
193
+ "type": "string",
194
+ "enum": ["explicit"]
195
+ },
196
+ "states": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "object",
200
+ "properties": {
201
+ "name": {
202
+ "type": "string",
203
+ "allOf": [
204
+ {
205
+ "minLength": 1
206
+ },
207
+ {
208
+ "maxLength": 1024
209
+ }
210
+ ]
211
+ },
212
+ "state": {
213
+ "type": "string",
214
+ "enum": ["unloaded", "loaded", "activated"]
215
+ }
216
+ },
217
+ "required": ["name", "state"],
218
+ "additionalProperties": false
219
+ },
220
+ "allOf": [
221
+ {
222
+ "maxItems": 64
223
+ }
224
+ ]
225
+ }
226
+ },
227
+ "required": ["mode", "states"],
228
+ "additionalProperties": false
229
+ }
230
+ ]
185
231
  },
186
232
  "orientation": {
187
233
  "type": "object",
188
- "additionalProperties": false,
189
- "required": ["pitch", "roll", "yaw"],
190
234
  "properties": {
191
235
  "pitch": {
192
- "const": -90
236
+ "type": "number",
237
+ "enum": [-90]
193
238
  },
194
239
  "roll": {
195
- "const": 0
240
+ "type": "number",
241
+ "enum": [0]
196
242
  },
197
243
  "yaw": {
198
- "const": 0
244
+ "type": "number",
245
+ "enum": [0]
199
246
  }
200
- }
247
+ },
248
+ "required": ["pitch", "roll", "yaw"],
249
+ "additionalProperties": false
201
250
  },
202
251
  "render": {
203
252
  "type": "object",
204
- "additionalProperties": false,
205
- "required": ["effects", "lodPolicy", "profile"],
206
253
  "properties": {
207
254
  "exposureEV100": {
208
255
  "type": "number",
209
- "minimum": -20,
210
- "maximum": 30
256
+ "allOf": [
257
+ {
258
+ "minimum": -20,
259
+ "maximum": 30
260
+ }
261
+ ]
211
262
  },
212
263
  "effects": {
213
264
  "type": "object",
214
- "additionalProperties": false,
215
- "required": ["fog", "volumetricFog"],
216
265
  "properties": {
217
266
  "fog": {
218
267
  "type": "boolean"
@@ -220,22 +269,36 @@
220
269
  "volumetricFog": {
221
270
  "type": "boolean"
222
271
  }
223
- }
272
+ },
273
+ "required": ["fog", "volumetricFog"],
274
+ "additionalProperties": false
224
275
  },
225
276
  "lodDistanceScaleByZoom": {
226
277
  "type": "array",
227
- "minItems": 1,
228
- "maxItems": 24,
229
278
  "items": {
230
279
  "type": "number",
231
- "minimum": 0.1,
232
- "maximum": 100
233
- }
280
+ "allOf": [
281
+ {
282
+ "minimum": 0.1,
283
+ "maximum": 100
284
+ }
285
+ ]
286
+ },
287
+ "allOf": [
288
+ {
289
+ "minItems": 1
290
+ },
291
+ {
292
+ "maxItems": 24
293
+ }
294
+ ]
234
295
  },
235
296
  "lodPolicy": {
297
+ "type": "string",
236
298
  "enum": ["natural", "fixed_lod_zero", "per_level_distance_scale"]
237
299
  },
238
300
  "profile": {
301
+ "type": "string",
239
302
  "enum": [
240
303
  "full_fidelity",
241
304
  "seam_stable",
@@ -244,30 +307,161 @@
244
307
  ]
245
308
  }
246
309
  },
310
+ "required": ["effects", "lodPolicy", "profile"],
311
+ "additionalProperties": false
312
+ },
313
+ "z": {
314
+ "type": "number"
315
+ }
316
+ },
317
+ "required": ["dataLayers", "orientation", "render", "z"],
318
+ "additionalProperties": false
319
+ },
320
+ "contract": {
321
+ "type": "object",
322
+ "properties": {
323
+ "name": {
324
+ "type": "string",
325
+ "enum": ["ue-shed-map-capture-plan"]
326
+ },
327
+ "version": {
328
+ "type": "object",
329
+ "properties": {
330
+ "major": {
331
+ "type": "number",
332
+ "enum": [1]
333
+ },
334
+ "minor": {
335
+ "type": "number",
336
+ "enum": [0, 1, 2]
337
+ }
338
+ },
339
+ "required": ["major", "minor"],
340
+ "additionalProperties": false
341
+ }
342
+ },
343
+ "required": ["name", "version"],
344
+ "additionalProperties": false
345
+ },
346
+ "gutterPixels": {
347
+ "type": "integer",
348
+ "allOf": [
349
+ {
350
+ "minimum": 0,
351
+ "maximum": 32
352
+ }
353
+ ]
354
+ },
355
+ "id": {
356
+ "type": "string",
357
+ "allOf": [
358
+ {
359
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
360
+ }
361
+ ]
362
+ },
363
+ "levels": {
364
+ "type": "object",
365
+ "properties": {
366
+ "coarsestUnitsPerPixel": {
367
+ "type": "number",
247
368
  "allOf": [
248
369
  {
249
- "if": {
250
- "properties": {
251
- "lodPolicy": {
252
- "const": "per_level_distance_scale"
253
- }
254
- }
255
- },
256
- "then": {
257
- "required": ["lodDistanceScaleByZoom"]
258
- },
259
- "else": {
260
- "not": {
261
- "required": ["lodDistanceScaleByZoom"]
262
- }
263
- }
370
+ "exclusiveMinimum": 0
264
371
  }
265
372
  ]
266
373
  },
267
- "z": {
374
+ "count": {
375
+ "type": "integer",
376
+ "allOf": [
377
+ {
378
+ "minimum": 1,
379
+ "maximum": 24
380
+ }
381
+ ]
382
+ }
383
+ },
384
+ "required": ["coarsestUnitsPerPixel", "count"],
385
+ "additionalProperties": false
386
+ },
387
+ "output": {
388
+ "type": "object",
389
+ "properties": {
390
+ "imageFormat": {
391
+ "type": "string",
392
+ "enum": ["png"]
393
+ },
394
+ "publication": {
395
+ "type": "string",
396
+ "enum": ["local_immutable"]
397
+ }
398
+ },
399
+ "required": ["imageFormat", "publication"],
400
+ "additionalProperties": false
401
+ },
402
+ "project": {
403
+ "type": "object",
404
+ "properties": {
405
+ "id": {
406
+ "type": "string",
407
+ "allOf": [
408
+ {
409
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
410
+ }
411
+ ]
412
+ },
413
+ "mapPath": {
414
+ "type": "string",
415
+ "allOf": [
416
+ {
417
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
418
+ }
419
+ ]
420
+ }
421
+ },
422
+ "required": ["id", "mapPath"],
423
+ "additionalProperties": false
424
+ },
425
+ "requestedBounds": {
426
+ "type": "object",
427
+ "properties": {
428
+ "minX": {
429
+ "type": "number"
430
+ },
431
+ "minY": {
432
+ "type": "number"
433
+ },
434
+ "maxX": {
435
+ "type": "number"
436
+ },
437
+ "maxY": {
268
438
  "type": "number"
269
439
  }
270
- }
440
+ },
441
+ "required": ["minX", "minY", "maxX", "maxY"],
442
+ "additionalProperties": false
443
+ },
444
+ "tilePixelSize": {
445
+ "type": "integer",
446
+ "allOf": [
447
+ {
448
+ "minimum": 64,
449
+ "maximum": 4096
450
+ }
451
+ ]
271
452
  }
272
- }
453
+ },
454
+ "required": [
455
+ "capture",
456
+ "contract",
457
+ "gutterPixels",
458
+ "id",
459
+ "levels",
460
+ "output",
461
+ "project",
462
+ "requestedBounds",
463
+ "tilePixelSize"
464
+ ],
465
+ "additionalProperties": false,
466
+ "$defs": {}
273
467
  }
@@ -3,8 +3,13 @@
3
3
  "$id": "https://ue-shed.dev/contracts/cameras/map-tile/v1/release-result.schema.json",
4
4
  "type": "object",
5
5
  "properties": {
6
- "released": { "type": "boolean" },
7
- "restoration": { "type": "string", "enum": ["restored", "failed"] }
6
+ "released": {
7
+ "type": "boolean"
8
+ },
9
+ "restoration": {
10
+ "type": "string",
11
+ "enum": ["restored", "failed"]
12
+ }
8
13
  },
9
14
  "required": ["released", "restoration"],
10
15
  "additionalProperties": false,