@ue-shed/protocol 0.6.0 → 0.7.1

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 (33) hide show
  1. package/contracts/cameras/map-tile/v1/README.md +7 -0
  2. package/contracts/cameras/map-tile/v1/capture-response.schema.json +97 -25
  3. package/contracts/cameras/map-tile/v1/manifest.schema.json +136 -37
  4. package/contracts/cameras/map-tile/v1/plan.schema.json +132 -36
  5. package/contracts/cameras/map-tile/v1/release-result.schema.json +12 -0
  6. package/contracts/cameras/render/v1/README.md +33 -0
  7. package/contracts/cameras/render/v1/begin-result.schema.json +712 -0
  8. package/contracts/cameras/render/v1/capabilities.schema.json +201 -0
  9. package/contracts/cameras/render/v1/end-result.schema.json +185 -0
  10. package/contracts/cameras/render/v1/fixtures/frame-orthographic.json +31 -0
  11. package/contracts/cameras/render/v1/fixtures/frame-perspective.json +31 -0
  12. package/contracts/cameras/render/v1/fixtures/invalid-frame-mixed-projection.json +32 -0
  13. package/contracts/cameras/render/v1/fixtures/invalid-frame-size.json +31 -0
  14. package/contracts/cameras/render/v1/fixtures/invalid-session-backend-fields.json +40 -0
  15. package/contracts/cameras/render/v1/fixtures/invalid-session-budget.json +39 -0
  16. package/contracts/cameras/render/v1/fixtures/invalid-session-future.json +39 -0
  17. package/contracts/cameras/render/v1/fixtures/session-camera-regions.json +51 -0
  18. package/contracts/cameras/render/v1/fixtures/session-editor-viewport.json +40 -0
  19. package/contracts/cameras/render/v1/fixtures/session-scene-capture.json +39 -0
  20. package/contracts/cameras/render/v1/frame-evidence.schema.json +771 -0
  21. package/contracts/cameras/render/v1/frame-request.schema.json +219 -0
  22. package/contracts/cameras/render/v1/frame-status.schema.json +1076 -0
  23. package/contracts/cameras/render/v1/policy.schema.json +510 -0
  24. package/contracts/cameras/render/v1/preflight.schema.json +68 -0
  25. package/contracts/cameras/render/v1/review-inspection-request.schema.json +342 -0
  26. package/contracts/cameras/render/v1/review-inspection-result.schema.json +2030 -0
  27. package/contracts/cameras/render/v1/review-realization-request.schema.json +417 -0
  28. package/contracts/cameras/render/v1/review-realization-result.schema.json +454 -0
  29. package/contracts/cameras/render/v1/session-request.schema.json +617 -0
  30. package/contracts/cameras/review/v1/README.md +7 -0
  31. package/contracts/cameras/review/v1/capture-request.schema.json +247 -61
  32. package/contracts/cameras/review/v1/capture-response.schema.json +820 -192
  33. package/package.json +1 -1
@@ -0,0 +1,201 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ue-shed.dev/contracts/cameras/render/v1/capabilities.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "contract": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "enum": ["ue-shed-camera-render"]
12
+ },
13
+ "version": {
14
+ "type": "object",
15
+ "properties": {
16
+ "major": {
17
+ "type": "number",
18
+ "enum": [1]
19
+ },
20
+ "minor": {
21
+ "type": "number",
22
+ "enum": [0]
23
+ }
24
+ },
25
+ "required": ["major", "minor"],
26
+ "additionalProperties": false
27
+ }
28
+ },
29
+ "required": ["name", "version"],
30
+ "additionalProperties": false
31
+ },
32
+ "engineVersion": {
33
+ "type": "string",
34
+ "allOf": [
35
+ {
36
+ "minLength": 1
37
+ },
38
+ {
39
+ "maxLength": 1024
40
+ }
41
+ ]
42
+ },
43
+ "pluginVersion": {
44
+ "type": "string",
45
+ "allOf": [
46
+ {
47
+ "minLength": 1
48
+ },
49
+ {
50
+ "maxLength": 1024
51
+ }
52
+ ]
53
+ },
54
+ "projectName": {
55
+ "type": "string",
56
+ "allOf": [
57
+ {
58
+ "minLength": 1
59
+ },
60
+ {
61
+ "maxLength": 1024
62
+ }
63
+ ]
64
+ },
65
+ "renderers": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "object",
69
+ "properties": {
70
+ "profiles": {
71
+ "type": "array",
72
+ "items": {
73
+ "type": "string",
74
+ "enum": [
75
+ "lit",
76
+ "full_fidelity",
77
+ "seam_stable",
78
+ "scene_capture_defaults",
79
+ "observation"
80
+ ]
81
+ }
82
+ },
83
+ "reviewAssessment": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string",
87
+ "enum": ["depth_compare", "ray_samples"]
88
+ }
89
+ },
90
+ "reviewClear": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "enum": ["isolate_target", "hide_explicit"]
95
+ }
96
+ },
97
+ "kind": {
98
+ "type": "string",
99
+ "enum": ["editor_viewport", "scene_capture"]
100
+ },
101
+ "projections": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "string",
105
+ "enum": ["perspective", "orthographic"]
106
+ }
107
+ },
108
+ "strategies": {
109
+ "type": "array",
110
+ "items": {
111
+ "type": "string",
112
+ "enum": ["high_resolution_screenshot", "render_target"]
113
+ }
114
+ },
115
+ "exposure": {
116
+ "type": "array",
117
+ "items": {
118
+ "type": "string",
119
+ "enum": ["project_auto", "fixed_ev100", "meter_once"]
120
+ }
121
+ },
122
+ "maximumDimension": {
123
+ "type": "integer",
124
+ "allOf": [
125
+ {
126
+ "minimum": 16,
127
+ "maximum": 16384
128
+ }
129
+ ]
130
+ }
131
+ },
132
+ "required": [
133
+ "profiles",
134
+ "reviewAssessment",
135
+ "reviewClear",
136
+ "kind",
137
+ "projections",
138
+ "strategies",
139
+ "exposure",
140
+ "maximumDimension"
141
+ ],
142
+ "additionalProperties": false
143
+ }
144
+ },
145
+ "preparation": {
146
+ "type": "array",
147
+ "items": {
148
+ "type": "string",
149
+ "enum": ["preserve_loading", "camera_regions", "editor_data_layers"]
150
+ }
151
+ },
152
+ "freeze": {
153
+ "type": "array",
154
+ "items": {
155
+ "type": "string",
156
+ "enum": ["freeze_materials_and_ticks"]
157
+ }
158
+ },
159
+ "maximumRetainedOperations": {
160
+ "type": "integer",
161
+ "allOf": [
162
+ {
163
+ "minimum": 1,
164
+ "maximum": 64
165
+ }
166
+ ]
167
+ },
168
+ "maximumRetainedSessions": {
169
+ "type": "integer",
170
+ "allOf": [
171
+ {
172
+ "minimum": 1,
173
+ "maximum": 9
174
+ }
175
+ ]
176
+ },
177
+ "retentionMs": {
178
+ "type": "integer",
179
+ "allOf": [
180
+ {
181
+ "minimum": 1000,
182
+ "maximum": 120000
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ "required": [
188
+ "contract",
189
+ "engineVersion",
190
+ "pluginVersion",
191
+ "projectName",
192
+ "renderers",
193
+ "preparation",
194
+ "freeze",
195
+ "maximumRetainedOperations",
196
+ "maximumRetainedSessions",
197
+ "retentionMs"
198
+ ],
199
+ "additionalProperties": false,
200
+ "$defs": {}
201
+ }
@@ -0,0 +1,185 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ue-shed.dev/contracts/cameras/render/v1/end-result.schema.json",
4
+ "anyOf": [
5
+ {
6
+ "type": "object",
7
+ "properties": {
8
+ "status": {
9
+ "type": "string",
10
+ "enum": ["closed"]
11
+ },
12
+ "sessionId": {
13
+ "type": "string",
14
+ "allOf": [
15
+ {
16
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
17
+ }
18
+ ]
19
+ },
20
+ "restoration": {
21
+ "type": "string",
22
+ "enum": ["restored"]
23
+ }
24
+ },
25
+ "required": ["status", "sessionId", "restoration"],
26
+ "additionalProperties": false
27
+ },
28
+ {
29
+ "type": "object",
30
+ "properties": {
31
+ "status": {
32
+ "type": "string",
33
+ "enum": ["failed"]
34
+ },
35
+ "code": {
36
+ "type": "string",
37
+ "enum": [
38
+ "invalid_policy",
39
+ "invalid_frame",
40
+ "invalid_region",
41
+ "unsupported_policy",
42
+ "unsupported_size",
43
+ "editor_required",
44
+ "rendering_unavailable",
45
+ "map_mismatch",
46
+ "project_mismatch",
47
+ "editor_busy",
48
+ "viewport_unavailable",
49
+ "viewport_locked",
50
+ "preparation_failed",
51
+ "preparation_budget_exceeded",
52
+ "frame_budget_exceeded",
53
+ "world_changed",
54
+ "lease_expired",
55
+ "settling_timeout",
56
+ "exposure_unavailable",
57
+ "capture_failed",
58
+ "artifact_invalid",
59
+ "restoration_failed",
60
+ "cancelled",
61
+ "session_unknown",
62
+ "session_closed",
63
+ "session_conflict",
64
+ "operation_unknown",
65
+ "operation_expired",
66
+ "operation_conflict"
67
+ ]
68
+ },
69
+ "message": {
70
+ "type": "string",
71
+ "allOf": [
72
+ {
73
+ "minLength": 1
74
+ },
75
+ {
76
+ "maxLength": 1024
77
+ }
78
+ ]
79
+ },
80
+ "recovery": {
81
+ "type": "string",
82
+ "allOf": [
83
+ {
84
+ "minLength": 1
85
+ },
86
+ {
87
+ "maxLength": 1024
88
+ }
89
+ ]
90
+ },
91
+ "sessionId": {
92
+ "type": "string",
93
+ "allOf": [
94
+ {
95
+ "minLength": 1
96
+ },
97
+ {
98
+ "maxLength": 1024
99
+ }
100
+ ]
101
+ },
102
+ "operationId": {
103
+ "type": "string",
104
+ "allOf": [
105
+ {
106
+ "minLength": 1
107
+ },
108
+ {
109
+ "maxLength": 1024
110
+ }
111
+ ]
112
+ },
113
+ "issues": {
114
+ "type": "array",
115
+ "items": {
116
+ "type": "object",
117
+ "properties": {
118
+ "code": {
119
+ "type": "string",
120
+ "allOf": [
121
+ {
122
+ "minLength": 1
123
+ },
124
+ {
125
+ "maxLength": 1024
126
+ }
127
+ ]
128
+ },
129
+ "path": {
130
+ "type": "string",
131
+ "allOf": [
132
+ {
133
+ "minLength": 1
134
+ },
135
+ {
136
+ "maxLength": 1024
137
+ }
138
+ ]
139
+ },
140
+ "message": {
141
+ "type": "string",
142
+ "allOf": [
143
+ {
144
+ "minLength": 1
145
+ },
146
+ {
147
+ "maxLength": 1024
148
+ }
149
+ ]
150
+ },
151
+ "recovery": {
152
+ "type": "string",
153
+ "allOf": [
154
+ {
155
+ "minLength": 1
156
+ },
157
+ {
158
+ "maxLength": 1024
159
+ }
160
+ ]
161
+ }
162
+ },
163
+ "required": ["code", "path", "message", "recovery"],
164
+ "additionalProperties": false
165
+ }
166
+ },
167
+ "restoration": {
168
+ "type": "string",
169
+ "enum": ["not_acquired", "restored", "failed"]
170
+ }
171
+ },
172
+ "required": [
173
+ "status",
174
+ "code",
175
+ "message",
176
+ "recovery",
177
+ "sessionId",
178
+ "issues",
179
+ "restoration"
180
+ ],
181
+ "additionalProperties": false
182
+ }
183
+ ],
184
+ "$defs": {}
185
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "operationId": "frame",
11
+ "camera": {
12
+ "location": {
13
+ "x": 1000,
14
+ "y": 1000,
15
+ "z": 900
16
+ },
17
+ "rotation": {
18
+ "pitch": -30,
19
+ "roll": 0,
20
+ "yaw": -135
21
+ },
22
+ "projection": {
23
+ "kind": "orthographic",
24
+ "width": 2400
25
+ }
26
+ },
27
+ "size": {
28
+ "width": 320,
29
+ "height": 180
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "operationId": "frame",
11
+ "camera": {
12
+ "location": {
13
+ "x": 1000,
14
+ "y": 1000,
15
+ "z": 900
16
+ },
17
+ "rotation": {
18
+ "pitch": -30,
19
+ "roll": 0,
20
+ "yaw": -135
21
+ },
22
+ "projection": {
23
+ "kind": "perspective",
24
+ "horizontalFieldOfView": 60
25
+ }
26
+ },
27
+ "size": {
28
+ "width": 320,
29
+ "height": 180
30
+ }
31
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "operationId": "frame",
11
+ "camera": {
12
+ "location": {
13
+ "x": 1000,
14
+ "y": 1000,
15
+ "z": 900
16
+ },
17
+ "rotation": {
18
+ "pitch": -30,
19
+ "roll": 0,
20
+ "yaw": -135
21
+ },
22
+ "projection": {
23
+ "kind": "orthographic",
24
+ "width": 2400,
25
+ "horizontalFieldOfView": 60
26
+ }
27
+ },
28
+ "size": {
29
+ "width": 320,
30
+ "height": 180
31
+ }
32
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 0
7
+ }
8
+ },
9
+ "sessionId": "fixture-session",
10
+ "operationId": "frame",
11
+ "camera": {
12
+ "location": {
13
+ "x": 1000,
14
+ "y": 1000,
15
+ "z": 900
16
+ },
17
+ "rotation": {
18
+ "pitch": -30,
19
+ "roll": 0,
20
+ "yaw": -135
21
+ },
22
+ "projection": {
23
+ "kind": "perspective",
24
+ "horizontalFieldOfView": 60
25
+ }
26
+ },
27
+ "size": {
28
+ "width": 0,
29
+ "height": 180
30
+ }
31
+ }
@@ -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
+ "strategy": "high_resolution_screenshot"
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
+ }
@@ -0,0 +1,39 @@
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
+ },
20
+ "exposure": {
21
+ "mode": "fixed_ev100",
22
+ "ev100": 1,
23
+ "compensation": "project"
24
+ },
25
+ "settling": {
26
+ "minimumFrames": 4,
27
+ "timeoutMs": 120000
28
+ },
29
+ "time": "live_editor",
30
+ "preparation": {
31
+ "geometry": {
32
+ "mode": "preserve_loading"
33
+ },
34
+ "dataLayers": []
35
+ }
36
+ },
37
+ "leaseMs": 0,
38
+ "maximumFrames": 8
39
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "contract": {
3
+ "name": "ue-shed-camera-render",
4
+ "version": {
5
+ "major": 1,
6
+ "minor": 1
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
+ },
20
+ "exposure": {
21
+ "mode": "fixed_ev100",
22
+ "ev100": 1,
23
+ "compensation": "project"
24
+ },
25
+ "settling": {
26
+ "minimumFrames": 4,
27
+ "timeoutMs": 120000
28
+ },
29
+ "time": "live_editor",
30
+ "preparation": {
31
+ "geometry": {
32
+ "mode": "preserve_loading"
33
+ },
34
+ "dataLayers": []
35
+ }
36
+ },
37
+ "leaseMs": 120000,
38
+ "maximumFrames": 8
39
+ }
@@ -0,0 +1,51 @@
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
+ },
20
+ "exposure": {
21
+ "mode": "fixed_ev100",
22
+ "ev100": 1,
23
+ "compensation": "project"
24
+ },
25
+ "settling": {
26
+ "minimumFrames": 4,
27
+ "timeoutMs": 120000
28
+ },
29
+ "time": "live_editor",
30
+ "preparation": {
31
+ "geometry": {
32
+ "mode": "camera_regions",
33
+ "maximumRegions": 2,
34
+ "extent": {
35
+ "x": 1000,
36
+ "y": 1000,
37
+ "z": 1000
38
+ }
39
+ },
40
+ "dataLayers": [
41
+ {
42
+ "assetPath": "/Game/Fixture/Layers/Architecture",
43
+ "loaded": true,
44
+ "visible": true
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ "leaseMs": 120000,
50
+ "maximumFrames": 8
51
+ }