@ue-shed/protocol 0.7.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/contracts/cameras/authoring/v1/README.md +63 -0
  2. package/contracts/cameras/authoring/v1/approval.schema.json +106 -0
  3. package/contracts/cameras/authoring/v1/arrangement.schema.json +1807 -0
  4. package/contracts/cameras/authoring/v1/bridge-request.schema.json +11077 -0
  5. package/contracts/cameras/authoring/v1/bridge-response.schema.json +10523 -0
  6. package/contracts/cameras/authoring/v1/command.schema.json +4115 -0
  7. package/contracts/cameras/authoring/v1/document.schema.json +4421 -0
  8. package/contracts/cameras/authoring/v1/panel-event.schema.json +4891 -0
  9. package/contracts/cameras/authoring/v1/panel-state.schema.json +3560 -0
  10. package/contracts/cameras/authoring/v1/recipe.schema.json +340 -0
  11. package/contracts/cameras/authoring/v1/visibility-preset.schema.json +205 -0
  12. package/contracts/cameras/map-tile/v1/README.md +4 -1
  13. package/contracts/cameras/map-tile/v1/capture-operation.schema.json +1643 -30
  14. package/contracts/cameras/map-tile/v1/capture-request.schema.json +497 -48
  15. package/contracts/cameras/map-tile/v1/capture-response.schema.json +1405 -96
  16. package/contracts/cameras/map-tile/v1/manifest.schema.json +1782 -110
  17. package/contracts/cameras/map-tile/v1/plan.schema.json +394 -200
  18. package/contracts/cameras/map-tile/v1/release-result.schema.json +7 -2
  19. package/contracts/cameras/provisioning/v1/provision-request.schema.json +663 -141
  20. package/contracts/cameras/render/v1/README.md +6 -0
  21. package/contracts/cameras/render/v1/begin-result.schema.json +173 -0
  22. package/contracts/cameras/render/v1/capabilities.schema.json +46 -0
  23. package/contracts/cameras/render/v1/fixtures/invalid-session-editor-previews-type.json +41 -0
  24. package/contracts/cameras/render/v1/fixtures/session-editor-previews.json +41 -0
  25. package/contracts/cameras/render/v1/fixtures/session-scene-capture-editor-previews.json +40 -0
  26. package/contracts/cameras/render/v1/frame-evidence.schema.json +262 -0
  27. package/contracts/cameras/render/v1/frame-status.schema.json +271 -0
  28. package/contracts/cameras/render/v1/policy.schema.json +165 -0
  29. package/contracts/cameras/render/v1/review-inspection-result.schema.json +285 -0
  30. package/contracts/cameras/render/v1/session-request.schema.json +173 -0
  31. package/contracts/cameras/review/v1/README.md +6 -0
  32. package/contracts/cameras/review/v1/capture-request.schema.json +221 -3
  33. package/contracts/cameras/review/v1/capture-response.schema.json +3692 -0
  34. package/contracts/cameras/review/v1/fixtures/capture-authored.json +205 -0
  35. package/contracts/core/v1/WINDOW-ACTIVATION.md +21 -0
  36. package/contracts/core/v1/window-activation-request.schema.json +20 -0
  37. package/contracts/core/v1/window-activation-result.schema.json +49 -0
  38. package/contracts/editor-world/v1/README.md +27 -0
  39. package/contracts/editor-world/v1/operation.schema.json +761 -0
  40. package/contracts/editor-world/v1/state.schema.json +92 -0
  41. package/contracts/uasset-io/v1/README.md +24 -0
  42. package/contracts/uasset-io/v1/event.schema.json +2642 -290
  43. package/contracts/uasset-io/v1/fixtures/invalid/inspect-string-table-nonstring-metadata.json +53 -0
  44. package/contracts/uasset-io/v1/fixtures/invalid/level-sequence-version.json +43 -0
  45. package/contracts/uasset-io/v1/fixtures/invalid/negative-instanced-size.json +97 -0
  46. package/contracts/uasset-io/v1/fixtures/invalid/non-string-metadata.json +97 -0
  47. package/contracts/uasset-io/v1/fixtures/invalid/unknown-native-value.json +97 -0
  48. package/contracts/uasset-io/v1/fixtures/valid/blueprint-request.json +15 -3
  49. package/contracts/uasset-io/v1/fixtures/valid/blueprint-result-event.json +22 -5
  50. package/contracts/uasset-io/v1/fixtures/valid/extract-text-string-table-occurrence-result-event.json +30 -0
  51. package/contracts/uasset-io/v1/fixtures/valid/inspect-native-result-event.json +97 -0
  52. package/contracts/uasset-io/v1/fixtures/valid/inspect-string-table-metadata-result-event.json +53 -0
  53. package/contracts/uasset-io/v1/fixtures/valid/level-sequence-request.json +18 -0
  54. package/contracts/uasset-io/v1/fixtures/valid/level-sequence-result-event.json +43 -0
  55. package/contracts/uasset-io/v1/request.schema.json +14 -0
  56. package/contracts/world/preparation/v1/fixtures/invalid-contract-version.json +10 -0
  57. package/contracts/world/preparation/v1/fixtures/invalid-extra-field.json +11 -0
  58. package/contracts/world/preparation/v1/fixtures/invalid-negative-budget.json +37 -0
  59. package/contracts/world/preparation/v1/fixtures/invalid-region-negative-extent.json +40 -0
  60. package/contracts/world/preparation/v1/fixtures/valid-actor-context.json +37 -0
  61. package/contracts/world/preparation/v1/fixtures/valid-describe.json +10 -0
  62. package/contracts/world/preparation/v1/request.schema.json +897 -0
  63. package/contracts/world/preparation/v1/response.schema.json +449 -0
  64. package/dist/blueprint-graph.d.ts +332 -8
  65. package/dist/blueprint-graph.d.ts.map +1 -1
  66. package/dist/blueprint-graph.js +42 -3
  67. package/dist/blueprint-graph.js.map +1 -1
  68. package/dist/cameras.d.ts +16 -12
  69. package/dist/cameras.d.ts.map +1 -1
  70. package/dist/cameras.js +1 -0
  71. package/dist/cameras.js.map +1 -1
  72. package/dist/companion.d.ts +6 -0
  73. package/dist/companion.d.ts.map +1 -1
  74. package/dist/companion.js +3 -0
  75. package/dist/companion.js.map +1 -1
  76. package/dist/editor-window-activation.d.ts +16 -0
  77. package/dist/editor-window-activation.d.ts.map +1 -0
  78. package/dist/editor-window-activation.js +19 -0
  79. package/dist/editor-window-activation.js.map +1 -0
  80. package/dist/editor-world-control.d.ts +125 -0
  81. package/dist/editor-world-control.d.ts.map +1 -1
  82. package/dist/editor-world-control.js +25 -0
  83. package/dist/editor-world-control.js.map +1 -1
  84. package/dist/index.d.ts +2 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +2 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/level-sequence.d.ts +1315 -0
  89. package/dist/level-sequence.d.ts.map +1 -0
  90. package/dist/level-sequence.js +204 -0
  91. package/dist/level-sequence.js.map +1 -0
  92. package/dist/uasset-inspection.d.ts +128 -55
  93. package/dist/uasset-inspection.d.ts.map +1 -1
  94. package/dist/uasset-inspection.js +39 -2
  95. package/dist/uasset-inspection.js.map +1 -1
  96. package/dist/uasset-io.d.ts +1302 -9
  97. package/dist/uasset-io.d.ts.map +1 -1
  98. package/dist/uasset-io.js +4 -0
  99. package/dist/uasset-io.js.map +1 -1
  100. package/package.json +1 -1
@@ -571,6 +571,3698 @@
571
571
  }
572
572
  },
573
573
  "additionalProperties": false
574
+ },
575
+ {
576
+ "type": "object",
577
+ "properties": {
578
+ "authoredVisibility": {
579
+ "type": "object",
580
+ "properties": {
581
+ "version": {
582
+ "type": "number",
583
+ "enum": [1]
584
+ },
585
+ "output": {
586
+ "type": "string",
587
+ "enum": ["natural_only", "authored_only", "natural_and_authored"]
588
+ },
589
+ "actors": {
590
+ "type": "object",
591
+ "properties": {
592
+ "hide": {
593
+ "type": "array",
594
+ "items": {
595
+ "type": "object",
596
+ "properties": {
597
+ "locator": {
598
+ "anyOf": [
599
+ {
600
+ "type": "object",
601
+ "properties": {
602
+ "kind": {
603
+ "type": "string",
604
+ "enum": ["actor_path"]
605
+ },
606
+ "actorPath": {
607
+ "type": "string",
608
+ "allOf": [
609
+ {
610
+ "pattern": "^\\/Game\\/"
611
+ },
612
+ {
613
+ "maxLength": 4096
614
+ }
615
+ ]
616
+ }
617
+ },
618
+ "required": ["kind", "actorPath"],
619
+ "additionalProperties": false
620
+ },
621
+ {
622
+ "type": "object",
623
+ "properties": {
624
+ "kind": {
625
+ "type": "string",
626
+ "enum": ["actor_guid"]
627
+ },
628
+ "actorGuid": {
629
+ "type": "string",
630
+ "allOf": [
631
+ {
632
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
633
+ }
634
+ ]
635
+ },
636
+ "lastKnownActorPath": {
637
+ "type": "string",
638
+ "allOf": [
639
+ {
640
+ "maxLength": 4096
641
+ }
642
+ ]
643
+ }
644
+ },
645
+ "required": [
646
+ "kind",
647
+ "actorGuid",
648
+ "lastKnownActorPath"
649
+ ],
650
+ "additionalProperties": false
651
+ }
652
+ ]
653
+ },
654
+ "label": {
655
+ "type": "string",
656
+ "allOf": [
657
+ {
658
+ "maxLength": 256
659
+ }
660
+ ]
661
+ }
662
+ },
663
+ "required": ["locator", "label"],
664
+ "additionalProperties": false
665
+ },
666
+ "allOf": [
667
+ {
668
+ "maxItems": 256
669
+ }
670
+ ]
671
+ },
672
+ "protect": {
673
+ "type": "array",
674
+ "items": {
675
+ "type": "object",
676
+ "properties": {
677
+ "locator": {
678
+ "anyOf": [
679
+ {
680
+ "type": "object",
681
+ "properties": {
682
+ "kind": {
683
+ "type": "string",
684
+ "enum": ["actor_path"]
685
+ },
686
+ "actorPath": {
687
+ "type": "string",
688
+ "allOf": [
689
+ {
690
+ "pattern": "^\\/Game\\/"
691
+ },
692
+ {
693
+ "maxLength": 4096
694
+ }
695
+ ]
696
+ }
697
+ },
698
+ "required": ["kind", "actorPath"],
699
+ "additionalProperties": false
700
+ },
701
+ {
702
+ "type": "object",
703
+ "properties": {
704
+ "kind": {
705
+ "type": "string",
706
+ "enum": ["actor_guid"]
707
+ },
708
+ "actorGuid": {
709
+ "type": "string",
710
+ "allOf": [
711
+ {
712
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
713
+ }
714
+ ]
715
+ },
716
+ "lastKnownActorPath": {
717
+ "type": "string",
718
+ "allOf": [
719
+ {
720
+ "maxLength": 4096
721
+ }
722
+ ]
723
+ }
724
+ },
725
+ "required": [
726
+ "kind",
727
+ "actorGuid",
728
+ "lastKnownActorPath"
729
+ ],
730
+ "additionalProperties": false
731
+ }
732
+ ]
733
+ },
734
+ "label": {
735
+ "type": "string",
736
+ "allOf": [
737
+ {
738
+ "maxLength": 256
739
+ }
740
+ ]
741
+ }
742
+ },
743
+ "required": ["locator", "label"],
744
+ "additionalProperties": false
745
+ },
746
+ "allOf": [
747
+ {
748
+ "maxItems": 256
749
+ }
750
+ ]
751
+ }
752
+ },
753
+ "required": ["hide", "protect"],
754
+ "additionalProperties": false
755
+ }
756
+ },
757
+ "required": ["version", "output", "actors"],
758
+ "additionalProperties": false
759
+ },
760
+ "authoredEvidence": {
761
+ "type": "object",
762
+ "properties": {
763
+ "visibilityDiagnostics": {
764
+ "type": "array",
765
+ "items": {
766
+ "type": "object",
767
+ "properties": {
768
+ "locator": {
769
+ "anyOf": [
770
+ {
771
+ "type": "object",
772
+ "properties": {
773
+ "kind": {
774
+ "type": "string",
775
+ "enum": ["actor_path"]
776
+ },
777
+ "actorPath": {
778
+ "type": "string",
779
+ "allOf": [
780
+ {
781
+ "pattern": "^\\/Game\\/"
782
+ },
783
+ {
784
+ "maxLength": 4096
785
+ }
786
+ ]
787
+ }
788
+ },
789
+ "required": ["kind", "actorPath"],
790
+ "additionalProperties": false
791
+ },
792
+ {
793
+ "type": "object",
794
+ "properties": {
795
+ "kind": {
796
+ "type": "string",
797
+ "enum": ["actor_guid"]
798
+ },
799
+ "actorGuid": {
800
+ "type": "string",
801
+ "allOf": [
802
+ {
803
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
804
+ }
805
+ ]
806
+ },
807
+ "lastKnownActorPath": {
808
+ "type": "string",
809
+ "allOf": [
810
+ {
811
+ "maxLength": 4096
812
+ }
813
+ ]
814
+ }
815
+ },
816
+ "required": [
817
+ "kind",
818
+ "actorGuid",
819
+ "lastKnownActorPath"
820
+ ],
821
+ "additionalProperties": false
822
+ }
823
+ ]
824
+ },
825
+ "status": {
826
+ "type": "string",
827
+ "enum": [
828
+ "resolved",
829
+ "missing_or_unloaded",
830
+ "ambiguous",
831
+ "unsupported"
832
+ ]
833
+ },
834
+ "actorPath": {
835
+ "type": "string"
836
+ },
837
+ "message": {
838
+ "type": "string"
839
+ }
840
+ },
841
+ "required": ["locator", "status", "actorPath", "message"],
842
+ "additionalProperties": false
843
+ }
844
+ },
845
+ "editorPreviews": {
846
+ "type": "object",
847
+ "properties": {
848
+ "revealedChildActors": {
849
+ "type": "integer",
850
+ "allOf": [
851
+ {
852
+ "minimum": 0,
853
+ "maximum": 1000000
854
+ }
855
+ ]
856
+ }
857
+ },
858
+ "required": ["revealedChildActors"],
859
+ "additionalProperties": false
860
+ },
861
+ "editorState": {
862
+ "type": "object",
863
+ "properties": {
864
+ "mapPackageDirtyBefore": {
865
+ "type": "boolean"
866
+ },
867
+ "mapPackageDirtyAfter": {
868
+ "type": "boolean"
869
+ }
870
+ },
871
+ "required": ["mapPackageDirtyBefore", "mapPackageDirtyAfter"],
872
+ "additionalProperties": false
873
+ },
874
+ "camera": {
875
+ "type": "object",
876
+ "properties": {
877
+ "location": {
878
+ "type": "object",
879
+ "properties": {
880
+ "x": {
881
+ "type": "number"
882
+ },
883
+ "y": {
884
+ "type": "number"
885
+ },
886
+ "z": {
887
+ "type": "number"
888
+ }
889
+ },
890
+ "required": ["x", "y", "z"],
891
+ "additionalProperties": false
892
+ },
893
+ "rotation": {
894
+ "type": "object",
895
+ "properties": {
896
+ "pitch": {
897
+ "type": "number"
898
+ },
899
+ "roll": {
900
+ "type": "number"
901
+ },
902
+ "yaw": {
903
+ "type": "number"
904
+ }
905
+ },
906
+ "required": ["pitch", "roll", "yaw"],
907
+ "additionalProperties": false
908
+ },
909
+ "projection": {
910
+ "anyOf": [
911
+ {
912
+ "type": "object",
913
+ "properties": {
914
+ "kind": {
915
+ "type": "string",
916
+ "enum": ["perspective"]
917
+ },
918
+ "horizontalFieldOfView": {
919
+ "type": "number",
920
+ "allOf": [
921
+ {
922
+ "minimum": 5,
923
+ "maximum": 170
924
+ }
925
+ ]
926
+ }
927
+ },
928
+ "required": ["kind", "horizontalFieldOfView"],
929
+ "additionalProperties": false
930
+ },
931
+ {
932
+ "type": "object",
933
+ "properties": {
934
+ "kind": {
935
+ "type": "string",
936
+ "enum": ["orthographic"]
937
+ },
938
+ "width": {
939
+ "type": "number",
940
+ "allOf": [
941
+ {
942
+ "exclusiveMinimum": 0
943
+ },
944
+ {
945
+ "maximum": 1000000000
946
+ }
947
+ ]
948
+ }
949
+ },
950
+ "required": ["kind", "width"],
951
+ "additionalProperties": false
952
+ }
953
+ ]
954
+ }
955
+ },
956
+ "required": ["location", "rotation", "projection"],
957
+ "additionalProperties": false
958
+ },
959
+ "size": {
960
+ "type": "object",
961
+ "properties": {
962
+ "width": {
963
+ "type": "integer",
964
+ "allOf": [
965
+ {
966
+ "minimum": 16,
967
+ "maximum": 16384
968
+ }
969
+ ]
970
+ },
971
+ "height": {
972
+ "type": "integer",
973
+ "allOf": [
974
+ {
975
+ "minimum": 16,
976
+ "maximum": 16384
977
+ }
978
+ ]
979
+ }
980
+ },
981
+ "required": ["width", "height"],
982
+ "additionalProperties": false
983
+ },
984
+ "policy": {
985
+ "type": "object",
986
+ "properties": {
987
+ "visibility": {
988
+ "type": "object",
989
+ "properties": {
990
+ "hide": {
991
+ "type": "array",
992
+ "items": {
993
+ "type": "object",
994
+ "properties": {
995
+ "locator": {
996
+ "anyOf": [
997
+ {
998
+ "type": "object",
999
+ "properties": {
1000
+ "kind": {
1001
+ "type": "string",
1002
+ "enum": ["actor_path"]
1003
+ },
1004
+ "actorPath": {
1005
+ "type": "string",
1006
+ "allOf": [
1007
+ {
1008
+ "pattern": "^\\/Game\\/"
1009
+ },
1010
+ {
1011
+ "maxLength": 4096
1012
+ }
1013
+ ]
1014
+ }
1015
+ },
1016
+ "required": ["kind", "actorPath"],
1017
+ "additionalProperties": false
1018
+ },
1019
+ {
1020
+ "type": "object",
1021
+ "properties": {
1022
+ "kind": {
1023
+ "type": "string",
1024
+ "enum": ["actor_guid"]
1025
+ },
1026
+ "actorGuid": {
1027
+ "type": "string",
1028
+ "allOf": [
1029
+ {
1030
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1031
+ }
1032
+ ]
1033
+ },
1034
+ "lastKnownActorPath": {
1035
+ "type": "string",
1036
+ "allOf": [
1037
+ {
1038
+ "maxLength": 4096
1039
+ }
1040
+ ]
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "kind",
1045
+ "actorGuid",
1046
+ "lastKnownActorPath"
1047
+ ],
1048
+ "additionalProperties": false
1049
+ }
1050
+ ]
1051
+ },
1052
+ "label": {
1053
+ "type": "string",
1054
+ "allOf": [
1055
+ {
1056
+ "maxLength": 256
1057
+ }
1058
+ ]
1059
+ }
1060
+ },
1061
+ "required": ["locator", "label"],
1062
+ "additionalProperties": false
1063
+ },
1064
+ "allOf": [
1065
+ {
1066
+ "maxItems": 256
1067
+ }
1068
+ ]
1069
+ },
1070
+ "protect": {
1071
+ "type": "array",
1072
+ "items": {
1073
+ "type": "object",
1074
+ "properties": {
1075
+ "locator": {
1076
+ "anyOf": [
1077
+ {
1078
+ "type": "object",
1079
+ "properties": {
1080
+ "kind": {
1081
+ "type": "string",
1082
+ "enum": ["actor_path"]
1083
+ },
1084
+ "actorPath": {
1085
+ "type": "string",
1086
+ "allOf": [
1087
+ {
1088
+ "pattern": "^\\/Game\\/"
1089
+ },
1090
+ {
1091
+ "maxLength": 4096
1092
+ }
1093
+ ]
1094
+ }
1095
+ },
1096
+ "required": ["kind", "actorPath"],
1097
+ "additionalProperties": false
1098
+ },
1099
+ {
1100
+ "type": "object",
1101
+ "properties": {
1102
+ "kind": {
1103
+ "type": "string",
1104
+ "enum": ["actor_guid"]
1105
+ },
1106
+ "actorGuid": {
1107
+ "type": "string",
1108
+ "allOf": [
1109
+ {
1110
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1111
+ }
1112
+ ]
1113
+ },
1114
+ "lastKnownActorPath": {
1115
+ "type": "string",
1116
+ "allOf": [
1117
+ {
1118
+ "maxLength": 4096
1119
+ }
1120
+ ]
1121
+ }
1122
+ },
1123
+ "required": [
1124
+ "kind",
1125
+ "actorGuid",
1126
+ "lastKnownActorPath"
1127
+ ],
1128
+ "additionalProperties": false
1129
+ }
1130
+ ]
1131
+ },
1132
+ "label": {
1133
+ "type": "string",
1134
+ "allOf": [
1135
+ {
1136
+ "maxLength": 256
1137
+ }
1138
+ ]
1139
+ }
1140
+ },
1141
+ "required": ["locator", "label"],
1142
+ "additionalProperties": false
1143
+ },
1144
+ "allOf": [
1145
+ {
1146
+ "maxItems": 256
1147
+ }
1148
+ ]
1149
+ }
1150
+ },
1151
+ "required": ["hide", "protect"],
1152
+ "additionalProperties": false
1153
+ },
1154
+ "renderer": {
1155
+ "anyOf": [
1156
+ {
1157
+ "type": "object",
1158
+ "properties": {
1159
+ "kind": {
1160
+ "type": "string",
1161
+ "enum": ["editor_viewport"]
1162
+ },
1163
+ "strategy": {
1164
+ "type": "string",
1165
+ "enum": ["high_resolution_screenshot"]
1166
+ },
1167
+ "profile": {
1168
+ "type": "string",
1169
+ "enum": ["lit", "observation"]
1170
+ },
1171
+ "vignette": {
1172
+ "type": "string",
1173
+ "enum": ["project", "disabled"]
1174
+ },
1175
+ "fog": {
1176
+ "type": "boolean"
1177
+ },
1178
+ "volumetricFog": {
1179
+ "type": "boolean"
1180
+ },
1181
+ "editorPreviews": {
1182
+ "type": "boolean"
1183
+ }
1184
+ },
1185
+ "required": [
1186
+ "kind",
1187
+ "strategy",
1188
+ "profile",
1189
+ "vignette",
1190
+ "fog",
1191
+ "volumetricFog"
1192
+ ],
1193
+ "additionalProperties": false
1194
+ },
1195
+ {
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "kind": {
1199
+ "type": "string",
1200
+ "enum": ["scene_capture"]
1201
+ },
1202
+ "profile": {
1203
+ "type": "string",
1204
+ "enum": [
1205
+ "full_fidelity",
1206
+ "seam_stable",
1207
+ "scene_capture_defaults",
1208
+ "observation"
1209
+ ]
1210
+ },
1211
+ "lodDistanceScale": {
1212
+ "type": "number",
1213
+ "allOf": [
1214
+ {
1215
+ "minimum": 0.1,
1216
+ "maximum": 100
1217
+ }
1218
+ ]
1219
+ },
1220
+ "fog": {
1221
+ "type": "boolean"
1222
+ },
1223
+ "volumetricFog": {
1224
+ "type": "boolean"
1225
+ },
1226
+ "editorPreviews": {
1227
+ "type": "boolean"
1228
+ }
1229
+ },
1230
+ "required": [
1231
+ "kind",
1232
+ "profile",
1233
+ "lodDistanceScale",
1234
+ "fog",
1235
+ "volumetricFog"
1236
+ ],
1237
+ "additionalProperties": false
1238
+ }
1239
+ ]
1240
+ },
1241
+ "exposure": {
1242
+ "anyOf": [
1243
+ {
1244
+ "type": "object",
1245
+ "properties": {
1246
+ "mode": {
1247
+ "type": "string",
1248
+ "enum": ["project_auto"]
1249
+ }
1250
+ },
1251
+ "required": ["mode"],
1252
+ "additionalProperties": false
1253
+ },
1254
+ {
1255
+ "type": "object",
1256
+ "properties": {
1257
+ "mode": {
1258
+ "type": "string",
1259
+ "enum": ["fixed_ev100"]
1260
+ },
1261
+ "ev100": {
1262
+ "type": "number",
1263
+ "allOf": [
1264
+ {
1265
+ "minimum": -20,
1266
+ "maximum": 30
1267
+ }
1268
+ ]
1269
+ },
1270
+ "compensation": {
1271
+ "type": "string",
1272
+ "enum": ["project"]
1273
+ }
1274
+ },
1275
+ "required": ["mode", "ev100", "compensation"],
1276
+ "additionalProperties": false
1277
+ },
1278
+ {
1279
+ "type": "object",
1280
+ "properties": {
1281
+ "mode": {
1282
+ "type": "string",
1283
+ "enum": ["meter_once"]
1284
+ },
1285
+ "referenceCamera": {
1286
+ "type": "object",
1287
+ "properties": {
1288
+ "location": {
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "x": {
1292
+ "type": "number"
1293
+ },
1294
+ "y": {
1295
+ "type": "number"
1296
+ },
1297
+ "z": {
1298
+ "type": "number"
1299
+ }
1300
+ },
1301
+ "required": ["x", "y", "z"],
1302
+ "additionalProperties": false
1303
+ },
1304
+ "rotation": {
1305
+ "type": "object",
1306
+ "properties": {
1307
+ "pitch": {
1308
+ "type": "number"
1309
+ },
1310
+ "roll": {
1311
+ "type": "number"
1312
+ },
1313
+ "yaw": {
1314
+ "type": "number"
1315
+ }
1316
+ },
1317
+ "required": ["pitch", "roll", "yaw"],
1318
+ "additionalProperties": false
1319
+ },
1320
+ "projection": {
1321
+ "anyOf": [
1322
+ {
1323
+ "type": "object",
1324
+ "properties": {
1325
+ "kind": {
1326
+ "type": "string",
1327
+ "enum": ["perspective"]
1328
+ },
1329
+ "horizontalFieldOfView": {
1330
+ "type": "number",
1331
+ "allOf": [
1332
+ {
1333
+ "minimum": 5,
1334
+ "maximum": 170
1335
+ }
1336
+ ]
1337
+ }
1338
+ },
1339
+ "required": [
1340
+ "kind",
1341
+ "horizontalFieldOfView"
1342
+ ],
1343
+ "additionalProperties": false
1344
+ },
1345
+ {
1346
+ "type": "object",
1347
+ "properties": {
1348
+ "kind": {
1349
+ "type": "string",
1350
+ "enum": ["orthographic"]
1351
+ },
1352
+ "width": {
1353
+ "type": "number",
1354
+ "allOf": [
1355
+ {
1356
+ "exclusiveMinimum": 0
1357
+ },
1358
+ {
1359
+ "maximum": 1000000000
1360
+ }
1361
+ ]
1362
+ }
1363
+ },
1364
+ "required": ["kind", "width"],
1365
+ "additionalProperties": false
1366
+ }
1367
+ ]
1368
+ }
1369
+ },
1370
+ "required": [
1371
+ "location",
1372
+ "rotation",
1373
+ "projection"
1374
+ ],
1375
+ "additionalProperties": false
1376
+ },
1377
+ "referenceSize": {
1378
+ "type": "object",
1379
+ "properties": {
1380
+ "width": {
1381
+ "type": "integer",
1382
+ "allOf": [
1383
+ {
1384
+ "minimum": 16,
1385
+ "maximum": 16384
1386
+ }
1387
+ ]
1388
+ },
1389
+ "height": {
1390
+ "type": "integer",
1391
+ "allOf": [
1392
+ {
1393
+ "minimum": 16,
1394
+ "maximum": 16384
1395
+ }
1396
+ ]
1397
+ }
1398
+ },
1399
+ "required": ["width", "height"],
1400
+ "additionalProperties": false
1401
+ },
1402
+ "minimumFrames": {
1403
+ "type": "integer",
1404
+ "allOf": [
1405
+ {
1406
+ "minimum": 1,
1407
+ "maximum": 4096
1408
+ }
1409
+ ]
1410
+ }
1411
+ },
1412
+ "required": [
1413
+ "mode",
1414
+ "referenceCamera",
1415
+ "referenceSize",
1416
+ "minimumFrames"
1417
+ ],
1418
+ "additionalProperties": false
1419
+ }
1420
+ ]
1421
+ },
1422
+ "settling": {
1423
+ "type": "object",
1424
+ "properties": {
1425
+ "minimumFrames": {
1426
+ "type": "integer",
1427
+ "allOf": [
1428
+ {
1429
+ "minimum": 1,
1430
+ "maximum": 4096
1431
+ }
1432
+ ]
1433
+ },
1434
+ "timeoutMs": {
1435
+ "type": "integer",
1436
+ "allOf": [
1437
+ {
1438
+ "minimum": 1000,
1439
+ "maximum": 900000
1440
+ }
1441
+ ]
1442
+ },
1443
+ "initialView": {
1444
+ "type": "object",
1445
+ "properties": {
1446
+ "camera": {
1447
+ "type": "object",
1448
+ "properties": {
1449
+ "location": {
1450
+ "type": "object",
1451
+ "properties": {
1452
+ "x": {
1453
+ "type": "number"
1454
+ },
1455
+ "y": {
1456
+ "type": "number"
1457
+ },
1458
+ "z": {
1459
+ "type": "number"
1460
+ }
1461
+ },
1462
+ "required": ["x", "y", "z"],
1463
+ "additionalProperties": false
1464
+ },
1465
+ "rotation": {
1466
+ "type": "object",
1467
+ "properties": {
1468
+ "pitch": {
1469
+ "type": "number"
1470
+ },
1471
+ "roll": {
1472
+ "type": "number"
1473
+ },
1474
+ "yaw": {
1475
+ "type": "number"
1476
+ }
1477
+ },
1478
+ "required": ["pitch", "roll", "yaw"],
1479
+ "additionalProperties": false
1480
+ },
1481
+ "projection": {
1482
+ "anyOf": [
1483
+ {
1484
+ "type": "object",
1485
+ "properties": {
1486
+ "kind": {
1487
+ "type": "string",
1488
+ "enum": ["perspective"]
1489
+ },
1490
+ "horizontalFieldOfView": {
1491
+ "type": "number",
1492
+ "allOf": [
1493
+ {
1494
+ "minimum": 5,
1495
+ "maximum": 170
1496
+ }
1497
+ ]
1498
+ }
1499
+ },
1500
+ "required": [
1501
+ "kind",
1502
+ "horizontalFieldOfView"
1503
+ ],
1504
+ "additionalProperties": false
1505
+ },
1506
+ {
1507
+ "type": "object",
1508
+ "properties": {
1509
+ "kind": {
1510
+ "type": "string",
1511
+ "enum": ["orthographic"]
1512
+ },
1513
+ "width": {
1514
+ "type": "number",
1515
+ "allOf": [
1516
+ {
1517
+ "exclusiveMinimum": 0
1518
+ },
1519
+ {
1520
+ "maximum": 1000000000
1521
+ }
1522
+ ]
1523
+ }
1524
+ },
1525
+ "required": ["kind", "width"],
1526
+ "additionalProperties": false
1527
+ }
1528
+ ]
1529
+ }
1530
+ },
1531
+ "required": [
1532
+ "location",
1533
+ "rotation",
1534
+ "projection"
1535
+ ],
1536
+ "additionalProperties": false
1537
+ },
1538
+ "size": {
1539
+ "type": "object",
1540
+ "properties": {
1541
+ "width": {
1542
+ "type": "integer",
1543
+ "allOf": [
1544
+ {
1545
+ "minimum": 16,
1546
+ "maximum": 16384
1547
+ }
1548
+ ]
1549
+ },
1550
+ "height": {
1551
+ "type": "integer",
1552
+ "allOf": [
1553
+ {
1554
+ "minimum": 16,
1555
+ "maximum": 16384
1556
+ }
1557
+ ]
1558
+ }
1559
+ },
1560
+ "required": ["width", "height"],
1561
+ "additionalProperties": false
1562
+ },
1563
+ "minimumFrames": {
1564
+ "type": "integer",
1565
+ "allOf": [
1566
+ {
1567
+ "minimum": 1,
1568
+ "maximum": 4096
1569
+ }
1570
+ ]
1571
+ }
1572
+ },
1573
+ "required": ["camera", "size", "minimumFrames"],
1574
+ "additionalProperties": false
1575
+ }
1576
+ },
1577
+ "required": ["minimumFrames", "timeoutMs"],
1578
+ "additionalProperties": false
1579
+ },
1580
+ "time": {
1581
+ "type": "string",
1582
+ "enum": ["live_editor", "freeze_materials_and_ticks"]
1583
+ },
1584
+ "preparation": {
1585
+ "type": "object",
1586
+ "properties": {
1587
+ "geometry": {
1588
+ "anyOf": [
1589
+ {
1590
+ "type": "object",
1591
+ "properties": {
1592
+ "mode": {
1593
+ "type": "string",
1594
+ "enum": ["preserve_loading"]
1595
+ }
1596
+ },
1597
+ "required": ["mode"],
1598
+ "additionalProperties": false
1599
+ },
1600
+ {
1601
+ "type": "object",
1602
+ "properties": {
1603
+ "mode": {
1604
+ "type": "string",
1605
+ "enum": ["camera_regions"]
1606
+ },
1607
+ "maximumRegions": {
1608
+ "type": "integer",
1609
+ "allOf": [
1610
+ {
1611
+ "minimum": 1,
1612
+ "maximum": 64
1613
+ }
1614
+ ]
1615
+ },
1616
+ "extent": {
1617
+ "type": "object",
1618
+ "properties": {
1619
+ "x": {
1620
+ "type": "number",
1621
+ "allOf": [
1622
+ {
1623
+ "minimum": 0,
1624
+ "maximum": 10000000
1625
+ }
1626
+ ]
1627
+ },
1628
+ "y": {
1629
+ "type": "number",
1630
+ "allOf": [
1631
+ {
1632
+ "minimum": 0,
1633
+ "maximum": 10000000
1634
+ }
1635
+ ]
1636
+ },
1637
+ "z": {
1638
+ "type": "number",
1639
+ "allOf": [
1640
+ {
1641
+ "minimum": 0,
1642
+ "maximum": 10000000
1643
+ }
1644
+ ]
1645
+ }
1646
+ },
1647
+ "required": ["x", "y", "z"],
1648
+ "additionalProperties": false
1649
+ }
1650
+ },
1651
+ "required": [
1652
+ "mode",
1653
+ "maximumRegions",
1654
+ "extent"
1655
+ ],
1656
+ "additionalProperties": false
1657
+ }
1658
+ ]
1659
+ },
1660
+ "dataLayers": {
1661
+ "type": "array",
1662
+ "items": {
1663
+ "type": "object",
1664
+ "properties": {
1665
+ "assetPath": {
1666
+ "type": "string",
1667
+ "allOf": [
1668
+ {
1669
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
1670
+ },
1671
+ {
1672
+ "maxLength": 1024
1673
+ }
1674
+ ]
1675
+ },
1676
+ "loaded": {
1677
+ "type": "boolean"
1678
+ },
1679
+ "visible": {
1680
+ "type": "boolean"
1681
+ }
1682
+ },
1683
+ "required": ["assetPath", "loaded", "visible"],
1684
+ "additionalProperties": false
1685
+ },
1686
+ "allOf": [
1687
+ {
1688
+ "maxItems": 64
1689
+ }
1690
+ ]
1691
+ }
1692
+ },
1693
+ "required": ["geometry", "dataLayers"],
1694
+ "additionalProperties": false
1695
+ }
1696
+ },
1697
+ "required": ["renderer", "exposure", "settling", "time", "preparation"],
1698
+ "additionalProperties": false
1699
+ },
1700
+ "exposureEV100": {
1701
+ "anyOf": [
1702
+ {
1703
+ "type": "number"
1704
+ },
1705
+ {
1706
+ "type": "null"
1707
+ }
1708
+ ]
1709
+ },
1710
+ "preparation": {
1711
+ "type": "object",
1712
+ "properties": {
1713
+ "status": {
1714
+ "type": "string",
1715
+ "enum": ["preserved", "ready", "partial"]
1716
+ },
1717
+ "regionsHeld": {
1718
+ "type": "integer",
1719
+ "allOf": [
1720
+ {
1721
+ "minimum": 0,
1722
+ "maximum": 64
1723
+ }
1724
+ ]
1725
+ },
1726
+ "dataLayersApplied": {
1727
+ "type": "integer",
1728
+ "allOf": [
1729
+ {
1730
+ "minimum": 0,
1731
+ "maximum": 64
1732
+ }
1733
+ ]
1734
+ },
1735
+ "limitations": {
1736
+ "type": "array",
1737
+ "items": {
1738
+ "type": "string",
1739
+ "allOf": [
1740
+ {
1741
+ "minLength": 1
1742
+ },
1743
+ {
1744
+ "maxLength": 1024
1745
+ }
1746
+ ]
1747
+ }
1748
+ }
1749
+ },
1750
+ "required": [
1751
+ "status",
1752
+ "regionsHeld",
1753
+ "dataLayersApplied",
1754
+ "limitations"
1755
+ ],
1756
+ "additionalProperties": false
1757
+ },
1758
+ "settling": {
1759
+ "type": "object",
1760
+ "properties": {
1761
+ "renderedFrames": {
1762
+ "type": "integer",
1763
+ "allOf": [
1764
+ {
1765
+ "minimum": 0,
1766
+ "maximum": 1000000
1767
+ }
1768
+ ]
1769
+ },
1770
+ "elapsedMs": {
1771
+ "type": "number",
1772
+ "allOf": [
1773
+ {
1774
+ "minimum": 0
1775
+ }
1776
+ ]
1777
+ },
1778
+ "convergence": {
1779
+ "type": "string",
1780
+ "enum": ["not_assessed"]
1781
+ }
1782
+ },
1783
+ "required": ["renderedFrames", "elapsedMs", "convergence"],
1784
+ "additionalProperties": false
1785
+ },
1786
+ "engineVersion": {
1787
+ "type": "string",
1788
+ "allOf": [
1789
+ {
1790
+ "minLength": 1
1791
+ },
1792
+ {
1793
+ "maxLength": 1024
1794
+ }
1795
+ ]
1796
+ },
1797
+ "pluginVersion": {
1798
+ "type": "string",
1799
+ "allOf": [
1800
+ {
1801
+ "minLength": 1
1802
+ },
1803
+ {
1804
+ "maxLength": 1024
1805
+ }
1806
+ ]
1807
+ }
1808
+ },
1809
+ "required": [
1810
+ "editorState",
1811
+ "camera",
1812
+ "size",
1813
+ "policy",
1814
+ "exposureEV100",
1815
+ "preparation",
1816
+ "settling",
1817
+ "engineVersion",
1818
+ "pluginVersion"
1819
+ ],
1820
+ "additionalProperties": false
1821
+ },
1822
+ "renderEvidence": {
1823
+ "type": "object",
1824
+ "properties": {
1825
+ "visibilityDiagnostics": {
1826
+ "type": "array",
1827
+ "items": {
1828
+ "type": "object",
1829
+ "properties": {
1830
+ "locator": {
1831
+ "anyOf": [
1832
+ {
1833
+ "type": "object",
1834
+ "properties": {
1835
+ "kind": {
1836
+ "type": "string",
1837
+ "enum": ["actor_path"]
1838
+ },
1839
+ "actorPath": {
1840
+ "type": "string",
1841
+ "allOf": [
1842
+ {
1843
+ "pattern": "^\\/Game\\/"
1844
+ },
1845
+ {
1846
+ "maxLength": 4096
1847
+ }
1848
+ ]
1849
+ }
1850
+ },
1851
+ "required": ["kind", "actorPath"],
1852
+ "additionalProperties": false
1853
+ },
1854
+ {
1855
+ "type": "object",
1856
+ "properties": {
1857
+ "kind": {
1858
+ "type": "string",
1859
+ "enum": ["actor_guid"]
1860
+ },
1861
+ "actorGuid": {
1862
+ "type": "string",
1863
+ "allOf": [
1864
+ {
1865
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
1866
+ }
1867
+ ]
1868
+ },
1869
+ "lastKnownActorPath": {
1870
+ "type": "string",
1871
+ "allOf": [
1872
+ {
1873
+ "maxLength": 4096
1874
+ }
1875
+ ]
1876
+ }
1877
+ },
1878
+ "required": [
1879
+ "kind",
1880
+ "actorGuid",
1881
+ "lastKnownActorPath"
1882
+ ],
1883
+ "additionalProperties": false
1884
+ }
1885
+ ]
1886
+ },
1887
+ "status": {
1888
+ "type": "string",
1889
+ "enum": [
1890
+ "resolved",
1891
+ "missing_or_unloaded",
1892
+ "ambiguous",
1893
+ "unsupported"
1894
+ ]
1895
+ },
1896
+ "actorPath": {
1897
+ "type": "string"
1898
+ },
1899
+ "message": {
1900
+ "type": "string"
1901
+ }
1902
+ },
1903
+ "required": ["locator", "status", "actorPath", "message"],
1904
+ "additionalProperties": false
1905
+ }
1906
+ },
1907
+ "editorPreviews": {
1908
+ "type": "object",
1909
+ "properties": {
1910
+ "revealedChildActors": {
1911
+ "type": "integer",
1912
+ "allOf": [
1913
+ {
1914
+ "minimum": 0,
1915
+ "maximum": 1000000
1916
+ }
1917
+ ]
1918
+ }
1919
+ },
1920
+ "required": ["revealedChildActors"],
1921
+ "additionalProperties": false
1922
+ },
1923
+ "editorState": {
1924
+ "type": "object",
1925
+ "properties": {
1926
+ "mapPackageDirtyBefore": {
1927
+ "type": "boolean"
1928
+ },
1929
+ "mapPackageDirtyAfter": {
1930
+ "type": "boolean"
1931
+ }
1932
+ },
1933
+ "required": ["mapPackageDirtyBefore", "mapPackageDirtyAfter"],
1934
+ "additionalProperties": false
1935
+ },
1936
+ "camera": {
1937
+ "type": "object",
1938
+ "properties": {
1939
+ "location": {
1940
+ "type": "object",
1941
+ "properties": {
1942
+ "x": {
1943
+ "type": "number"
1944
+ },
1945
+ "y": {
1946
+ "type": "number"
1947
+ },
1948
+ "z": {
1949
+ "type": "number"
1950
+ }
1951
+ },
1952
+ "required": ["x", "y", "z"],
1953
+ "additionalProperties": false
1954
+ },
1955
+ "rotation": {
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "pitch": {
1959
+ "type": "number"
1960
+ },
1961
+ "roll": {
1962
+ "type": "number"
1963
+ },
1964
+ "yaw": {
1965
+ "type": "number"
1966
+ }
1967
+ },
1968
+ "required": ["pitch", "roll", "yaw"],
1969
+ "additionalProperties": false
1970
+ },
1971
+ "projection": {
1972
+ "anyOf": [
1973
+ {
1974
+ "type": "object",
1975
+ "properties": {
1976
+ "kind": {
1977
+ "type": "string",
1978
+ "enum": ["perspective"]
1979
+ },
1980
+ "horizontalFieldOfView": {
1981
+ "type": "number",
1982
+ "allOf": [
1983
+ {
1984
+ "minimum": 5,
1985
+ "maximum": 170
1986
+ }
1987
+ ]
1988
+ }
1989
+ },
1990
+ "required": ["kind", "horizontalFieldOfView"],
1991
+ "additionalProperties": false
1992
+ },
1993
+ {
1994
+ "type": "object",
1995
+ "properties": {
1996
+ "kind": {
1997
+ "type": "string",
1998
+ "enum": ["orthographic"]
1999
+ },
2000
+ "width": {
2001
+ "type": "number",
2002
+ "allOf": [
2003
+ {
2004
+ "exclusiveMinimum": 0
2005
+ },
2006
+ {
2007
+ "maximum": 1000000000
2008
+ }
2009
+ ]
2010
+ }
2011
+ },
2012
+ "required": ["kind", "width"],
2013
+ "additionalProperties": false
2014
+ }
2015
+ ]
2016
+ }
2017
+ },
2018
+ "required": ["location", "rotation", "projection"],
2019
+ "additionalProperties": false
2020
+ },
2021
+ "size": {
2022
+ "type": "object",
2023
+ "properties": {
2024
+ "width": {
2025
+ "type": "integer",
2026
+ "allOf": [
2027
+ {
2028
+ "minimum": 16,
2029
+ "maximum": 16384
2030
+ }
2031
+ ]
2032
+ },
2033
+ "height": {
2034
+ "type": "integer",
2035
+ "allOf": [
2036
+ {
2037
+ "minimum": 16,
2038
+ "maximum": 16384
2039
+ }
2040
+ ]
2041
+ }
2042
+ },
2043
+ "required": ["width", "height"],
2044
+ "additionalProperties": false
2045
+ },
2046
+ "policy": {
2047
+ "type": "object",
2048
+ "properties": {
2049
+ "visibility": {
2050
+ "type": "object",
2051
+ "properties": {
2052
+ "hide": {
2053
+ "type": "array",
2054
+ "items": {
2055
+ "type": "object",
2056
+ "properties": {
2057
+ "locator": {
2058
+ "anyOf": [
2059
+ {
2060
+ "type": "object",
2061
+ "properties": {
2062
+ "kind": {
2063
+ "type": "string",
2064
+ "enum": ["actor_path"]
2065
+ },
2066
+ "actorPath": {
2067
+ "type": "string",
2068
+ "allOf": [
2069
+ {
2070
+ "pattern": "^\\/Game\\/"
2071
+ },
2072
+ {
2073
+ "maxLength": 4096
2074
+ }
2075
+ ]
2076
+ }
2077
+ },
2078
+ "required": ["kind", "actorPath"],
2079
+ "additionalProperties": false
2080
+ },
2081
+ {
2082
+ "type": "object",
2083
+ "properties": {
2084
+ "kind": {
2085
+ "type": "string",
2086
+ "enum": ["actor_guid"]
2087
+ },
2088
+ "actorGuid": {
2089
+ "type": "string",
2090
+ "allOf": [
2091
+ {
2092
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
2093
+ }
2094
+ ]
2095
+ },
2096
+ "lastKnownActorPath": {
2097
+ "type": "string",
2098
+ "allOf": [
2099
+ {
2100
+ "maxLength": 4096
2101
+ }
2102
+ ]
2103
+ }
2104
+ },
2105
+ "required": [
2106
+ "kind",
2107
+ "actorGuid",
2108
+ "lastKnownActorPath"
2109
+ ],
2110
+ "additionalProperties": false
2111
+ }
2112
+ ]
2113
+ },
2114
+ "label": {
2115
+ "type": "string",
2116
+ "allOf": [
2117
+ {
2118
+ "maxLength": 256
2119
+ }
2120
+ ]
2121
+ }
2122
+ },
2123
+ "required": ["locator", "label"],
2124
+ "additionalProperties": false
2125
+ },
2126
+ "allOf": [
2127
+ {
2128
+ "maxItems": 256
2129
+ }
2130
+ ]
2131
+ },
2132
+ "protect": {
2133
+ "type": "array",
2134
+ "items": {
2135
+ "type": "object",
2136
+ "properties": {
2137
+ "locator": {
2138
+ "anyOf": [
2139
+ {
2140
+ "type": "object",
2141
+ "properties": {
2142
+ "kind": {
2143
+ "type": "string",
2144
+ "enum": ["actor_path"]
2145
+ },
2146
+ "actorPath": {
2147
+ "type": "string",
2148
+ "allOf": [
2149
+ {
2150
+ "pattern": "^\\/Game\\/"
2151
+ },
2152
+ {
2153
+ "maxLength": 4096
2154
+ }
2155
+ ]
2156
+ }
2157
+ },
2158
+ "required": ["kind", "actorPath"],
2159
+ "additionalProperties": false
2160
+ },
2161
+ {
2162
+ "type": "object",
2163
+ "properties": {
2164
+ "kind": {
2165
+ "type": "string",
2166
+ "enum": ["actor_guid"]
2167
+ },
2168
+ "actorGuid": {
2169
+ "type": "string",
2170
+ "allOf": [
2171
+ {
2172
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
2173
+ }
2174
+ ]
2175
+ },
2176
+ "lastKnownActorPath": {
2177
+ "type": "string",
2178
+ "allOf": [
2179
+ {
2180
+ "maxLength": 4096
2181
+ }
2182
+ ]
2183
+ }
2184
+ },
2185
+ "required": [
2186
+ "kind",
2187
+ "actorGuid",
2188
+ "lastKnownActorPath"
2189
+ ],
2190
+ "additionalProperties": false
2191
+ }
2192
+ ]
2193
+ },
2194
+ "label": {
2195
+ "type": "string",
2196
+ "allOf": [
2197
+ {
2198
+ "maxLength": 256
2199
+ }
2200
+ ]
2201
+ }
2202
+ },
2203
+ "required": ["locator", "label"],
2204
+ "additionalProperties": false
2205
+ },
2206
+ "allOf": [
2207
+ {
2208
+ "maxItems": 256
2209
+ }
2210
+ ]
2211
+ }
2212
+ },
2213
+ "required": ["hide", "protect"],
2214
+ "additionalProperties": false
2215
+ },
2216
+ "renderer": {
2217
+ "anyOf": [
2218
+ {
2219
+ "type": "object",
2220
+ "properties": {
2221
+ "kind": {
2222
+ "type": "string",
2223
+ "enum": ["editor_viewport"]
2224
+ },
2225
+ "strategy": {
2226
+ "type": "string",
2227
+ "enum": ["high_resolution_screenshot"]
2228
+ },
2229
+ "profile": {
2230
+ "type": "string",
2231
+ "enum": ["lit", "observation"]
2232
+ },
2233
+ "vignette": {
2234
+ "type": "string",
2235
+ "enum": ["project", "disabled"]
2236
+ },
2237
+ "fog": {
2238
+ "type": "boolean"
2239
+ },
2240
+ "volumetricFog": {
2241
+ "type": "boolean"
2242
+ },
2243
+ "editorPreviews": {
2244
+ "type": "boolean"
2245
+ }
2246
+ },
2247
+ "required": [
2248
+ "kind",
2249
+ "strategy",
2250
+ "profile",
2251
+ "vignette",
2252
+ "fog",
2253
+ "volumetricFog"
2254
+ ],
2255
+ "additionalProperties": false
2256
+ },
2257
+ {
2258
+ "type": "object",
2259
+ "properties": {
2260
+ "kind": {
2261
+ "type": "string",
2262
+ "enum": ["scene_capture"]
2263
+ },
2264
+ "profile": {
2265
+ "type": "string",
2266
+ "enum": [
2267
+ "full_fidelity",
2268
+ "seam_stable",
2269
+ "scene_capture_defaults",
2270
+ "observation"
2271
+ ]
2272
+ },
2273
+ "lodDistanceScale": {
2274
+ "type": "number",
2275
+ "allOf": [
2276
+ {
2277
+ "minimum": 0.1,
2278
+ "maximum": 100
2279
+ }
2280
+ ]
2281
+ },
2282
+ "fog": {
2283
+ "type": "boolean"
2284
+ },
2285
+ "volumetricFog": {
2286
+ "type": "boolean"
2287
+ },
2288
+ "editorPreviews": {
2289
+ "type": "boolean"
2290
+ }
2291
+ },
2292
+ "required": [
2293
+ "kind",
2294
+ "profile",
2295
+ "lodDistanceScale",
2296
+ "fog",
2297
+ "volumetricFog"
2298
+ ],
2299
+ "additionalProperties": false
2300
+ }
2301
+ ]
2302
+ },
2303
+ "exposure": {
2304
+ "anyOf": [
2305
+ {
2306
+ "type": "object",
2307
+ "properties": {
2308
+ "mode": {
2309
+ "type": "string",
2310
+ "enum": ["project_auto"]
2311
+ }
2312
+ },
2313
+ "required": ["mode"],
2314
+ "additionalProperties": false
2315
+ },
2316
+ {
2317
+ "type": "object",
2318
+ "properties": {
2319
+ "mode": {
2320
+ "type": "string",
2321
+ "enum": ["fixed_ev100"]
2322
+ },
2323
+ "ev100": {
2324
+ "type": "number",
2325
+ "allOf": [
2326
+ {
2327
+ "minimum": -20,
2328
+ "maximum": 30
2329
+ }
2330
+ ]
2331
+ },
2332
+ "compensation": {
2333
+ "type": "string",
2334
+ "enum": ["project"]
2335
+ }
2336
+ },
2337
+ "required": ["mode", "ev100", "compensation"],
2338
+ "additionalProperties": false
2339
+ },
2340
+ {
2341
+ "type": "object",
2342
+ "properties": {
2343
+ "mode": {
2344
+ "type": "string",
2345
+ "enum": ["meter_once"]
2346
+ },
2347
+ "referenceCamera": {
2348
+ "type": "object",
2349
+ "properties": {
2350
+ "location": {
2351
+ "type": "object",
2352
+ "properties": {
2353
+ "x": {
2354
+ "type": "number"
2355
+ },
2356
+ "y": {
2357
+ "type": "number"
2358
+ },
2359
+ "z": {
2360
+ "type": "number"
2361
+ }
2362
+ },
2363
+ "required": ["x", "y", "z"],
2364
+ "additionalProperties": false
2365
+ },
2366
+ "rotation": {
2367
+ "type": "object",
2368
+ "properties": {
2369
+ "pitch": {
2370
+ "type": "number"
2371
+ },
2372
+ "roll": {
2373
+ "type": "number"
2374
+ },
2375
+ "yaw": {
2376
+ "type": "number"
2377
+ }
2378
+ },
2379
+ "required": ["pitch", "roll", "yaw"],
2380
+ "additionalProperties": false
2381
+ },
2382
+ "projection": {
2383
+ "anyOf": [
2384
+ {
2385
+ "type": "object",
2386
+ "properties": {
2387
+ "kind": {
2388
+ "type": "string",
2389
+ "enum": ["perspective"]
2390
+ },
2391
+ "horizontalFieldOfView": {
2392
+ "type": "number",
2393
+ "allOf": [
2394
+ {
2395
+ "minimum": 5,
2396
+ "maximum": 170
2397
+ }
2398
+ ]
2399
+ }
2400
+ },
2401
+ "required": [
2402
+ "kind",
2403
+ "horizontalFieldOfView"
2404
+ ],
2405
+ "additionalProperties": false
2406
+ },
2407
+ {
2408
+ "type": "object",
2409
+ "properties": {
2410
+ "kind": {
2411
+ "type": "string",
2412
+ "enum": ["orthographic"]
2413
+ },
2414
+ "width": {
2415
+ "type": "number",
2416
+ "allOf": [
2417
+ {
2418
+ "exclusiveMinimum": 0
2419
+ },
2420
+ {
2421
+ "maximum": 1000000000
2422
+ }
2423
+ ]
2424
+ }
2425
+ },
2426
+ "required": ["kind", "width"],
2427
+ "additionalProperties": false
2428
+ }
2429
+ ]
2430
+ }
2431
+ },
2432
+ "required": [
2433
+ "location",
2434
+ "rotation",
2435
+ "projection"
2436
+ ],
2437
+ "additionalProperties": false
2438
+ },
2439
+ "referenceSize": {
2440
+ "type": "object",
2441
+ "properties": {
2442
+ "width": {
2443
+ "type": "integer",
2444
+ "allOf": [
2445
+ {
2446
+ "minimum": 16,
2447
+ "maximum": 16384
2448
+ }
2449
+ ]
2450
+ },
2451
+ "height": {
2452
+ "type": "integer",
2453
+ "allOf": [
2454
+ {
2455
+ "minimum": 16,
2456
+ "maximum": 16384
2457
+ }
2458
+ ]
2459
+ }
2460
+ },
2461
+ "required": ["width", "height"],
2462
+ "additionalProperties": false
2463
+ },
2464
+ "minimumFrames": {
2465
+ "type": "integer",
2466
+ "allOf": [
2467
+ {
2468
+ "minimum": 1,
2469
+ "maximum": 4096
2470
+ }
2471
+ ]
2472
+ }
2473
+ },
2474
+ "required": [
2475
+ "mode",
2476
+ "referenceCamera",
2477
+ "referenceSize",
2478
+ "minimumFrames"
2479
+ ],
2480
+ "additionalProperties": false
2481
+ }
2482
+ ]
2483
+ },
2484
+ "settling": {
2485
+ "type": "object",
2486
+ "properties": {
2487
+ "minimumFrames": {
2488
+ "type": "integer",
2489
+ "allOf": [
2490
+ {
2491
+ "minimum": 1,
2492
+ "maximum": 4096
2493
+ }
2494
+ ]
2495
+ },
2496
+ "timeoutMs": {
2497
+ "type": "integer",
2498
+ "allOf": [
2499
+ {
2500
+ "minimum": 1000,
2501
+ "maximum": 900000
2502
+ }
2503
+ ]
2504
+ },
2505
+ "initialView": {
2506
+ "type": "object",
2507
+ "properties": {
2508
+ "camera": {
2509
+ "type": "object",
2510
+ "properties": {
2511
+ "location": {
2512
+ "type": "object",
2513
+ "properties": {
2514
+ "x": {
2515
+ "type": "number"
2516
+ },
2517
+ "y": {
2518
+ "type": "number"
2519
+ },
2520
+ "z": {
2521
+ "type": "number"
2522
+ }
2523
+ },
2524
+ "required": ["x", "y", "z"],
2525
+ "additionalProperties": false
2526
+ },
2527
+ "rotation": {
2528
+ "type": "object",
2529
+ "properties": {
2530
+ "pitch": {
2531
+ "type": "number"
2532
+ },
2533
+ "roll": {
2534
+ "type": "number"
2535
+ },
2536
+ "yaw": {
2537
+ "type": "number"
2538
+ }
2539
+ },
2540
+ "required": ["pitch", "roll", "yaw"],
2541
+ "additionalProperties": false
2542
+ },
2543
+ "projection": {
2544
+ "anyOf": [
2545
+ {
2546
+ "type": "object",
2547
+ "properties": {
2548
+ "kind": {
2549
+ "type": "string",
2550
+ "enum": ["perspective"]
2551
+ },
2552
+ "horizontalFieldOfView": {
2553
+ "type": "number",
2554
+ "allOf": [
2555
+ {
2556
+ "minimum": 5,
2557
+ "maximum": 170
2558
+ }
2559
+ ]
2560
+ }
2561
+ },
2562
+ "required": [
2563
+ "kind",
2564
+ "horizontalFieldOfView"
2565
+ ],
2566
+ "additionalProperties": false
2567
+ },
2568
+ {
2569
+ "type": "object",
2570
+ "properties": {
2571
+ "kind": {
2572
+ "type": "string",
2573
+ "enum": ["orthographic"]
2574
+ },
2575
+ "width": {
2576
+ "type": "number",
2577
+ "allOf": [
2578
+ {
2579
+ "exclusiveMinimum": 0
2580
+ },
2581
+ {
2582
+ "maximum": 1000000000
2583
+ }
2584
+ ]
2585
+ }
2586
+ },
2587
+ "required": ["kind", "width"],
2588
+ "additionalProperties": false
2589
+ }
2590
+ ]
2591
+ }
2592
+ },
2593
+ "required": [
2594
+ "location",
2595
+ "rotation",
2596
+ "projection"
2597
+ ],
2598
+ "additionalProperties": false
2599
+ },
2600
+ "size": {
2601
+ "type": "object",
2602
+ "properties": {
2603
+ "width": {
2604
+ "type": "integer",
2605
+ "allOf": [
2606
+ {
2607
+ "minimum": 16,
2608
+ "maximum": 16384
2609
+ }
2610
+ ]
2611
+ },
2612
+ "height": {
2613
+ "type": "integer",
2614
+ "allOf": [
2615
+ {
2616
+ "minimum": 16,
2617
+ "maximum": 16384
2618
+ }
2619
+ ]
2620
+ }
2621
+ },
2622
+ "required": ["width", "height"],
2623
+ "additionalProperties": false
2624
+ },
2625
+ "minimumFrames": {
2626
+ "type": "integer",
2627
+ "allOf": [
2628
+ {
2629
+ "minimum": 1,
2630
+ "maximum": 4096
2631
+ }
2632
+ ]
2633
+ }
2634
+ },
2635
+ "required": ["camera", "size", "minimumFrames"],
2636
+ "additionalProperties": false
2637
+ }
2638
+ },
2639
+ "required": ["minimumFrames", "timeoutMs"],
2640
+ "additionalProperties": false
2641
+ },
2642
+ "time": {
2643
+ "type": "string",
2644
+ "enum": ["live_editor", "freeze_materials_and_ticks"]
2645
+ },
2646
+ "preparation": {
2647
+ "type": "object",
2648
+ "properties": {
2649
+ "geometry": {
2650
+ "anyOf": [
2651
+ {
2652
+ "type": "object",
2653
+ "properties": {
2654
+ "mode": {
2655
+ "type": "string",
2656
+ "enum": ["preserve_loading"]
2657
+ }
2658
+ },
2659
+ "required": ["mode"],
2660
+ "additionalProperties": false
2661
+ },
2662
+ {
2663
+ "type": "object",
2664
+ "properties": {
2665
+ "mode": {
2666
+ "type": "string",
2667
+ "enum": ["camera_regions"]
2668
+ },
2669
+ "maximumRegions": {
2670
+ "type": "integer",
2671
+ "allOf": [
2672
+ {
2673
+ "minimum": 1,
2674
+ "maximum": 64
2675
+ }
2676
+ ]
2677
+ },
2678
+ "extent": {
2679
+ "type": "object",
2680
+ "properties": {
2681
+ "x": {
2682
+ "type": "number",
2683
+ "allOf": [
2684
+ {
2685
+ "minimum": 0,
2686
+ "maximum": 10000000
2687
+ }
2688
+ ]
2689
+ },
2690
+ "y": {
2691
+ "type": "number",
2692
+ "allOf": [
2693
+ {
2694
+ "minimum": 0,
2695
+ "maximum": 10000000
2696
+ }
2697
+ ]
2698
+ },
2699
+ "z": {
2700
+ "type": "number",
2701
+ "allOf": [
2702
+ {
2703
+ "minimum": 0,
2704
+ "maximum": 10000000
2705
+ }
2706
+ ]
2707
+ }
2708
+ },
2709
+ "required": ["x", "y", "z"],
2710
+ "additionalProperties": false
2711
+ }
2712
+ },
2713
+ "required": [
2714
+ "mode",
2715
+ "maximumRegions",
2716
+ "extent"
2717
+ ],
2718
+ "additionalProperties": false
2719
+ }
2720
+ ]
2721
+ },
2722
+ "dataLayers": {
2723
+ "type": "array",
2724
+ "items": {
2725
+ "type": "object",
2726
+ "properties": {
2727
+ "assetPath": {
2728
+ "type": "string",
2729
+ "allOf": [
2730
+ {
2731
+ "pattern": "^\\/[A-Za-z0-9_./-]+$"
2732
+ },
2733
+ {
2734
+ "maxLength": 1024
2735
+ }
2736
+ ]
2737
+ },
2738
+ "loaded": {
2739
+ "type": "boolean"
2740
+ },
2741
+ "visible": {
2742
+ "type": "boolean"
2743
+ }
2744
+ },
2745
+ "required": ["assetPath", "loaded", "visible"],
2746
+ "additionalProperties": false
2747
+ },
2748
+ "allOf": [
2749
+ {
2750
+ "maxItems": 64
2751
+ }
2752
+ ]
2753
+ }
2754
+ },
2755
+ "required": ["geometry", "dataLayers"],
2756
+ "additionalProperties": false
2757
+ }
2758
+ },
2759
+ "required": ["renderer", "exposure", "settling", "time", "preparation"],
2760
+ "additionalProperties": false
2761
+ },
2762
+ "exposureEV100": {
2763
+ "anyOf": [
2764
+ {
2765
+ "type": "number"
2766
+ },
2767
+ {
2768
+ "type": "null"
2769
+ }
2770
+ ]
2771
+ },
2772
+ "preparation": {
2773
+ "type": "object",
2774
+ "properties": {
2775
+ "status": {
2776
+ "type": "string",
2777
+ "enum": ["preserved", "ready", "partial"]
2778
+ },
2779
+ "regionsHeld": {
2780
+ "type": "integer",
2781
+ "allOf": [
2782
+ {
2783
+ "minimum": 0,
2784
+ "maximum": 64
2785
+ }
2786
+ ]
2787
+ },
2788
+ "dataLayersApplied": {
2789
+ "type": "integer",
2790
+ "allOf": [
2791
+ {
2792
+ "minimum": 0,
2793
+ "maximum": 64
2794
+ }
2795
+ ]
2796
+ },
2797
+ "limitations": {
2798
+ "type": "array",
2799
+ "items": {
2800
+ "type": "string",
2801
+ "allOf": [
2802
+ {
2803
+ "minLength": 1
2804
+ },
2805
+ {
2806
+ "maxLength": 1024
2807
+ }
2808
+ ]
2809
+ }
2810
+ }
2811
+ },
2812
+ "required": [
2813
+ "status",
2814
+ "regionsHeld",
2815
+ "dataLayersApplied",
2816
+ "limitations"
2817
+ ],
2818
+ "additionalProperties": false
2819
+ },
2820
+ "settling": {
2821
+ "type": "object",
2822
+ "properties": {
2823
+ "renderedFrames": {
2824
+ "type": "integer",
2825
+ "allOf": [
2826
+ {
2827
+ "minimum": 0,
2828
+ "maximum": 1000000
2829
+ }
2830
+ ]
2831
+ },
2832
+ "elapsedMs": {
2833
+ "type": "number",
2834
+ "allOf": [
2835
+ {
2836
+ "minimum": 0
2837
+ }
2838
+ ]
2839
+ },
2840
+ "convergence": {
2841
+ "type": "string",
2842
+ "enum": ["not_assessed"]
2843
+ }
2844
+ },
2845
+ "required": ["renderedFrames", "elapsedMs", "convergence"],
2846
+ "additionalProperties": false
2847
+ },
2848
+ "engineVersion": {
2849
+ "type": "string",
2850
+ "allOf": [
2851
+ {
2852
+ "minLength": 1
2853
+ },
2854
+ {
2855
+ "maxLength": 1024
2856
+ }
2857
+ ]
2858
+ },
2859
+ "pluginVersion": {
2860
+ "type": "string",
2861
+ "allOf": [
2862
+ {
2863
+ "minLength": 1
2864
+ },
2865
+ {
2866
+ "maxLength": 1024
2867
+ }
2868
+ ]
2869
+ }
2870
+ },
2871
+ "required": [
2872
+ "editorState",
2873
+ "camera",
2874
+ "size",
2875
+ "policy",
2876
+ "exposureEV100",
2877
+ "preparation",
2878
+ "settling",
2879
+ "engineVersion",
2880
+ "pluginVersion"
2881
+ ],
2882
+ "additionalProperties": false
2883
+ },
2884
+ "captureDurationMs": {
2885
+ "type": "number",
2886
+ "allOf": [
2887
+ {
2888
+ "minimum": 0
2889
+ }
2890
+ ]
2891
+ },
2892
+ "clearCompanion": {
2893
+ "anyOf": [
2894
+ {
2895
+ "type": "object",
2896
+ "properties": {
2897
+ "status": {
2898
+ "type": "string",
2899
+ "enum": ["not_requested"]
2900
+ }
2901
+ },
2902
+ "required": ["status"],
2903
+ "additionalProperties": false
2904
+ },
2905
+ {
2906
+ "type": "object",
2907
+ "properties": {
2908
+ "interventions": {
2909
+ "type": "array",
2910
+ "items": {
2911
+ "anyOf": [
2912
+ {
2913
+ "type": "object",
2914
+ "properties": {
2915
+ "subject": {
2916
+ "type": "object",
2917
+ "properties": {
2918
+ "actorPath": {
2919
+ "type": "string",
2920
+ "allOf": [
2921
+ {
2922
+ "minLength": 7
2923
+ },
2924
+ {
2925
+ "maxLength": 4096
2926
+ },
2927
+ {
2928
+ "pattern": "^\\/Game\\/"
2929
+ }
2930
+ ]
2931
+ },
2932
+ "diagnosticLabel": {
2933
+ "anyOf": [
2934
+ {
2935
+ "type": "string",
2936
+ "allOf": [
2937
+ {
2938
+ "minLength": 1
2939
+ }
2940
+ ]
2941
+ },
2942
+ {
2943
+ "type": "null"
2944
+ }
2945
+ ]
2946
+ },
2947
+ "kind": {
2948
+ "type": "string",
2949
+ "enum": ["actor_path"]
2950
+ }
2951
+ },
2952
+ "required": ["actorPath", "kind"],
2953
+ "additionalProperties": false
2954
+ },
2955
+ "type": {
2956
+ "type": "string",
2957
+ "enum": ["show_only_subject_components"]
2958
+ }
2959
+ },
2960
+ "required": ["subject", "type"],
2961
+ "additionalProperties": false
2962
+ },
2963
+ {
2964
+ "type": "object",
2965
+ "properties": {
2966
+ "target": {
2967
+ "type": "object",
2968
+ "properties": {
2969
+ "actorPath": {
2970
+ "type": "string",
2971
+ "allOf": [
2972
+ {
2973
+ "minLength": 7
2974
+ },
2975
+ {
2976
+ "maxLength": 4096
2977
+ },
2978
+ {
2979
+ "pattern": "^\\/Game\\/"
2980
+ }
2981
+ ]
2982
+ },
2983
+ "diagnosticLabel": {
2984
+ "anyOf": [
2985
+ {
2986
+ "type": "string",
2987
+ "allOf": [
2988
+ {
2989
+ "minLength": 1
2990
+ }
2991
+ ]
2992
+ },
2993
+ {
2994
+ "type": "null"
2995
+ }
2996
+ ]
2997
+ },
2998
+ "kind": {
2999
+ "type": "string",
3000
+ "enum": ["actor_path"]
3001
+ }
3002
+ },
3003
+ "required": ["actorPath", "kind"],
3004
+ "additionalProperties": false
3005
+ },
3006
+ "type": {
3007
+ "type": "string",
3008
+ "enum": ["hide_actor_components"]
3009
+ }
3010
+ },
3011
+ "required": ["target", "type"],
3012
+ "additionalProperties": false
3013
+ }
3014
+ ]
3015
+ },
3016
+ "allOf": [
3017
+ {
3018
+ "minItems": 1
3019
+ },
3020
+ {
3021
+ "maxItems": 32
3022
+ }
3023
+ ]
3024
+ },
3025
+ "restoration": {
3026
+ "type": "object",
3027
+ "properties": {
3028
+ "method": {
3029
+ "type": "string",
3030
+ "enum": ["transient_capture_component_lists"]
3031
+ },
3032
+ "status": {
3033
+ "type": "string",
3034
+ "enum": ["restored"]
3035
+ }
3036
+ },
3037
+ "required": ["method", "status"],
3038
+ "additionalProperties": false
3039
+ },
3040
+ "status": {
3041
+ "type": "string",
3042
+ "enum": ["captured"]
3043
+ },
3044
+ "strategy": {
3045
+ "type": "string",
3046
+ "enum": ["isolate_target", "hide_explicit"]
3047
+ }
3048
+ },
3049
+ "required": ["interventions", "restoration", "status", "strategy"],
3050
+ "additionalProperties": false
3051
+ },
3052
+ {
3053
+ "type": "object",
3054
+ "properties": {
3055
+ "failure": {
3056
+ "type": "object",
3057
+ "properties": {
3058
+ "code": {
3059
+ "type": "string",
3060
+ "allOf": [
3061
+ {
3062
+ "minLength": 1
3063
+ }
3064
+ ]
3065
+ },
3066
+ "message": {
3067
+ "type": "string",
3068
+ "allOf": [
3069
+ {
3070
+ "minLength": 1
3071
+ }
3072
+ ]
3073
+ },
3074
+ "recovery": {
3075
+ "type": "string",
3076
+ "allOf": [
3077
+ {
3078
+ "minLength": 1
3079
+ }
3080
+ ]
3081
+ },
3082
+ "retrySafe": {
3083
+ "type": "boolean"
3084
+ }
3085
+ },
3086
+ "required": ["code", "message", "recovery", "retrySafe"],
3087
+ "additionalProperties": false
3088
+ },
3089
+ "interventions": {
3090
+ "type": "array",
3091
+ "items": {
3092
+ "anyOf": [
3093
+ {
3094
+ "type": "object",
3095
+ "properties": {
3096
+ "subject": {
3097
+ "type": "object",
3098
+ "properties": {
3099
+ "actorPath": {
3100
+ "type": "string",
3101
+ "allOf": [
3102
+ {
3103
+ "minLength": 7
3104
+ },
3105
+ {
3106
+ "maxLength": 4096
3107
+ },
3108
+ {
3109
+ "pattern": "^\\/Game\\/"
3110
+ }
3111
+ ]
3112
+ },
3113
+ "diagnosticLabel": {
3114
+ "anyOf": [
3115
+ {
3116
+ "type": "string",
3117
+ "allOf": [
3118
+ {
3119
+ "minLength": 1
3120
+ }
3121
+ ]
3122
+ },
3123
+ {
3124
+ "type": "null"
3125
+ }
3126
+ ]
3127
+ },
3128
+ "kind": {
3129
+ "type": "string",
3130
+ "enum": ["actor_path"]
3131
+ }
3132
+ },
3133
+ "required": ["actorPath", "kind"],
3134
+ "additionalProperties": false
3135
+ },
3136
+ "type": {
3137
+ "type": "string",
3138
+ "enum": ["show_only_subject_components"]
3139
+ }
3140
+ },
3141
+ "required": ["subject", "type"],
3142
+ "additionalProperties": false
3143
+ },
3144
+ {
3145
+ "type": "object",
3146
+ "properties": {
3147
+ "target": {
3148
+ "type": "object",
3149
+ "properties": {
3150
+ "actorPath": {
3151
+ "type": "string",
3152
+ "allOf": [
3153
+ {
3154
+ "minLength": 7
3155
+ },
3156
+ {
3157
+ "maxLength": 4096
3158
+ },
3159
+ {
3160
+ "pattern": "^\\/Game\\/"
3161
+ }
3162
+ ]
3163
+ },
3164
+ "diagnosticLabel": {
3165
+ "anyOf": [
3166
+ {
3167
+ "type": "string",
3168
+ "allOf": [
3169
+ {
3170
+ "minLength": 1
3171
+ }
3172
+ ]
3173
+ },
3174
+ {
3175
+ "type": "null"
3176
+ }
3177
+ ]
3178
+ },
3179
+ "kind": {
3180
+ "type": "string",
3181
+ "enum": ["actor_path"]
3182
+ }
3183
+ },
3184
+ "required": ["actorPath", "kind"],
3185
+ "additionalProperties": false
3186
+ },
3187
+ "type": {
3188
+ "type": "string",
3189
+ "enum": ["hide_actor_components"]
3190
+ }
3191
+ },
3192
+ "required": ["target", "type"],
3193
+ "additionalProperties": false
3194
+ }
3195
+ ]
3196
+ },
3197
+ "allOf": [
3198
+ {
3199
+ "maxItems": 32
3200
+ }
3201
+ ]
3202
+ },
3203
+ "restoration": {
3204
+ "anyOf": [
3205
+ {
3206
+ "type": "object",
3207
+ "properties": {
3208
+ "method": {
3209
+ "type": "string",
3210
+ "enum": ["transient_capture_component_lists"]
3211
+ },
3212
+ "status": {
3213
+ "type": "string",
3214
+ "enum": ["restored"]
3215
+ }
3216
+ },
3217
+ "required": ["method", "status"],
3218
+ "additionalProperties": false
3219
+ },
3220
+ {
3221
+ "type": "object",
3222
+ "properties": {
3223
+ "code": {
3224
+ "type": "string",
3225
+ "allOf": [
3226
+ {
3227
+ "minLength": 1
3228
+ }
3229
+ ]
3230
+ },
3231
+ "message": {
3232
+ "type": "string",
3233
+ "allOf": [
3234
+ {
3235
+ "minLength": 1
3236
+ }
3237
+ ]
3238
+ },
3239
+ "recovery": {
3240
+ "type": "string",
3241
+ "allOf": [
3242
+ {
3243
+ "minLength": 1
3244
+ }
3245
+ ]
3246
+ },
3247
+ "status": {
3248
+ "type": "string",
3249
+ "enum": ["failed"]
3250
+ }
3251
+ },
3252
+ "required": ["code", "message", "recovery", "status"],
3253
+ "additionalProperties": false
3254
+ }
3255
+ ]
3256
+ },
3257
+ "status": {
3258
+ "type": "string",
3259
+ "enum": ["failed"]
3260
+ },
3261
+ "strategy": {
3262
+ "type": "string",
3263
+ "enum": ["isolate_target", "hide_explicit"]
3264
+ }
3265
+ },
3266
+ "required": [
3267
+ "failure",
3268
+ "interventions",
3269
+ "restoration",
3270
+ "status",
3271
+ "strategy"
3272
+ ],
3273
+ "additionalProperties": false
3274
+ }
3275
+ ]
3276
+ },
3277
+ "contract": {
3278
+ "type": "object",
3279
+ "properties": {
3280
+ "name": {
3281
+ "type": "string",
3282
+ "enum": ["ue-shed-review-capture"]
3283
+ },
3284
+ "version": {
3285
+ "type": "object",
3286
+ "properties": {
3287
+ "major": {
3288
+ "type": "number",
3289
+ "enum": [1]
3290
+ },
3291
+ "minor": {
3292
+ "const": 7
3293
+ }
3294
+ },
3295
+ "required": ["major", "minor"],
3296
+ "additionalProperties": false
3297
+ }
3298
+ },
3299
+ "required": ["name", "version"],
3300
+ "additionalProperties": false
3301
+ },
3302
+ "effectiveWorldPose": {
3303
+ "type": "object",
3304
+ "properties": {
3305
+ "aspectRatio": {
3306
+ "type": "string",
3307
+ "enum": ["16:9"]
3308
+ },
3309
+ "fieldOfViewDegrees": {
3310
+ "type": "number",
3311
+ "allOf": [
3312
+ {
3313
+ "minimum": 5,
3314
+ "maximum": 170
3315
+ }
3316
+ ]
3317
+ },
3318
+ "location": {
3319
+ "type": "object",
3320
+ "properties": {
3321
+ "x": {
3322
+ "type": "number"
3323
+ },
3324
+ "y": {
3325
+ "type": "number"
3326
+ },
3327
+ "z": {
3328
+ "type": "number"
3329
+ }
3330
+ },
3331
+ "required": ["x", "y", "z"],
3332
+ "additionalProperties": false
3333
+ },
3334
+ "projection": {
3335
+ "type": "string",
3336
+ "enum": ["perspective"]
3337
+ },
3338
+ "rotation": {
3339
+ "type": "object",
3340
+ "properties": {
3341
+ "pitch": {
3342
+ "type": "number"
3343
+ },
3344
+ "roll": {
3345
+ "type": "number"
3346
+ },
3347
+ "yaw": {
3348
+ "type": "number"
3349
+ }
3350
+ },
3351
+ "required": ["pitch", "roll", "yaw"],
3352
+ "additionalProperties": false
3353
+ }
3354
+ },
3355
+ "required": [
3356
+ "aspectRatio",
3357
+ "fieldOfViewDegrees",
3358
+ "location",
3359
+ "projection",
3360
+ "rotation"
3361
+ ],
3362
+ "additionalProperties": false
3363
+ },
3364
+ "height": {
3365
+ "type": "integer",
3366
+ "allOf": [
3367
+ {
3368
+ "exclusiveMinimum": 0
3369
+ }
3370
+ ]
3371
+ },
3372
+ "mapPackageDirtyAfter": {
3373
+ "type": "boolean"
3374
+ },
3375
+ "mapPackageDirtyBefore": {
3376
+ "type": "boolean"
3377
+ },
3378
+ "mapPath": {
3379
+ "type": "string",
3380
+ "allOf": [
3381
+ {
3382
+ "minLength": 1
3383
+ }
3384
+ ]
3385
+ },
3386
+ "operationId": {
3387
+ "type": "string",
3388
+ "allOf": [
3389
+ {
3390
+ "minLength": 1
3391
+ }
3392
+ ]
3393
+ },
3394
+ "resolvedSubject": {
3395
+ "anyOf": [
3396
+ {
3397
+ "type": "object",
3398
+ "properties": {
3399
+ "kind": {
3400
+ "type": "string",
3401
+ "enum": ["unresolved_actor"]
3402
+ },
3403
+ "subject": {
3404
+ "anyOf": [
3405
+ {
3406
+ "type": "object",
3407
+ "properties": {
3408
+ "actorGuid": {
3409
+ "type": "string",
3410
+ "allOf": [
3411
+ {
3412
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
3413
+ }
3414
+ ]
3415
+ },
3416
+ "diagnosticLabel": {
3417
+ "anyOf": [
3418
+ {
3419
+ "type": "string",
3420
+ "allOf": [
3421
+ {
3422
+ "minLength": 1
3423
+ }
3424
+ ]
3425
+ },
3426
+ {
3427
+ "type": "null"
3428
+ }
3429
+ ]
3430
+ },
3431
+ "kind": {
3432
+ "type": "string",
3433
+ "enum": ["actor_guid"]
3434
+ },
3435
+ "lastKnownActorPath": {
3436
+ "anyOf": [
3437
+ {
3438
+ "type": "string",
3439
+ "allOf": [
3440
+ {
3441
+ "minLength": 7
3442
+ },
3443
+ {
3444
+ "maxLength": 4096
3445
+ },
3446
+ {
3447
+ "pattern": "^\\/Game\\/"
3448
+ }
3449
+ ]
3450
+ },
3451
+ {
3452
+ "type": "null"
3453
+ }
3454
+ ]
3455
+ }
3456
+ },
3457
+ "required": ["actorGuid", "kind"],
3458
+ "additionalProperties": false
3459
+ },
3460
+ {
3461
+ "type": "object",
3462
+ "properties": {
3463
+ "actorPath": {
3464
+ "type": "string",
3465
+ "allOf": [
3466
+ {
3467
+ "minLength": 7
3468
+ },
3469
+ {
3470
+ "maxLength": 4096
3471
+ },
3472
+ {
3473
+ "pattern": "^\\/Game\\/"
3474
+ }
3475
+ ]
3476
+ },
3477
+ "diagnosticLabel": {
3478
+ "anyOf": [
3479
+ {
3480
+ "type": "string",
3481
+ "allOf": [
3482
+ {
3483
+ "minLength": 1
3484
+ }
3485
+ ]
3486
+ },
3487
+ {
3488
+ "type": "null"
3489
+ }
3490
+ ]
3491
+ },
3492
+ "kind": {
3493
+ "type": "string",
3494
+ "enum": ["actor_path"]
3495
+ }
3496
+ },
3497
+ "required": ["actorPath", "kind"],
3498
+ "additionalProperties": false
3499
+ }
3500
+ ]
3501
+ },
3502
+ "reason": {
3503
+ "type": "string",
3504
+ "allOf": [
3505
+ {
3506
+ "minLength": 1
3507
+ }
3508
+ ]
3509
+ }
3510
+ },
3511
+ "required": ["kind", "subject", "reason"],
3512
+ "additionalProperties": false
3513
+ },
3514
+ {
3515
+ "type": "object",
3516
+ "properties": {
3517
+ "actorGuid": {
3518
+ "type": "string",
3519
+ "allOf": [
3520
+ {
3521
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
3522
+ }
3523
+ ]
3524
+ },
3525
+ "actorPath": {
3526
+ "type": "string",
3527
+ "allOf": [
3528
+ {
3529
+ "minLength": 7
3530
+ },
3531
+ {
3532
+ "maxLength": 4096
3533
+ },
3534
+ {
3535
+ "pattern": "^\\/Game\\/"
3536
+ }
3537
+ ]
3538
+ },
3539
+ "kind": {
3540
+ "type": "string",
3541
+ "enum": ["actor_guid"]
3542
+ },
3543
+ "transform": {
3544
+ "type": "object",
3545
+ "properties": {
3546
+ "location": {
3547
+ "type": "object",
3548
+ "properties": {
3549
+ "x": {
3550
+ "type": "number"
3551
+ },
3552
+ "y": {
3553
+ "type": "number"
3554
+ },
3555
+ "z": {
3556
+ "type": "number"
3557
+ }
3558
+ },
3559
+ "required": ["x", "y", "z"],
3560
+ "additionalProperties": false
3561
+ },
3562
+ "rotation": {
3563
+ "type": "object",
3564
+ "properties": {
3565
+ "pitch": {
3566
+ "type": "number"
3567
+ },
3568
+ "roll": {
3569
+ "type": "number"
3570
+ },
3571
+ "yaw": {
3572
+ "type": "number"
3573
+ }
3574
+ },
3575
+ "required": ["pitch", "roll", "yaw"],
3576
+ "additionalProperties": false
3577
+ }
3578
+ },
3579
+ "required": ["location", "rotation"],
3580
+ "additionalProperties": false
3581
+ }
3582
+ },
3583
+ "required": ["actorGuid", "actorPath", "kind", "transform"],
3584
+ "additionalProperties": false
3585
+ },
3586
+ {
3587
+ "type": "object",
3588
+ "properties": {
3589
+ "actorPath": {
3590
+ "type": "string",
3591
+ "allOf": [
3592
+ {
3593
+ "minLength": 7
3594
+ },
3595
+ {
3596
+ "maxLength": 4096
3597
+ },
3598
+ {
3599
+ "pattern": "^\\/Game\\/"
3600
+ }
3601
+ ]
3602
+ },
3603
+ "kind": {
3604
+ "type": "string",
3605
+ "enum": ["actor_path"]
3606
+ },
3607
+ "transform": {
3608
+ "type": "object",
3609
+ "properties": {
3610
+ "location": {
3611
+ "type": "object",
3612
+ "properties": {
3613
+ "x": {
3614
+ "type": "number"
3615
+ },
3616
+ "y": {
3617
+ "type": "number"
3618
+ },
3619
+ "z": {
3620
+ "type": "number"
3621
+ }
3622
+ },
3623
+ "required": ["x", "y", "z"],
3624
+ "additionalProperties": false
3625
+ },
3626
+ "rotation": {
3627
+ "type": "object",
3628
+ "properties": {
3629
+ "pitch": {
3630
+ "type": "number"
3631
+ },
3632
+ "roll": {
3633
+ "type": "number"
3634
+ },
3635
+ "yaw": {
3636
+ "type": "number"
3637
+ }
3638
+ },
3639
+ "required": ["pitch", "roll", "yaw"],
3640
+ "additionalProperties": false
3641
+ }
3642
+ },
3643
+ "required": ["location", "rotation"],
3644
+ "additionalProperties": false
3645
+ }
3646
+ },
3647
+ "required": ["actorPath", "kind", "transform"],
3648
+ "additionalProperties": false
3649
+ },
3650
+ {
3651
+ "type": "object",
3652
+ "properties": {
3653
+ "bounds": {
3654
+ "type": "object",
3655
+ "properties": {
3656
+ "center": {
3657
+ "type": "object",
3658
+ "properties": {
3659
+ "x": {
3660
+ "type": "number"
3661
+ },
3662
+ "y": {
3663
+ "type": "number"
3664
+ },
3665
+ "z": {
3666
+ "type": "number"
3667
+ }
3668
+ },
3669
+ "required": ["x", "y", "z"],
3670
+ "additionalProperties": false
3671
+ },
3672
+ "extent": {
3673
+ "type": "object",
3674
+ "properties": {
3675
+ "x": {
3676
+ "type": "number",
3677
+ "allOf": [
3678
+ {
3679
+ "minimum": 0
3680
+ }
3681
+ ]
3682
+ },
3683
+ "y": {
3684
+ "type": "number",
3685
+ "allOf": [
3686
+ {
3687
+ "minimum": 0
3688
+ }
3689
+ ]
3690
+ },
3691
+ "z": {
3692
+ "type": "number",
3693
+ "allOf": [
3694
+ {
3695
+ "minimum": 0
3696
+ }
3697
+ ]
3698
+ }
3699
+ },
3700
+ "required": ["x", "y", "z"],
3701
+ "additionalProperties": false
3702
+ },
3703
+ "rotation": {
3704
+ "type": "object",
3705
+ "properties": {
3706
+ "pitch": {
3707
+ "type": "number"
3708
+ },
3709
+ "roll": {
3710
+ "type": "number"
3711
+ },
3712
+ "yaw": {
3713
+ "type": "number"
3714
+ }
3715
+ },
3716
+ "required": ["pitch", "roll", "yaw"],
3717
+ "additionalProperties": false
3718
+ }
3719
+ },
3720
+ "required": ["center", "extent", "rotation"],
3721
+ "additionalProperties": false
3722
+ },
3723
+ "kind": {
3724
+ "type": "string",
3725
+ "enum": ["oriented_bounds"]
3726
+ }
3727
+ },
3728
+ "required": ["bounds", "kind"],
3729
+ "additionalProperties": false
3730
+ }
3731
+ ]
3732
+ },
3733
+ "stagedArtifacts": {
3734
+ "type": "array",
3735
+ "items": {
3736
+ "type": "object",
3737
+ "properties": {
3738
+ "stagingPath": {
3739
+ "type": "string",
3740
+ "allOf": [
3741
+ {
3742
+ "minLength": 1
3743
+ }
3744
+ ]
3745
+ },
3746
+ "variant": {
3747
+ "type": "string",
3748
+ "enum": ["pure", "clear", "authored"]
3749
+ }
3750
+ },
3751
+ "required": ["stagingPath", "variant"],
3752
+ "additionalProperties": false
3753
+ },
3754
+ "allOf": [
3755
+ {
3756
+ "minItems": 1
3757
+ },
3758
+ {
3759
+ "maxItems": 2
3760
+ }
3761
+ ]
3762
+ },
3763
+ "status": {
3764
+ "type": "string",
3765
+ "enum": ["captured"]
3766
+ },
3767
+ "subjectProjection": {
3768
+ "anyOf": [
3769
+ {
3770
+ "type": "object",
3771
+ "properties": {
3772
+ "margins": {
3773
+ "type": "object",
3774
+ "properties": {
3775
+ "bottom": {
3776
+ "type": "number"
3777
+ },
3778
+ "left": {
3779
+ "type": "number"
3780
+ },
3781
+ "right": {
3782
+ "type": "number"
3783
+ },
3784
+ "top": {
3785
+ "type": "number"
3786
+ }
3787
+ },
3788
+ "required": ["bottom", "left", "right", "top"],
3789
+ "additionalProperties": false
3790
+ },
3791
+ "normalizedBounds": {
3792
+ "type": "object",
3793
+ "properties": {
3794
+ "maxX": {
3795
+ "type": "number"
3796
+ },
3797
+ "maxY": {
3798
+ "type": "number"
3799
+ },
3800
+ "minX": {
3801
+ "type": "number"
3802
+ },
3803
+ "minY": {
3804
+ "type": "number"
3805
+ }
3806
+ },
3807
+ "required": ["maxX", "maxY", "minX", "minY"],
3808
+ "additionalProperties": false
3809
+ },
3810
+ "status": {
3811
+ "type": "string",
3812
+ "enum": ["projected"]
3813
+ },
3814
+ "viewportStatus": {
3815
+ "type": "string",
3816
+ "enum": [
3817
+ "fully_within_viewport",
3818
+ "partially_outside_viewport",
3819
+ "fully_outside_viewport"
3820
+ ]
3821
+ }
3822
+ },
3823
+ "required": ["margins", "normalizedBounds", "status", "viewportStatus"],
3824
+ "additionalProperties": false
3825
+ },
3826
+ {
3827
+ "type": "object",
3828
+ "properties": {
3829
+ "code": {
3830
+ "type": "string",
3831
+ "enum": ["behind_camera", "near_plane_crossing"]
3832
+ },
3833
+ "message": {
3834
+ "type": "string",
3835
+ "allOf": [
3836
+ {
3837
+ "minLength": 1
3838
+ }
3839
+ ]
3840
+ },
3841
+ "status": {
3842
+ "type": "string",
3843
+ "enum": ["unprojectable"]
3844
+ }
3845
+ },
3846
+ "required": ["code", "message", "status"],
3847
+ "additionalProperties": false
3848
+ }
3849
+ ]
3850
+ },
3851
+ "viewId": {
3852
+ "type": "string",
3853
+ "allOf": [
3854
+ {
3855
+ "minLength": 1
3856
+ },
3857
+ {
3858
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
3859
+ }
3860
+ ]
3861
+ },
3862
+ "visibility": {
3863
+ "anyOf": [
3864
+ {
3865
+ "type": "object",
3866
+ "properties": {
3867
+ "limitations": {
3868
+ "anyOf": [
3869
+ {
3870
+ "type": "array",
3871
+ "items": {
3872
+ "type": "string",
3873
+ "allOf": [
3874
+ {
3875
+ "maxLength": 1024
3876
+ }
3877
+ ]
3878
+ },
3879
+ "allOf": [
3880
+ {
3881
+ "maxItems": 8
3882
+ }
3883
+ ]
3884
+ },
3885
+ {
3886
+ "type": "null"
3887
+ }
3888
+ ]
3889
+ },
3890
+ "reason": {
3891
+ "type": "string",
3892
+ "allOf": [
3893
+ {
3894
+ "minLength": 1
3895
+ }
3896
+ ]
3897
+ },
3898
+ "status": {
3899
+ "type": "string",
3900
+ "enum": ["not_assessed"]
3901
+ }
3902
+ },
3903
+ "required": ["reason", "status"],
3904
+ "additionalProperties": false
3905
+ },
3906
+ {
3907
+ "type": "object",
3908
+ "properties": {
3909
+ "assessmentDurationMs": {
3910
+ "type": "number",
3911
+ "allOf": [
3912
+ {
3913
+ "minimum": 0
3914
+ }
3915
+ ]
3916
+ },
3917
+ "limitations": {
3918
+ "type": "array",
3919
+ "items": {
3920
+ "type": "string",
3921
+ "allOf": [
3922
+ {
3923
+ "maxLength": 1024
3924
+ }
3925
+ ]
3926
+ },
3927
+ "allOf": [
3928
+ {
3929
+ "maxItems": 8
3930
+ }
3931
+ ]
3932
+ },
3933
+ "method": {
3934
+ "type": "object",
3935
+ "properties": {
3936
+ "method": {
3937
+ "type": "string",
3938
+ "enum": ["ray_samples", "subject_mask", "depth_compare"]
3939
+ },
3940
+ "version": {
3941
+ "type": "integer",
3942
+ "allOf": [
3943
+ {
3944
+ "exclusiveMinimum": 0
3945
+ }
3946
+ ]
3947
+ }
3948
+ },
3949
+ "required": ["method", "version"],
3950
+ "additionalProperties": false
3951
+ },
3952
+ "occluders": {
3953
+ "type": "array",
3954
+ "items": {
3955
+ "type": "object",
3956
+ "properties": {
3957
+ "confidence": {
3958
+ "type": "number",
3959
+ "allOf": [
3960
+ {
3961
+ "minimum": 0,
3962
+ "maximum": 1
3963
+ }
3964
+ ]
3965
+ },
3966
+ "locator": {
3967
+ "type": "object",
3968
+ "properties": {
3969
+ "actorPath": {
3970
+ "type": "string",
3971
+ "allOf": [
3972
+ {
3973
+ "minLength": 7
3974
+ },
3975
+ {
3976
+ "maxLength": 4096
3977
+ },
3978
+ {
3979
+ "pattern": "^\\/Game\\/"
3980
+ }
3981
+ ]
3982
+ },
3983
+ "diagnosticLabel": {
3984
+ "anyOf": [
3985
+ {
3986
+ "type": "string",
3987
+ "allOf": [
3988
+ {
3989
+ "minLength": 1
3990
+ }
3991
+ ]
3992
+ },
3993
+ {
3994
+ "type": "null"
3995
+ }
3996
+ ]
3997
+ },
3998
+ "kind": {
3999
+ "type": "string",
4000
+ "enum": ["actor_path"]
4001
+ }
4002
+ },
4003
+ "required": ["actorPath", "kind"],
4004
+ "additionalProperties": false
4005
+ },
4006
+ "reason": {
4007
+ "type": "string",
4008
+ "allOf": [
4009
+ {
4010
+ "maxLength": 1024
4011
+ }
4012
+ ]
4013
+ }
4014
+ },
4015
+ "required": ["confidence", "locator", "reason"],
4016
+ "additionalProperties": false
4017
+ },
4018
+ "allOf": [
4019
+ {
4020
+ "maxItems": 32
4021
+ }
4022
+ ]
4023
+ },
4024
+ "sampleCount": {
4025
+ "type": "integer",
4026
+ "allOf": [
4027
+ {
4028
+ "minimum": 0
4029
+ }
4030
+ ]
4031
+ },
4032
+ "status": {
4033
+ "type": "string",
4034
+ "enum": ["assessed"]
4035
+ },
4036
+ "visibleFraction": {
4037
+ "type": "number",
4038
+ "allOf": [
4039
+ {
4040
+ "minimum": 0,
4041
+ "maximum": 1
4042
+ }
4043
+ ]
4044
+ }
4045
+ },
4046
+ "required": [
4047
+ "assessmentDurationMs",
4048
+ "limitations",
4049
+ "method",
4050
+ "occluders",
4051
+ "sampleCount",
4052
+ "status",
4053
+ "visibleFraction"
4054
+ ],
4055
+ "additionalProperties": false
4056
+ },
4057
+ {
4058
+ "type": "object",
4059
+ "properties": {
4060
+ "failure": {
4061
+ "type": "object",
4062
+ "properties": {
4063
+ "code": {
4064
+ "type": "string",
4065
+ "allOf": [
4066
+ {
4067
+ "minLength": 1
4068
+ }
4069
+ ]
4070
+ },
4071
+ "message": {
4072
+ "type": "string",
4073
+ "allOf": [
4074
+ {
4075
+ "minLength": 1
4076
+ }
4077
+ ]
4078
+ },
4079
+ "recovery": {
4080
+ "type": "string",
4081
+ "allOf": [
4082
+ {
4083
+ "minLength": 1
4084
+ }
4085
+ ]
4086
+ },
4087
+ "retrySafe": {
4088
+ "type": "boolean"
4089
+ }
4090
+ },
4091
+ "required": ["code", "message", "recovery", "retrySafe"],
4092
+ "additionalProperties": false
4093
+ },
4094
+ "status": {
4095
+ "type": "string",
4096
+ "enum": ["assessment_failed"]
4097
+ }
4098
+ },
4099
+ "required": ["failure", "status"],
4100
+ "additionalProperties": false
4101
+ }
4102
+ ]
4103
+ },
4104
+ "width": {
4105
+ "type": "integer",
4106
+ "allOf": [
4107
+ {
4108
+ "exclusiveMinimum": 0
4109
+ }
4110
+ ]
4111
+ }
4112
+ },
4113
+ "required": [
4114
+ "captureDurationMs",
4115
+ "clearCompanion",
4116
+ "contract",
4117
+ "effectiveWorldPose",
4118
+ "height",
4119
+ "mapPackageDirtyAfter",
4120
+ "mapPackageDirtyBefore",
4121
+ "mapPath",
4122
+ "operationId",
4123
+ "resolvedSubject",
4124
+ "stagedArtifacts",
4125
+ "status",
4126
+ "viewId",
4127
+ "visibility",
4128
+ "width",
4129
+ "renderEvidence"
4130
+ ],
4131
+ "additionalProperties": false,
4132
+ "allOf": [
4133
+ {
4134
+ "if": {
4135
+ "required": ["authoredVisibility"],
4136
+ "properties": {
4137
+ "authoredVisibility": {
4138
+ "properties": {
4139
+ "output": {
4140
+ "const": "natural_only"
4141
+ }
4142
+ }
4143
+ }
4144
+ }
4145
+ },
4146
+ "then": {
4147
+ "required": [],
4148
+ "properties": {
4149
+ "stagedArtifacts": {
4150
+ "minItems": 1,
4151
+ "maxItems": 1,
4152
+ "items": {
4153
+ "properties": {
4154
+ "variant": {
4155
+ "enum": ["pure"]
4156
+ }
4157
+ }
4158
+ },
4159
+ "allOf": [
4160
+ {
4161
+ "contains": {
4162
+ "properties": {
4163
+ "variant": {
4164
+ "const": "pure"
4165
+ }
4166
+ }
4167
+ }
4168
+ }
4169
+ ]
4170
+ }
4171
+ }
4172
+ }
4173
+ },
4174
+ {
4175
+ "if": {
4176
+ "required": ["authoredVisibility"],
4177
+ "properties": {
4178
+ "authoredVisibility": {
4179
+ "properties": {
4180
+ "output": {
4181
+ "const": "authored_only"
4182
+ }
4183
+ }
4184
+ }
4185
+ }
4186
+ },
4187
+ "then": {
4188
+ "required": ["authoredEvidence"],
4189
+ "properties": {
4190
+ "stagedArtifacts": {
4191
+ "minItems": 1,
4192
+ "maxItems": 1,
4193
+ "items": {
4194
+ "properties": {
4195
+ "variant": {
4196
+ "enum": ["authored"]
4197
+ }
4198
+ }
4199
+ },
4200
+ "allOf": [
4201
+ {
4202
+ "contains": {
4203
+ "properties": {
4204
+ "variant": {
4205
+ "const": "authored"
4206
+ }
4207
+ }
4208
+ }
4209
+ }
4210
+ ]
4211
+ }
4212
+ }
4213
+ }
4214
+ },
4215
+ {
4216
+ "if": {
4217
+ "required": ["authoredVisibility"],
4218
+ "properties": {
4219
+ "authoredVisibility": {
4220
+ "properties": {
4221
+ "output": {
4222
+ "const": "natural_and_authored"
4223
+ }
4224
+ }
4225
+ }
4226
+ }
4227
+ },
4228
+ "then": {
4229
+ "required": ["authoredEvidence"],
4230
+ "properties": {
4231
+ "stagedArtifacts": {
4232
+ "minItems": 2,
4233
+ "maxItems": 2,
4234
+ "items": {
4235
+ "properties": {
4236
+ "variant": {
4237
+ "enum": ["pure", "authored"]
4238
+ }
4239
+ }
4240
+ },
4241
+ "allOf": [
4242
+ {
4243
+ "contains": {
4244
+ "properties": {
4245
+ "variant": {
4246
+ "const": "pure"
4247
+ }
4248
+ }
4249
+ }
4250
+ },
4251
+ {
4252
+ "contains": {
4253
+ "properties": {
4254
+ "variant": {
4255
+ "const": "authored"
4256
+ }
4257
+ }
4258
+ }
4259
+ }
4260
+ ]
4261
+ }
4262
+ }
4263
+ }
4264
+ }
4265
+ ]
574
4266
  }
575
4267
  ],
576
4268
  "$defs": {