@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
@@ -3,6 +3,180 @@
3
3
  "$id": "https://ue-shed.dev/contracts/cameras/review/v1/capture-response.schema.json",
4
4
  "title": "UE Shed Map Review capture response v1",
5
5
  "oneOf": [
6
+ {
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": [
10
+ "contract",
11
+ "status",
12
+ "operationId",
13
+ "viewId",
14
+ "resolvedSubject",
15
+ "effectiveWorldPose",
16
+ "mapPath",
17
+ "stagedArtifacts",
18
+ "clearCompanion",
19
+ "width",
20
+ "height",
21
+ "captureDurationMs",
22
+ "mapPackageDirtyBefore",
23
+ "mapPackageDirtyAfter",
24
+ "visibility",
25
+ "renderEvidence"
26
+ ],
27
+ "properties": {
28
+ "contract": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["name", "version"],
32
+ "properties": {
33
+ "name": {
34
+ "const": "ue-shed-review-capture"
35
+ },
36
+ "version": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "required": ["major", "minor"],
40
+ "properties": {
41
+ "major": {
42
+ "const": 1
43
+ },
44
+ "minor": {
45
+ "const": 6
46
+ }
47
+ }
48
+ }
49
+ }
50
+ },
51
+ "status": {
52
+ "const": "captured"
53
+ },
54
+ "operationId": {
55
+ "type": "string",
56
+ "minLength": 1
57
+ },
58
+ "viewId": {
59
+ "$ref": "#/$defs/safeId"
60
+ },
61
+ "resolvedSubject": {
62
+ "oneOf": [
63
+ {
64
+ "$ref": "#/$defs/resolvedSubject"
65
+ },
66
+ {
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "required": ["kind", "subject", "reason"],
70
+ "properties": {
71
+ "kind": {
72
+ "const": "unresolved_actor"
73
+ },
74
+ "reason": {
75
+ "type": "string",
76
+ "minLength": 1
77
+ },
78
+ "subject": {
79
+ "oneOf": [
80
+ {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": ["kind", "actorGuid"],
84
+ "properties": {
85
+ "kind": {
86
+ "const": "actor_guid"
87
+ },
88
+ "actorGuid": {
89
+ "type": "string",
90
+ "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$",
91
+ "not": {
92
+ "const": "00000000-00000000-00000000-00000000"
93
+ }
94
+ },
95
+ "lastKnownActorPath": {
96
+ "type": "string",
97
+ "minLength": 7,
98
+ "maxLength": 4096,
99
+ "pattern": "^/Game/"
100
+ },
101
+ "diagnosticLabel": {
102
+ "type": "string",
103
+ "minLength": 1
104
+ }
105
+ }
106
+ },
107
+ {
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "required": ["kind", "actorPath"],
111
+ "properties": {
112
+ "kind": {
113
+ "const": "actor_path"
114
+ },
115
+ "actorPath": {
116
+ "type": "string",
117
+ "minLength": 7,
118
+ "maxLength": 4096,
119
+ "pattern": "^/Game/"
120
+ },
121
+ "diagnosticLabel": {
122
+ "type": "string",
123
+ "minLength": 1
124
+ }
125
+ }
126
+ }
127
+ ]
128
+ }
129
+ }
130
+ }
131
+ ]
132
+ },
133
+ "effectiveWorldPose": {
134
+ "$ref": "#/$defs/pose"
135
+ },
136
+ "mapPath": {
137
+ "type": "string",
138
+ "minLength": 1
139
+ },
140
+ "stagedArtifacts": {
141
+ "type": "array",
142
+ "minItems": 1,
143
+ "maxItems": 2,
144
+ "items": {
145
+ "$ref": "#/$defs/stagedArtifact"
146
+ }
147
+ },
148
+ "clearCompanion": {
149
+ "$ref": "#/$defs/clearCompanion"
150
+ },
151
+ "width": {
152
+ "type": "integer",
153
+ "minimum": 1
154
+ },
155
+ "height": {
156
+ "type": "integer",
157
+ "minimum": 1
158
+ },
159
+ "captureDurationMs": {
160
+ "type": "number",
161
+ "minimum": 0
162
+ },
163
+ "mapPackageDirtyBefore": {
164
+ "type": "boolean"
165
+ },
166
+ "mapPackageDirtyAfter": {
167
+ "type": "boolean"
168
+ },
169
+ "subjectProjection": {
170
+ "$ref": "#/$defs/subjectProjection"
171
+ },
172
+ "visibility": {
173
+ "$ref": "#/$defs/visibilityMeasurement"
174
+ },
175
+ "renderEvidence": {
176
+ "$ref": "../../render/v1/frame-evidence.schema.json"
177
+ }
178
+ }
179
+ },
6
180
  {
7
181
  "type": "object",
8
182
  "additionalProperties": false,
@@ -25,27 +199,64 @@
25
199
  "visibility"
26
200
  ],
27
201
  "properties": {
28
- "contract": { "$ref": "#/$defs/currentContract" },
29
- "status": { "const": "captured" },
30
- "operationId": { "type": "string", "minLength": 1 },
31
- "viewId": { "$ref": "#/$defs/safeId" },
32
- "resolvedSubject": { "$ref": "#/$defs/resolvedSubject" },
33
- "effectiveWorldPose": { "$ref": "#/$defs/pose" },
34
- "mapPath": { "type": "string", "minLength": 1 },
202
+ "contract": {
203
+ "$ref": "#/$defs/currentContract"
204
+ },
205
+ "status": {
206
+ "const": "captured"
207
+ },
208
+ "operationId": {
209
+ "type": "string",
210
+ "minLength": 1
211
+ },
212
+ "viewId": {
213
+ "$ref": "#/$defs/safeId"
214
+ },
215
+ "resolvedSubject": {
216
+ "$ref": "#/$defs/resolvedSubject"
217
+ },
218
+ "effectiveWorldPose": {
219
+ "$ref": "#/$defs/pose"
220
+ },
221
+ "mapPath": {
222
+ "type": "string",
223
+ "minLength": 1
224
+ },
35
225
  "stagedArtifacts": {
36
226
  "type": "array",
37
227
  "minItems": 1,
38
228
  "maxItems": 2,
39
- "items": { "$ref": "#/$defs/stagedArtifact" }
40
- },
41
- "clearCompanion": { "$ref": "#/$defs/clearCompanion" },
42
- "width": { "type": "integer", "minimum": 1 },
43
- "height": { "type": "integer", "minimum": 1 },
44
- "captureDurationMs": { "type": "number", "minimum": 0 },
45
- "mapPackageDirtyBefore": { "type": "boolean" },
46
- "mapPackageDirtyAfter": { "type": "boolean" },
47
- "subjectProjection": { "$ref": "#/$defs/subjectProjection" },
48
- "visibility": { "$ref": "#/$defs/visibilityMeasurement" }
229
+ "items": {
230
+ "$ref": "#/$defs/stagedArtifact"
231
+ }
232
+ },
233
+ "clearCompanion": {
234
+ "$ref": "#/$defs/clearCompanion"
235
+ },
236
+ "width": {
237
+ "type": "integer",
238
+ "minimum": 1
239
+ },
240
+ "height": {
241
+ "type": "integer",
242
+ "minimum": 1
243
+ },
244
+ "captureDurationMs": {
245
+ "type": "number",
246
+ "minimum": 0
247
+ },
248
+ "mapPackageDirtyBefore": {
249
+ "type": "boolean"
250
+ },
251
+ "mapPackageDirtyAfter": {
252
+ "type": "boolean"
253
+ },
254
+ "subjectProjection": {
255
+ "$ref": "#/$defs/subjectProjection"
256
+ },
257
+ "visibility": {
258
+ "$ref": "#/$defs/visibilityMeasurement"
259
+ }
49
260
  },
50
261
  "allOf": [
51
262
  {
@@ -53,7 +264,11 @@
53
264
  "properties": {
54
265
  "resolvedSubject": {
55
266
  "required": ["kind"],
56
- "properties": { "kind": { "const": "actor_guid" } }
267
+ "properties": {
268
+ "kind": {
269
+ "const": "actor_guid"
270
+ }
271
+ }
57
272
  }
58
273
  }
59
274
  },
@@ -61,7 +276,13 @@
61
276
  "properties": {
62
277
  "contract": {
63
278
  "properties": {
64
- "version": { "properties": { "minor": { "const": 5 } } }
279
+ "version": {
280
+ "properties": {
281
+ "minor": {
282
+ "const": 5
283
+ }
284
+ }
285
+ }
65
286
  }
66
287
  }
67
288
  }
@@ -90,21 +311,57 @@
90
311
  "visibility"
91
312
  ],
92
313
  "properties": {
93
- "contract": { "$ref": "#/$defs/previousCurrentContract" },
94
- "status": { "const": "captured" },
95
- "operationId": { "type": "string", "minLength": 1 },
96
- "viewId": { "$ref": "#/$defs/safeId" },
97
- "resolvedSubject": { "$ref": "#/$defs/resolvedSubjectPrevious" },
98
- "effectiveWorldPose": { "$ref": "#/$defs/pose" },
99
- "mapPath": { "type": "string", "minLength": 1 },
100
- "stagingPath": { "type": "string", "minLength": 1 },
101
- "width": { "type": "integer", "minimum": 1 },
102
- "height": { "type": "integer", "minimum": 1 },
103
- "captureDurationMs": { "type": "number", "minimum": 0 },
104
- "mapPackageDirtyBefore": { "type": "boolean" },
105
- "mapPackageDirtyAfter": { "type": "boolean" },
106
- "subjectProjection": { "$ref": "#/$defs/subjectProjection" },
107
- "visibility": { "$ref": "#/$defs/visibilityMeasurement" }
314
+ "contract": {
315
+ "$ref": "#/$defs/previousCurrentContract"
316
+ },
317
+ "status": {
318
+ "const": "captured"
319
+ },
320
+ "operationId": {
321
+ "type": "string",
322
+ "minLength": 1
323
+ },
324
+ "viewId": {
325
+ "$ref": "#/$defs/safeId"
326
+ },
327
+ "resolvedSubject": {
328
+ "$ref": "#/$defs/resolvedSubjectPrevious"
329
+ },
330
+ "effectiveWorldPose": {
331
+ "$ref": "#/$defs/pose"
332
+ },
333
+ "mapPath": {
334
+ "type": "string",
335
+ "minLength": 1
336
+ },
337
+ "stagingPath": {
338
+ "type": "string",
339
+ "minLength": 1
340
+ },
341
+ "width": {
342
+ "type": "integer",
343
+ "minimum": 1
344
+ },
345
+ "height": {
346
+ "type": "integer",
347
+ "minimum": 1
348
+ },
349
+ "captureDurationMs": {
350
+ "type": "number",
351
+ "minimum": 0
352
+ },
353
+ "mapPackageDirtyBefore": {
354
+ "type": "boolean"
355
+ },
356
+ "mapPackageDirtyAfter": {
357
+ "type": "boolean"
358
+ },
359
+ "subjectProjection": {
360
+ "$ref": "#/$defs/subjectProjection"
361
+ },
362
+ "visibility": {
363
+ "$ref": "#/$defs/visibilityMeasurement"
364
+ }
108
365
  }
109
366
  },
110
367
  {
@@ -128,21 +385,57 @@
128
385
  "visibility"
129
386
  ],
130
387
  "properties": {
131
- "contract": { "$ref": "#/$defs/previousContract" },
132
- "status": { "const": "captured" },
133
- "operationId": { "type": "string", "minLength": 1 },
134
- "viewId": { "$ref": "#/$defs/safeId" },
135
- "resolvedSubject": { "$ref": "#/$defs/resolvedSubjectPrevious" },
136
- "effectiveWorldPose": { "$ref": "#/$defs/pose" },
137
- "mapPath": { "type": "string", "minLength": 1 },
138
- "stagingPath": { "type": "string", "minLength": 1 },
139
- "width": { "type": "integer", "minimum": 1 },
140
- "height": { "type": "integer", "minimum": 1 },
141
- "captureDurationMs": { "type": "number", "minimum": 0 },
142
- "mapPackageDirtyBefore": { "type": "boolean" },
143
- "mapPackageDirtyAfter": { "type": "boolean" },
144
- "subjectProjection": { "$ref": "#/$defs/subjectProjection" },
145
- "visibility": { "$ref": "#/$defs/visibilityV2" }
388
+ "contract": {
389
+ "$ref": "#/$defs/previousContract"
390
+ },
391
+ "status": {
392
+ "const": "captured"
393
+ },
394
+ "operationId": {
395
+ "type": "string",
396
+ "minLength": 1
397
+ },
398
+ "viewId": {
399
+ "$ref": "#/$defs/safeId"
400
+ },
401
+ "resolvedSubject": {
402
+ "$ref": "#/$defs/resolvedSubjectPrevious"
403
+ },
404
+ "effectiveWorldPose": {
405
+ "$ref": "#/$defs/pose"
406
+ },
407
+ "mapPath": {
408
+ "type": "string",
409
+ "minLength": 1
410
+ },
411
+ "stagingPath": {
412
+ "type": "string",
413
+ "minLength": 1
414
+ },
415
+ "width": {
416
+ "type": "integer",
417
+ "minimum": 1
418
+ },
419
+ "height": {
420
+ "type": "integer",
421
+ "minimum": 1
422
+ },
423
+ "captureDurationMs": {
424
+ "type": "number",
425
+ "minimum": 0
426
+ },
427
+ "mapPackageDirtyBefore": {
428
+ "type": "boolean"
429
+ },
430
+ "mapPackageDirtyAfter": {
431
+ "type": "boolean"
432
+ },
433
+ "subjectProjection": {
434
+ "$ref": "#/$defs/subjectProjection"
435
+ },
436
+ "visibility": {
437
+ "$ref": "#/$defs/visibilityV2"
438
+ }
146
439
  }
147
440
  },
148
441
  {
@@ -162,19 +455,52 @@
162
455
  "mapPackageDirtyAfter"
163
456
  ],
164
457
  "properties": {
165
- "contract": { "$ref": "#/$defs/contract" },
166
- "status": { "const": "captured" },
167
- "operationId": { "type": "string", "minLength": 1 },
168
- "viewId": { "$ref": "#/$defs/safeId" },
169
- "actorPath": { "type": "string", "minLength": 1 },
170
- "mapPath": { "type": "string", "minLength": 1 },
171
- "stagingPath": { "type": "string", "minLength": 1 },
172
- "width": { "type": "integer", "minimum": 1 },
173
- "height": { "type": "integer", "minimum": 1 },
174
- "captureDurationMs": { "type": "number", "minimum": 0 },
175
- "mapPackageDirtyBefore": { "type": "boolean" },
176
- "mapPackageDirtyAfter": { "type": "boolean" },
177
- "subjectProjection": { "$ref": "#/$defs/subjectProjection" }
458
+ "contract": {
459
+ "$ref": "#/$defs/contract"
460
+ },
461
+ "status": {
462
+ "const": "captured"
463
+ },
464
+ "operationId": {
465
+ "type": "string",
466
+ "minLength": 1
467
+ },
468
+ "viewId": {
469
+ "$ref": "#/$defs/safeId"
470
+ },
471
+ "actorPath": {
472
+ "type": "string",
473
+ "minLength": 1
474
+ },
475
+ "mapPath": {
476
+ "type": "string",
477
+ "minLength": 1
478
+ },
479
+ "stagingPath": {
480
+ "type": "string",
481
+ "minLength": 1
482
+ },
483
+ "width": {
484
+ "type": "integer",
485
+ "minimum": 1
486
+ },
487
+ "height": {
488
+ "type": "integer",
489
+ "minimum": 1
490
+ },
491
+ "captureDurationMs": {
492
+ "type": "number",
493
+ "minimum": 0
494
+ },
495
+ "mapPackageDirtyBefore": {
496
+ "type": "boolean"
497
+ },
498
+ "mapPackageDirtyAfter": {
499
+ "type": "boolean"
500
+ },
501
+ "subjectProjection": {
502
+ "$ref": "#/$defs/subjectProjection"
503
+ }
178
504
  },
179
505
  "allOf": [
180
506
  {
@@ -187,14 +513,18 @@
187
513
  "version": {
188
514
  "required": ["minor"],
189
515
  "properties": {
190
- "minor": { "minimum": 1 }
516
+ "minor": {
517
+ "minimum": 1
518
+ }
191
519
  }
192
520
  }
193
521
  }
194
522
  }
195
523
  }
196
524
  },
197
- "then": { "required": ["subjectProjection"] }
525
+ "then": {
526
+ "required": ["subjectProjection"]
527
+ }
198
528
  }
199
529
  ],
200
530
  "additionalProperties": false
@@ -212,14 +542,33 @@
212
542
  "retrySafe"
213
543
  ],
214
544
  "properties": {
215
- "contract": { "$ref": "#/$defs/contract" },
216
- "status": { "const": "failed" },
217
- "operationId": { "type": "string" },
218
- "viewId": { "type": "string" },
219
- "code": { "type": "string", "minLength": 1 },
220
- "message": { "type": "string", "minLength": 1 },
221
- "recovery": { "type": "string", "minLength": 1 },
222
- "retrySafe": { "type": "boolean" }
545
+ "contract": {
546
+ "$ref": "#/$defs/contract"
547
+ },
548
+ "status": {
549
+ "const": "failed"
550
+ },
551
+ "operationId": {
552
+ "type": "string"
553
+ },
554
+ "viewId": {
555
+ "type": "string"
556
+ },
557
+ "code": {
558
+ "type": "string",
559
+ "minLength": 1
560
+ },
561
+ "message": {
562
+ "type": "string",
563
+ "minLength": 1
564
+ },
565
+ "recovery": {
566
+ "type": "string",
567
+ "minLength": 1
568
+ },
569
+ "retrySafe": {
570
+ "type": "boolean"
571
+ }
223
572
  },
224
573
  "additionalProperties": false
225
574
  }
@@ -230,14 +579,20 @@
230
579
  "additionalProperties": false,
231
580
  "required": ["name", "version"],
232
581
  "properties": {
233
- "name": { "const": "ue-shed-review-capture" },
582
+ "name": {
583
+ "const": "ue-shed-review-capture"
584
+ },
234
585
  "version": {
235
586
  "type": "object",
236
587
  "additionalProperties": false,
237
588
  "required": ["major", "minor"],
238
589
  "properties": {
239
- "major": { "const": 1 },
240
- "minor": { "enum": [4, 5] }
590
+ "major": {
591
+ "const": 1
592
+ },
593
+ "minor": {
594
+ "enum": [4, 5]
595
+ }
241
596
  }
242
597
  }
243
598
  }
@@ -247,14 +602,20 @@
247
602
  "additionalProperties": false,
248
603
  "required": ["name", "version"],
249
604
  "properties": {
250
- "name": { "const": "ue-shed-review-capture" },
605
+ "name": {
606
+ "const": "ue-shed-review-capture"
607
+ },
251
608
  "version": {
252
609
  "type": "object",
253
610
  "additionalProperties": false,
254
611
  "required": ["major", "minor"],
255
612
  "properties": {
256
- "major": { "const": 1 },
257
- "minor": { "const": 3 }
613
+ "major": {
614
+ "const": 1
615
+ },
616
+ "minor": {
617
+ "const": 3
618
+ }
258
619
  }
259
620
  }
260
621
  }
@@ -264,14 +625,20 @@
264
625
  "additionalProperties": false,
265
626
  "required": ["name", "version"],
266
627
  "properties": {
267
- "name": { "const": "ue-shed-review-capture" },
628
+ "name": {
629
+ "const": "ue-shed-review-capture"
630
+ },
268
631
  "version": {
269
632
  "type": "object",
270
633
  "additionalProperties": false,
271
634
  "required": ["major", "minor"],
272
635
  "properties": {
273
- "major": { "const": 1 },
274
- "minor": { "const": 2 }
636
+ "major": {
637
+ "const": 1
638
+ },
639
+ "minor": {
640
+ "const": 2
641
+ }
275
642
  }
276
643
  }
277
644
  }
@@ -281,27 +648,44 @@
281
648
  "additionalProperties": false,
282
649
  "required": ["name", "version"],
283
650
  "properties": {
284
- "name": { "const": "ue-shed-review-capture" },
651
+ "name": {
652
+ "const": "ue-shed-review-capture"
653
+ },
285
654
  "version": {
286
655
  "type": "object",
287
656
  "additionalProperties": false,
288
657
  "required": ["major", "minor"],
289
658
  "properties": {
290
- "major": { "const": 1 },
291
- "minor": { "type": "integer", "minimum": 0, "maximum": 5 }
659
+ "major": {
660
+ "const": 1
661
+ },
662
+ "minor": {
663
+ "type": "integer",
664
+ "minimum": 0,
665
+ "maximum": 6
666
+ }
292
667
  }
293
668
  }
294
669
  }
295
670
  },
296
- "safeId": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$" },
671
+ "safeId": {
672
+ "type": "string",
673
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
674
+ },
297
675
  "vector": {
298
676
  "type": "object",
299
677
  "additionalProperties": false,
300
678
  "required": ["x", "y", "z"],
301
679
  "properties": {
302
- "x": { "type": "number" },
303
- "y": { "type": "number" },
304
- "z": { "type": "number" }
680
+ "x": {
681
+ "type": "number"
682
+ },
683
+ "y": {
684
+ "type": "number"
685
+ },
686
+ "z": {
687
+ "type": "number"
688
+ }
305
689
  }
306
690
  },
307
691
  "rotation": {
@@ -309,9 +693,15 @@
309
693
  "additionalProperties": false,
310
694
  "required": ["pitch", "yaw", "roll"],
311
695
  "properties": {
312
- "pitch": { "type": "number" },
313
- "yaw": { "type": "number" },
314
- "roll": { "type": "number" }
696
+ "pitch": {
697
+ "type": "number"
698
+ },
699
+ "yaw": {
700
+ "type": "number"
701
+ },
702
+ "roll": {
703
+ "type": "number"
704
+ }
315
705
  }
316
706
  },
317
707
  "bounds": {
@@ -319,9 +709,15 @@
319
709
  "additionalProperties": false,
320
710
  "required": ["center", "extent", "rotation"],
321
711
  "properties": {
322
- "center": { "$ref": "#/$defs/vector" },
323
- "extent": { "$ref": "#/$defs/vector" },
324
- "rotation": { "$ref": "#/$defs/rotation" }
712
+ "center": {
713
+ "$ref": "#/$defs/vector"
714
+ },
715
+ "extent": {
716
+ "$ref": "#/$defs/vector"
717
+ },
718
+ "rotation": {
719
+ "$ref": "#/$defs/rotation"
720
+ }
325
721
  }
326
722
  },
327
723
  "pose": {
@@ -329,11 +725,23 @@
329
725
  "additionalProperties": false,
330
726
  "required": ["aspectRatio", "fieldOfViewDegrees", "location", "projection", "rotation"],
331
727
  "properties": {
332
- "aspectRatio": { "const": "16:9" },
333
- "fieldOfViewDegrees": { "type": "number", "minimum": 5, "maximum": 170 },
334
- "projection": { "const": "perspective" },
335
- "location": { "$ref": "#/$defs/vector" },
336
- "rotation": { "$ref": "#/$defs/rotation" }
728
+ "aspectRatio": {
729
+ "const": "16:9"
730
+ },
731
+ "fieldOfViewDegrees": {
732
+ "type": "number",
733
+ "minimum": 5,
734
+ "maximum": 170
735
+ },
736
+ "projection": {
737
+ "const": "perspective"
738
+ },
739
+ "location": {
740
+ "$ref": "#/$defs/vector"
741
+ },
742
+ "rotation": {
743
+ "$ref": "#/$defs/rotation"
744
+ }
337
745
  }
338
746
  },
339
747
  "resolvedSubject": {
@@ -343,20 +751,31 @@
343
751
  "additionalProperties": false,
344
752
  "required": ["kind", "actorGuid", "actorPath", "transform"],
345
753
  "properties": {
346
- "kind": { "const": "actor_guid" },
754
+ "kind": {
755
+ "const": "actor_guid"
756
+ },
347
757
  "actorGuid": {
348
758
  "type": "string",
349
759
  "pattern": "^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$",
350
- "not": { "const": "00000000-00000000-00000000-00000000" }
760
+ "not": {
761
+ "const": "00000000-00000000-00000000-00000000"
762
+ }
763
+ },
764
+ "actorPath": {
765
+ "type": "string",
766
+ "minLength": 1
351
767
  },
352
- "actorPath": { "type": "string", "minLength": 1 },
353
768
  "transform": {
354
769
  "type": "object",
355
770
  "additionalProperties": false,
356
771
  "required": ["location", "rotation"],
357
772
  "properties": {
358
- "location": { "$ref": "#/$defs/vector" },
359
- "rotation": { "$ref": "#/$defs/rotation" }
773
+ "location": {
774
+ "$ref": "#/$defs/vector"
775
+ },
776
+ "rotation": {
777
+ "$ref": "#/$defs/rotation"
778
+ }
360
779
  }
361
780
  }
362
781
  }
@@ -366,15 +785,24 @@
366
785
  "additionalProperties": false,
367
786
  "required": ["kind", "actorPath", "transform"],
368
787
  "properties": {
369
- "kind": { "const": "actor_path" },
370
- "actorPath": { "type": "string", "minLength": 1 },
788
+ "kind": {
789
+ "const": "actor_path"
790
+ },
791
+ "actorPath": {
792
+ "type": "string",
793
+ "minLength": 1
794
+ },
371
795
  "transform": {
372
796
  "type": "object",
373
797
  "additionalProperties": false,
374
798
  "required": ["location", "rotation"],
375
799
  "properties": {
376
- "location": { "$ref": "#/$defs/vector" },
377
- "rotation": { "$ref": "#/$defs/rotation" }
800
+ "location": {
801
+ "$ref": "#/$defs/vector"
802
+ },
803
+ "rotation": {
804
+ "$ref": "#/$defs/rotation"
805
+ }
378
806
  }
379
807
  }
380
808
  }
@@ -384,8 +812,12 @@
384
812
  "additionalProperties": false,
385
813
  "required": ["kind", "bounds"],
386
814
  "properties": {
387
- "kind": { "const": "oriented_bounds" },
388
- "bounds": { "$ref": "#/$defs/bounds" }
815
+ "kind": {
816
+ "const": "oriented_bounds"
817
+ },
818
+ "bounds": {
819
+ "$ref": "#/$defs/bounds"
820
+ }
389
821
  }
390
822
  }
391
823
  ]
@@ -397,15 +829,24 @@
397
829
  "additionalProperties": false,
398
830
  "required": ["kind", "actorPath", "transform"],
399
831
  "properties": {
400
- "kind": { "const": "actor_path" },
401
- "actorPath": { "type": "string", "minLength": 1 },
832
+ "kind": {
833
+ "const": "actor_path"
834
+ },
835
+ "actorPath": {
836
+ "type": "string",
837
+ "minLength": 1
838
+ },
402
839
  "transform": {
403
840
  "type": "object",
404
841
  "additionalProperties": false,
405
842
  "required": ["location", "rotation"],
406
843
  "properties": {
407
- "location": { "$ref": "#/$defs/vector" },
408
- "rotation": { "$ref": "#/$defs/rotation" }
844
+ "location": {
845
+ "$ref": "#/$defs/vector"
846
+ },
847
+ "rotation": {
848
+ "$ref": "#/$defs/rotation"
849
+ }
409
850
  }
410
851
  }
411
852
  }
@@ -415,8 +856,12 @@
415
856
  "additionalProperties": false,
416
857
  "required": ["kind", "bounds"],
417
858
  "properties": {
418
- "kind": { "const": "oriented_bounds" },
419
- "bounds": { "$ref": "#/$defs/bounds" }
859
+ "kind": {
860
+ "const": "oriented_bounds"
861
+ },
862
+ "bounds": {
863
+ "$ref": "#/$defs/bounds"
864
+ }
420
865
  }
421
866
  }
422
867
  ]
@@ -426,8 +871,13 @@
426
871
  "additionalProperties": false,
427
872
  "required": ["stagingPath", "variant"],
428
873
  "properties": {
429
- "stagingPath": { "type": "string", "minLength": 1 },
430
- "variant": { "enum": ["pure", "clear"] }
874
+ "stagingPath": {
875
+ "type": "string",
876
+ "minLength": 1
877
+ },
878
+ "variant": {
879
+ "enum": ["pure", "clear"]
880
+ }
431
881
  }
432
882
  },
433
883
  "objectLocator": {
@@ -435,14 +885,19 @@
435
885
  "additionalProperties": false,
436
886
  "required": ["kind", "actorPath"],
437
887
  "properties": {
438
- "kind": { "const": "actor_path" },
888
+ "kind": {
889
+ "const": "actor_path"
890
+ },
439
891
  "actorPath": {
440
892
  "type": "string",
441
893
  "minLength": 7,
442
894
  "maxLength": 4096,
443
895
  "pattern": "^/Game/"
444
896
  },
445
- "diagnosticLabel": { "type": "string", "minLength": 1 }
897
+ "diagnosticLabel": {
898
+ "type": "string",
899
+ "minLength": 1
900
+ }
446
901
  }
447
902
  },
448
903
  "clearIntervention": {
@@ -452,8 +907,12 @@
452
907
  "additionalProperties": false,
453
908
  "required": ["subject", "type"],
454
909
  "properties": {
455
- "subject": { "$ref": "#/$defs/objectLocator" },
456
- "type": { "const": "show_only_subject_components" }
910
+ "subject": {
911
+ "$ref": "#/$defs/objectLocator"
912
+ },
913
+ "type": {
914
+ "const": "show_only_subject_components"
915
+ }
457
916
  }
458
917
  },
459
918
  {
@@ -461,8 +920,12 @@
461
920
  "additionalProperties": false,
462
921
  "required": ["target", "type"],
463
922
  "properties": {
464
- "target": { "$ref": "#/$defs/objectLocator" },
465
- "type": { "const": "hide_actor_components" }
923
+ "target": {
924
+ "$ref": "#/$defs/objectLocator"
925
+ },
926
+ "type": {
927
+ "const": "hide_actor_components"
928
+ }
466
929
  }
467
930
  }
468
931
  ]
@@ -474,8 +937,12 @@
474
937
  "additionalProperties": false,
475
938
  "required": ["method", "status"],
476
939
  "properties": {
477
- "method": { "const": "transient_capture_component_lists" },
478
- "status": { "const": "restored" }
940
+ "method": {
941
+ "const": "transient_capture_component_lists"
942
+ },
943
+ "status": {
944
+ "const": "restored"
945
+ }
479
946
  }
480
947
  },
481
948
  {
@@ -483,10 +950,21 @@
483
950
  "additionalProperties": false,
484
951
  "required": ["code", "message", "recovery", "status"],
485
952
  "properties": {
486
- "code": { "type": "string", "minLength": 1 },
487
- "message": { "type": "string", "minLength": 1 },
488
- "recovery": { "type": "string", "minLength": 1 },
489
- "status": { "const": "failed" }
953
+ "code": {
954
+ "type": "string",
955
+ "minLength": 1
956
+ },
957
+ "message": {
958
+ "type": "string",
959
+ "minLength": 1
960
+ },
961
+ "recovery": {
962
+ "type": "string",
963
+ "minLength": 1
964
+ },
965
+ "status": {
966
+ "const": "failed"
967
+ }
490
968
  }
491
969
  }
492
970
  ]
@@ -497,7 +975,11 @@
497
975
  "type": "object",
498
976
  "additionalProperties": false,
499
977
  "required": ["status"],
500
- "properties": { "status": { "const": "not_requested" } }
978
+ "properties": {
979
+ "status": {
980
+ "const": "not_requested"
981
+ }
982
+ }
501
983
  },
502
984
  {
503
985
  "type": "object",
@@ -508,19 +990,29 @@
508
990
  "type": "array",
509
991
  "minItems": 1,
510
992
  "maxItems": 32,
511
- "items": { "$ref": "#/$defs/clearIntervention" }
993
+ "items": {
994
+ "$ref": "#/$defs/clearIntervention"
995
+ }
512
996
  },
513
997
  "restoration": {
514
998
  "type": "object",
515
999
  "additionalProperties": false,
516
1000
  "required": ["method", "status"],
517
1001
  "properties": {
518
- "method": { "const": "transient_capture_component_lists" },
519
- "status": { "const": "restored" }
1002
+ "method": {
1003
+ "const": "transient_capture_component_lists"
1004
+ },
1005
+ "status": {
1006
+ "const": "restored"
1007
+ }
520
1008
  }
521
1009
  },
522
- "status": { "const": "captured" },
523
- "strategy": { "enum": ["isolate_target", "hide_explicit"] }
1010
+ "status": {
1011
+ "const": "captured"
1012
+ },
1013
+ "strategy": {
1014
+ "enum": ["isolate_target", "hide_explicit"]
1015
+ }
524
1016
  }
525
1017
  },
526
1018
  {
@@ -533,20 +1025,39 @@
533
1025
  "additionalProperties": false,
534
1026
  "required": ["code", "message", "recovery", "retrySafe"],
535
1027
  "properties": {
536
- "code": { "type": "string", "minLength": 1 },
537
- "message": { "type": "string", "minLength": 1 },
538
- "recovery": { "type": "string", "minLength": 1 },
539
- "retrySafe": { "type": "boolean" }
1028
+ "code": {
1029
+ "type": "string",
1030
+ "minLength": 1
1031
+ },
1032
+ "message": {
1033
+ "type": "string",
1034
+ "minLength": 1
1035
+ },
1036
+ "recovery": {
1037
+ "type": "string",
1038
+ "minLength": 1
1039
+ },
1040
+ "retrySafe": {
1041
+ "type": "boolean"
1042
+ }
540
1043
  }
541
1044
  },
542
1045
  "interventions": {
543
1046
  "type": "array",
544
1047
  "maxItems": 32,
545
- "items": { "$ref": "#/$defs/clearIntervention" }
1048
+ "items": {
1049
+ "$ref": "#/$defs/clearIntervention"
1050
+ }
546
1051
  },
547
- "restoration": { "$ref": "#/$defs/clearRestoration" },
548
- "status": { "const": "failed" },
549
- "strategy": { "enum": ["isolate_target", "hide_explicit"] }
1052
+ "restoration": {
1053
+ "$ref": "#/$defs/clearRestoration"
1054
+ },
1055
+ "status": {
1056
+ "const": "failed"
1057
+ },
1058
+ "strategy": {
1059
+ "enum": ["isolate_target", "hide_explicit"]
1060
+ }
550
1061
  }
551
1062
  }
552
1063
  ]
@@ -558,12 +1069,19 @@
558
1069
  "additionalProperties": false,
559
1070
  "required": ["status", "reason"],
560
1071
  "properties": {
561
- "status": { "const": "not_assessed" },
562
- "reason": { "type": "string", "minLength": 1 },
1072
+ "status": {
1073
+ "const": "not_assessed"
1074
+ },
1075
+ "reason": {
1076
+ "type": "string",
1077
+ "minLength": 1
1078
+ },
563
1079
  "limitations": {
564
1080
  "type": "array",
565
1081
  "maxItems": 8,
566
- "items": { "type": "string" }
1082
+ "items": {
1083
+ "type": "string"
1084
+ }
567
1085
  }
568
1086
  }
569
1087
  },
@@ -580,7 +1098,9 @@
580
1098
  "occluders"
581
1099
  ],
582
1100
  "properties": {
583
- "status": { "const": "assessed" },
1101
+ "status": {
1102
+ "const": "assessed"
1103
+ },
584
1104
  "method": {
585
1105
  "type": "object",
586
1106
  "additionalProperties": false,
@@ -589,16 +1109,31 @@
589
1109
  "method": {
590
1110
  "enum": ["ray_samples", "subject_mask", "depth_compare"]
591
1111
  },
592
- "version": { "type": "integer", "minimum": 1 }
1112
+ "version": {
1113
+ "type": "integer",
1114
+ "minimum": 1
1115
+ }
593
1116
  }
594
1117
  },
595
- "visibleFraction": { "type": "number", "minimum": 0, "maximum": 1 },
596
- "sampleCount": { "type": "integer", "minimum": 0 },
597
- "assessmentDurationMs": { "type": "number", "minimum": 0 },
1118
+ "visibleFraction": {
1119
+ "type": "number",
1120
+ "minimum": 0,
1121
+ "maximum": 1
1122
+ },
1123
+ "sampleCount": {
1124
+ "type": "integer",
1125
+ "minimum": 0
1126
+ },
1127
+ "assessmentDurationMs": {
1128
+ "type": "number",
1129
+ "minimum": 0
1130
+ },
598
1131
  "limitations": {
599
1132
  "type": "array",
600
1133
  "maxItems": 8,
601
- "items": { "type": "string" }
1134
+ "items": {
1135
+ "type": "string"
1136
+ }
602
1137
  },
603
1138
  "occluders": {
604
1139
  "type": "array",
@@ -618,11 +1153,18 @@
618
1153
  "additionalProperties": false,
619
1154
  "required": ["kind", "actorPath"],
620
1155
  "properties": {
621
- "kind": { "const": "actor_path" },
622
- "actorPath": { "type": "string", "minLength": 1 }
1156
+ "kind": {
1157
+ "const": "actor_path"
1158
+ },
1159
+ "actorPath": {
1160
+ "type": "string",
1161
+ "minLength": 1
1162
+ }
623
1163
  }
624
1164
  },
625
- "reason": { "type": "string" }
1165
+ "reason": {
1166
+ "type": "string"
1167
+ }
626
1168
  }
627
1169
  }
628
1170
  }
@@ -633,16 +1175,29 @@
633
1175
  "additionalProperties": false,
634
1176
  "required": ["status", "failure"],
635
1177
  "properties": {
636
- "status": { "const": "assessment_failed" },
1178
+ "status": {
1179
+ "const": "assessment_failed"
1180
+ },
637
1181
  "failure": {
638
1182
  "type": "object",
639
1183
  "additionalProperties": false,
640
1184
  "required": ["code", "message", "recovery", "retrySafe"],
641
1185
  "properties": {
642
- "code": { "type": "string", "minLength": 1 },
643
- "message": { "type": "string", "minLength": 1 },
644
- "recovery": { "type": "string", "minLength": 1 },
645
- "retrySafe": { "type": "boolean" }
1186
+ "code": {
1187
+ "type": "string",
1188
+ "minLength": 1
1189
+ },
1190
+ "message": {
1191
+ "type": "string",
1192
+ "minLength": 1
1193
+ },
1194
+ "recovery": {
1195
+ "type": "string",
1196
+ "minLength": 1
1197
+ },
1198
+ "retrySafe": {
1199
+ "type": "boolean"
1200
+ }
646
1201
  }
647
1202
  }
648
1203
  }
@@ -656,12 +1211,19 @@
656
1211
  "additionalProperties": false,
657
1212
  "required": ["status", "reason"],
658
1213
  "properties": {
659
- "status": { "const": "not_assessed" },
660
- "reason": { "type": "string", "minLength": 1 },
1214
+ "status": {
1215
+ "const": "not_assessed"
1216
+ },
1217
+ "reason": {
1218
+ "type": "string",
1219
+ "minLength": 1
1220
+ },
661
1221
  "limitations": {
662
1222
  "type": "array",
663
1223
  "maxItems": 8,
664
- "items": { "type": "string" }
1224
+ "items": {
1225
+ "type": "string"
1226
+ }
665
1227
  }
666
1228
  }
667
1229
  },
@@ -679,7 +1241,9 @@
679
1241
  "occluders"
680
1242
  ],
681
1243
  "properties": {
682
- "status": { "const": "assessed" },
1244
+ "status": {
1245
+ "const": "assessed"
1246
+ },
683
1247
  "classification": {
684
1248
  "enum": ["clear", "partial", "blocked", "not_visible"]
685
1249
  },
@@ -691,16 +1255,31 @@
691
1255
  "method": {
692
1256
  "enum": ["ray_samples", "subject_mask", "depth_compare"]
693
1257
  },
694
- "version": { "type": "integer", "minimum": 1 }
1258
+ "version": {
1259
+ "type": "integer",
1260
+ "minimum": 1
1261
+ }
695
1262
  }
696
1263
  },
697
- "visibleFraction": { "type": "number", "minimum": 0, "maximum": 1 },
698
- "sampleCount": { "type": "integer", "minimum": 0 },
699
- "assessmentDurationMs": { "type": "number", "minimum": 0 },
1264
+ "visibleFraction": {
1265
+ "type": "number",
1266
+ "minimum": 0,
1267
+ "maximum": 1
1268
+ },
1269
+ "sampleCount": {
1270
+ "type": "integer",
1271
+ "minimum": 0
1272
+ },
1273
+ "assessmentDurationMs": {
1274
+ "type": "number",
1275
+ "minimum": 0
1276
+ },
700
1277
  "limitations": {
701
1278
  "type": "array",
702
1279
  "maxItems": 8,
703
- "items": { "type": "string" }
1280
+ "items": {
1281
+ "type": "string"
1282
+ }
704
1283
  },
705
1284
  "occluders": {
706
1285
  "type": "array",
@@ -720,11 +1299,18 @@
720
1299
  "additionalProperties": false,
721
1300
  "required": ["kind", "actorPath"],
722
1301
  "properties": {
723
- "kind": { "const": "actor_path" },
724
- "actorPath": { "type": "string", "minLength": 1 }
1302
+ "kind": {
1303
+ "const": "actor_path"
1304
+ },
1305
+ "actorPath": {
1306
+ "type": "string",
1307
+ "minLength": 1
1308
+ }
725
1309
  }
726
1310
  },
727
- "reason": { "type": "string" }
1311
+ "reason": {
1312
+ "type": "string"
1313
+ }
728
1314
  }
729
1315
  }
730
1316
  }
@@ -735,16 +1321,29 @@
735
1321
  "additionalProperties": false,
736
1322
  "required": ["status", "failure"],
737
1323
  "properties": {
738
- "status": { "const": "assessment_failed" },
1324
+ "status": {
1325
+ "const": "assessment_failed"
1326
+ },
739
1327
  "failure": {
740
1328
  "type": "object",
741
1329
  "additionalProperties": false,
742
1330
  "required": ["code", "message", "recovery", "retrySafe"],
743
1331
  "properties": {
744
- "code": { "type": "string", "minLength": 1 },
745
- "message": { "type": "string", "minLength": 1 },
746
- "recovery": { "type": "string", "minLength": 1 },
747
- "retrySafe": { "type": "boolean" }
1332
+ "code": {
1333
+ "type": "string",
1334
+ "minLength": 1
1335
+ },
1336
+ "message": {
1337
+ "type": "string",
1338
+ "minLength": 1
1339
+ },
1340
+ "recovery": {
1341
+ "type": "string",
1342
+ "minLength": 1
1343
+ },
1344
+ "retrySafe": {
1345
+ "type": "boolean"
1346
+ }
748
1347
  }
749
1348
  }
750
1349
  }
@@ -756,10 +1355,18 @@
756
1355
  "additionalProperties": false,
757
1356
  "required": ["minX", "minY", "maxX", "maxY"],
758
1357
  "properties": {
759
- "minX": { "type": "number" },
760
- "minY": { "type": "number" },
761
- "maxX": { "type": "number" },
762
- "maxY": { "type": "number" }
1358
+ "minX": {
1359
+ "type": "number"
1360
+ },
1361
+ "minY": {
1362
+ "type": "number"
1363
+ },
1364
+ "maxX": {
1365
+ "type": "number"
1366
+ },
1367
+ "maxY": {
1368
+ "type": "number"
1369
+ }
763
1370
  }
764
1371
  },
765
1372
  "projectionMargins": {
@@ -767,10 +1374,18 @@
767
1374
  "additionalProperties": false,
768
1375
  "required": ["left", "right", "top", "bottom"],
769
1376
  "properties": {
770
- "left": { "type": "number" },
771
- "right": { "type": "number" },
772
- "top": { "type": "number" },
773
- "bottom": { "type": "number" }
1377
+ "left": {
1378
+ "type": "number"
1379
+ },
1380
+ "right": {
1381
+ "type": "number"
1382
+ },
1383
+ "top": {
1384
+ "type": "number"
1385
+ },
1386
+ "bottom": {
1387
+ "type": "number"
1388
+ }
774
1389
  }
775
1390
  },
776
1391
  "subjectProjection": {
@@ -780,7 +1395,9 @@
780
1395
  "additionalProperties": false,
781
1396
  "required": ["status", "viewportStatus", "normalizedBounds", "margins"],
782
1397
  "properties": {
783
- "status": { "const": "projected" },
1398
+ "status": {
1399
+ "const": "projected"
1400
+ },
784
1401
  "viewportStatus": {
785
1402
  "enum": [
786
1403
  "fully_within_viewport",
@@ -788,8 +1405,12 @@
788
1405
  "fully_outside_viewport"
789
1406
  ]
790
1407
  },
791
- "normalizedBounds": { "$ref": "#/$defs/projectedBounds" },
792
- "margins": { "$ref": "#/$defs/projectionMargins" }
1408
+ "normalizedBounds": {
1409
+ "$ref": "#/$defs/projectedBounds"
1410
+ },
1411
+ "margins": {
1412
+ "$ref": "#/$defs/projectionMargins"
1413
+ }
793
1414
  }
794
1415
  },
795
1416
  {
@@ -797,9 +1418,16 @@
797
1418
  "additionalProperties": false,
798
1419
  "required": ["status", "code", "message"],
799
1420
  "properties": {
800
- "status": { "const": "unprojectable" },
801
- "code": { "enum": ["behind_camera", "near_plane_crossing"] },
802
- "message": { "type": "string", "minLength": 1 }
1421
+ "status": {
1422
+ "const": "unprojectable"
1423
+ },
1424
+ "code": {
1425
+ "enum": ["behind_camera", "near_plane_crossing"]
1426
+ },
1427
+ "message": {
1428
+ "type": "string",
1429
+ "minLength": 1
1430
+ }
803
1431
  }
804
1432
  }
805
1433
  ]