@ue-shed/protocol 0.7.1 → 0.9.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 (100) hide show
  1. package/contracts/cameras/authoring/v1/README.md +63 -0
  2. package/contracts/cameras/authoring/v1/approval.schema.json +106 -0
  3. package/contracts/cameras/authoring/v1/arrangement.schema.json +1807 -0
  4. package/contracts/cameras/authoring/v1/bridge-request.schema.json +11077 -0
  5. package/contracts/cameras/authoring/v1/bridge-response.schema.json +10523 -0
  6. package/contracts/cameras/authoring/v1/command.schema.json +4115 -0
  7. package/contracts/cameras/authoring/v1/document.schema.json +4421 -0
  8. package/contracts/cameras/authoring/v1/panel-event.schema.json +4891 -0
  9. package/contracts/cameras/authoring/v1/panel-state.schema.json +3560 -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 +1643 -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 +1405 -96
  16. package/contracts/cameras/map-tile/v1/manifest.schema.json +1782 -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/README.md +6 -0
  21. package/contracts/cameras/render/v1/begin-result.schema.json +173 -0
  22. package/contracts/cameras/render/v1/capabilities.schema.json +46 -0
  23. package/contracts/cameras/render/v1/fixtures/invalid-session-editor-previews-type.json +41 -0
  24. package/contracts/cameras/render/v1/fixtures/session-editor-previews.json +41 -0
  25. package/contracts/cameras/render/v1/fixtures/session-scene-capture-editor-previews.json +40 -0
  26. package/contracts/cameras/render/v1/frame-evidence.schema.json +262 -0
  27. package/contracts/cameras/render/v1/frame-status.schema.json +271 -0
  28. package/contracts/cameras/render/v1/policy.schema.json +165 -0
  29. package/contracts/cameras/render/v1/review-inspection-result.schema.json +285 -0
  30. package/contracts/cameras/render/v1/session-request.schema.json +173 -0
  31. package/contracts/cameras/review/v1/README.md +6 -0
  32. package/contracts/cameras/review/v1/capture-request.schema.json +221 -3
  33. package/contracts/cameras/review/v1/capture-response.schema.json +3692 -0
  34. package/contracts/cameras/review/v1/fixtures/capture-authored.json +205 -0
  35. package/contracts/core/v1/WINDOW-ACTIVATION.md +21 -0
  36. package/contracts/core/v1/window-activation-request.schema.json +20 -0
  37. package/contracts/core/v1/window-activation-result.schema.json +49 -0
  38. package/contracts/editor-world/v1/README.md +27 -0
  39. package/contracts/editor-world/v1/operation.schema.json +761 -0
  40. package/contracts/editor-world/v1/state.schema.json +92 -0
  41. package/contracts/uasset-io/v1/README.md +24 -0
  42. package/contracts/uasset-io/v1/event.schema.json +2642 -290
  43. package/contracts/uasset-io/v1/fixtures/invalid/inspect-string-table-nonstring-metadata.json +53 -0
  44. package/contracts/uasset-io/v1/fixtures/invalid/level-sequence-version.json +43 -0
  45. package/contracts/uasset-io/v1/fixtures/invalid/negative-instanced-size.json +97 -0
  46. package/contracts/uasset-io/v1/fixtures/invalid/non-string-metadata.json +97 -0
  47. package/contracts/uasset-io/v1/fixtures/invalid/unknown-native-value.json +97 -0
  48. package/contracts/uasset-io/v1/fixtures/valid/blueprint-request.json +15 -3
  49. package/contracts/uasset-io/v1/fixtures/valid/blueprint-result-event.json +22 -5
  50. package/contracts/uasset-io/v1/fixtures/valid/extract-text-string-table-occurrence-result-event.json +30 -0
  51. package/contracts/uasset-io/v1/fixtures/valid/inspect-native-result-event.json +97 -0
  52. package/contracts/uasset-io/v1/fixtures/valid/inspect-string-table-metadata-result-event.json +53 -0
  53. package/contracts/uasset-io/v1/fixtures/valid/level-sequence-request.json +18 -0
  54. package/contracts/uasset-io/v1/fixtures/valid/level-sequence-result-event.json +43 -0
  55. package/contracts/uasset-io/v1/request.schema.json +14 -0
  56. package/contracts/world/preparation/v1/fixtures/invalid-contract-version.json +10 -0
  57. package/contracts/world/preparation/v1/fixtures/invalid-extra-field.json +11 -0
  58. package/contracts/world/preparation/v1/fixtures/invalid-negative-budget.json +37 -0
  59. package/contracts/world/preparation/v1/fixtures/invalid-region-negative-extent.json +40 -0
  60. package/contracts/world/preparation/v1/fixtures/valid-actor-context.json +37 -0
  61. package/contracts/world/preparation/v1/fixtures/valid-describe.json +10 -0
  62. package/contracts/world/preparation/v1/request.schema.json +897 -0
  63. package/contracts/world/preparation/v1/response.schema.json +449 -0
  64. package/dist/blueprint-graph.d.ts +332 -8
  65. package/dist/blueprint-graph.d.ts.map +1 -1
  66. package/dist/blueprint-graph.js +42 -3
  67. package/dist/blueprint-graph.js.map +1 -1
  68. package/dist/cameras.d.ts +16 -12
  69. package/dist/cameras.d.ts.map +1 -1
  70. package/dist/cameras.js +1 -0
  71. package/dist/cameras.js.map +1 -1
  72. package/dist/companion.d.ts +6 -0
  73. package/dist/companion.d.ts.map +1 -1
  74. package/dist/companion.js +3 -0
  75. package/dist/companion.js.map +1 -1
  76. package/dist/editor-window-activation.d.ts +16 -0
  77. package/dist/editor-window-activation.d.ts.map +1 -0
  78. package/dist/editor-window-activation.js +19 -0
  79. package/dist/editor-window-activation.js.map +1 -0
  80. package/dist/editor-world-control.d.ts +125 -0
  81. package/dist/editor-world-control.d.ts.map +1 -1
  82. package/dist/editor-world-control.js +25 -0
  83. package/dist/editor-world-control.js.map +1 -1
  84. package/dist/index.d.ts +2 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +2 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/level-sequence.d.ts +1315 -0
  89. package/dist/level-sequence.d.ts.map +1 -0
  90. package/dist/level-sequence.js +204 -0
  91. package/dist/level-sequence.js.map +1 -0
  92. package/dist/uasset-inspection.d.ts +128 -55
  93. package/dist/uasset-inspection.d.ts.map +1 -1
  94. package/dist/uasset-inspection.js +39 -2
  95. package/dist/uasset-inspection.js.map +1 -1
  96. package/dist/uasset-io.d.ts +1302 -9
  97. package/dist/uasset-io.d.ts.map +1 -1
  98. package/dist/uasset-io.js +4 -0
  99. package/dist/uasset-io.js.map +1 -1
  100. package/package.json +1 -1
@@ -0,0 +1,1807 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ue-shed.dev/contracts/cameras/authoring/v1/arrangement.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "version": {
7
+ "type": "number",
8
+ "enum": [1]
9
+ },
10
+ "id": {
11
+ "type": "string",
12
+ "allOf": [
13
+ {
14
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$"
15
+ }
16
+ ]
17
+ },
18
+ "revision": {
19
+ "type": "integer",
20
+ "allOf": [
21
+ {
22
+ "minimum": 0,
23
+ "maximum": 9007199254740991
24
+ }
25
+ ]
26
+ },
27
+ "projectName": {
28
+ "type": "string",
29
+ "allOf": [
30
+ {
31
+ "minLength": 1
32
+ }
33
+ ]
34
+ },
35
+ "mapPath": {
36
+ "type": "string",
37
+ "allOf": [
38
+ {
39
+ "minLength": 1
40
+ }
41
+ ]
42
+ },
43
+ "subject": {
44
+ "anyOf": [
45
+ {
46
+ "type": "object",
47
+ "properties": {
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
+ "diagnosticLabel": {
57
+ "anyOf": [
58
+ {
59
+ "type": "string",
60
+ "allOf": [
61
+ {
62
+ "minLength": 1
63
+ }
64
+ ]
65
+ },
66
+ {
67
+ "type": "null"
68
+ }
69
+ ]
70
+ },
71
+ "kind": {
72
+ "type": "string",
73
+ "enum": ["actor_guid"]
74
+ },
75
+ "lastKnownActorPath": {
76
+ "anyOf": [
77
+ {
78
+ "type": "string",
79
+ "allOf": [
80
+ {
81
+ "minLength": 7
82
+ },
83
+ {
84
+ "maxLength": 4096
85
+ },
86
+ {
87
+ "pattern": "^\\/Game\\/"
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "type": "null"
93
+ }
94
+ ]
95
+ }
96
+ },
97
+ "required": ["actorGuid", "kind"],
98
+ "additionalProperties": false
99
+ },
100
+ {
101
+ "type": "object",
102
+ "properties": {
103
+ "actorPath": {
104
+ "type": "string",
105
+ "allOf": [
106
+ {
107
+ "minLength": 7
108
+ },
109
+ {
110
+ "maxLength": 4096
111
+ },
112
+ {
113
+ "pattern": "^\\/Game\\/"
114
+ }
115
+ ]
116
+ },
117
+ "diagnosticLabel": {
118
+ "anyOf": [
119
+ {
120
+ "type": "string",
121
+ "allOf": [
122
+ {
123
+ "minLength": 1
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "type": "null"
129
+ }
130
+ ]
131
+ },
132
+ "kind": {
133
+ "type": "string",
134
+ "enum": ["actor_path"]
135
+ }
136
+ },
137
+ "required": ["actorPath", "kind"],
138
+ "additionalProperties": false
139
+ }
140
+ ]
141
+ },
142
+ "bounds": {
143
+ "type": "object",
144
+ "properties": {
145
+ "center": {
146
+ "type": "object",
147
+ "properties": {
148
+ "x": {
149
+ "type": "number"
150
+ },
151
+ "y": {
152
+ "type": "number"
153
+ },
154
+ "z": {
155
+ "type": "number"
156
+ }
157
+ },
158
+ "required": ["x", "y", "z"],
159
+ "additionalProperties": false
160
+ },
161
+ "extent": {
162
+ "type": "object",
163
+ "properties": {
164
+ "x": {
165
+ "type": "number",
166
+ "allOf": [
167
+ {
168
+ "minimum": 0
169
+ }
170
+ ]
171
+ },
172
+ "y": {
173
+ "type": "number",
174
+ "allOf": [
175
+ {
176
+ "minimum": 0
177
+ }
178
+ ]
179
+ },
180
+ "z": {
181
+ "type": "number",
182
+ "allOf": [
183
+ {
184
+ "minimum": 0
185
+ }
186
+ ]
187
+ }
188
+ },
189
+ "required": ["x", "y", "z"],
190
+ "additionalProperties": false
191
+ },
192
+ "rotation": {
193
+ "type": "object",
194
+ "properties": {
195
+ "pitch": {
196
+ "type": "number"
197
+ },
198
+ "roll": {
199
+ "type": "number"
200
+ },
201
+ "yaw": {
202
+ "type": "number"
203
+ }
204
+ },
205
+ "required": ["pitch", "roll", "yaw"],
206
+ "additionalProperties": false
207
+ }
208
+ },
209
+ "required": ["center", "extent", "rotation"],
210
+ "additionalProperties": false
211
+ },
212
+ "settings": {
213
+ "type": "object",
214
+ "properties": {
215
+ "fieldOfViewDegrees": {
216
+ "type": "number",
217
+ "allOf": [
218
+ {
219
+ "minimum": 5,
220
+ "maximum": 170
221
+ }
222
+ ]
223
+ },
224
+ "distanceScale": {
225
+ "type": "number",
226
+ "allOf": [
227
+ {
228
+ "minimum": 0.01,
229
+ "maximum": 100
230
+ }
231
+ ]
232
+ },
233
+ "heightOffset": {
234
+ "type": "number"
235
+ },
236
+ "margin": {
237
+ "type": "number",
238
+ "allOf": [
239
+ {
240
+ "minimum": 0,
241
+ "maximum": 0.45
242
+ }
243
+ ]
244
+ },
245
+ "elevationDegrees": {
246
+ "type": "number",
247
+ "allOf": [
248
+ {
249
+ "minimum": -89,
250
+ "maximum": 89
251
+ }
252
+ ]
253
+ },
254
+ "yawOffset": {
255
+ "type": "number"
256
+ },
257
+ "aimOffset": {
258
+ "type": "object",
259
+ "properties": {
260
+ "x": {
261
+ "type": "number"
262
+ },
263
+ "y": {
264
+ "type": "number"
265
+ },
266
+ "z": {
267
+ "type": "number"
268
+ }
269
+ },
270
+ "required": ["x", "y", "z"],
271
+ "additionalProperties": false
272
+ }
273
+ },
274
+ "required": ["fieldOfViewDegrees", "distanceScale", "heightOffset", "margin"],
275
+ "additionalProperties": false
276
+ },
277
+ "cameras": {
278
+ "type": "array",
279
+ "items": {
280
+ "type": "object",
281
+ "properties": {
282
+ "id": {
283
+ "type": "string",
284
+ "allOf": [
285
+ {
286
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$"
287
+ }
288
+ ]
289
+ },
290
+ "displayName": {
291
+ "type": "string",
292
+ "allOf": [
293
+ {
294
+ "minLength": 1
295
+ }
296
+ ]
297
+ },
298
+ "yawDegrees": {
299
+ "type": "number"
300
+ },
301
+ "overrides": {
302
+ "type": "object",
303
+ "properties": {
304
+ "fieldOfViewDegrees": {
305
+ "type": "number",
306
+ "allOf": [
307
+ {
308
+ "minimum": 5,
309
+ "maximum": 170
310
+ }
311
+ ]
312
+ },
313
+ "distanceScale": {
314
+ "type": "number",
315
+ "allOf": [
316
+ {
317
+ "minimum": 0.01,
318
+ "maximum": 100
319
+ }
320
+ ]
321
+ },
322
+ "heightOffset": {
323
+ "type": "number"
324
+ },
325
+ "margin": {
326
+ "type": "number",
327
+ "allOf": [
328
+ {
329
+ "minimum": 0,
330
+ "maximum": 0.45
331
+ }
332
+ ]
333
+ },
334
+ "elevationDegrees": {
335
+ "type": "number",
336
+ "allOf": [
337
+ {
338
+ "minimum": -89,
339
+ "maximum": 89
340
+ }
341
+ ]
342
+ },
343
+ "yawOffset": {
344
+ "type": "number"
345
+ },
346
+ "aimOffset": {
347
+ "type": "object",
348
+ "properties": {
349
+ "x": {
350
+ "type": "number"
351
+ },
352
+ "y": {
353
+ "type": "number"
354
+ },
355
+ "z": {
356
+ "type": "number"
357
+ }
358
+ },
359
+ "required": ["x", "y", "z"],
360
+ "additionalProperties": false
361
+ }
362
+ },
363
+ "additionalProperties": false
364
+ },
365
+ "manualPose": {
366
+ "type": "object",
367
+ "properties": {
368
+ "aspectRatio": {
369
+ "type": "string",
370
+ "enum": ["16:9"]
371
+ },
372
+ "fieldOfViewDegrees": {
373
+ "type": "number",
374
+ "allOf": [
375
+ {
376
+ "minimum": 5,
377
+ "maximum": 170
378
+ }
379
+ ]
380
+ },
381
+ "location": {
382
+ "type": "object",
383
+ "properties": {
384
+ "x": {
385
+ "type": "number"
386
+ },
387
+ "y": {
388
+ "type": "number"
389
+ },
390
+ "z": {
391
+ "type": "number"
392
+ }
393
+ },
394
+ "required": ["x", "y", "z"],
395
+ "additionalProperties": false
396
+ },
397
+ "projection": {
398
+ "type": "string",
399
+ "enum": ["perspective"]
400
+ },
401
+ "rotation": {
402
+ "type": "object",
403
+ "properties": {
404
+ "pitch": {
405
+ "type": "number"
406
+ },
407
+ "roll": {
408
+ "type": "number"
409
+ },
410
+ "yaw": {
411
+ "type": "number"
412
+ }
413
+ },
414
+ "required": ["pitch", "roll", "yaw"],
415
+ "additionalProperties": false
416
+ }
417
+ },
418
+ "required": [
419
+ "aspectRatio",
420
+ "fieldOfViewDegrees",
421
+ "location",
422
+ "projection",
423
+ "rotation"
424
+ ],
425
+ "additionalProperties": false
426
+ },
427
+ "viewId": {
428
+ "type": "string",
429
+ "allOf": [
430
+ {
431
+ "minLength": 1
432
+ },
433
+ {
434
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
435
+ }
436
+ ]
437
+ },
438
+ "groupId": {
439
+ "type": "string",
440
+ "allOf": [
441
+ {
442
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$"
443
+ }
444
+ ]
445
+ },
446
+ "visibility": {
447
+ "type": "object",
448
+ "properties": {
449
+ "hide": {
450
+ "type": "array",
451
+ "items": {
452
+ "type": "object",
453
+ "properties": {
454
+ "locator": {
455
+ "anyOf": [
456
+ {
457
+ "type": "object",
458
+ "properties": {
459
+ "kind": {
460
+ "type": "string",
461
+ "enum": ["actor_path"]
462
+ },
463
+ "actorPath": {
464
+ "type": "string",
465
+ "allOf": [
466
+ {
467
+ "pattern": "^\\/Game\\/"
468
+ },
469
+ {
470
+ "maxLength": 4096
471
+ }
472
+ ]
473
+ }
474
+ },
475
+ "required": ["kind", "actorPath"],
476
+ "additionalProperties": false
477
+ },
478
+ {
479
+ "type": "object",
480
+ "properties": {
481
+ "kind": {
482
+ "type": "string",
483
+ "enum": ["actor_guid"]
484
+ },
485
+ "actorGuid": {
486
+ "type": "string",
487
+ "allOf": [
488
+ {
489
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
490
+ }
491
+ ]
492
+ },
493
+ "lastKnownActorPath": {
494
+ "type": "string",
495
+ "allOf": [
496
+ {
497
+ "maxLength": 4096
498
+ }
499
+ ]
500
+ }
501
+ },
502
+ "required": [
503
+ "kind",
504
+ "actorGuid",
505
+ "lastKnownActorPath"
506
+ ],
507
+ "additionalProperties": false
508
+ }
509
+ ]
510
+ },
511
+ "label": {
512
+ "type": "string",
513
+ "allOf": [
514
+ {
515
+ "maxLength": 256
516
+ }
517
+ ]
518
+ }
519
+ },
520
+ "required": ["locator", "label"],
521
+ "additionalProperties": false
522
+ },
523
+ "allOf": [
524
+ {
525
+ "maxItems": 256
526
+ }
527
+ ]
528
+ },
529
+ "protect": {
530
+ "type": "array",
531
+ "items": {
532
+ "type": "object",
533
+ "properties": {
534
+ "locator": {
535
+ "anyOf": [
536
+ {
537
+ "type": "object",
538
+ "properties": {
539
+ "kind": {
540
+ "type": "string",
541
+ "enum": ["actor_path"]
542
+ },
543
+ "actorPath": {
544
+ "type": "string",
545
+ "allOf": [
546
+ {
547
+ "pattern": "^\\/Game\\/"
548
+ },
549
+ {
550
+ "maxLength": 4096
551
+ }
552
+ ]
553
+ }
554
+ },
555
+ "required": ["kind", "actorPath"],
556
+ "additionalProperties": false
557
+ },
558
+ {
559
+ "type": "object",
560
+ "properties": {
561
+ "kind": {
562
+ "type": "string",
563
+ "enum": ["actor_guid"]
564
+ },
565
+ "actorGuid": {
566
+ "type": "string",
567
+ "allOf": [
568
+ {
569
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
570
+ }
571
+ ]
572
+ },
573
+ "lastKnownActorPath": {
574
+ "type": "string",
575
+ "allOf": [
576
+ {
577
+ "maxLength": 4096
578
+ }
579
+ ]
580
+ }
581
+ },
582
+ "required": [
583
+ "kind",
584
+ "actorGuid",
585
+ "lastKnownActorPath"
586
+ ],
587
+ "additionalProperties": false
588
+ }
589
+ ]
590
+ },
591
+ "label": {
592
+ "type": "string",
593
+ "allOf": [
594
+ {
595
+ "maxLength": 256
596
+ }
597
+ ]
598
+ }
599
+ },
600
+ "required": ["locator", "label"],
601
+ "additionalProperties": false
602
+ },
603
+ "allOf": [
604
+ {
605
+ "maxItems": 256
606
+ }
607
+ ]
608
+ }
609
+ },
610
+ "required": ["hide", "protect"],
611
+ "additionalProperties": false
612
+ }
613
+ },
614
+ "required": ["id", "displayName", "yawDegrees", "overrides", "viewId"],
615
+ "additionalProperties": false
616
+ },
617
+ "allOf": [
618
+ {
619
+ "minItems": 1
620
+ },
621
+ {
622
+ "maxItems": 256
623
+ }
624
+ ]
625
+ },
626
+ "retiredCameraIds": {
627
+ "type": "array",
628
+ "items": {
629
+ "type": "string",
630
+ "allOf": [
631
+ {
632
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$"
633
+ }
634
+ ]
635
+ }
636
+ },
637
+ "captureProfileId": {
638
+ "type": "string",
639
+ "allOf": [
640
+ {
641
+ "minLength": 1
642
+ },
643
+ {
644
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
645
+ }
646
+ ]
647
+ },
648
+ "visibilityPolicyId": {
649
+ "type": "string",
650
+ "allOf": [
651
+ {
652
+ "minLength": 1
653
+ },
654
+ {
655
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
656
+ }
657
+ ]
658
+ },
659
+ "displayName": {
660
+ "type": "string",
661
+ "allOf": [
662
+ {
663
+ "minLength": 1
664
+ }
665
+ ]
666
+ },
667
+ "groups": {
668
+ "type": "array",
669
+ "items": {
670
+ "type": "object",
671
+ "properties": {
672
+ "id": {
673
+ "type": "string",
674
+ "allOf": [
675
+ {
676
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$"
677
+ }
678
+ ]
679
+ },
680
+ "name": {
681
+ "type": "string",
682
+ "allOf": [
683
+ {
684
+ "minLength": 1
685
+ }
686
+ ]
687
+ },
688
+ "overrides": {
689
+ "type": "object",
690
+ "properties": {
691
+ "fieldOfViewDegrees": {
692
+ "type": "number",
693
+ "allOf": [
694
+ {
695
+ "minimum": 5,
696
+ "maximum": 170
697
+ }
698
+ ]
699
+ },
700
+ "distanceScale": {
701
+ "type": "number",
702
+ "allOf": [
703
+ {
704
+ "minimum": 0.01,
705
+ "maximum": 100
706
+ }
707
+ ]
708
+ },
709
+ "heightOffset": {
710
+ "type": "number"
711
+ },
712
+ "margin": {
713
+ "type": "number",
714
+ "allOf": [
715
+ {
716
+ "minimum": 0,
717
+ "maximum": 0.45
718
+ }
719
+ ]
720
+ },
721
+ "elevationDegrees": {
722
+ "type": "number",
723
+ "allOf": [
724
+ {
725
+ "minimum": -89,
726
+ "maximum": 89
727
+ }
728
+ ]
729
+ },
730
+ "yawOffset": {
731
+ "type": "number"
732
+ },
733
+ "aimOffset": {
734
+ "type": "object",
735
+ "properties": {
736
+ "x": {
737
+ "type": "number"
738
+ },
739
+ "y": {
740
+ "type": "number"
741
+ },
742
+ "z": {
743
+ "type": "number"
744
+ }
745
+ },
746
+ "required": ["x", "y", "z"],
747
+ "additionalProperties": false
748
+ }
749
+ },
750
+ "additionalProperties": false
751
+ },
752
+ "visibility": {
753
+ "type": "object",
754
+ "properties": {
755
+ "hide": {
756
+ "type": "array",
757
+ "items": {
758
+ "type": "object",
759
+ "properties": {
760
+ "locator": {
761
+ "anyOf": [
762
+ {
763
+ "type": "object",
764
+ "properties": {
765
+ "kind": {
766
+ "type": "string",
767
+ "enum": ["actor_path"]
768
+ },
769
+ "actorPath": {
770
+ "type": "string",
771
+ "allOf": [
772
+ {
773
+ "pattern": "^\\/Game\\/"
774
+ },
775
+ {
776
+ "maxLength": 4096
777
+ }
778
+ ]
779
+ }
780
+ },
781
+ "required": ["kind", "actorPath"],
782
+ "additionalProperties": false
783
+ },
784
+ {
785
+ "type": "object",
786
+ "properties": {
787
+ "kind": {
788
+ "type": "string",
789
+ "enum": ["actor_guid"]
790
+ },
791
+ "actorGuid": {
792
+ "type": "string",
793
+ "allOf": [
794
+ {
795
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
796
+ }
797
+ ]
798
+ },
799
+ "lastKnownActorPath": {
800
+ "type": "string",
801
+ "allOf": [
802
+ {
803
+ "maxLength": 4096
804
+ }
805
+ ]
806
+ }
807
+ },
808
+ "required": [
809
+ "kind",
810
+ "actorGuid",
811
+ "lastKnownActorPath"
812
+ ],
813
+ "additionalProperties": false
814
+ }
815
+ ]
816
+ },
817
+ "label": {
818
+ "type": "string",
819
+ "allOf": [
820
+ {
821
+ "maxLength": 256
822
+ }
823
+ ]
824
+ }
825
+ },
826
+ "required": ["locator", "label"],
827
+ "additionalProperties": false
828
+ },
829
+ "allOf": [
830
+ {
831
+ "maxItems": 256
832
+ }
833
+ ]
834
+ },
835
+ "protect": {
836
+ "type": "array",
837
+ "items": {
838
+ "type": "object",
839
+ "properties": {
840
+ "locator": {
841
+ "anyOf": [
842
+ {
843
+ "type": "object",
844
+ "properties": {
845
+ "kind": {
846
+ "type": "string",
847
+ "enum": ["actor_path"]
848
+ },
849
+ "actorPath": {
850
+ "type": "string",
851
+ "allOf": [
852
+ {
853
+ "pattern": "^\\/Game\\/"
854
+ },
855
+ {
856
+ "maxLength": 4096
857
+ }
858
+ ]
859
+ }
860
+ },
861
+ "required": ["kind", "actorPath"],
862
+ "additionalProperties": false
863
+ },
864
+ {
865
+ "type": "object",
866
+ "properties": {
867
+ "kind": {
868
+ "type": "string",
869
+ "enum": ["actor_guid"]
870
+ },
871
+ "actorGuid": {
872
+ "type": "string",
873
+ "allOf": [
874
+ {
875
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
876
+ }
877
+ ]
878
+ },
879
+ "lastKnownActorPath": {
880
+ "type": "string",
881
+ "allOf": [
882
+ {
883
+ "maxLength": 4096
884
+ }
885
+ ]
886
+ }
887
+ },
888
+ "required": [
889
+ "kind",
890
+ "actorGuid",
891
+ "lastKnownActorPath"
892
+ ],
893
+ "additionalProperties": false
894
+ }
895
+ ]
896
+ },
897
+ "label": {
898
+ "type": "string",
899
+ "allOf": [
900
+ {
901
+ "maxLength": 256
902
+ }
903
+ ]
904
+ }
905
+ },
906
+ "required": ["locator", "label"],
907
+ "additionalProperties": false
908
+ },
909
+ "allOf": [
910
+ {
911
+ "maxItems": 256
912
+ }
913
+ ]
914
+ }
915
+ },
916
+ "required": ["hide", "protect"],
917
+ "additionalProperties": false
918
+ }
919
+ },
920
+ "required": ["id", "name", "overrides"],
921
+ "additionalProperties": false
922
+ },
923
+ "allOf": [
924
+ {
925
+ "maxItems": 64
926
+ }
927
+ ]
928
+ },
929
+ "visibility": {
930
+ "type": "object",
931
+ "properties": {
932
+ "hide": {
933
+ "type": "array",
934
+ "items": {
935
+ "type": "object",
936
+ "properties": {
937
+ "locator": {
938
+ "anyOf": [
939
+ {
940
+ "type": "object",
941
+ "properties": {
942
+ "kind": {
943
+ "type": "string",
944
+ "enum": ["actor_path"]
945
+ },
946
+ "actorPath": {
947
+ "type": "string",
948
+ "allOf": [
949
+ {
950
+ "pattern": "^\\/Game\\/"
951
+ },
952
+ {
953
+ "maxLength": 4096
954
+ }
955
+ ]
956
+ }
957
+ },
958
+ "required": ["kind", "actorPath"],
959
+ "additionalProperties": false
960
+ },
961
+ {
962
+ "type": "object",
963
+ "properties": {
964
+ "kind": {
965
+ "type": "string",
966
+ "enum": ["actor_guid"]
967
+ },
968
+ "actorGuid": {
969
+ "type": "string",
970
+ "allOf": [
971
+ {
972
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
973
+ }
974
+ ]
975
+ },
976
+ "lastKnownActorPath": {
977
+ "type": "string",
978
+ "allOf": [
979
+ {
980
+ "maxLength": 4096
981
+ }
982
+ ]
983
+ }
984
+ },
985
+ "required": ["kind", "actorGuid", "lastKnownActorPath"],
986
+ "additionalProperties": false
987
+ }
988
+ ]
989
+ },
990
+ "label": {
991
+ "type": "string",
992
+ "allOf": [
993
+ {
994
+ "maxLength": 256
995
+ }
996
+ ]
997
+ }
998
+ },
999
+ "required": ["locator", "label"],
1000
+ "additionalProperties": false
1001
+ },
1002
+ "allOf": [
1003
+ {
1004
+ "maxItems": 256
1005
+ }
1006
+ ]
1007
+ },
1008
+ "protect": {
1009
+ "type": "array",
1010
+ "items": {
1011
+ "type": "object",
1012
+ "properties": {
1013
+ "locator": {
1014
+ "anyOf": [
1015
+ {
1016
+ "type": "object",
1017
+ "properties": {
1018
+ "kind": {
1019
+ "type": "string",
1020
+ "enum": ["actor_path"]
1021
+ },
1022
+ "actorPath": {
1023
+ "type": "string",
1024
+ "allOf": [
1025
+ {
1026
+ "pattern": "^\\/Game\\/"
1027
+ },
1028
+ {
1029
+ "maxLength": 4096
1030
+ }
1031
+ ]
1032
+ }
1033
+ },
1034
+ "required": ["kind", "actorPath"],
1035
+ "additionalProperties": false
1036
+ },
1037
+ {
1038
+ "type": "object",
1039
+ "properties": {
1040
+ "kind": {
1041
+ "type": "string",
1042
+ "enum": ["actor_guid"]
1043
+ },
1044
+ "actorGuid": {
1045
+ "type": "string",
1046
+ "allOf": [
1047
+ {
1048
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1049
+ }
1050
+ ]
1051
+ },
1052
+ "lastKnownActorPath": {
1053
+ "type": "string",
1054
+ "allOf": [
1055
+ {
1056
+ "maxLength": 4096
1057
+ }
1058
+ ]
1059
+ }
1060
+ },
1061
+ "required": ["kind", "actorGuid", "lastKnownActorPath"],
1062
+ "additionalProperties": false
1063
+ }
1064
+ ]
1065
+ },
1066
+ "label": {
1067
+ "type": "string",
1068
+ "allOf": [
1069
+ {
1070
+ "maxLength": 256
1071
+ }
1072
+ ]
1073
+ }
1074
+ },
1075
+ "required": ["locator", "label"],
1076
+ "additionalProperties": false
1077
+ },
1078
+ "allOf": [
1079
+ {
1080
+ "maxItems": 256
1081
+ }
1082
+ ]
1083
+ }
1084
+ },
1085
+ "required": ["hide", "protect"],
1086
+ "additionalProperties": false
1087
+ },
1088
+ "output": {
1089
+ "type": "string",
1090
+ "enum": ["natural_only", "authored_only", "natural_and_authored"]
1091
+ },
1092
+ "renderPolicy": {
1093
+ "type": "object",
1094
+ "properties": {
1095
+ "visibility": {
1096
+ "type": "object",
1097
+ "properties": {
1098
+ "hide": {
1099
+ "type": "array",
1100
+ "items": {
1101
+ "type": "object",
1102
+ "properties": {
1103
+ "locator": {
1104
+ "anyOf": [
1105
+ {
1106
+ "type": "object",
1107
+ "properties": {
1108
+ "kind": {
1109
+ "type": "string",
1110
+ "enum": ["actor_path"]
1111
+ },
1112
+ "actorPath": {
1113
+ "type": "string",
1114
+ "allOf": [
1115
+ {
1116
+ "pattern": "^\\/Game\\/"
1117
+ },
1118
+ {
1119
+ "maxLength": 4096
1120
+ }
1121
+ ]
1122
+ }
1123
+ },
1124
+ "required": ["kind", "actorPath"],
1125
+ "additionalProperties": false
1126
+ },
1127
+ {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "kind": {
1131
+ "type": "string",
1132
+ "enum": ["actor_guid"]
1133
+ },
1134
+ "actorGuid": {
1135
+ "type": "string",
1136
+ "allOf": [
1137
+ {
1138
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1139
+ }
1140
+ ]
1141
+ },
1142
+ "lastKnownActorPath": {
1143
+ "type": "string",
1144
+ "allOf": [
1145
+ {
1146
+ "maxLength": 4096
1147
+ }
1148
+ ]
1149
+ }
1150
+ },
1151
+ "required": [
1152
+ "kind",
1153
+ "actorGuid",
1154
+ "lastKnownActorPath"
1155
+ ],
1156
+ "additionalProperties": false
1157
+ }
1158
+ ]
1159
+ },
1160
+ "label": {
1161
+ "type": "string",
1162
+ "allOf": [
1163
+ {
1164
+ "maxLength": 256
1165
+ }
1166
+ ]
1167
+ }
1168
+ },
1169
+ "required": ["locator", "label"],
1170
+ "additionalProperties": false
1171
+ },
1172
+ "allOf": [
1173
+ {
1174
+ "maxItems": 256
1175
+ }
1176
+ ]
1177
+ },
1178
+ "protect": {
1179
+ "type": "array",
1180
+ "items": {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "locator": {
1184
+ "anyOf": [
1185
+ {
1186
+ "type": "object",
1187
+ "properties": {
1188
+ "kind": {
1189
+ "type": "string",
1190
+ "enum": ["actor_path"]
1191
+ },
1192
+ "actorPath": {
1193
+ "type": "string",
1194
+ "allOf": [
1195
+ {
1196
+ "pattern": "^\\/Game\\/"
1197
+ },
1198
+ {
1199
+ "maxLength": 4096
1200
+ }
1201
+ ]
1202
+ }
1203
+ },
1204
+ "required": ["kind", "actorPath"],
1205
+ "additionalProperties": false
1206
+ },
1207
+ {
1208
+ "type": "object",
1209
+ "properties": {
1210
+ "kind": {
1211
+ "type": "string",
1212
+ "enum": ["actor_guid"]
1213
+ },
1214
+ "actorGuid": {
1215
+ "type": "string",
1216
+ "allOf": [
1217
+ {
1218
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1219
+ }
1220
+ ]
1221
+ },
1222
+ "lastKnownActorPath": {
1223
+ "type": "string",
1224
+ "allOf": [
1225
+ {
1226
+ "maxLength": 4096
1227
+ }
1228
+ ]
1229
+ }
1230
+ },
1231
+ "required": [
1232
+ "kind",
1233
+ "actorGuid",
1234
+ "lastKnownActorPath"
1235
+ ],
1236
+ "additionalProperties": false
1237
+ }
1238
+ ]
1239
+ },
1240
+ "label": {
1241
+ "type": "string",
1242
+ "allOf": [
1243
+ {
1244
+ "maxLength": 256
1245
+ }
1246
+ ]
1247
+ }
1248
+ },
1249
+ "required": ["locator", "label"],
1250
+ "additionalProperties": false
1251
+ },
1252
+ "allOf": [
1253
+ {
1254
+ "maxItems": 256
1255
+ }
1256
+ ]
1257
+ }
1258
+ },
1259
+ "required": ["hide", "protect"],
1260
+ "additionalProperties": false
1261
+ },
1262
+ "renderer": {
1263
+ "anyOf": [
1264
+ {
1265
+ "type": "object",
1266
+ "properties": {
1267
+ "kind": {
1268
+ "type": "string",
1269
+ "enum": ["editor_viewport"]
1270
+ },
1271
+ "strategy": {
1272
+ "type": "string",
1273
+ "enum": ["high_resolution_screenshot"]
1274
+ },
1275
+ "profile": {
1276
+ "type": "string",
1277
+ "enum": ["lit", "observation"]
1278
+ },
1279
+ "vignette": {
1280
+ "type": "string",
1281
+ "enum": ["project", "disabled"]
1282
+ },
1283
+ "fog": {
1284
+ "type": "boolean"
1285
+ },
1286
+ "volumetricFog": {
1287
+ "type": "boolean"
1288
+ },
1289
+ "editorPreviews": {
1290
+ "type": "boolean"
1291
+ }
1292
+ },
1293
+ "required": [
1294
+ "kind",
1295
+ "strategy",
1296
+ "profile",
1297
+ "vignette",
1298
+ "fog",
1299
+ "volumetricFog"
1300
+ ],
1301
+ "additionalProperties": false
1302
+ },
1303
+ {
1304
+ "type": "object",
1305
+ "properties": {
1306
+ "kind": {
1307
+ "type": "string",
1308
+ "enum": ["scene_capture"]
1309
+ },
1310
+ "profile": {
1311
+ "type": "string",
1312
+ "enum": [
1313
+ "full_fidelity",
1314
+ "seam_stable",
1315
+ "scene_capture_defaults",
1316
+ "observation"
1317
+ ]
1318
+ },
1319
+ "lodDistanceScale": {
1320
+ "type": "number",
1321
+ "allOf": [
1322
+ {
1323
+ "minimum": 0.1,
1324
+ "maximum": 100
1325
+ }
1326
+ ]
1327
+ },
1328
+ "fog": {
1329
+ "type": "boolean"
1330
+ },
1331
+ "volumetricFog": {
1332
+ "type": "boolean"
1333
+ },
1334
+ "editorPreviews": {
1335
+ "type": "boolean"
1336
+ }
1337
+ },
1338
+ "required": [
1339
+ "kind",
1340
+ "profile",
1341
+ "lodDistanceScale",
1342
+ "fog",
1343
+ "volumetricFog"
1344
+ ],
1345
+ "additionalProperties": false
1346
+ }
1347
+ ]
1348
+ },
1349
+ "exposure": {
1350
+ "anyOf": [
1351
+ {
1352
+ "type": "object",
1353
+ "properties": {
1354
+ "mode": {
1355
+ "type": "string",
1356
+ "enum": ["project_auto"]
1357
+ }
1358
+ },
1359
+ "required": ["mode"],
1360
+ "additionalProperties": false
1361
+ },
1362
+ {
1363
+ "type": "object",
1364
+ "properties": {
1365
+ "mode": {
1366
+ "type": "string",
1367
+ "enum": ["fixed_ev100"]
1368
+ },
1369
+ "ev100": {
1370
+ "type": "number",
1371
+ "allOf": [
1372
+ {
1373
+ "minimum": -20,
1374
+ "maximum": 30
1375
+ }
1376
+ ]
1377
+ },
1378
+ "compensation": {
1379
+ "type": "string",
1380
+ "enum": ["project"]
1381
+ }
1382
+ },
1383
+ "required": ["mode", "ev100", "compensation"],
1384
+ "additionalProperties": false
1385
+ },
1386
+ {
1387
+ "type": "object",
1388
+ "properties": {
1389
+ "mode": {
1390
+ "type": "string",
1391
+ "enum": ["meter_once"]
1392
+ },
1393
+ "referenceCamera": {
1394
+ "type": "object",
1395
+ "properties": {
1396
+ "location": {
1397
+ "type": "object",
1398
+ "properties": {
1399
+ "x": {
1400
+ "type": "number"
1401
+ },
1402
+ "y": {
1403
+ "type": "number"
1404
+ },
1405
+ "z": {
1406
+ "type": "number"
1407
+ }
1408
+ },
1409
+ "required": ["x", "y", "z"],
1410
+ "additionalProperties": false
1411
+ },
1412
+ "rotation": {
1413
+ "type": "object",
1414
+ "properties": {
1415
+ "pitch": {
1416
+ "type": "number"
1417
+ },
1418
+ "roll": {
1419
+ "type": "number"
1420
+ },
1421
+ "yaw": {
1422
+ "type": "number"
1423
+ }
1424
+ },
1425
+ "required": ["pitch", "roll", "yaw"],
1426
+ "additionalProperties": false
1427
+ },
1428
+ "projection": {
1429
+ "anyOf": [
1430
+ {
1431
+ "type": "object",
1432
+ "properties": {
1433
+ "kind": {
1434
+ "type": "string",
1435
+ "enum": ["perspective"]
1436
+ },
1437
+ "horizontalFieldOfView": {
1438
+ "type": "number",
1439
+ "allOf": [
1440
+ {
1441
+ "minimum": 5,
1442
+ "maximum": 170
1443
+ }
1444
+ ]
1445
+ }
1446
+ },
1447
+ "required": ["kind", "horizontalFieldOfView"],
1448
+ "additionalProperties": false
1449
+ },
1450
+ {
1451
+ "type": "object",
1452
+ "properties": {
1453
+ "kind": {
1454
+ "type": "string",
1455
+ "enum": ["orthographic"]
1456
+ },
1457
+ "width": {
1458
+ "type": "number",
1459
+ "allOf": [
1460
+ {
1461
+ "exclusiveMinimum": 0
1462
+ },
1463
+ {
1464
+ "maximum": 1000000000
1465
+ }
1466
+ ]
1467
+ }
1468
+ },
1469
+ "required": ["kind", "width"],
1470
+ "additionalProperties": false
1471
+ }
1472
+ ]
1473
+ }
1474
+ },
1475
+ "required": ["location", "rotation", "projection"],
1476
+ "additionalProperties": false
1477
+ },
1478
+ "referenceSize": {
1479
+ "type": "object",
1480
+ "properties": {
1481
+ "width": {
1482
+ "type": "integer",
1483
+ "allOf": [
1484
+ {
1485
+ "minimum": 16,
1486
+ "maximum": 16384
1487
+ }
1488
+ ]
1489
+ },
1490
+ "height": {
1491
+ "type": "integer",
1492
+ "allOf": [
1493
+ {
1494
+ "minimum": 16,
1495
+ "maximum": 16384
1496
+ }
1497
+ ]
1498
+ }
1499
+ },
1500
+ "required": ["width", "height"],
1501
+ "additionalProperties": false
1502
+ },
1503
+ "minimumFrames": {
1504
+ "type": "integer",
1505
+ "allOf": [
1506
+ {
1507
+ "minimum": 1,
1508
+ "maximum": 4096
1509
+ }
1510
+ ]
1511
+ }
1512
+ },
1513
+ "required": [
1514
+ "mode",
1515
+ "referenceCamera",
1516
+ "referenceSize",
1517
+ "minimumFrames"
1518
+ ],
1519
+ "additionalProperties": false
1520
+ }
1521
+ ]
1522
+ },
1523
+ "settling": {
1524
+ "type": "object",
1525
+ "properties": {
1526
+ "minimumFrames": {
1527
+ "type": "integer",
1528
+ "allOf": [
1529
+ {
1530
+ "minimum": 1,
1531
+ "maximum": 4096
1532
+ }
1533
+ ]
1534
+ },
1535
+ "timeoutMs": {
1536
+ "type": "integer",
1537
+ "allOf": [
1538
+ {
1539
+ "minimum": 1000,
1540
+ "maximum": 900000
1541
+ }
1542
+ ]
1543
+ },
1544
+ "initialView": {
1545
+ "type": "object",
1546
+ "properties": {
1547
+ "camera": {
1548
+ "type": "object",
1549
+ "properties": {
1550
+ "location": {
1551
+ "type": "object",
1552
+ "properties": {
1553
+ "x": {
1554
+ "type": "number"
1555
+ },
1556
+ "y": {
1557
+ "type": "number"
1558
+ },
1559
+ "z": {
1560
+ "type": "number"
1561
+ }
1562
+ },
1563
+ "required": ["x", "y", "z"],
1564
+ "additionalProperties": false
1565
+ },
1566
+ "rotation": {
1567
+ "type": "object",
1568
+ "properties": {
1569
+ "pitch": {
1570
+ "type": "number"
1571
+ },
1572
+ "roll": {
1573
+ "type": "number"
1574
+ },
1575
+ "yaw": {
1576
+ "type": "number"
1577
+ }
1578
+ },
1579
+ "required": ["pitch", "roll", "yaw"],
1580
+ "additionalProperties": false
1581
+ },
1582
+ "projection": {
1583
+ "anyOf": [
1584
+ {
1585
+ "type": "object",
1586
+ "properties": {
1587
+ "kind": {
1588
+ "type": "string",
1589
+ "enum": ["perspective"]
1590
+ },
1591
+ "horizontalFieldOfView": {
1592
+ "type": "number",
1593
+ "allOf": [
1594
+ {
1595
+ "minimum": 5,
1596
+ "maximum": 170
1597
+ }
1598
+ ]
1599
+ }
1600
+ },
1601
+ "required": ["kind", "horizontalFieldOfView"],
1602
+ "additionalProperties": false
1603
+ },
1604
+ {
1605
+ "type": "object",
1606
+ "properties": {
1607
+ "kind": {
1608
+ "type": "string",
1609
+ "enum": ["orthographic"]
1610
+ },
1611
+ "width": {
1612
+ "type": "number",
1613
+ "allOf": [
1614
+ {
1615
+ "exclusiveMinimum": 0
1616
+ },
1617
+ {
1618
+ "maximum": 1000000000
1619
+ }
1620
+ ]
1621
+ }
1622
+ },
1623
+ "required": ["kind", "width"],
1624
+ "additionalProperties": false
1625
+ }
1626
+ ]
1627
+ }
1628
+ },
1629
+ "required": ["location", "rotation", "projection"],
1630
+ "additionalProperties": false
1631
+ },
1632
+ "size": {
1633
+ "type": "object",
1634
+ "properties": {
1635
+ "width": {
1636
+ "type": "integer",
1637
+ "allOf": [
1638
+ {
1639
+ "minimum": 16,
1640
+ "maximum": 16384
1641
+ }
1642
+ ]
1643
+ },
1644
+ "height": {
1645
+ "type": "integer",
1646
+ "allOf": [
1647
+ {
1648
+ "minimum": 16,
1649
+ "maximum": 16384
1650
+ }
1651
+ ]
1652
+ }
1653
+ },
1654
+ "required": ["width", "height"],
1655
+ "additionalProperties": false
1656
+ },
1657
+ "minimumFrames": {
1658
+ "type": "integer",
1659
+ "allOf": [
1660
+ {
1661
+ "minimum": 1,
1662
+ "maximum": 4096
1663
+ }
1664
+ ]
1665
+ }
1666
+ },
1667
+ "required": ["camera", "size", "minimumFrames"],
1668
+ "additionalProperties": false
1669
+ }
1670
+ },
1671
+ "required": ["minimumFrames", "timeoutMs"],
1672
+ "additionalProperties": false
1673
+ },
1674
+ "time": {
1675
+ "type": "string",
1676
+ "enum": ["live_editor", "freeze_materials_and_ticks"]
1677
+ },
1678
+ "preparation": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "geometry": {
1682
+ "anyOf": [
1683
+ {
1684
+ "type": "object",
1685
+ "properties": {
1686
+ "mode": {
1687
+ "type": "string",
1688
+ "enum": ["preserve_loading"]
1689
+ }
1690
+ },
1691
+ "required": ["mode"],
1692
+ "additionalProperties": false
1693
+ },
1694
+ {
1695
+ "type": "object",
1696
+ "properties": {
1697
+ "mode": {
1698
+ "type": "string",
1699
+ "enum": ["camera_regions"]
1700
+ },
1701
+ "maximumRegions": {
1702
+ "type": "integer",
1703
+ "allOf": [
1704
+ {
1705
+ "minimum": 1,
1706
+ "maximum": 64
1707
+ }
1708
+ ]
1709
+ },
1710
+ "extent": {
1711
+ "type": "object",
1712
+ "properties": {
1713
+ "x": {
1714
+ "type": "number",
1715
+ "allOf": [
1716
+ {
1717
+ "minimum": 0,
1718
+ "maximum": 10000000
1719
+ }
1720
+ ]
1721
+ },
1722
+ "y": {
1723
+ "type": "number",
1724
+ "allOf": [
1725
+ {
1726
+ "minimum": 0,
1727
+ "maximum": 10000000
1728
+ }
1729
+ ]
1730
+ },
1731
+ "z": {
1732
+ "type": "number",
1733
+ "allOf": [
1734
+ {
1735
+ "minimum": 0,
1736
+ "maximum": 10000000
1737
+ }
1738
+ ]
1739
+ }
1740
+ },
1741
+ "required": ["x", "y", "z"],
1742
+ "additionalProperties": false
1743
+ }
1744
+ },
1745
+ "required": ["mode", "maximumRegions", "extent"],
1746
+ "additionalProperties": false
1747
+ }
1748
+ ]
1749
+ },
1750
+ "dataLayers": {
1751
+ "type": "array",
1752
+ "items": {
1753
+ "type": "object",
1754
+ "properties": {
1755
+ "assetPath": {
1756
+ "type": "string",
1757
+ "allOf": [
1758
+ {
1759
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
1760
+ },
1761
+ {
1762
+ "maxLength": 1024
1763
+ }
1764
+ ]
1765
+ },
1766
+ "loaded": {
1767
+ "type": "boolean"
1768
+ },
1769
+ "visible": {
1770
+ "type": "boolean"
1771
+ }
1772
+ },
1773
+ "required": ["assetPath", "loaded", "visible"],
1774
+ "additionalProperties": false
1775
+ },
1776
+ "allOf": [
1777
+ {
1778
+ "maxItems": 64
1779
+ }
1780
+ ]
1781
+ }
1782
+ },
1783
+ "required": ["geometry", "dataLayers"],
1784
+ "additionalProperties": false
1785
+ }
1786
+ },
1787
+ "required": ["renderer", "exposure", "settling", "time", "preparation"],
1788
+ "additionalProperties": false
1789
+ }
1790
+ },
1791
+ "required": [
1792
+ "version",
1793
+ "id",
1794
+ "revision",
1795
+ "projectName",
1796
+ "mapPath",
1797
+ "subject",
1798
+ "bounds",
1799
+ "settings",
1800
+ "cameras",
1801
+ "retiredCameraIds",
1802
+ "captureProfileId",
1803
+ "visibilityPolicyId"
1804
+ ],
1805
+ "additionalProperties": false,
1806
+ "$defs": {}
1807
+ }