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