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