@ue-shed/protocol 0.5.0 → 0.6.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.
- package/contracts/cameras/map-tile/v1/README.md +20 -6
- package/contracts/cameras/map-tile/v1/capture-operation.schema.json +69 -0
- package/contracts/cameras/map-tile/v1/capture-request.schema.json +2 -1
- package/contracts/cameras/map-tile/v1/fixtures/capture-operation-finished-valid.json +41 -0
- package/contracts/cameras/map-tile/v1/fixtures/capture-operation-progress-valid.json +13 -0
- package/contracts/cameras/map-tile/v1/fixtures/capture-operation-running-valid.json +5 -0
- package/contracts/cameras/map-tile/v1/fixtures/capture-request-lit-valid.json +59 -0
- package/contracts/cameras/map-tile/v1/fixtures/readiness-blocked.json +11 -0
- package/contracts/cameras/map-tile/v1/fixtures/readiness-ready.json +7 -0
- package/contracts/cameras/map-tile/v1/fixtures/selection-ready.json +21 -0
- package/contracts/cameras/map-tile/v1/fixtures/selection-unavailable.json +6 -0
- package/contracts/cameras/map-tile/v1/inspection.md +16 -0
- package/contracts/cameras/map-tile/v1/plan.schema.json +1 -0
- package/contracts/cameras/map-tile/v1/readiness.schema.json +39 -0
- package/contracts/cameras/map-tile/v1/selection.schema.json +105 -0
- package/contracts/cameras/review/v1/README.md +9 -1
- package/contracts/cameras/review/v1/capture-request.schema.json +54 -5
- package/contracts/cameras/review/v1/capture-response.schema.json +80 -5
- package/contracts/cameras/review/v1/fixtures/capture-guid.json +53 -0
- package/contracts/cameras/review/v1/fixtures/capture-request-guid-valid.json +28 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-alternate-actor-guid.json +23 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-clear-before-minor-4.json +26 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-empty-diagnostic-label.json +24 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-future-minor.json +26 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-guid-before-minor-5.json +26 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-malformed-last-known-path.json +24 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-nil-actor-guid.json +23 -0
- package/contracts/cameras/review/v1/fixtures/invalid-capture-request-nil-operation-id.json +23 -0
- package/contracts/cameras/review/v1/fixtures/selection-selected.json +2 -1
- package/contracts/cameras/review/v1/selection-response.schema.json +5 -0
- package/contracts/core/v1/producer-identity.schema.json +44 -0
- package/contracts/niagara/preview/v1/common.schema.json +224 -30
- package/contracts/niagara/preview/v1/fixtures/background-manifest.json +136 -0
- package/contracts/niagara/preview/v1/fixtures/background-receipt.json +112 -0
- package/contracts/niagara/preview/v1/fixtures/background-request.json +39 -0
- package/contracts/niagara/preview/v1/fixtures/progress.json +8 -0
- package/contracts/niagara/preview/v1/fixtures/scene-manifest.json +108 -0
- package/contracts/niagara/preview/v1/fixtures/scene-receipt.json +84 -0
- package/contracts/niagara/preview/v1/fixtures/scene-request.json +25 -0
- package/contracts/niagara/preview/v1/manifest.schema.json +110 -25
- package/contracts/niagara/preview/v1/progress.schema.json +37 -0
- package/contracts/niagara/preview/v1/receipt.schema.json +75 -16
- package/contracts/niagara/preview/v1/request.schema.json +20 -5
- package/contracts/niagara/preview/v1/session.md +25 -0
- package/contracts/observatory/v1/actor-metadata.schema.json +33 -0
- package/contracts/uasset-io/v1/README.md +26 -1
- package/contracts/uasset-io/v1/event.schema.json +511 -1
- package/contracts/uasset-io/v1/fixtures/invalid/project-index-count-empty-filters.json +23 -0
- package/contracts/uasset-io/v1/fixtures/invalid/project-index-dictionary-page-negative-index.json +35 -0
- package/contracts/uasset-io/v1/fixtures/valid/blueprint-request.json +6 -0
- package/contracts/uasset-io/v1/fixtures/valid/blueprint-result-event.json +58 -0
- package/contracts/uasset-io/v1/fixtures/valid/project-index-count-request.json +32 -0
- package/contracts/uasset-io/v1/fixtures/valid/project-index-count-result-event.json +20 -0
- package/contracts/uasset-io/v1/fixtures/valid/project-index-dictionary-page-result-event.json +35 -0
- package/contracts/uasset-io/v1/fixtures/valid/project-index-dictionary-query-request.json +26 -0
- package/contracts/uasset-io/v1/request.schema.json +174 -0
- package/dist/authoring-review.d.ts +36 -36
- package/dist/authoring.d.ts +45 -45
- package/dist/authoring.d.ts.map +1 -1
- package/dist/blueprint-graph.d.ts +628 -0
- package/dist/blueprint-graph.d.ts.map +1 -0
- package/dist/blueprint-graph.js +111 -0
- package/dist/blueprint-graph.js.map +1 -0
- package/dist/companion.d.ts +34 -3
- package/dist/companion.d.ts.map +1 -1
- package/dist/companion.js +11 -0
- package/dist/companion.js.map +1 -1
- package/dist/editor-asset-navigation.d.ts +12 -12
- package/dist/editor-play-session.d.ts +6 -6
- package/dist/editor-world-control.d.ts +8 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/saved-world.d.ts +20 -14
- package/dist/saved-world.d.ts.map +1 -1
- package/dist/saved-world.js +1 -0
- package/dist/saved-world.js.map +1 -1
- package/dist/uasset-inspection.d.ts +6 -5
- package/dist/uasset-inspection.d.ts.map +1 -1
- package/dist/uasset-inspection.js +1 -1
- package/dist/uasset-inspection.js.map +1 -1
- package/dist/uasset-io.d.ts +648 -129
- package/dist/uasset-io.d.ts.map +1 -1
- package/dist/uasset-io.js +51 -1
- package/dist/uasset-io.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"missingMaterialCount": 2,
|
|
3
|
+
"alphaPolicy": "opaque_scene_v1",
|
|
4
|
+
"camera": {
|
|
5
|
+
"aspectRatio": 1,
|
|
6
|
+
"fieldOfViewDegrees": 90,
|
|
7
|
+
"location": {
|
|
8
|
+
"x": 0,
|
|
9
|
+
"y": -200,
|
|
10
|
+
"z": 0
|
|
11
|
+
},
|
|
12
|
+
"orthoWidth": 512,
|
|
13
|
+
"projection": "perspective",
|
|
14
|
+
"rotation": {
|
|
15
|
+
"pitch": 0,
|
|
16
|
+
"roll": 0,
|
|
17
|
+
"yaw": 0
|
|
18
|
+
},
|
|
19
|
+
"usesCustomAspectRatio": false
|
|
20
|
+
},
|
|
21
|
+
"colorSpace": "srgb",
|
|
22
|
+
"contract": {
|
|
23
|
+
"name": "ue-shed-niagara-preview-receipt",
|
|
24
|
+
"version": {
|
|
25
|
+
"major": 1,
|
|
26
|
+
"minor": 1
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"effectiveSettings": {
|
|
30
|
+
"captureMode": "full_scene",
|
|
31
|
+
"durationSeconds": 1,
|
|
32
|
+
"frameCount": 2,
|
|
33
|
+
"frameIntervalSeconds": 0.5,
|
|
34
|
+
"height": 64,
|
|
35
|
+
"playbackFramesPerSecond": 2,
|
|
36
|
+
"simulationFramesPerSecond": 60,
|
|
37
|
+
"startSeconds": 0,
|
|
38
|
+
"width": 64,
|
|
39
|
+
"renderMode": "scene",
|
|
40
|
+
"cameraMode": "auto_fit",
|
|
41
|
+
"sceneProfile": "ground_impact",
|
|
42
|
+
"exposureCompensation": 1,
|
|
43
|
+
"cameraPadding": 1.2
|
|
44
|
+
},
|
|
45
|
+
"engineVersion": "5.7.2-0+++UE5+Release-5.7",
|
|
46
|
+
"frames": [
|
|
47
|
+
{
|
|
48
|
+
"index": 0,
|
|
49
|
+
"maximumRgb": 1,
|
|
50
|
+
"nonTransparentPixelFraction": 1,
|
|
51
|
+
"relativePath": "frames/frame_0000.png",
|
|
52
|
+
"timeSeconds": 0,
|
|
53
|
+
"activityScore": 0.1,
|
|
54
|
+
"edgePixelFraction": 0
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"index": 1,
|
|
58
|
+
"maximumRgb": 0.8,
|
|
59
|
+
"nonTransparentPixelFraction": 1,
|
|
60
|
+
"relativePath": "frames/frame_0001.png",
|
|
61
|
+
"timeSeconds": 0.5,
|
|
62
|
+
"activityScore": 0.1,
|
|
63
|
+
"edgePixelFraction": 0
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"generatedAtUtc": "2026-08-20T00:00:00.000Z",
|
|
67
|
+
"requestedSettings": {
|
|
68
|
+
"captureMode": "full_scene",
|
|
69
|
+
"durationSeconds": 1,
|
|
70
|
+
"frameCount": 2,
|
|
71
|
+
"height": 64,
|
|
72
|
+
"simulationFramesPerSecond": 60,
|
|
73
|
+
"startSeconds": 0,
|
|
74
|
+
"width": 64,
|
|
75
|
+
"renderMode": "scene",
|
|
76
|
+
"cameraMode": "auto_fit",
|
|
77
|
+
"sceneProfile": "ground_impact",
|
|
78
|
+
"exposureCompensation": 1,
|
|
79
|
+
"cameraPadding": 1.2
|
|
80
|
+
},
|
|
81
|
+
"runId": "11111111-1111-4111-8111-111111111111",
|
|
82
|
+
"status": "complete",
|
|
83
|
+
"systemObjectPath": "/Game/Fixture/Niagara/NS_Preview.NS_Preview"
|
|
84
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contract": {
|
|
3
|
+
"name": "ue-shed-niagara-preview-request",
|
|
4
|
+
"version": {
|
|
5
|
+
"major": 1,
|
|
6
|
+
"minor": 1
|
|
7
|
+
}
|
|
8
|
+
},
|
|
9
|
+
"runId": "11111111-1111-4111-8111-111111111111",
|
|
10
|
+
"settings": {
|
|
11
|
+
"captureMode": "full_scene",
|
|
12
|
+
"durationSeconds": 1,
|
|
13
|
+
"frameCount": 2,
|
|
14
|
+
"height": 64,
|
|
15
|
+
"simulationFramesPerSecond": 60,
|
|
16
|
+
"startSeconds": 0,
|
|
17
|
+
"width": 64,
|
|
18
|
+
"renderMode": "scene",
|
|
19
|
+
"cameraMode": "auto_fit",
|
|
20
|
+
"sceneProfile": "ground_impact",
|
|
21
|
+
"exposureCompensation": 1,
|
|
22
|
+
"cameraPadding": 1.2
|
|
23
|
+
},
|
|
24
|
+
"systemObjectPath": "/Game/Fixture/Niagara/NS_Preview.NS_Preview"
|
|
25
|
+
}
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
"systemObjectPath"
|
|
19
19
|
],
|
|
20
20
|
"properties": {
|
|
21
|
-
"alphaPolicy": {
|
|
21
|
+
"alphaPolicy": {
|
|
22
|
+
"enum": ["scene_opacity_or_emissive_coverage_v1", "opaque_scene_v1"]
|
|
23
|
+
},
|
|
22
24
|
"artifacts": {
|
|
23
25
|
"type": "array",
|
|
24
26
|
"minItems": 1,
|
|
@@ -37,34 +39,87 @@
|
|
|
37
39
|
"width"
|
|
38
40
|
],
|
|
39
41
|
"properties": {
|
|
40
|
-
"bytes": {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
42
|
+
"bytes": {
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"minimum": 1
|
|
45
|
+
},
|
|
46
|
+
"height": {
|
|
47
|
+
"type": "integer",
|
|
48
|
+
"minimum": 1,
|
|
49
|
+
"maximum": 4096
|
|
50
|
+
},
|
|
51
|
+
"index": {
|
|
52
|
+
"type": "integer",
|
|
53
|
+
"minimum": 0
|
|
54
|
+
},
|
|
55
|
+
"maximumRgb": {
|
|
56
|
+
"type": "number",
|
|
57
|
+
"minimum": 0,
|
|
58
|
+
"maximum": 1
|
|
59
|
+
},
|
|
60
|
+
"mimeType": {
|
|
61
|
+
"const": "image/png"
|
|
62
|
+
},
|
|
63
|
+
"nonTransparentPixelFraction": {
|
|
64
|
+
"type": "number",
|
|
65
|
+
"minimum": 0,
|
|
66
|
+
"maximum": 1
|
|
67
|
+
},
|
|
46
68
|
"relativePath": {
|
|
47
69
|
"type": "string",
|
|
48
70
|
"pattern": "^frames/frame_[0-9]{4}\\.png$"
|
|
49
71
|
},
|
|
50
|
-
"sha256": {
|
|
51
|
-
|
|
52
|
-
|
|
72
|
+
"sha256": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"pattern": "^sha256:[0-9a-f]{64}$"
|
|
75
|
+
},
|
|
76
|
+
"timeSeconds": {
|
|
77
|
+
"type": "number",
|
|
78
|
+
"minimum": 0
|
|
79
|
+
},
|
|
80
|
+
"width": {
|
|
81
|
+
"type": "integer",
|
|
82
|
+
"minimum": 1,
|
|
83
|
+
"maximum": 4096
|
|
84
|
+
},
|
|
85
|
+
"activityScore": {
|
|
86
|
+
"type": "number",
|
|
87
|
+
"minimum": 0,
|
|
88
|
+
"maximum": 1
|
|
89
|
+
},
|
|
90
|
+
"edgePixelFraction": {
|
|
91
|
+
"type": "number",
|
|
92
|
+
"minimum": 0,
|
|
93
|
+
"maximum": 1
|
|
94
|
+
}
|
|
53
95
|
},
|
|
54
96
|
"additionalProperties": false
|
|
55
97
|
}
|
|
56
98
|
},
|
|
57
|
-
"camera": {
|
|
58
|
-
|
|
99
|
+
"camera": {
|
|
100
|
+
"$ref": "common.schema.json#/$defs/camera"
|
|
101
|
+
},
|
|
102
|
+
"colorSpace": {
|
|
103
|
+
"const": "srgb"
|
|
104
|
+
},
|
|
59
105
|
"contract": {
|
|
60
106
|
"type": "object",
|
|
61
107
|
"required": ["name", "version"],
|
|
62
108
|
"properties": {
|
|
63
|
-
"name": {
|
|
109
|
+
"name": {
|
|
110
|
+
"const": "ue-shed-niagara-preview-run"
|
|
111
|
+
},
|
|
64
112
|
"version": {
|
|
65
113
|
"type": "object",
|
|
66
114
|
"required": ["major", "minor"],
|
|
67
|
-
"properties": {
|
|
115
|
+
"properties": {
|
|
116
|
+
"major": {
|
|
117
|
+
"const": 1
|
|
118
|
+
},
|
|
119
|
+
"minor": {
|
|
120
|
+
"enum": [0, 1, 2]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
68
123
|
"additionalProperties": false
|
|
69
124
|
}
|
|
70
125
|
},
|
|
@@ -76,28 +131,50 @@
|
|
|
76
131
|
"type": "object",
|
|
77
132
|
"required": ["code", "message"],
|
|
78
133
|
"properties": {
|
|
79
|
-
"code": {
|
|
80
|
-
|
|
134
|
+
"code": {
|
|
135
|
+
"enum": ["nearly_black", "nearly_empty", "missing_material"]
|
|
136
|
+
},
|
|
137
|
+
"message": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"minLength": 1
|
|
140
|
+
}
|
|
81
141
|
},
|
|
82
142
|
"additionalProperties": false
|
|
83
143
|
}
|
|
84
144
|
},
|
|
85
|
-
"effectiveSettings": {
|
|
86
|
-
|
|
145
|
+
"effectiveSettings": {
|
|
146
|
+
"$ref": "common.schema.json#/$defs/effectiveSettings"
|
|
147
|
+
},
|
|
148
|
+
"generatedAtUtc": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"minLength": 1
|
|
151
|
+
},
|
|
87
152
|
"producer": {
|
|
88
153
|
"type": "object",
|
|
89
154
|
"required": ["engineVersion", "receiptContract"],
|
|
90
155
|
"properties": {
|
|
91
|
-
"engineVersion": {
|
|
156
|
+
"engineVersion": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"minLength": 1
|
|
159
|
+
},
|
|
92
160
|
"receiptContract": {
|
|
93
161
|
"type": "object",
|
|
94
162
|
"required": ["name", "version"],
|
|
95
163
|
"properties": {
|
|
96
|
-
"name": {
|
|
164
|
+
"name": {
|
|
165
|
+
"const": "ue-shed-niagara-preview-receipt"
|
|
166
|
+
},
|
|
97
167
|
"version": {
|
|
98
168
|
"type": "object",
|
|
99
169
|
"required": ["major", "minor"],
|
|
100
|
-
"properties": {
|
|
170
|
+
"properties": {
|
|
171
|
+
"major": {
|
|
172
|
+
"const": 1
|
|
173
|
+
},
|
|
174
|
+
"minor": {
|
|
175
|
+
"enum": [0, 1, 2]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
101
178
|
"additionalProperties": false
|
|
102
179
|
}
|
|
103
180
|
},
|
|
@@ -106,10 +183,18 @@
|
|
|
106
183
|
},
|
|
107
184
|
"additionalProperties": false
|
|
108
185
|
},
|
|
109
|
-
"requestedSettings": {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"
|
|
186
|
+
"requestedSettings": {
|
|
187
|
+
"$ref": "common.schema.json#/$defs/settings"
|
|
188
|
+
},
|
|
189
|
+
"runId": {
|
|
190
|
+
"$ref": "common.schema.json#/$defs/runId"
|
|
191
|
+
},
|
|
192
|
+
"status": {
|
|
193
|
+
"const": "complete"
|
|
194
|
+
},
|
|
195
|
+
"systemObjectPath": {
|
|
196
|
+
"$ref": "common.schema.json#/$defs/systemObjectPath"
|
|
197
|
+
}
|
|
113
198
|
},
|
|
114
199
|
"additionalProperties": false
|
|
115
200
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": ["schemaVersion", "runId", "phase", "completedFrames", "totalFrames", "elapsedMs"],
|
|
6
|
+
"properties": {
|
|
7
|
+
"schemaVersion": {
|
|
8
|
+
"const": 1
|
|
9
|
+
},
|
|
10
|
+
"runId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1
|
|
13
|
+
},
|
|
14
|
+
"phase": {
|
|
15
|
+
"enum": [
|
|
16
|
+
"initializing",
|
|
17
|
+
"compiling",
|
|
18
|
+
"camera_fitting",
|
|
19
|
+
"capturing",
|
|
20
|
+
"writing_receipt",
|
|
21
|
+
"completed"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"completedFrames": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"minimum": 0
|
|
27
|
+
},
|
|
28
|
+
"totalFrames": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"minimum": 1
|
|
31
|
+
},
|
|
32
|
+
"elapsedMs": {
|
|
33
|
+
"type": "number",
|
|
34
|
+
"minimum": 0
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -17,25 +17,49 @@
|
|
|
17
17
|
"systemObjectPath"
|
|
18
18
|
],
|
|
19
19
|
"properties": {
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
"missingMaterialCount": {
|
|
21
|
+
"type": "integer",
|
|
22
|
+
"minimum": 0
|
|
23
|
+
},
|
|
24
|
+
"alphaPolicy": {
|
|
25
|
+
"enum": ["scene_opacity_or_emissive_coverage_v1", "opaque_scene_v1"]
|
|
26
|
+
},
|
|
27
|
+
"camera": {
|
|
28
|
+
"$ref": "common.schema.json#/$defs/camera"
|
|
29
|
+
},
|
|
30
|
+
"colorSpace": {
|
|
31
|
+
"const": "srgb"
|
|
32
|
+
},
|
|
23
33
|
"contract": {
|
|
24
34
|
"type": "object",
|
|
25
35
|
"required": ["name", "version"],
|
|
26
36
|
"properties": {
|
|
27
|
-
"name": {
|
|
37
|
+
"name": {
|
|
38
|
+
"const": "ue-shed-niagara-preview-receipt"
|
|
39
|
+
},
|
|
28
40
|
"version": {
|
|
29
41
|
"type": "object",
|
|
30
42
|
"required": ["major", "minor"],
|
|
31
|
-
"properties": {
|
|
43
|
+
"properties": {
|
|
44
|
+
"major": {
|
|
45
|
+
"const": 1
|
|
46
|
+
},
|
|
47
|
+
"minor": {
|
|
48
|
+
"enum": [0, 1, 2]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
32
51
|
"additionalProperties": false
|
|
33
52
|
}
|
|
34
53
|
},
|
|
35
54
|
"additionalProperties": false
|
|
36
55
|
},
|
|
37
|
-
"effectiveSettings": {
|
|
38
|
-
|
|
56
|
+
"effectiveSettings": {
|
|
57
|
+
"$ref": "common.schema.json#/$defs/effectiveSettings"
|
|
58
|
+
},
|
|
59
|
+
"engineVersion": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"minLength": 1
|
|
62
|
+
},
|
|
39
63
|
"frames": {
|
|
40
64
|
"type": "array",
|
|
41
65
|
"minItems": 1,
|
|
@@ -49,23 +73,58 @@
|
|
|
49
73
|
"timeSeconds"
|
|
50
74
|
],
|
|
51
75
|
"properties": {
|
|
52
|
-
"index": {
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
"index": {
|
|
77
|
+
"type": "integer",
|
|
78
|
+
"minimum": 0
|
|
79
|
+
},
|
|
80
|
+
"maximumRgb": {
|
|
81
|
+
"type": "number",
|
|
82
|
+
"minimum": 0,
|
|
83
|
+
"maximum": 1
|
|
84
|
+
},
|
|
85
|
+
"nonTransparentPixelFraction": {
|
|
86
|
+
"type": "number",
|
|
87
|
+
"minimum": 0,
|
|
88
|
+
"maximum": 1
|
|
89
|
+
},
|
|
55
90
|
"relativePath": {
|
|
56
91
|
"type": "string",
|
|
57
92
|
"pattern": "^frames/frame_[0-9]{4}\\.png$"
|
|
58
93
|
},
|
|
59
|
-
"timeSeconds": {
|
|
94
|
+
"timeSeconds": {
|
|
95
|
+
"type": "number",
|
|
96
|
+
"minimum": 0
|
|
97
|
+
},
|
|
98
|
+
"activityScore": {
|
|
99
|
+
"type": "number",
|
|
100
|
+
"minimum": 0,
|
|
101
|
+
"maximum": 1
|
|
102
|
+
},
|
|
103
|
+
"edgePixelFraction": {
|
|
104
|
+
"type": "number",
|
|
105
|
+
"minimum": 0,
|
|
106
|
+
"maximum": 1
|
|
107
|
+
}
|
|
60
108
|
},
|
|
61
109
|
"additionalProperties": false
|
|
62
110
|
}
|
|
63
111
|
},
|
|
64
|
-
"generatedAtUtc": {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
112
|
+
"generatedAtUtc": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"minLength": 1
|
|
115
|
+
},
|
|
116
|
+
"requestedSettings": {
|
|
117
|
+
"$ref": "common.schema.json#/$defs/settings"
|
|
118
|
+
},
|
|
119
|
+
"runId": {
|
|
120
|
+
"$ref": "common.schema.json#/$defs/runId"
|
|
121
|
+
},
|
|
122
|
+
"status": {
|
|
123
|
+
"const": "complete"
|
|
124
|
+
},
|
|
125
|
+
"systemObjectPath": {
|
|
126
|
+
"$ref": "common.schema.json#/$defs/systemObjectPath"
|
|
127
|
+
}
|
|
69
128
|
},
|
|
70
129
|
"additionalProperties": false
|
|
71
130
|
}
|
|
@@ -8,19 +8,34 @@
|
|
|
8
8
|
"type": "object",
|
|
9
9
|
"required": ["name", "version"],
|
|
10
10
|
"properties": {
|
|
11
|
-
"name": {
|
|
11
|
+
"name": {
|
|
12
|
+
"const": "ue-shed-niagara-preview-request"
|
|
13
|
+
},
|
|
12
14
|
"version": {
|
|
13
15
|
"type": "object",
|
|
14
16
|
"required": ["major", "minor"],
|
|
15
|
-
"properties": {
|
|
17
|
+
"properties": {
|
|
18
|
+
"major": {
|
|
19
|
+
"const": 1
|
|
20
|
+
},
|
|
21
|
+
"minor": {
|
|
22
|
+
"enum": [0, 1, 2]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
16
25
|
"additionalProperties": false
|
|
17
26
|
}
|
|
18
27
|
},
|
|
19
28
|
"additionalProperties": false
|
|
20
29
|
},
|
|
21
|
-
"runId": {
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
"runId": {
|
|
31
|
+
"$ref": "common.schema.json#/$defs/runId"
|
|
32
|
+
},
|
|
33
|
+
"settings": {
|
|
34
|
+
"$ref": "common.schema.json#/$defs/settings"
|
|
35
|
+
},
|
|
36
|
+
"systemObjectPath": {
|
|
37
|
+
"$ref": "common.schema.json#/$defs/systemObjectPath"
|
|
38
|
+
}
|
|
24
39
|
},
|
|
25
40
|
"additionalProperties": false
|
|
26
41
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Niagara session transport v1
|
|
2
|
+
|
|
3
|
+
This local filesystem transport carries the existing preview request contract unchanged.
|
|
4
|
+
It is available only to trusted process-owning hosts. Every launch uses a new private
|
|
5
|
+
directory. It is not a network protocol or a way to attach to arbitrary editor processes.
|
|
6
|
+
|
|
7
|
+
- Producer readiness: atomically publish `ready.json` containing
|
|
8
|
+
`{ "protocol": "ue-shed-niagara-session.v1" }`.
|
|
9
|
+
- Submit: atomically rename a complete request to `<runId>.request.json`. The lowercase
|
|
10
|
+
UUID v4 filename must match the request's `runId`. IDs are never reused in a session.
|
|
11
|
+
- Result: atomically publish `<runId>.result.json` containing
|
|
12
|
+
`{ "protocol": "ue-shed-niagara-session.v1", "runId": "<UUID>", "exitCode": 0 }`.
|
|
13
|
+
Exit codes are integers 0–255 with the same meaning as single-request commandlet exits.
|
|
14
|
+
A result is at most 4096 bytes. Success still requires validation of the existing
|
|
15
|
+
producer receipt and PNG artifacts; this result alone does not authorize publication.
|
|
16
|
+
- Cancel: the host creates `<runId>.cancel`. The producer checks before work and between
|
|
17
|
+
output frames. Timeouts or interrupted consumers leave this marker.
|
|
18
|
+
- Retire: a `stop` file asks the producer to exit between requests. The supervising host
|
|
19
|
+
writes `closed` on process exit or forced termination. Consumers accept already-completed
|
|
20
|
+
matching results, but fail pending work when `closed` appears.
|
|
21
|
+
|
|
22
|
+
The producer handles requests serially. It destroys each scene and collects garbage before
|
|
23
|
+
publishing its result. It exits after 300 requests or 900 seconds without work and removes
|
|
24
|
+
`ready.json`. The host must stop the process before any source revision changes. The host's
|
|
25
|
+
process tree—not a stored PID—is the authority for forced cleanup.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": [],
|
|
6
|
+
"properties": {
|
|
7
|
+
"actorGuid": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"pattern": "^[0-9A-Fa-f]{32}$"
|
|
10
|
+
},
|
|
11
|
+
"classPath": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
},
|
|
15
|
+
"folderPath": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"levelPackage": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"minLength": 1
|
|
21
|
+
},
|
|
22
|
+
"tags": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"maxItems": 256
|
|
28
|
+
},
|
|
29
|
+
"tagsTruncated": {
|
|
30
|
+
"type": "boolean"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -16,8 +16,33 @@ frames. Version 1.0 operations and the cumulative meaning of `maximumOutputBytes
|
|
|
16
16
|
Paired TypeScript and native workers negotiate additive operations; a worker that cannot decode an
|
|
17
17
|
operation rejects it before `accepted`.
|
|
18
18
|
|
|
19
|
+
Minor version 1.2 adds the single-package `blueprint` operation and its versioned saved-graph
|
|
20
|
+
projection. It carries editor graph nodes, arbitrary tagged node properties, native pin data, and
|
|
21
|
+
deduplicated links without requiring Unreal Engine to load the asset. Graph membership drives
|
|
22
|
+
discovery of engine, plugin, and project graph/node subclasses; unsupported saved revisions and
|
|
23
|
+
Control Rig's separate RigVM model fail explicitly.
|
|
24
|
+
|
|
25
|
+
Minor version 1.3 adds optional `pageEncoding: "dictionary"` to `project_index_query` and the
|
|
26
|
+
`project_index_dictionary_page` result. The page carries a local `strings` array; header `classes`
|
|
27
|
+
and `serializedNames` are zero-based references into it. Map items, paths, item ordering, generation,
|
|
28
|
+
and cursors retain their existing meaning. Each page is independent, with at most 1,024 items,
|
|
29
|
+
64 references per header field, and 131,072 dictionary strings. Decoders must reject references
|
|
30
|
+
outside that page's dictionary before expanding them. This relational check supplements JSON Schema.
|
|
31
|
+
Public library query results expand to the original string arrays. Omitting `pageEncoding` retains
|
|
32
|
+
the original result format; an older worker rejects the new field before accepting the request.
|
|
33
|
+
|
|
34
|
+
Minor version 1.4 adds `project_index_count`, available in both `protocol` and `protocol-session`.
|
|
35
|
+
Its `request` carries `projectId`, `expectedGeneration`, and between 1 and 16 `filters`. Filters use
|
|
36
|
+
the existing query kinds and value bounds, without pagination fields. The result carries the same
|
|
37
|
+
identity and generation plus `count`: the number of distinct package paths matching any filter.
|
|
38
|
+
Overlapping filters, including map and header matches for the same package, count once. Counts read
|
|
39
|
+
the immutable inventory and checked postings without hydrating package evidence. Stale generations
|
|
40
|
+
and corrupt postings fail with the same typed errors as queries. Old workers reject the operation
|
|
41
|
+
before accepting it.
|
|
42
|
+
|
|
19
43
|
Result frames use an explicit result kind. Generic inspection, authoring, scan, compact text,
|
|
20
|
-
compact texture, and saved-world values each have a named schema; there is no
|
|
44
|
+
compact texture, Blueprint graph, and saved-world values each have a named schema; there is no
|
|
45
|
+
untyped result field.
|
|
21
46
|
The shared inspection schemas are exported from `@ue-shed/protocol` so the Effect reader and the
|
|
22
47
|
Rust worker can converge on one wire shape.
|
|
23
48
|
|