@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
@@ -20,6 +20,12 @@ Review's separately versioned `ue-shed-review-render-stages/1.0` uses
20
20
  `ResolveReviewViewpoint(RequestJson)` and
21
21
  `InspectRenderedReview(SessionId, RequestJson)` on `UEShedCameraReviewLibrary`.
22
22
 
23
+ Both renderer policies accept an optional `editorPreviews` boolean (absent means `false`). It
24
+ shows child actors that ChildActorComponents spawn for editor-only owners. Plugins that support it
25
+ advertise the `editorPreviews` capability, and frame evidence then carries
26
+ `editorPreviews.revealedChildActors`. Earlier plugins reject the field as `invalid_policy`. Review
27
+ capture responses and map-tile evidence embed the same renderer policy and frame evidence.
28
+
23
29
  Request JSON rejects unknown fields. Native semantic validation additionally rejects duplicate Data
24
30
  Layer identities, unsupported renderer/exposure combinations, effective layer hierarchy conflicts,
25
31
  world/project mismatch, contention, region overrides with preserved loading, exceeded resource
@@ -20,6 +20,173 @@
20
20
  "resolvedPolicy": {
21
21
  "type": "object",
22
22
  "properties": {
23
+ "visibility": {
24
+ "type": "object",
25
+ "properties": {
26
+ "hide": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "object",
30
+ "properties": {
31
+ "locator": {
32
+ "anyOf": [
33
+ {
34
+ "type": "object",
35
+ "properties": {
36
+ "kind": {
37
+ "type": "string",
38
+ "enum": ["actor_path"]
39
+ },
40
+ "actorPath": {
41
+ "type": "string",
42
+ "allOf": [
43
+ {
44
+ "pattern": "^\\/Game\\/"
45
+ },
46
+ {
47
+ "maxLength": 4096
48
+ }
49
+ ]
50
+ }
51
+ },
52
+ "required": ["kind", "actorPath"],
53
+ "additionalProperties": false
54
+ },
55
+ {
56
+ "type": "object",
57
+ "properties": {
58
+ "kind": {
59
+ "type": "string",
60
+ "enum": ["actor_guid"]
61
+ },
62
+ "actorGuid": {
63
+ "type": "string",
64
+ "allOf": [
65
+ {
66
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
67
+ }
68
+ ]
69
+ },
70
+ "lastKnownActorPath": {
71
+ "type": "string",
72
+ "allOf": [
73
+ {
74
+ "maxLength": 4096
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ "required": [
80
+ "kind",
81
+ "actorGuid",
82
+ "lastKnownActorPath"
83
+ ],
84
+ "additionalProperties": false
85
+ }
86
+ ]
87
+ },
88
+ "label": {
89
+ "type": "string",
90
+ "allOf": [
91
+ {
92
+ "maxLength": 256
93
+ }
94
+ ]
95
+ }
96
+ },
97
+ "required": ["locator", "label"],
98
+ "additionalProperties": false
99
+ },
100
+ "allOf": [
101
+ {
102
+ "maxItems": 256
103
+ }
104
+ ]
105
+ },
106
+ "protect": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "object",
110
+ "properties": {
111
+ "locator": {
112
+ "anyOf": [
113
+ {
114
+ "type": "object",
115
+ "properties": {
116
+ "kind": {
117
+ "type": "string",
118
+ "enum": ["actor_path"]
119
+ },
120
+ "actorPath": {
121
+ "type": "string",
122
+ "allOf": [
123
+ {
124
+ "pattern": "^\\/Game\\/"
125
+ },
126
+ {
127
+ "maxLength": 4096
128
+ }
129
+ ]
130
+ }
131
+ },
132
+ "required": ["kind", "actorPath"],
133
+ "additionalProperties": false
134
+ },
135
+ {
136
+ "type": "object",
137
+ "properties": {
138
+ "kind": {
139
+ "type": "string",
140
+ "enum": ["actor_guid"]
141
+ },
142
+ "actorGuid": {
143
+ "type": "string",
144
+ "allOf": [
145
+ {
146
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
147
+ }
148
+ ]
149
+ },
150
+ "lastKnownActorPath": {
151
+ "type": "string",
152
+ "allOf": [
153
+ {
154
+ "maxLength": 4096
155
+ }
156
+ ]
157
+ }
158
+ },
159
+ "required": [
160
+ "kind",
161
+ "actorGuid",
162
+ "lastKnownActorPath"
163
+ ],
164
+ "additionalProperties": false
165
+ }
166
+ ]
167
+ },
168
+ "label": {
169
+ "type": "string",
170
+ "allOf": [
171
+ {
172
+ "maxLength": 256
173
+ }
174
+ ]
175
+ }
176
+ },
177
+ "required": ["locator", "label"],
178
+ "additionalProperties": false
179
+ },
180
+ "allOf": [
181
+ {
182
+ "maxItems": 256
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ "required": ["hide", "protect"],
188
+ "additionalProperties": false
189
+ },
23
190
  "renderer": {
24
191
  "anyOf": [
25
192
  {
@@ -46,6 +213,9 @@
46
213
  },
47
214
  "volumetricFog": {
48
215
  "type": "boolean"
216
+ },
217
+ "editorPreviews": {
218
+ "type": "boolean"
49
219
  }
50
220
  },
51
221
  "required": [
@@ -88,6 +258,9 @@
88
258
  },
89
259
  "volumetricFog": {
90
260
  "type": "boolean"
261
+ },
262
+ "editorPreviews": {
263
+ "type": "boolean"
91
264
  }
92
265
  },
93
266
  "required": [
@@ -3,6 +3,52 @@
3
3
  "$id": "https://ue-shed.dev/contracts/cameras/render/v1/capabilities.schema.json",
4
4
  "type": "object",
5
5
  "properties": {
6
+ "authoredVisibility": {
7
+ "type": "object",
8
+ "properties": {
9
+ "version": {
10
+ "type": "number",
11
+ "enum": [1]
12
+ },
13
+ "maximumActorsPerList": {
14
+ "type": "number",
15
+ "enum": [256]
16
+ },
17
+ "geometry": {
18
+ "type": "string",
19
+ "enum": ["loaded_non_nanite_opaque_static_mesh_actors"]
20
+ },
21
+ "viewport": {
22
+ "type": "boolean"
23
+ },
24
+ "sceneCapture": {
25
+ "type": "boolean"
26
+ }
27
+ },
28
+ "required": ["version", "maximumActorsPerList", "geometry", "viewport", "sceneCapture"],
29
+ "additionalProperties": false
30
+ },
31
+ "editorPreviews": {
32
+ "type": "object",
33
+ "properties": {
34
+ "version": {
35
+ "type": "number",
36
+ "enum": [1]
37
+ },
38
+ "subjects": {
39
+ "type": "string",
40
+ "enum": ["child_actors_of_editor_only_owners"]
41
+ },
42
+ "viewport": {
43
+ "type": "boolean"
44
+ },
45
+ "sceneCapture": {
46
+ "type": "boolean"
47
+ }
48
+ },
49
+ "required": ["version", "subjects", "viewport", "sceneCapture"],
50
+ "additionalProperties": false
51
+ },
6
52
  "contract": {
7
53
  "type": "object",
8
54
  "properties": {
@@ -0,0 +1,41 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "expectedMapPath": "/Game/Fixture/Cameras/L_CameraLoad",
11
+ "expectedProjectName": "UEShedFixture",
12
+ "policy": {
13
+ "renderer": {
14
+ "kind": "editor_viewport",
15
+ "strategy": "high_resolution_screenshot",
16
+ "profile": "lit",
17
+ "vignette": "project",
18
+ "fog": true,
19
+ "volumetricFog": true,
20
+ "editorPreviews": "child_actors"
21
+ },
22
+ "exposure": {
23
+ "mode": "fixed_ev100",
24
+ "ev100": 1,
25
+ "compensation": "project"
26
+ },
27
+ "settling": {
28
+ "minimumFrames": 4,
29
+ "timeoutMs": 120000
30
+ },
31
+ "time": "live_editor",
32
+ "preparation": {
33
+ "geometry": {
34
+ "mode": "preserve_loading"
35
+ },
36
+ "dataLayers": []
37
+ }
38
+ },
39
+ "leaseMs": 120000,
40
+ "maximumFrames": 8
41
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "expectedMapPath": "/Game/Fixture/Cameras/L_CameraLoad",
11
+ "expectedProjectName": "UEShedFixture",
12
+ "policy": {
13
+ "renderer": {
14
+ "kind": "editor_viewport",
15
+ "strategy": "high_resolution_screenshot",
16
+ "profile": "lit",
17
+ "vignette": "project",
18
+ "fog": true,
19
+ "volumetricFog": true,
20
+ "editorPreviews": true
21
+ },
22
+ "exposure": {
23
+ "mode": "fixed_ev100",
24
+ "ev100": 1,
25
+ "compensation": "project"
26
+ },
27
+ "settling": {
28
+ "minimumFrames": 4,
29
+ "timeoutMs": 120000
30
+ },
31
+ "time": "live_editor",
32
+ "preparation": {
33
+ "geometry": {
34
+ "mode": "preserve_loading"
35
+ },
36
+ "dataLayers": []
37
+ }
38
+ },
39
+ "leaseMs": 120000,
40
+ "maximumFrames": 8
41
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "expectedMapPath": "/Game/Fixture/Cameras/L_CameraLoad",
11
+ "expectedProjectName": "UEShedFixture",
12
+ "policy": {
13
+ "renderer": {
14
+ "kind": "scene_capture",
15
+ "profile": "full_fidelity",
16
+ "lodDistanceScale": 1,
17
+ "fog": true,
18
+ "volumetricFog": true,
19
+ "editorPreviews": true
20
+ },
21
+ "exposure": {
22
+ "mode": "fixed_ev100",
23
+ "ev100": 1,
24
+ "compensation": "project"
25
+ },
26
+ "settling": {
27
+ "minimumFrames": 4,
28
+ "timeoutMs": 120000
29
+ },
30
+ "time": "live_editor",
31
+ "preparation": {
32
+ "geometry": {
33
+ "mode": "preserve_loading"
34
+ },
35
+ "dataLayers": []
36
+ }
37
+ },
38
+ "leaseMs": 120000,
39
+ "maximumFrames": 8
40
+ }
@@ -3,6 +3,95 @@
3
3
  "$id": "https://ue-shed.dev/contracts/cameras/render/v1/frame-evidence.schema.json",
4
4
  "type": "object",
5
5
  "properties": {
6
+ "visibilityDiagnostics": {
7
+ "type": "array",
8
+ "items": {
9
+ "type": "object",
10
+ "properties": {
11
+ "locator": {
12
+ "anyOf": [
13
+ {
14
+ "type": "object",
15
+ "properties": {
16
+ "kind": {
17
+ "type": "string",
18
+ "enum": ["actor_path"]
19
+ },
20
+ "actorPath": {
21
+ "type": "string",
22
+ "allOf": [
23
+ {
24
+ "pattern": "^\\/Game\\/"
25
+ },
26
+ {
27
+ "maxLength": 4096
28
+ }
29
+ ]
30
+ }
31
+ },
32
+ "required": ["kind", "actorPath"],
33
+ "additionalProperties": false
34
+ },
35
+ {
36
+ "type": "object",
37
+ "properties": {
38
+ "kind": {
39
+ "type": "string",
40
+ "enum": ["actor_guid"]
41
+ },
42
+ "actorGuid": {
43
+ "type": "string",
44
+ "allOf": [
45
+ {
46
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
47
+ }
48
+ ]
49
+ },
50
+ "lastKnownActorPath": {
51
+ "type": "string",
52
+ "allOf": [
53
+ {
54
+ "maxLength": 4096
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ "required": ["kind", "actorGuid", "lastKnownActorPath"],
60
+ "additionalProperties": false
61
+ }
62
+ ]
63
+ },
64
+ "status": {
65
+ "type": "string",
66
+ "enum": ["resolved", "missing_or_unloaded", "ambiguous", "unsupported"]
67
+ },
68
+ "actorPath": {
69
+ "type": "string"
70
+ },
71
+ "message": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "required": ["locator", "status", "actorPath", "message"],
76
+ "additionalProperties": false
77
+ }
78
+ },
79
+ "editorPreviews": {
80
+ "type": "object",
81
+ "properties": {
82
+ "revealedChildActors": {
83
+ "type": "integer",
84
+ "allOf": [
85
+ {
86
+ "minimum": 0,
87
+ "maximum": 1000000
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ "required": ["revealedChildActors"],
93
+ "additionalProperties": false
94
+ },
6
95
  "editorState": {
7
96
  "type": "object",
8
97
  "properties": {
@@ -129,6 +218,173 @@
129
218
  "policy": {
130
219
  "type": "object",
131
220
  "properties": {
221
+ "visibility": {
222
+ "type": "object",
223
+ "properties": {
224
+ "hide": {
225
+ "type": "array",
226
+ "items": {
227
+ "type": "object",
228
+ "properties": {
229
+ "locator": {
230
+ "anyOf": [
231
+ {
232
+ "type": "object",
233
+ "properties": {
234
+ "kind": {
235
+ "type": "string",
236
+ "enum": ["actor_path"]
237
+ },
238
+ "actorPath": {
239
+ "type": "string",
240
+ "allOf": [
241
+ {
242
+ "pattern": "^\\/Game\\/"
243
+ },
244
+ {
245
+ "maxLength": 4096
246
+ }
247
+ ]
248
+ }
249
+ },
250
+ "required": ["kind", "actorPath"],
251
+ "additionalProperties": false
252
+ },
253
+ {
254
+ "type": "object",
255
+ "properties": {
256
+ "kind": {
257
+ "type": "string",
258
+ "enum": ["actor_guid"]
259
+ },
260
+ "actorGuid": {
261
+ "type": "string",
262
+ "allOf": [
263
+ {
264
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
265
+ }
266
+ ]
267
+ },
268
+ "lastKnownActorPath": {
269
+ "type": "string",
270
+ "allOf": [
271
+ {
272
+ "maxLength": 4096
273
+ }
274
+ ]
275
+ }
276
+ },
277
+ "required": [
278
+ "kind",
279
+ "actorGuid",
280
+ "lastKnownActorPath"
281
+ ],
282
+ "additionalProperties": false
283
+ }
284
+ ]
285
+ },
286
+ "label": {
287
+ "type": "string",
288
+ "allOf": [
289
+ {
290
+ "maxLength": 256
291
+ }
292
+ ]
293
+ }
294
+ },
295
+ "required": ["locator", "label"],
296
+ "additionalProperties": false
297
+ },
298
+ "allOf": [
299
+ {
300
+ "maxItems": 256
301
+ }
302
+ ]
303
+ },
304
+ "protect": {
305
+ "type": "array",
306
+ "items": {
307
+ "type": "object",
308
+ "properties": {
309
+ "locator": {
310
+ "anyOf": [
311
+ {
312
+ "type": "object",
313
+ "properties": {
314
+ "kind": {
315
+ "type": "string",
316
+ "enum": ["actor_path"]
317
+ },
318
+ "actorPath": {
319
+ "type": "string",
320
+ "allOf": [
321
+ {
322
+ "pattern": "^\\/Game\\/"
323
+ },
324
+ {
325
+ "maxLength": 4096
326
+ }
327
+ ]
328
+ }
329
+ },
330
+ "required": ["kind", "actorPath"],
331
+ "additionalProperties": false
332
+ },
333
+ {
334
+ "type": "object",
335
+ "properties": {
336
+ "kind": {
337
+ "type": "string",
338
+ "enum": ["actor_guid"]
339
+ },
340
+ "actorGuid": {
341
+ "type": "string",
342
+ "allOf": [
343
+ {
344
+ "pattern": "^(?!00000000-00000000-00000000-00000000$)[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{8}){3}$"
345
+ }
346
+ ]
347
+ },
348
+ "lastKnownActorPath": {
349
+ "type": "string",
350
+ "allOf": [
351
+ {
352
+ "maxLength": 4096
353
+ }
354
+ ]
355
+ }
356
+ },
357
+ "required": [
358
+ "kind",
359
+ "actorGuid",
360
+ "lastKnownActorPath"
361
+ ],
362
+ "additionalProperties": false
363
+ }
364
+ ]
365
+ },
366
+ "label": {
367
+ "type": "string",
368
+ "allOf": [
369
+ {
370
+ "maxLength": 256
371
+ }
372
+ ]
373
+ }
374
+ },
375
+ "required": ["locator", "label"],
376
+ "additionalProperties": false
377
+ },
378
+ "allOf": [
379
+ {
380
+ "maxItems": 256
381
+ }
382
+ ]
383
+ }
384
+ },
385
+ "required": ["hide", "protect"],
386
+ "additionalProperties": false
387
+ },
132
388
  "renderer": {
133
389
  "anyOf": [
134
390
  {
@@ -155,6 +411,9 @@
155
411
  },
156
412
  "volumetricFog": {
157
413
  "type": "boolean"
414
+ },
415
+ "editorPreviews": {
416
+ "type": "boolean"
158
417
  }
159
418
  },
160
419
  "required": [
@@ -197,6 +456,9 @@
197
456
  },
198
457
  "volumetricFog": {
199
458
  "type": "boolean"
459
+ },
460
+ "editorPreviews": {
461
+ "type": "boolean"
200
462
  }
201
463
  },
202
464
  "required": [