@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,617 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ue-shed.dev/contracts/cameras/render/v1/session-request.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "contract": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "enum": ["ue-shed-camera-render"]
12
+ },
13
+ "version": {
14
+ "type": "object",
15
+ "properties": {
16
+ "major": {
17
+ "type": "number",
18
+ "enum": [1]
19
+ },
20
+ "minor": {
21
+ "type": "number",
22
+ "enum": [0]
23
+ }
24
+ },
25
+ "required": ["major", "minor"],
26
+ "additionalProperties": false
27
+ }
28
+ },
29
+ "required": ["name", "version"],
30
+ "additionalProperties": false
31
+ },
32
+ "sessionId": {
33
+ "type": "string",
34
+ "allOf": [
35
+ {
36
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
37
+ }
38
+ ]
39
+ },
40
+ "expectedMapPath": {
41
+ "type": "string",
42
+ "allOf": [
43
+ {
44
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
45
+ },
46
+ {
47
+ "maxLength": 1024
48
+ }
49
+ ]
50
+ },
51
+ "expectedProjectName": {
52
+ "type": "string",
53
+ "allOf": [
54
+ {
55
+ "minLength": 1
56
+ },
57
+ {
58
+ "maxLength": 1024
59
+ }
60
+ ]
61
+ },
62
+ "policy": {
63
+ "type": "object",
64
+ "properties": {
65
+ "renderer": {
66
+ "anyOf": [
67
+ {
68
+ "type": "object",
69
+ "properties": {
70
+ "kind": {
71
+ "type": "string",
72
+ "enum": ["editor_viewport"]
73
+ },
74
+ "strategy": {
75
+ "type": "string",
76
+ "enum": ["high_resolution_screenshot"]
77
+ },
78
+ "profile": {
79
+ "type": "string",
80
+ "enum": ["lit", "observation"]
81
+ },
82
+ "vignette": {
83
+ "type": "string",
84
+ "enum": ["project", "disabled"]
85
+ },
86
+ "fog": {
87
+ "type": "boolean"
88
+ },
89
+ "volumetricFog": {
90
+ "type": "boolean"
91
+ }
92
+ },
93
+ "required": [
94
+ "kind",
95
+ "strategy",
96
+ "profile",
97
+ "vignette",
98
+ "fog",
99
+ "volumetricFog"
100
+ ],
101
+ "additionalProperties": false
102
+ },
103
+ {
104
+ "type": "object",
105
+ "properties": {
106
+ "kind": {
107
+ "type": "string",
108
+ "enum": ["scene_capture"]
109
+ },
110
+ "profile": {
111
+ "type": "string",
112
+ "enum": [
113
+ "full_fidelity",
114
+ "seam_stable",
115
+ "scene_capture_defaults",
116
+ "observation"
117
+ ]
118
+ },
119
+ "lodDistanceScale": {
120
+ "type": "number",
121
+ "allOf": [
122
+ {
123
+ "minimum": 0.1,
124
+ "maximum": 100
125
+ }
126
+ ]
127
+ },
128
+ "fog": {
129
+ "type": "boolean"
130
+ },
131
+ "volumetricFog": {
132
+ "type": "boolean"
133
+ }
134
+ },
135
+ "required": [
136
+ "kind",
137
+ "profile",
138
+ "lodDistanceScale",
139
+ "fog",
140
+ "volumetricFog"
141
+ ],
142
+ "additionalProperties": false
143
+ }
144
+ ]
145
+ },
146
+ "exposure": {
147
+ "anyOf": [
148
+ {
149
+ "type": "object",
150
+ "properties": {
151
+ "mode": {
152
+ "type": "string",
153
+ "enum": ["project_auto"]
154
+ }
155
+ },
156
+ "required": ["mode"],
157
+ "additionalProperties": false
158
+ },
159
+ {
160
+ "type": "object",
161
+ "properties": {
162
+ "mode": {
163
+ "type": "string",
164
+ "enum": ["fixed_ev100"]
165
+ },
166
+ "ev100": {
167
+ "type": "number",
168
+ "allOf": [
169
+ {
170
+ "minimum": -20,
171
+ "maximum": 30
172
+ }
173
+ ]
174
+ },
175
+ "compensation": {
176
+ "type": "string",
177
+ "enum": ["project"]
178
+ }
179
+ },
180
+ "required": ["mode", "ev100", "compensation"],
181
+ "additionalProperties": false
182
+ },
183
+ {
184
+ "type": "object",
185
+ "properties": {
186
+ "mode": {
187
+ "type": "string",
188
+ "enum": ["meter_once"]
189
+ },
190
+ "referenceCamera": {
191
+ "type": "object",
192
+ "properties": {
193
+ "location": {
194
+ "type": "object",
195
+ "properties": {
196
+ "x": {
197
+ "type": "number"
198
+ },
199
+ "y": {
200
+ "type": "number"
201
+ },
202
+ "z": {
203
+ "type": "number"
204
+ }
205
+ },
206
+ "required": ["x", "y", "z"],
207
+ "additionalProperties": false
208
+ },
209
+ "rotation": {
210
+ "type": "object",
211
+ "properties": {
212
+ "pitch": {
213
+ "type": "number"
214
+ },
215
+ "roll": {
216
+ "type": "number"
217
+ },
218
+ "yaw": {
219
+ "type": "number"
220
+ }
221
+ },
222
+ "required": ["pitch", "roll", "yaw"],
223
+ "additionalProperties": false
224
+ },
225
+ "projection": {
226
+ "anyOf": [
227
+ {
228
+ "type": "object",
229
+ "properties": {
230
+ "kind": {
231
+ "type": "string",
232
+ "enum": ["perspective"]
233
+ },
234
+ "horizontalFieldOfView": {
235
+ "type": "number",
236
+ "allOf": [
237
+ {
238
+ "minimum": 5,
239
+ "maximum": 170
240
+ }
241
+ ]
242
+ }
243
+ },
244
+ "required": ["kind", "horizontalFieldOfView"],
245
+ "additionalProperties": false
246
+ },
247
+ {
248
+ "type": "object",
249
+ "properties": {
250
+ "kind": {
251
+ "type": "string",
252
+ "enum": ["orthographic"]
253
+ },
254
+ "width": {
255
+ "type": "number",
256
+ "allOf": [
257
+ {
258
+ "exclusiveMinimum": 0
259
+ },
260
+ {
261
+ "maximum": 1000000000
262
+ }
263
+ ]
264
+ }
265
+ },
266
+ "required": ["kind", "width"],
267
+ "additionalProperties": false
268
+ }
269
+ ]
270
+ }
271
+ },
272
+ "required": ["location", "rotation", "projection"],
273
+ "additionalProperties": false
274
+ },
275
+ "referenceSize": {
276
+ "type": "object",
277
+ "properties": {
278
+ "width": {
279
+ "type": "integer",
280
+ "allOf": [
281
+ {
282
+ "minimum": 16,
283
+ "maximum": 16384
284
+ }
285
+ ]
286
+ },
287
+ "height": {
288
+ "type": "integer",
289
+ "allOf": [
290
+ {
291
+ "minimum": 16,
292
+ "maximum": 16384
293
+ }
294
+ ]
295
+ }
296
+ },
297
+ "required": ["width", "height"],
298
+ "additionalProperties": false
299
+ },
300
+ "minimumFrames": {
301
+ "type": "integer",
302
+ "allOf": [
303
+ {
304
+ "minimum": 1,
305
+ "maximum": 4096
306
+ }
307
+ ]
308
+ }
309
+ },
310
+ "required": [
311
+ "mode",
312
+ "referenceCamera",
313
+ "referenceSize",
314
+ "minimumFrames"
315
+ ],
316
+ "additionalProperties": false
317
+ }
318
+ ]
319
+ },
320
+ "settling": {
321
+ "type": "object",
322
+ "properties": {
323
+ "minimumFrames": {
324
+ "type": "integer",
325
+ "allOf": [
326
+ {
327
+ "minimum": 1,
328
+ "maximum": 4096
329
+ }
330
+ ]
331
+ },
332
+ "timeoutMs": {
333
+ "type": "integer",
334
+ "allOf": [
335
+ {
336
+ "minimum": 1000,
337
+ "maximum": 900000
338
+ }
339
+ ]
340
+ },
341
+ "initialView": {
342
+ "type": "object",
343
+ "properties": {
344
+ "camera": {
345
+ "type": "object",
346
+ "properties": {
347
+ "location": {
348
+ "type": "object",
349
+ "properties": {
350
+ "x": {
351
+ "type": "number"
352
+ },
353
+ "y": {
354
+ "type": "number"
355
+ },
356
+ "z": {
357
+ "type": "number"
358
+ }
359
+ },
360
+ "required": ["x", "y", "z"],
361
+ "additionalProperties": false
362
+ },
363
+ "rotation": {
364
+ "type": "object",
365
+ "properties": {
366
+ "pitch": {
367
+ "type": "number"
368
+ },
369
+ "roll": {
370
+ "type": "number"
371
+ },
372
+ "yaw": {
373
+ "type": "number"
374
+ }
375
+ },
376
+ "required": ["pitch", "roll", "yaw"],
377
+ "additionalProperties": false
378
+ },
379
+ "projection": {
380
+ "anyOf": [
381
+ {
382
+ "type": "object",
383
+ "properties": {
384
+ "kind": {
385
+ "type": "string",
386
+ "enum": ["perspective"]
387
+ },
388
+ "horizontalFieldOfView": {
389
+ "type": "number",
390
+ "allOf": [
391
+ {
392
+ "minimum": 5,
393
+ "maximum": 170
394
+ }
395
+ ]
396
+ }
397
+ },
398
+ "required": ["kind", "horizontalFieldOfView"],
399
+ "additionalProperties": false
400
+ },
401
+ {
402
+ "type": "object",
403
+ "properties": {
404
+ "kind": {
405
+ "type": "string",
406
+ "enum": ["orthographic"]
407
+ },
408
+ "width": {
409
+ "type": "number",
410
+ "allOf": [
411
+ {
412
+ "exclusiveMinimum": 0
413
+ },
414
+ {
415
+ "maximum": 1000000000
416
+ }
417
+ ]
418
+ }
419
+ },
420
+ "required": ["kind", "width"],
421
+ "additionalProperties": false
422
+ }
423
+ ]
424
+ }
425
+ },
426
+ "required": ["location", "rotation", "projection"],
427
+ "additionalProperties": false
428
+ },
429
+ "size": {
430
+ "type": "object",
431
+ "properties": {
432
+ "width": {
433
+ "type": "integer",
434
+ "allOf": [
435
+ {
436
+ "minimum": 16,
437
+ "maximum": 16384
438
+ }
439
+ ]
440
+ },
441
+ "height": {
442
+ "type": "integer",
443
+ "allOf": [
444
+ {
445
+ "minimum": 16,
446
+ "maximum": 16384
447
+ }
448
+ ]
449
+ }
450
+ },
451
+ "required": ["width", "height"],
452
+ "additionalProperties": false
453
+ },
454
+ "minimumFrames": {
455
+ "type": "integer",
456
+ "allOf": [
457
+ {
458
+ "minimum": 1,
459
+ "maximum": 4096
460
+ }
461
+ ]
462
+ }
463
+ },
464
+ "required": ["camera", "size", "minimumFrames"],
465
+ "additionalProperties": false
466
+ }
467
+ },
468
+ "required": ["minimumFrames", "timeoutMs"],
469
+ "additionalProperties": false
470
+ },
471
+ "time": {
472
+ "type": "string",
473
+ "enum": ["live_editor", "freeze_materials_and_ticks"]
474
+ },
475
+ "preparation": {
476
+ "type": "object",
477
+ "properties": {
478
+ "geometry": {
479
+ "anyOf": [
480
+ {
481
+ "type": "object",
482
+ "properties": {
483
+ "mode": {
484
+ "type": "string",
485
+ "enum": ["preserve_loading"]
486
+ }
487
+ },
488
+ "required": ["mode"],
489
+ "additionalProperties": false
490
+ },
491
+ {
492
+ "type": "object",
493
+ "properties": {
494
+ "mode": {
495
+ "type": "string",
496
+ "enum": ["camera_regions"]
497
+ },
498
+ "maximumRegions": {
499
+ "type": "integer",
500
+ "allOf": [
501
+ {
502
+ "minimum": 1,
503
+ "maximum": 64
504
+ }
505
+ ]
506
+ },
507
+ "extent": {
508
+ "type": "object",
509
+ "properties": {
510
+ "x": {
511
+ "type": "number",
512
+ "allOf": [
513
+ {
514
+ "minimum": 0,
515
+ "maximum": 10000000
516
+ }
517
+ ]
518
+ },
519
+ "y": {
520
+ "type": "number",
521
+ "allOf": [
522
+ {
523
+ "minimum": 0,
524
+ "maximum": 10000000
525
+ }
526
+ ]
527
+ },
528
+ "z": {
529
+ "type": "number",
530
+ "allOf": [
531
+ {
532
+ "minimum": 0,
533
+ "maximum": 10000000
534
+ }
535
+ ]
536
+ }
537
+ },
538
+ "required": ["x", "y", "z"],
539
+ "additionalProperties": false
540
+ }
541
+ },
542
+ "required": ["mode", "maximumRegions", "extent"],
543
+ "additionalProperties": false
544
+ }
545
+ ]
546
+ },
547
+ "dataLayers": {
548
+ "type": "array",
549
+ "items": {
550
+ "type": "object",
551
+ "properties": {
552
+ "assetPath": {
553
+ "type": "string",
554
+ "allOf": [
555
+ {
556
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
557
+ },
558
+ {
559
+ "maxLength": 1024
560
+ }
561
+ ]
562
+ },
563
+ "loaded": {
564
+ "type": "boolean"
565
+ },
566
+ "visible": {
567
+ "type": "boolean"
568
+ }
569
+ },
570
+ "required": ["assetPath", "loaded", "visible"],
571
+ "additionalProperties": false
572
+ },
573
+ "allOf": [
574
+ {
575
+ "maxItems": 64
576
+ }
577
+ ]
578
+ }
579
+ },
580
+ "required": ["geometry", "dataLayers"],
581
+ "additionalProperties": false
582
+ }
583
+ },
584
+ "required": ["renderer", "exposure", "settling", "time", "preparation"],
585
+ "additionalProperties": false
586
+ },
587
+ "leaseMs": {
588
+ "type": "integer",
589
+ "allOf": [
590
+ {
591
+ "minimum": 1000,
592
+ "maximum": 120000
593
+ }
594
+ ]
595
+ },
596
+ "maximumFrames": {
597
+ "type": "integer",
598
+ "allOf": [
599
+ {
600
+ "minimum": 1,
601
+ "maximum": 1000000
602
+ }
603
+ ]
604
+ }
605
+ },
606
+ "required": [
607
+ "contract",
608
+ "sessionId",
609
+ "expectedMapPath",
610
+ "expectedProjectName",
611
+ "policy",
612
+ "leaseMs",
613
+ "maximumFrames"
614
+ ],
615
+ "additionalProperties": false,
616
+ "$defs": {}
617
+ }
@@ -9,6 +9,13 @@ Portable Review Set / Capture Run documents and Workbench IPC remain TypeScript-
9
9
  in `@ue-shed/cameras`. They are deliberately outside this JSON authority while Map Review authoring
10
10
  recovery, live preview, and World Scout streaming plans remain active.
11
11
 
12
+ Minor version 6 requires an explicit shared `renderPolicy` and records `renderEvidence`. Fixed
13
+ world-space cameras can return `unresolved_actor` provenance without a projection when their subject
14
+ is unavailable. Actor-relative requests still require realization. The first-party adapter uses
15
+ the separate realization/render/inspection contracts under `cameras/render/v1`; the legacy native
16
+ CaptureReviewView method also delegates rendering to that lifecycle. Older wire minors retain their
17
+ subject/projection requirements. No renderer fallback is implied by a minor-version upgrade.
18
+
12
19
  Minor versions 0–1 accept the original actor plus approved-world-pose request. Minor version 2 adds
13
20
  actor or oriented-bounds subjects, world-fixed or actor-relative viewpoints, and a requested
14
21
  visibility-assessment method. Minor version 3 keeps those inputs but makes the editor response a raw