@vcollab/viewer-protocol-bundle 0.0.0-stage → 0.1.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 (154) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +14 -2
  3. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndCoarseNormals.bin +0 -0
  4. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndCoarsePoints.bin +0 -0
  5. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndCoarseTriangles.bin +0 -0
  6. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndFineNormals.bin +0 -0
  7. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndFinePoints.bin +0 -0
  8. package/fixtures/array/cad_assembly/knuckle/arrays/forkEndFineTriangles.bin +0 -0
  9. package/fixtures/array/cad_assembly/knuckle/arrays/pinCoarseNormals.bin +0 -0
  10. package/fixtures/array/cad_assembly/knuckle/arrays/pinCoarsePoints.bin +0 -0
  11. package/fixtures/array/cad_assembly/knuckle/arrays/pinCoarseTriangles.bin +0 -0
  12. package/fixtures/array/higher_order/Model/arrays/coarseLines.bin +0 -0
  13. package/fixtures/array/higher_order/Model/arrays/coarseTriangleElementIds.bin +0 -0
  14. package/fixtures/array/higher_order/Model/arrays/coarseTriangles.bin +0 -0
  15. package/fixtures/array/higher_order/Model/arrays/cornerNodeIds.bin +0 -0
  16. package/fixtures/array/higher_order/Model/arrays/cornerNormals.bin +0 -0
  17. package/fixtures/array/higher_order/Model/arrays/cornerPoints.bin +0 -0
  18. package/fixtures/array/higher_order/Model/arrays/fineLines.bin +0 -0
  19. package/fixtures/array/higher_order/Model/arrays/fineTriangleElementIds.bin +0 -0
  20. package/fixtures/array/higher_order/Model/arrays/fineTriangles.bin +0 -0
  21. package/fixtures/array/higher_order/Model/arrays/midNodeIds.bin +0 -0
  22. package/fixtures/array/higher_order/Model/arrays/midNormals.bin +0 -0
  23. package/fixtures/array/higher_order/Model/arrays/midPoints.bin +0 -0
  24. package/fixtures/array/higher_order/Model/arrays/patchLines.bin +0 -0
  25. package/fixtures/array/higher_order/Model/arrays/patchNodeIds.bin +0 -0
  26. package/fixtures/array/higher_order/Model/arrays/patchNormals.bin +0 -0
  27. package/fixtures/array/higher_order/Model/arrays/patchPoints.bin +0 -0
  28. package/fixtures/array/higher_order/Model/arrays/patchTriangleElementIds.bin +0 -0
  29. package/fixtures/array/higher_order/Model/arrays/patchTriangles.bin +0 -0
  30. package/fixtures/array/higher_order/Model/arrays/u_corner.bin +0 -0
  31. package/fixtures/array/higher_order/Model/arrays/u_mid.bin +0 -0
  32. package/fixtures/array/higher_order/Model/arrays/u_patch.bin +1 -0
  33. package/fixtures/array/kinematic/Model/arrays/crankPoints.bin +0 -0
  34. package/fixtures/array/kinematic/Model/arrays/linkPoints.bin +0 -0
  35. package/fixtures/array/kinematic/Model/arrays/quadLines.bin +0 -0
  36. package/fixtures/array/kinematic/Model/arrays/quadNormals.bin +0 -0
  37. package/fixtures/array/kinematic/Model/arrays/quadTriangles.bin +0 -0
  38. package/fixtures/array/kinematic/Model/arrays/sliderPoints.bin +0 -0
  39. package/fixtures/array/modal/Model/arrays/bracketLines.bin +0 -0
  40. package/fixtures/array/modal/Model/arrays/bracketNormals.bin +0 -0
  41. package/fixtures/array/modal/Model/arrays/bracketPoints.bin +0 -0
  42. package/fixtures/array/modal/Model/arrays/bracketTriangles.bin +0 -0
  43. package/fixtures/array/modal/Model/arrays/modeShape_mode1.bin +0 -0
  44. package/fixtures/array/modal/Model/arrays/modeShape_mode2.bin +0 -0
  45. package/fixtures/array/modal/Model/arrays/modeShape_mode3.bin +0 -0
  46. package/fixtures/array/multiphysics/Model/arrays/bracketLines.bin +0 -0
  47. package/fixtures/array/multiphysics/Model/arrays/bracketNormals.bin +0 -0
  48. package/fixtures/array/multiphysics/Model/arrays/bracketPoints.bin +0 -0
  49. package/fixtures/array/multiphysics/Model/arrays/bracketTriangles.bin +0 -0
  50. package/fixtures/array/multiphysics/Model/arrays/modeShape_mode1.bin +0 -0
  51. package/fixtures/array/multiphysics/Model/arrays/modeShape_mode2.bin +0 -0
  52. package/fixtures/array/multiphysics/Model/arrays/stress_cold.bin +0 -0
  53. package/fixtures/array/multiphysics/Model/arrays/stress_hot.bin +0 -0
  54. package/fixtures/array/multiphysics/Model/arrays/temperature_cold.bin +0 -0
  55. package/fixtures/array/multiphysics/Model/arrays/temperature_hot.bin +0 -0
  56. package/fixtures/array/multiphysics/Model/arrays/u_cold.bin +0 -0
  57. package/fixtures/array/multiphysics/Model/arrays/u_hot.bin +0 -0
  58. package/fixtures/array/nonlinear_mesh_change/Model/arrays/quadAtomIds.bin +0 -0
  59. package/fixtures/array/nonlinear_mesh_change/Model/arrays/quadLines.bin +0 -0
  60. package/fixtures/array/nonlinear_mesh_change/Model/arrays/quadNormals.bin +0 -0
  61. package/fixtures/array/nonlinear_mesh_change/Model/arrays/quadTriangles.bin +0 -0
  62. package/fixtures/array/nonlinear_mesh_change/Model/arrays/toolPoints.bin +0 -0
  63. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v0Points.bin +0 -0
  64. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v0_stress_t0.bin +0 -0
  65. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v0_stress_t1.bin +0 -0
  66. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v0_u_t0.bin +0 -0
  67. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v0_u_t1.bin +0 -0
  68. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab0Lines.bin +0 -0
  69. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab0Points.bin +0 -0
  70. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab0Triangles.bin +0 -0
  71. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab0_stress_t2.bin +0 -0
  72. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab0_u_t2.bin +0 -0
  73. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab1Lines.bin +0 -0
  74. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab1Points.bin +0 -0
  75. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab1Triangles.bin +0 -0
  76. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab1_stress_t2.bin +0 -0
  77. package/fixtures/array/nonlinear_mesh_change/Model/arrays/v1Slab1_u_t2.bin +0 -0
  78. package/fixtures/array/prestressed_modal/Model/arrays/bracketLines.bin +0 -0
  79. package/fixtures/array/prestressed_modal/Model/arrays/bracketNormals.bin +0 -0
  80. package/fixtures/array/prestressed_modal/Model/arrays/bracketPoints.bin +0 -0
  81. package/fixtures/array/prestressed_modal/Model/arrays/bracketTriangles.bin +0 -0
  82. package/fixtures/array/prestressed_modal/Model/arrays/shapeA.bin +0 -0
  83. package/fixtures/array/prestressed_modal/Model/arrays/shapeB.bin +0 -0
  84. package/fixtures/array/prestressed_modal/Model/arrays/shapeC.bin +0 -0
  85. package/fixtures/array/prestressed_modal/Model/arrays/temperature_cold.bin +0 -0
  86. package/fixtures/array/prestressed_modal/Model/arrays/temperature_hot.bin +0 -0
  87. package/fixtures/array/static_structural/Model/arrays/bracketLineElementIds.bin +0 -0
  88. package/fixtures/array/static_structural/Model/arrays/bracketLines.bin +0 -0
  89. package/fixtures/array/static_structural/Model/arrays/bracketNodeIds.bin +0 -0
  90. package/fixtures/array/static_structural/Model/arrays/bracketNormals.bin +0 -0
  91. package/fixtures/array/static_structural/Model/arrays/bracketPoints.bin +0 -0
  92. package/fixtures/array/static_structural/Model/arrays/bracketTriangleElementIds.bin +0 -0
  93. package/fixtures/array/static_structural/Model/arrays/bracketTriangles.bin +0 -0
  94. package/fixtures/array/static_structural/Model/arrays/stress_bending.bin +0 -0
  95. package/fixtures/array/static_structural/Model/arrays/stress_tension.bin +0 -0
  96. package/fixtures/array/static_structural/Model/arrays/stress_torsion.bin +0 -0
  97. package/fixtures/array/static_structural/Model/arrays/thickness.bin +7 -0
  98. package/fixtures/array/static_structural/Model/arrays/u_bending.bin +0 -0
  99. package/fixtures/array/static_structural/Model/arrays/u_tension.bin +0 -0
  100. package/fixtures/array/static_structural/Model/arrays/u_torsion.bin +0 -0
  101. package/fixtures/array/transient_cfd/Model/arrays/quadLines.bin +0 -0
  102. package/fixtures/array/transient_cfd/Model/arrays/quadMaterialIds.bin +0 -0
  103. package/fixtures/array/transient_cfd/Model/arrays/quadTriangles.bin +0 -0
  104. package/fixtures/array/transient_cfd/Model/arrays/slab0/points.bin +0 -0
  105. package/fixtures/array/transient_cfd/Model/arrays/slab0/pressure_t0.bin +0 -0
  106. package/fixtures/array/transient_cfd/Model/arrays/slab0/pressure_t1.bin +0 -0
  107. package/fixtures/array/transient_cfd/Model/arrays/slab0/pressure_t2.bin +0 -0
  108. package/fixtures/array/transient_cfd/Model/arrays/slab0/velocity_t0.bin +0 -0
  109. package/fixtures/array/transient_cfd/Model/arrays/slab0/velocity_t1.bin +0 -0
  110. package/fixtures/array/transient_cfd/Model/arrays/slab0/velocity_t2.bin +0 -0
  111. package/fixtures/array/transient_cfd/Model/arrays/slab0AtomIds.bin +0 -0
  112. package/fixtures/array/transient_cfd/Model/arrays/slab0Edges/lines.bin +0 -0
  113. package/fixtures/array/transient_cfd/Model/arrays/slab0Normals.bin +0 -0
  114. package/fixtures/array/transient_cfd/Model/arrays/slab1AtomIds.bin +0 -0
  115. package/fixtures/array/transient_cfd/Model/arrays/slab1Points.bin +0 -0
  116. package/fixtures/array/transient_cfd/Model/arrays/slab1Pressure_t0.bin +0 -0
  117. package/fixtures/array/transient_cfd/Model/arrays/slab1Pressure_t1.bin +0 -0
  118. package/fixtures/array/transient_cfd/Model/arrays/slab1Pressure_t2.bin +0 -0
  119. package/fixtures/errors/invalid_request.json +1 -0
  120. package/fixtures/errors/not_found.json +1 -0
  121. package/fixtures/errors/stale.json +1 -0
  122. package/fixtures/index.json +1382 -0
  123. package/fixtures/model/cad_assembly.json +1 -0
  124. package/fixtures/model/higher_order.json +1 -0
  125. package/fixtures/model/kinematic.json +1 -0
  126. package/fixtures/model/modal.json +1 -0
  127. package/fixtures/model/multiphysics.json +1 -0
  128. package/fixtures/model/nonlinear_mesh_change.json +1 -0
  129. package/fixtures/model/prestressed_modal.json +1 -0
  130. package/fixtures/model/static_structural.json +1 -0
  131. package/fixtures/model/transient_cfd.json +1 -0
  132. package/fixtures/projects/cad_assembly/definition.json +1 -0
  133. package/fixtures/projects/cad_assembly.json +1 -0
  134. package/fixtures/projects/higher_order/definition.json +1 -0
  135. package/fixtures/projects/higher_order.json +1 -0
  136. package/fixtures/projects/kinematic/definition.json +1 -0
  137. package/fixtures/projects/kinematic.json +1 -0
  138. package/fixtures/projects/modal/definition.json +1 -0
  139. package/fixtures/projects/modal.json +1 -0
  140. package/fixtures/projects/multiphysics/definition.json +1 -0
  141. package/fixtures/projects/multiphysics.json +1 -0
  142. package/fixtures/projects/nonlinear_mesh_change/definition.json +1 -0
  143. package/fixtures/projects/nonlinear_mesh_change.json +1 -0
  144. package/fixtures/projects/prestressed_modal/definition.json +1 -0
  145. package/fixtures/projects/prestressed_modal.json +1 -0
  146. package/fixtures/projects/static_structural/definition.json +1 -0
  147. package/fixtures/projects/static_structural.json +1 -0
  148. package/fixtures/projects/transient_cfd/definition.json +1 -0
  149. package/fixtures/projects/transient_cfd.json +1 -0
  150. package/fixtures/projects.json +1 -0
  151. package/manifest.json +168 -0
  152. package/openapi.json +3020 -0
  153. package/package.json +24 -4
  154. package/schemas/messages.schema.json +2826 -0
package/openapi.json ADDED
@@ -0,0 +1,3020 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "vcti-viewer-protocol mock server",
5
+ "description": "The viewer protocol's REST binding, served from delivery stages.",
6
+ "version": "0.1.0"
7
+ },
8
+ "paths": {
9
+ "/api/v1/projects": {
10
+ "get": {
11
+ "tags": [
12
+ "projects"
13
+ ],
14
+ "summary": "List Projects Endpoint",
15
+ "description": "List the projects served.",
16
+ "operationId": "listProjects",
17
+ "responses": {
18
+ "200": {
19
+ "description": "Successful Response",
20
+ "content": {
21
+ "application/json": {
22
+ "schema": {
23
+ "$ref": "#/components/schemas/ProjectList"
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ },
31
+ "/api/v1/projects/{project_id}": {
32
+ "get": {
33
+ "tags": [
34
+ "projects"
35
+ ],
36
+ "summary": "Get Project Endpoint",
37
+ "description": "Get a project, with its definition.",
38
+ "operationId": "getProject",
39
+ "parameters": [
40
+ {
41
+ "name": "project_id",
42
+ "in": "path",
43
+ "required": true,
44
+ "schema": {
45
+ "type": "string",
46
+ "title": "Project Id"
47
+ }
48
+ }
49
+ ],
50
+ "responses": {
51
+ "200": {
52
+ "description": "Successful Response",
53
+ "content": {
54
+ "application/json": {
55
+ "schema": {
56
+ "$ref": "#/components/schemas/Project"
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "404": {
62
+ "description": "No project has the id.",
63
+ "content": {
64
+ "application/json": {
65
+ "schema": {
66
+ "$ref": "#/components/schemas/ErrorBody"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "422": {
72
+ "description": "Validation Error",
73
+ "content": {
74
+ "application/json": {
75
+ "schema": {
76
+ "$ref": "#/components/schemas/HTTPValidationError"
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ },
84
+ "/api/v1/projects/{project_id}/definition": {
85
+ "get": {
86
+ "tags": [
87
+ "projects"
88
+ ],
89
+ "summary": "Get Definition Endpoint",
90
+ "description": "Get a project's definition.",
91
+ "operationId": "getProjectDefinition",
92
+ "parameters": [
93
+ {
94
+ "name": "project_id",
95
+ "in": "path",
96
+ "required": true,
97
+ "schema": {
98
+ "type": "string",
99
+ "title": "Project Id"
100
+ }
101
+ }
102
+ ],
103
+ "responses": {
104
+ "200": {
105
+ "description": "Successful Response",
106
+ "content": {
107
+ "application/json": {
108
+ "schema": {
109
+ "oneOf": [
110
+ {
111
+ "$ref": "#/components/schemas/FilesProject"
112
+ }
113
+ ],
114
+ "discriminator": {
115
+ "propertyName": "type",
116
+ "mapping": {
117
+ "files": "#/components/schemas/FilesProject"
118
+ }
119
+ },
120
+ "title": "Response Getprojectdefinition"
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "404": {
126
+ "description": "No project has the id.",
127
+ "content": {
128
+ "application/json": {
129
+ "schema": {
130
+ "$ref": "#/components/schemas/ErrorBody"
131
+ }
132
+ }
133
+ }
134
+ },
135
+ "422": {
136
+ "description": "Validation Error",
137
+ "content": {
138
+ "application/json": {
139
+ "schema": {
140
+ "$ref": "#/components/schemas/HTTPValidationError"
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "/api/v1/model/{project_id}": {
149
+ "get": {
150
+ "tags": [
151
+ "models"
152
+ ],
153
+ "summary": "Get Model Endpoint",
154
+ "description": "Get a project's model structure: everything it describes, bindings included.",
155
+ "operationId": "getModel",
156
+ "parameters": [
157
+ {
158
+ "name": "project_id",
159
+ "in": "path",
160
+ "required": true,
161
+ "schema": {
162
+ "type": "string",
163
+ "title": "Project Id"
164
+ }
165
+ }
166
+ ],
167
+ "responses": {
168
+ "200": {
169
+ "description": "Successful Response",
170
+ "content": {
171
+ "application/json": {
172
+ "schema": {
173
+ "$ref": "#/components/schemas/ModelStructure"
174
+ }
175
+ }
176
+ }
177
+ },
178
+ "404": {
179
+ "description": "No project has the id.",
180
+ "content": {
181
+ "application/json": {
182
+ "schema": {
183
+ "$ref": "#/components/schemas/ErrorBody"
184
+ }
185
+ }
186
+ }
187
+ },
188
+ "422": {
189
+ "description": "Validation Error",
190
+ "content": {
191
+ "application/json": {
192
+ "schema": {
193
+ "$ref": "#/components/schemas/HTTPValidationError"
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ },
201
+ "/api/v1/array/{project_id}/{array_path}": {
202
+ "get": {
203
+ "tags": [
204
+ "models"
205
+ ],
206
+ "summary": "Get Array Endpoint",
207
+ "description": "Get an array's bytes, by its prim path and the model's fingerprint.",
208
+ "operationId": "getArray",
209
+ "parameters": [
210
+ {
211
+ "name": "project_id",
212
+ "in": "path",
213
+ "required": true,
214
+ "schema": {
215
+ "type": "string",
216
+ "title": "Project Id"
217
+ }
218
+ },
219
+ {
220
+ "name": "array_path",
221
+ "in": "path",
222
+ "required": true,
223
+ "schema": {
224
+ "type": "string",
225
+ "title": "Array Path"
226
+ }
227
+ },
228
+ {
229
+ "name": "fingerprint",
230
+ "in": "query",
231
+ "required": true,
232
+ "schema": {
233
+ "type": "string",
234
+ "minLength": 1,
235
+ "description": "The model's fingerprint.",
236
+ "title": "Fingerprint"
237
+ },
238
+ "description": "The model's fingerprint."
239
+ }
240
+ ],
241
+ "responses": {
242
+ "200": {
243
+ "description": "The array's tuples, little-endian, as its descriptor's element type.",
244
+ "content": {
245
+ "application/octet-stream": {}
246
+ }
247
+ },
248
+ "404": {
249
+ "description": "No project has the id, or no array the path.",
250
+ "content": {
251
+ "application/json": {
252
+ "schema": {
253
+ "$ref": "#/components/schemas/ErrorBody"
254
+ }
255
+ }
256
+ }
257
+ },
258
+ "410": {
259
+ "description": "The fingerprint is no longer the model's.",
260
+ "content": {
261
+ "application/json": {
262
+ "schema": {
263
+ "$ref": "#/components/schemas/ErrorBody"
264
+ }
265
+ }
266
+ }
267
+ },
268
+ "422": {
269
+ "description": "Validation Error",
270
+ "content": {
271
+ "application/json": {
272
+ "schema": {
273
+ "$ref": "#/components/schemas/HTTPValidationError"
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ },
282
+ "components": {
283
+ "schemas": {
284
+ "Abscissa": {
285
+ "properties": {
286
+ "name": {
287
+ "type": "string",
288
+ "minLength": 1,
289
+ "title": "Name",
290
+ "description": "The abscissa's name."
291
+ },
292
+ "values": {
293
+ "oneOf": [
294
+ {
295
+ "$ref": "#/components/schemas/InlineArray"
296
+ },
297
+ {
298
+ "$ref": "#/components/schemas/BufferArray"
299
+ }
300
+ ],
301
+ "title": "Values",
302
+ "description": "The sample values, strictly increasing.",
303
+ "discriminator": {
304
+ "propertyName": "type",
305
+ "mapping": {
306
+ "buffer": "#/components/schemas/BufferArray",
307
+ "inline": "#/components/schemas/InlineArray"
308
+ }
309
+ }
310
+ },
311
+ "variable": {
312
+ "anyOf": [
313
+ {
314
+ "type": "string",
315
+ "minLength": 1
316
+ },
317
+ {
318
+ "type": "null"
319
+ }
320
+ ],
321
+ "title": "Variable",
322
+ "description": "The variable sampled along, such as ``time``."
323
+ },
324
+ "quantity": {
325
+ "anyOf": [
326
+ {
327
+ "type": "string",
328
+ "minLength": 1
329
+ },
330
+ {
331
+ "type": "null"
332
+ }
333
+ ],
334
+ "title": "Quantity",
335
+ "description": "What the variable means."
336
+ },
337
+ "unit": {
338
+ "anyOf": [
339
+ {
340
+ "type": "string",
341
+ "minLength": 1
342
+ },
343
+ {
344
+ "type": "null"
345
+ }
346
+ ],
347
+ "title": "Unit",
348
+ "description": "The variable's unit."
349
+ },
350
+ "frame_group": {
351
+ "anyOf": [
352
+ {
353
+ "type": "string",
354
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
355
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
356
+ },
357
+ {
358
+ "type": "null"
359
+ }
360
+ ],
361
+ "title": "Frame Group",
362
+ "description": "The result branch the samples belong to, if they belong to one."
363
+ }
364
+ },
365
+ "additionalProperties": false,
366
+ "type": "object",
367
+ "required": [
368
+ "name",
369
+ "values"
370
+ ],
371
+ "title": "Abscissa",
372
+ "description": "The values a set of histories is sampled at."
373
+ },
374
+ "ArrayDescriptor": {
375
+ "properties": {
376
+ "path": {
377
+ "type": "string",
378
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
379
+ "title": "Path",
380
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
381
+ },
382
+ "element_type": {
383
+ "type": "string",
384
+ "enum": [
385
+ "uint8",
386
+ "uint16",
387
+ "uint32",
388
+ "int32",
389
+ "float32",
390
+ "float64"
391
+ ],
392
+ "title": "Element Type",
393
+ "description": "Supported values: (uint8/uint16/uint32/int32/float32/float64)"
394
+ },
395
+ "width": {
396
+ "type": "integer",
397
+ "minimum": 1.0,
398
+ "title": "Width",
399
+ "description": "The number of components in each tuple."
400
+ },
401
+ "count": {
402
+ "type": "integer",
403
+ "minimum": 0.0,
404
+ "title": "Count",
405
+ "description": "The number of tuples this buffer holds, not counting its base's."
406
+ },
407
+ "base": {
408
+ "anyOf": [
409
+ {
410
+ "type": "string",
411
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
412
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
413
+ },
414
+ {
415
+ "type": "null"
416
+ }
417
+ ],
418
+ "title": "Base",
419
+ "description": "The array this one extends, if any."
420
+ }
421
+ },
422
+ "additionalProperties": false,
423
+ "type": "object",
424
+ "required": [
425
+ "path",
426
+ "element_type",
427
+ "width",
428
+ "count"
429
+ ],
430
+ "title": "ArrayDescriptor",
431
+ "description": "What a client needs to know about an array before fetching its buffer.\n\nA buffer holds ``count`` tuples of ``width`` components each,\nlittle-endian, with the components of a tuple side by side. A buffer\nthat extends another names it as ``base``: its effective tuples are the\nbase's effective tuples followed by its own, and ``count`` is only the\ntuples it adds."
432
+ },
433
+ "BufferArray": {
434
+ "properties": {
435
+ "type": {
436
+ "type": "string",
437
+ "const": "buffer",
438
+ "title": "Type",
439
+ "description": "The variant's tag."
440
+ },
441
+ "descriptor": {
442
+ "$ref": "#/components/schemas/ArrayDescriptor",
443
+ "description": "The buffer that holds the array."
444
+ }
445
+ },
446
+ "additionalProperties": false,
447
+ "type": "object",
448
+ "required": [
449
+ "type",
450
+ "descriptor"
451
+ ],
452
+ "title": "BufferArray",
453
+ "description": "An array carried in a binary buffer, fetched by its prim path."
454
+ },
455
+ "Component": {
456
+ "properties": {
457
+ "name": {
458
+ "type": "string",
459
+ "minLength": 1,
460
+ "title": "Name",
461
+ "description": "The component's name."
462
+ },
463
+ "material": {
464
+ "anyOf": [
465
+ {
466
+ "type": "integer",
467
+ "minimum": 0.0
468
+ },
469
+ {
470
+ "type": "null"
471
+ }
472
+ ],
473
+ "title": "Material",
474
+ "description": "The component's default material, as an index into the model's materials."
475
+ },
476
+ "progression": {
477
+ "anyOf": [
478
+ {
479
+ "type": "string",
480
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
481
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
482
+ },
483
+ {
484
+ "type": "null"
485
+ }
486
+ ],
487
+ "title": "Progression",
488
+ "description": "The order to fetch representations in, where it differs from its occurrence's."
489
+ },
490
+ "attributes": {
491
+ "anyOf": [
492
+ {
493
+ "additionalProperties": {
494
+ "anyOf": [
495
+ {
496
+ "type": "string"
497
+ },
498
+ {
499
+ "type": "integer"
500
+ },
501
+ {
502
+ "type": "number"
503
+ },
504
+ {
505
+ "type": "boolean"
506
+ }
507
+ ]
508
+ },
509
+ "propertyNames": {
510
+ "minLength": 1
511
+ },
512
+ "type": "object"
513
+ },
514
+ {
515
+ "type": "null"
516
+ }
517
+ ],
518
+ "title": "Attributes",
519
+ "description": "The component's part attributes, which rules match on."
520
+ }
521
+ },
522
+ "additionalProperties": false,
523
+ "type": "object",
524
+ "required": [
525
+ "name"
526
+ ],
527
+ "title": "Component",
528
+ "description": "A named piece of an occurrence: a part, a region, a property set."
529
+ },
530
+ "ComponentGroup": {
531
+ "properties": {
532
+ "name": {
533
+ "type": "string",
534
+ "minLength": 1,
535
+ "title": "Name",
536
+ "description": "The group's name."
537
+ },
538
+ "members": {
539
+ "items": {
540
+ "type": "string",
541
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
542
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
543
+ },
544
+ "type": "array",
545
+ "title": "Members",
546
+ "description": "The group's components, in order."
547
+ },
548
+ "membership": {
549
+ "$ref": "#/components/schemas/Membership",
550
+ "description": "Each component's atoms, in the order of ``members``."
551
+ }
552
+ },
553
+ "additionalProperties": false,
554
+ "type": "object",
555
+ "required": [
556
+ "name",
557
+ "members",
558
+ "membership"
559
+ ],
560
+ "title": "ComponentGroup",
561
+ "description": "A partition of an occurrence's atoms into components."
562
+ },
563
+ "Death": {
564
+ "properties": {
565
+ "frame_group": {
566
+ "type": "string",
567
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
568
+ "title": "Frame Group",
569
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
570
+ },
571
+ "atom_death_index": {
572
+ "oneOf": [
573
+ {
574
+ "$ref": "#/components/schemas/InlineArray"
575
+ },
576
+ {
577
+ "$ref": "#/components/schemas/BufferArray"
578
+ }
579
+ ],
580
+ "title": "Atom Death Index",
581
+ "description": "Per atom, the index of the first frame at which it is dead, or -1 for never.",
582
+ "discriminator": {
583
+ "propertyName": "type",
584
+ "mapping": {
585
+ "buffer": "#/components/schemas/BufferArray",
586
+ "inline": "#/components/schemas/InlineArray"
587
+ }
588
+ }
589
+ }
590
+ },
591
+ "additionalProperties": false,
592
+ "type": "object",
593
+ "required": [
594
+ "frame_group",
595
+ "atom_death_index"
596
+ ],
597
+ "title": "Death",
598
+ "description": "When each atom of a mesh is eroded."
599
+ },
600
+ "DisplayGroup": {
601
+ "properties": {
602
+ "name": {
603
+ "type": "string",
604
+ "minLength": 1,
605
+ "title": "Name",
606
+ "description": "The group's name."
607
+ },
608
+ "members": {
609
+ "items": {
610
+ "type": "string",
611
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
612
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
613
+ },
614
+ "type": "array",
615
+ "title": "Members",
616
+ "description": "The group's display sets, in order."
617
+ },
618
+ "membership": {
619
+ "$ref": "#/components/schemas/Membership",
620
+ "description": "Each display set's atoms, in the order of ``members``."
621
+ }
622
+ },
623
+ "additionalProperties": false,
624
+ "type": "object",
625
+ "required": [
626
+ "name",
627
+ "members",
628
+ "membership"
629
+ ],
630
+ "title": "DisplayGroup",
631
+ "description": "A group of display sets, which may overlap."
632
+ },
633
+ "DisplaySet": {
634
+ "properties": {
635
+ "name": {
636
+ "type": "string",
637
+ "minLength": 1,
638
+ "title": "Name",
639
+ "description": "The set's name."
640
+ },
641
+ "entity_type": {
642
+ "anyOf": [
643
+ {
644
+ "type": "string",
645
+ "minLength": 1
646
+ },
647
+ {
648
+ "type": "null"
649
+ }
650
+ ],
651
+ "title": "Entity Type",
652
+ "description": "What the set holds as the user sees it, such as elements or faces."
653
+ },
654
+ "attributes": {
655
+ "anyOf": [
656
+ {
657
+ "additionalProperties": {
658
+ "anyOf": [
659
+ {
660
+ "type": "string"
661
+ },
662
+ {
663
+ "type": "integer"
664
+ },
665
+ {
666
+ "type": "number"
667
+ },
668
+ {
669
+ "type": "boolean"
670
+ }
671
+ ]
672
+ },
673
+ "propertyNames": {
674
+ "minLength": 1
675
+ },
676
+ "type": "object"
677
+ },
678
+ {
679
+ "type": "null"
680
+ }
681
+ ],
682
+ "title": "Attributes",
683
+ "description": "The set's attributes, which rules match on."
684
+ }
685
+ },
686
+ "additionalProperties": false,
687
+ "type": "object",
688
+ "required": [
689
+ "name"
690
+ ],
691
+ "title": "DisplaySet",
692
+ "description": "A named set of atoms that is shown and hidden together."
693
+ },
694
+ "EdgesGeometry": {
695
+ "properties": {
696
+ "type": {
697
+ "type": "string",
698
+ "const": "edges",
699
+ "title": "Type",
700
+ "description": "The variant's tag."
701
+ },
702
+ "mesh": {
703
+ "type": "string",
704
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
705
+ "title": "Mesh",
706
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
707
+ },
708
+ "slab": {
709
+ "anyOf": [
710
+ {
711
+ "type": "string",
712
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
713
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
714
+ },
715
+ {
716
+ "type": "null"
717
+ }
718
+ ],
719
+ "title": "Slab",
720
+ "description": "The slab, for a divided mesh."
721
+ },
722
+ "representation": {
723
+ "type": "string",
724
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
725
+ "title": "Representation",
726
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
727
+ },
728
+ "points": {
729
+ "type": "string",
730
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
731
+ "title": "Points",
732
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
733
+ },
734
+ "indices": {
735
+ "$ref": "#/components/schemas/ArrayDescriptor",
736
+ "description": "Line indices into the points, two per segment."
737
+ },
738
+ "source_element_ids": {
739
+ "anyOf": [
740
+ {
741
+ "$ref": "#/components/schemas/ArrayDescriptor"
742
+ },
743
+ {
744
+ "type": "null"
745
+ }
746
+ ],
747
+ "description": "Each segment's solver element id, or -1."
748
+ }
749
+ },
750
+ "additionalProperties": false,
751
+ "type": "object",
752
+ "required": [
753
+ "type",
754
+ "mesh",
755
+ "representation",
756
+ "points",
757
+ "indices"
758
+ ],
759
+ "title": "EdgesGeometry",
760
+ "description": "An edges representation of a mesh or slab: line segments over a points binding's points."
761
+ },
762
+ "ErrorBody": {
763
+ "properties": {
764
+ "code": {
765
+ "type": "string",
766
+ "pattern": "^[a-z][a-z0-9_]*$",
767
+ "title": "Code",
768
+ "description": "A stable snake_case token naming the kind of failure."
769
+ },
770
+ "message": {
771
+ "type": "string",
772
+ "title": "Message",
773
+ "description": "A description of the failure for people."
774
+ },
775
+ "details": {
776
+ "anyOf": [
777
+ {
778
+ "additionalProperties": {
779
+ "$ref": "#/components/schemas/JsonValue"
780
+ },
781
+ "type": "object"
782
+ },
783
+ {
784
+ "type": "null"
785
+ }
786
+ ],
787
+ "title": "Details",
788
+ "description": "Structured information about this particular failure."
789
+ }
790
+ },
791
+ "additionalProperties": false,
792
+ "type": "object",
793
+ "required": [
794
+ "code",
795
+ "message"
796
+ ],
797
+ "title": "ErrorBody",
798
+ "description": "Why a request failed.\n\n``code`` is for programs and stays stable; ``message`` is for people and\nmay change. ``details`` carries whatever structure a particular failure\nneeds, such as which declaration was not met."
799
+ },
800
+ "Extent": {
801
+ "properties": {
802
+ "min": {
803
+ "items": {
804
+ "type": "number"
805
+ },
806
+ "type": "array",
807
+ "maxItems": 3,
808
+ "minItems": 3,
809
+ "title": "Min",
810
+ "description": "The box's minimum corner."
811
+ },
812
+ "max": {
813
+ "items": {
814
+ "type": "number"
815
+ },
816
+ "type": "array",
817
+ "maxItems": 3,
818
+ "minItems": 3,
819
+ "title": "Max",
820
+ "description": "The box's maximum corner."
821
+ }
822
+ },
823
+ "additionalProperties": false,
824
+ "type": "object",
825
+ "required": [
826
+ "min",
827
+ "max"
828
+ ],
829
+ "title": "Extent",
830
+ "description": "An axis-aligned box in a mesh's reference coordinates."
831
+ },
832
+ "FieldBinding": {
833
+ "properties": {
834
+ "field": {
835
+ "type": "string",
836
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
837
+ "title": "Field",
838
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
839
+ },
840
+ "frame": {
841
+ "anyOf": [
842
+ {
843
+ "type": "string",
844
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
845
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
846
+ },
847
+ {
848
+ "type": "null"
849
+ }
850
+ ],
851
+ "title": "Frame",
852
+ "description": "The frame. Absent for a field that does not vary by frame."
853
+ },
854
+ "points": {
855
+ "type": "string",
856
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
857
+ "title": "Points",
858
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
859
+ },
860
+ "values": {
861
+ "$ref": "#/components/schemas/ArrayDescriptor",
862
+ "description": "One tuple per point, in the field family's component order."
863
+ },
864
+ "mask": {
865
+ "anyOf": [
866
+ {
867
+ "$ref": "#/components/schemas/ArrayDescriptor"
868
+ },
869
+ {
870
+ "type": "null"
871
+ }
872
+ ],
873
+ "description": "Per tuple, whether its value is valid. Absent means every tuple is."
874
+ },
875
+ "min": {
876
+ "anyOf": [
877
+ {
878
+ "items": {
879
+ "type": "number"
880
+ },
881
+ "type": "array"
882
+ },
883
+ {
884
+ "type": "null"
885
+ }
886
+ ],
887
+ "title": "Min",
888
+ "description": "Each component's minimum over the valid values, where it is known."
889
+ },
890
+ "max": {
891
+ "anyOf": [
892
+ {
893
+ "items": {
894
+ "type": "number"
895
+ },
896
+ "type": "array"
897
+ },
898
+ {
899
+ "type": "null"
900
+ }
901
+ ],
902
+ "title": "Max",
903
+ "description": "Each component's maximum over the valid values, where it is known."
904
+ }
905
+ },
906
+ "additionalProperties": false,
907
+ "type": "object",
908
+ "required": [
909
+ "field",
910
+ "points",
911
+ "values"
912
+ ],
913
+ "title": "FieldBinding",
914
+ "description": "A field's values at a frame, over the points of one geometry binding.\n\nA combination of field and frame with no binding has no data there."
915
+ },
916
+ "FieldDefinition": {
917
+ "properties": {
918
+ "name": {
919
+ "type": "string",
920
+ "minLength": 1,
921
+ "title": "Name",
922
+ "description": "The field's name."
923
+ },
924
+ "family": {
925
+ "type": "string",
926
+ "enum": [
927
+ "scalar",
928
+ "vector",
929
+ "dof6",
930
+ "symtensor",
931
+ "orientation",
932
+ "rigid_transform"
933
+ ],
934
+ "title": "Family",
935
+ "description": "Supported values: (scalar/vector/dof6/symtensor/orientation/rigid_transform)"
936
+ },
937
+ "component_order": {
938
+ "anyOf": [
939
+ {
940
+ "items": {
941
+ "type": "string",
942
+ "minLength": 1
943
+ },
944
+ "type": "array"
945
+ },
946
+ {
947
+ "type": "null"
948
+ }
949
+ ],
950
+ "title": "Component Order",
951
+ "description": "The names of its components, in order."
952
+ },
953
+ "units": {
954
+ "anyOf": [
955
+ {
956
+ "type": "string",
957
+ "minLength": 1
958
+ },
959
+ {
960
+ "type": "null"
961
+ }
962
+ ],
963
+ "title": "Units",
964
+ "description": "Its units, where all components share them."
965
+ },
966
+ "component_units": {
967
+ "anyOf": [
968
+ {
969
+ "items": {
970
+ "type": "string",
971
+ "minLength": 1
972
+ },
973
+ "type": "array"
974
+ },
975
+ {
976
+ "type": "null"
977
+ }
978
+ ],
979
+ "title": "Component Units",
980
+ "description": "Each component's units, where they differ."
981
+ },
982
+ "quantity": {
983
+ "anyOf": [
984
+ {
985
+ "type": "string",
986
+ "minLength": 1
987
+ },
988
+ {
989
+ "type": "null"
990
+ }
991
+ ],
992
+ "title": "Quantity",
993
+ "description": "What it measures, such as ``displacement`` or ``stress``."
994
+ },
995
+ "role": {
996
+ "anyOf": [
997
+ {
998
+ "type": "string",
999
+ "minLength": 1
1000
+ },
1001
+ {
1002
+ "type": "null"
1003
+ }
1004
+ ],
1005
+ "title": "Role",
1006
+ "description": "What it is used for, such as ``deformation``."
1007
+ },
1008
+ "frame_dependent": {
1009
+ "type": "boolean",
1010
+ "title": "Frame Dependent",
1011
+ "description": "Whether it has values per frame, or one set of values for all."
1012
+ },
1013
+ "source_association": {
1014
+ "anyOf": [
1015
+ {
1016
+ "type": "string",
1017
+ "enum": [
1018
+ "nodal",
1019
+ "elemental",
1020
+ "element_corner",
1021
+ "face",
1022
+ "cell"
1023
+ ],
1024
+ "description": "Supported values: (nodal/elemental/element_corner/face/cell)"
1025
+ },
1026
+ {
1027
+ "type": "null"
1028
+ }
1029
+ ],
1030
+ "title": "Source Association",
1031
+ "description": "Where the source quantity lived. Absent means nodal."
1032
+ },
1033
+ "mapping": {
1034
+ "anyOf": [
1035
+ {
1036
+ "type": "string",
1037
+ "minLength": 1
1038
+ },
1039
+ {
1040
+ "type": "null"
1041
+ }
1042
+ ],
1043
+ "title": "Mapping",
1044
+ "description": "The rule that produced one value per point, such as ``averaged_all``."
1045
+ },
1046
+ "derivation": {
1047
+ "anyOf": [
1048
+ {
1049
+ "type": "string",
1050
+ "minLength": 1
1051
+ },
1052
+ {
1053
+ "type": "null"
1054
+ }
1055
+ ],
1056
+ "title": "Derivation",
1057
+ "description": "What was computed from another field, such as ``von_mises``."
1058
+ },
1059
+ "derived_from": {
1060
+ "anyOf": [
1061
+ {
1062
+ "type": "string",
1063
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1064
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1065
+ },
1066
+ {
1067
+ "type": "null"
1068
+ }
1069
+ ],
1070
+ "title": "Derived From",
1071
+ "description": "The field it was derived from."
1072
+ },
1073
+ "fidelity": {
1074
+ "anyOf": [
1075
+ {
1076
+ "type": "string",
1077
+ "enum": [
1078
+ "full",
1079
+ "reduced"
1080
+ ],
1081
+ "description": "Supported values: (full/reduced)"
1082
+ },
1083
+ {
1084
+ "type": "null"
1085
+ }
1086
+ ],
1087
+ "title": "Fidelity",
1088
+ "description": "Whether its values were reduced. Absent means full."
1089
+ }
1090
+ },
1091
+ "additionalProperties": false,
1092
+ "type": "object",
1093
+ "required": [
1094
+ "name",
1095
+ "family",
1096
+ "frame_dependent"
1097
+ ],
1098
+ "title": "FieldDefinition",
1099
+ "description": "A field: a quantity with one value per point, at each frame or at none."
1100
+ },
1101
+ "FieldGroup": {
1102
+ "properties": {
1103
+ "name": {
1104
+ "type": "string",
1105
+ "minLength": 1,
1106
+ "title": "Name",
1107
+ "description": "The group's name."
1108
+ },
1109
+ "children": {
1110
+ "items": {
1111
+ "type": "string",
1112
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1113
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1114
+ },
1115
+ "type": "array",
1116
+ "title": "Children",
1117
+ "description": "The fields and field groups it holds, in order."
1118
+ }
1119
+ },
1120
+ "additionalProperties": false,
1121
+ "type": "object",
1122
+ "required": [
1123
+ "name",
1124
+ "children"
1125
+ ],
1126
+ "title": "FieldGroup",
1127
+ "description": "A folder of fields and field groups."
1128
+ },
1129
+ "FilesProject": {
1130
+ "properties": {
1131
+ "type": {
1132
+ "type": "string",
1133
+ "const": "files",
1134
+ "title": "Type",
1135
+ "description": "The definition's tag. Required, never inferred."
1136
+ },
1137
+ "sources": {
1138
+ "items": {
1139
+ "$ref": "#/components/schemas/Source"
1140
+ },
1141
+ "type": "array",
1142
+ "minItems": 1,
1143
+ "title": "Sources",
1144
+ "description": "The sources the project draws on. At least one."
1145
+ }
1146
+ },
1147
+ "additionalProperties": false,
1148
+ "type": "object",
1149
+ "required": [
1150
+ "type",
1151
+ "sources"
1152
+ ],
1153
+ "title": "FilesProject",
1154
+ "description": "A project built from a list of files and directories.\n\nOne source covers a single file or a solver's directory; several cover\nseparate files, such as an input deck and the results solved from it."
1155
+ },
1156
+ "Frame": {
1157
+ "properties": {
1158
+ "name": {
1159
+ "type": "string",
1160
+ "minLength": 1,
1161
+ "title": "Name",
1162
+ "description": "The frame's name."
1163
+ },
1164
+ "frame_code": {
1165
+ "type": "integer",
1166
+ "title": "Frame Code",
1167
+ "description": "The frame's code, unique in the model, ordering frames within a group."
1168
+ },
1169
+ "values": {
1170
+ "anyOf": [
1171
+ {
1172
+ "additionalProperties": {
1173
+ "type": "number"
1174
+ },
1175
+ "propertyNames": {
1176
+ "minLength": 1
1177
+ },
1178
+ "type": "object"
1179
+ },
1180
+ {
1181
+ "type": "null"
1182
+ }
1183
+ ],
1184
+ "title": "Values",
1185
+ "description": "Its physical values by name, such as ``physical_time`` or ``frequency``."
1186
+ },
1187
+ "reference_frame": {
1188
+ "anyOf": [
1189
+ {
1190
+ "type": "string",
1191
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1192
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1193
+ },
1194
+ {
1195
+ "type": "null"
1196
+ }
1197
+ ],
1198
+ "title": "Reference Frame",
1199
+ "description": "The result this frame was computed about."
1200
+ },
1201
+ "mesh_selection": {
1202
+ "anyOf": [
1203
+ {
1204
+ "patternProperties": {
1205
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1206
+ "type": "string",
1207
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1208
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1209
+ }
1210
+ },
1211
+ "propertyNames": {
1212
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1213
+ },
1214
+ "type": "object"
1215
+ },
1216
+ {
1217
+ "type": "null"
1218
+ }
1219
+ ],
1220
+ "title": "Mesh Selection",
1221
+ "description": "For each occurrence placing a mesh sequence, the mesh this frame selects."
1222
+ }
1223
+ },
1224
+ "additionalProperties": false,
1225
+ "type": "object",
1226
+ "required": [
1227
+ "name",
1228
+ "frame_code"
1229
+ ],
1230
+ "title": "Frame",
1231
+ "description": "One selectable result: a load case, a mode, an output time."
1232
+ },
1233
+ "FrameGroup": {
1234
+ "properties": {
1235
+ "name": {
1236
+ "type": "string",
1237
+ "minLength": 1,
1238
+ "title": "Name",
1239
+ "description": "The group's name."
1240
+ },
1241
+ "children": {
1242
+ "items": {
1243
+ "type": "string",
1244
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1245
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1246
+ },
1247
+ "type": "array",
1248
+ "title": "Children",
1249
+ "description": "The frames and frame groups it holds, in order."
1250
+ },
1251
+ "group_kind": {
1252
+ "anyOf": [
1253
+ {
1254
+ "type": "string",
1255
+ "minLength": 1
1256
+ },
1257
+ {
1258
+ "type": "null"
1259
+ }
1260
+ ],
1261
+ "title": "Group Kind",
1262
+ "description": "What the group is, such as ``load_case`` or ``mode_set``."
1263
+ },
1264
+ "analysis_type": {
1265
+ "anyOf": [
1266
+ {
1267
+ "type": "string",
1268
+ "minLength": 1
1269
+ },
1270
+ {
1271
+ "type": "null"
1272
+ }
1273
+ ],
1274
+ "title": "Analysis Type",
1275
+ "description": "The analysis its frames come from, where the group states it."
1276
+ },
1277
+ "independent_variable": {
1278
+ "anyOf": [
1279
+ {
1280
+ "type": "string",
1281
+ "minLength": 1
1282
+ },
1283
+ {
1284
+ "type": "null"
1285
+ }
1286
+ ],
1287
+ "title": "Independent Variable",
1288
+ "description": "The variable its frames advance along, such as ``time``."
1289
+ },
1290
+ "independent_quantity": {
1291
+ "anyOf": [
1292
+ {
1293
+ "type": "string",
1294
+ "minLength": 1
1295
+ },
1296
+ {
1297
+ "type": "null"
1298
+ }
1299
+ ],
1300
+ "title": "Independent Quantity",
1301
+ "description": "What that variable means: time, frequency, mode, or another."
1302
+ },
1303
+ "independent_variable_unit": {
1304
+ "anyOf": [
1305
+ {
1306
+ "type": "string",
1307
+ "minLength": 1
1308
+ },
1309
+ {
1310
+ "type": "null"
1311
+ }
1312
+ ],
1313
+ "title": "Independent Variable Unit",
1314
+ "description": "The variable's unit."
1315
+ },
1316
+ "interpolable": {
1317
+ "anyOf": [
1318
+ {
1319
+ "type": "boolean"
1320
+ },
1321
+ {
1322
+ "type": "null"
1323
+ }
1324
+ ],
1325
+ "title": "Interpolable",
1326
+ "description": "Whether values may be interpolated between its frames."
1327
+ },
1328
+ "reference_frame": {
1329
+ "anyOf": [
1330
+ {
1331
+ "type": "string",
1332
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1333
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1334
+ },
1335
+ {
1336
+ "type": "null"
1337
+ }
1338
+ ],
1339
+ "title": "Reference Frame",
1340
+ "description": "The result its frames were computed about, such as a loaded condition."
1341
+ }
1342
+ },
1343
+ "additionalProperties": false,
1344
+ "type": "object",
1345
+ "required": [
1346
+ "name",
1347
+ "children"
1348
+ ],
1349
+ "title": "FrameGroup",
1350
+ "description": "A folder of frames and frame groups: a load case's increments, a mode set."
1351
+ },
1352
+ "HTTPValidationError": {
1353
+ "properties": {
1354
+ "detail": {
1355
+ "items": {
1356
+ "$ref": "#/components/schemas/ValidationError"
1357
+ },
1358
+ "type": "array",
1359
+ "title": "Detail"
1360
+ }
1361
+ },
1362
+ "type": "object",
1363
+ "title": "HTTPValidationError"
1364
+ },
1365
+ "History": {
1366
+ "properties": {
1367
+ "name": {
1368
+ "type": "string",
1369
+ "minLength": 1,
1370
+ "title": "Name",
1371
+ "description": "The history's name."
1372
+ },
1373
+ "entity": {
1374
+ "type": "string",
1375
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1376
+ "title": "Entity",
1377
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1378
+ },
1379
+ "abscissa": {
1380
+ "type": "string",
1381
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1382
+ "title": "Abscissa",
1383
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1384
+ },
1385
+ "family": {
1386
+ "type": "string",
1387
+ "enum": [
1388
+ "scalar",
1389
+ "vector",
1390
+ "dof6",
1391
+ "symtensor",
1392
+ "orientation",
1393
+ "rigid_transform"
1394
+ ],
1395
+ "title": "Family",
1396
+ "description": "Supported values: (scalar/vector/dof6/symtensor/orientation/rigid_transform)"
1397
+ },
1398
+ "quantity": {
1399
+ "anyOf": [
1400
+ {
1401
+ "type": "string",
1402
+ "minLength": 1
1403
+ },
1404
+ {
1405
+ "type": "null"
1406
+ }
1407
+ ],
1408
+ "title": "Quantity",
1409
+ "description": "What it measures."
1410
+ },
1411
+ "units": {
1412
+ "anyOf": [
1413
+ {
1414
+ "type": "string",
1415
+ "minLength": 1
1416
+ },
1417
+ {
1418
+ "type": "null"
1419
+ }
1420
+ ],
1421
+ "title": "Units",
1422
+ "description": "Its units, where all components share them."
1423
+ },
1424
+ "component_units": {
1425
+ "anyOf": [
1426
+ {
1427
+ "items": {
1428
+ "type": "string",
1429
+ "minLength": 1
1430
+ },
1431
+ "type": "array"
1432
+ },
1433
+ {
1434
+ "type": "null"
1435
+ }
1436
+ ],
1437
+ "title": "Component Units",
1438
+ "description": "Each component's units, where they differ."
1439
+ },
1440
+ "rows": {
1441
+ "oneOf": [
1442
+ {
1443
+ "$ref": "#/components/schemas/InlineArray"
1444
+ },
1445
+ {
1446
+ "$ref": "#/components/schemas/BufferArray"
1447
+ }
1448
+ ],
1449
+ "title": "Rows",
1450
+ "description": "The rows, one per abscissa value.",
1451
+ "discriminator": {
1452
+ "propertyName": "type",
1453
+ "mapping": {
1454
+ "buffer": "#/components/schemas/BufferArray",
1455
+ "inline": "#/components/schemas/InlineArray"
1456
+ }
1457
+ }
1458
+ },
1459
+ "mask": {
1460
+ "anyOf": [
1461
+ {
1462
+ "oneOf": [
1463
+ {
1464
+ "$ref": "#/components/schemas/InlineArray"
1465
+ },
1466
+ {
1467
+ "$ref": "#/components/schemas/BufferArray"
1468
+ }
1469
+ ],
1470
+ "discriminator": {
1471
+ "propertyName": "type",
1472
+ "mapping": {
1473
+ "buffer": "#/components/schemas/BufferArray",
1474
+ "inline": "#/components/schemas/InlineArray"
1475
+ }
1476
+ }
1477
+ },
1478
+ {
1479
+ "type": "null"
1480
+ }
1481
+ ],
1482
+ "title": "Mask",
1483
+ "description": "Per row, whether its value is valid. Absent means every row is."
1484
+ }
1485
+ },
1486
+ "additionalProperties": false,
1487
+ "type": "object",
1488
+ "required": [
1489
+ "name",
1490
+ "entity",
1491
+ "abscissa",
1492
+ "family",
1493
+ "rows"
1494
+ ],
1495
+ "title": "History",
1496
+ "description": "A series sampled along an abscissa, for a node, a component or another entity.\n\nA ``rigid_transform`` history drives an occurrence's pose: each row is\n``tx, ty, tz, qw, qx, qy, qz``."
1497
+ },
1498
+ "HistoryGroup": {
1499
+ "properties": {
1500
+ "name": {
1501
+ "type": "string",
1502
+ "minLength": 1,
1503
+ "title": "Name",
1504
+ "description": "The group's name."
1505
+ },
1506
+ "children": {
1507
+ "items": {
1508
+ "type": "string",
1509
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1510
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1511
+ },
1512
+ "type": "array",
1513
+ "title": "Children",
1514
+ "description": "The histories and history groups it holds, in order."
1515
+ }
1516
+ },
1517
+ "additionalProperties": false,
1518
+ "type": "object",
1519
+ "required": [
1520
+ "name",
1521
+ "children"
1522
+ ],
1523
+ "title": "HistoryGroup",
1524
+ "description": "A folder of histories and history groups."
1525
+ },
1526
+ "InlineArray": {
1527
+ "properties": {
1528
+ "type": {
1529
+ "type": "string",
1530
+ "const": "inline",
1531
+ "title": "Type",
1532
+ "description": "The variant's tag."
1533
+ },
1534
+ "element_type": {
1535
+ "type": "string",
1536
+ "enum": [
1537
+ "uint8",
1538
+ "uint16",
1539
+ "uint32",
1540
+ "int32",
1541
+ "float32",
1542
+ "float64"
1543
+ ],
1544
+ "title": "Element Type",
1545
+ "description": "Supported values: (uint8/uint16/uint32/int32/float32/float64)"
1546
+ },
1547
+ "width": {
1548
+ "type": "integer",
1549
+ "minimum": 1.0,
1550
+ "title": "Width",
1551
+ "description": "The number of components in each tuple."
1552
+ },
1553
+ "values": {
1554
+ "anyOf": [
1555
+ {
1556
+ "items": {
1557
+ "type": "integer"
1558
+ },
1559
+ "type": "array"
1560
+ },
1561
+ {
1562
+ "items": {
1563
+ "type": "number"
1564
+ },
1565
+ "type": "array"
1566
+ }
1567
+ ],
1568
+ "title": "Values",
1569
+ "description": "The tuples, flattened."
1570
+ }
1571
+ },
1572
+ "additionalProperties": false,
1573
+ "type": "object",
1574
+ "required": [
1575
+ "type",
1576
+ "element_type",
1577
+ "width",
1578
+ "values"
1579
+ ],
1580
+ "title": "InlineArray",
1581
+ "description": "A small array carried in the JSON itself.\n\n``values`` holds the tuples flattened, components side by side, so its\nlength is a multiple of ``width``."
1582
+ },
1583
+ "JsonValue": {},
1584
+ "Material": {
1585
+ "properties": {
1586
+ "name": {
1587
+ "type": "string",
1588
+ "minLength": 1,
1589
+ "title": "Name",
1590
+ "description": "The material's name."
1591
+ },
1592
+ "base_color": {
1593
+ "anyOf": [
1594
+ {
1595
+ "items": {
1596
+ "type": "number"
1597
+ },
1598
+ "type": "array",
1599
+ "maxItems": 3,
1600
+ "minItems": 3
1601
+ },
1602
+ {
1603
+ "type": "null"
1604
+ }
1605
+ ],
1606
+ "title": "Base Color",
1607
+ "description": "The base color as linear red, green and blue, each from 0 to 1."
1608
+ },
1609
+ "opacity": {
1610
+ "anyOf": [
1611
+ {
1612
+ "type": "number",
1613
+ "maximum": 1.0,
1614
+ "minimum": 0.0
1615
+ },
1616
+ {
1617
+ "type": "null"
1618
+ }
1619
+ ],
1620
+ "title": "Opacity",
1621
+ "description": "Opacity from 0, transparent, to 1, opaque. Absent means opaque."
1622
+ },
1623
+ "roughness": {
1624
+ "anyOf": [
1625
+ {
1626
+ "type": "number",
1627
+ "maximum": 1.0,
1628
+ "minimum": 0.0
1629
+ },
1630
+ {
1631
+ "type": "null"
1632
+ }
1633
+ ],
1634
+ "title": "Roughness",
1635
+ "description": "Surface roughness from 0 to 1."
1636
+ },
1637
+ "metallic": {
1638
+ "anyOf": [
1639
+ {
1640
+ "type": "number",
1641
+ "maximum": 1.0,
1642
+ "minimum": 0.0
1643
+ },
1644
+ {
1645
+ "type": "null"
1646
+ }
1647
+ ],
1648
+ "title": "Metallic",
1649
+ "description": "How metallic the surface is, from 0 to 1."
1650
+ },
1651
+ "properties": {
1652
+ "anyOf": [
1653
+ {
1654
+ "additionalProperties": {
1655
+ "$ref": "#/components/schemas/MaterialProperty"
1656
+ },
1657
+ "propertyNames": {
1658
+ "minLength": 1
1659
+ },
1660
+ "type": "object"
1661
+ },
1662
+ {
1663
+ "type": "null"
1664
+ }
1665
+ ],
1666
+ "title": "Properties",
1667
+ "description": "Engineering properties by name, such as ``youngs_modulus`` or ``density``."
1668
+ },
1669
+ "attributes": {
1670
+ "anyOf": [
1671
+ {
1672
+ "additionalProperties": {
1673
+ "anyOf": [
1674
+ {
1675
+ "type": "string"
1676
+ },
1677
+ {
1678
+ "type": "integer"
1679
+ },
1680
+ {
1681
+ "type": "number"
1682
+ },
1683
+ {
1684
+ "type": "boolean"
1685
+ }
1686
+ ]
1687
+ },
1688
+ "propertyNames": {
1689
+ "minLength": 1
1690
+ },
1691
+ "type": "object"
1692
+ },
1693
+ {
1694
+ "type": "null"
1695
+ }
1696
+ ],
1697
+ "title": "Attributes",
1698
+ "description": "Anything else known about the material, as user attributes."
1699
+ }
1700
+ },
1701
+ "additionalProperties": false,
1702
+ "type": "object",
1703
+ "required": [
1704
+ "name"
1705
+ ],
1706
+ "title": "Material",
1707
+ "description": "A material: how it looks, what it is made of, and anything else known.\n\nAppearance drives rendering. Engineering properties — Young's modulus,\ndensity, Poisson's ratio — and attributes are for showing, probing and\nmatching on; neither changes how the material is drawn."
1708
+ },
1709
+ "MaterialProperty": {
1710
+ "properties": {
1711
+ "value": {
1712
+ "anyOf": [
1713
+ {
1714
+ "type": "number"
1715
+ },
1716
+ {
1717
+ "items": {
1718
+ "type": "number"
1719
+ },
1720
+ "type": "array"
1721
+ }
1722
+ ],
1723
+ "title": "Value",
1724
+ "description": "The value: one number, or several for a property with components."
1725
+ },
1726
+ "units": {
1727
+ "anyOf": [
1728
+ {
1729
+ "type": "string",
1730
+ "minLength": 1
1731
+ },
1732
+ {
1733
+ "type": "null"
1734
+ }
1735
+ ],
1736
+ "title": "Units",
1737
+ "description": "The value's units. Absent for a dimensionless property."
1738
+ }
1739
+ },
1740
+ "additionalProperties": false,
1741
+ "type": "object",
1742
+ "required": [
1743
+ "value"
1744
+ ],
1745
+ "title": "MaterialProperty",
1746
+ "description": "One engineering property of a material, with its units."
1747
+ },
1748
+ "Membership": {
1749
+ "properties": {
1750
+ "offsets": {
1751
+ "oneOf": [
1752
+ {
1753
+ "$ref": "#/components/schemas/InlineArray"
1754
+ },
1755
+ {
1756
+ "$ref": "#/components/schemas/BufferArray"
1757
+ }
1758
+ ],
1759
+ "title": "Offsets",
1760
+ "description": "Where each member's atoms start in ``atoms``, plus the end.",
1761
+ "discriminator": {
1762
+ "propertyName": "type",
1763
+ "mapping": {
1764
+ "buffer": "#/components/schemas/BufferArray",
1765
+ "inline": "#/components/schemas/InlineArray"
1766
+ }
1767
+ }
1768
+ },
1769
+ "atoms": {
1770
+ "oneOf": [
1771
+ {
1772
+ "$ref": "#/components/schemas/InlineArray"
1773
+ },
1774
+ {
1775
+ "$ref": "#/components/schemas/BufferArray"
1776
+ }
1777
+ ],
1778
+ "title": "Atoms",
1779
+ "description": "Every member's atom ids, member after member.",
1780
+ "discriminator": {
1781
+ "propertyName": "type",
1782
+ "mapping": {
1783
+ "buffer": "#/components/schemas/BufferArray",
1784
+ "inline": "#/components/schemas/InlineArray"
1785
+ }
1786
+ }
1787
+ }
1788
+ },
1789
+ "additionalProperties": false,
1790
+ "type": "object",
1791
+ "required": [
1792
+ "offsets",
1793
+ "atoms"
1794
+ ],
1795
+ "title": "Membership",
1796
+ "description": "The atoms of every member of a group, compressed.\n\nThe atoms of member *i* are ``atoms[offsets[i]:offsets[i + 1]]``, so\n``offsets`` has one entry per member, plus one."
1797
+ },
1798
+ "Mesh": {
1799
+ "properties": {
1800
+ "atom_count": {
1801
+ "type": "integer",
1802
+ "minimum": 0.0,
1803
+ "title": "Atom Count",
1804
+ "description": "The number of atoms; atom ids run from 0 to one less."
1805
+ },
1806
+ "extent": {
1807
+ "anyOf": [
1808
+ {
1809
+ "$ref": "#/components/schemas/Extent"
1810
+ },
1811
+ {
1812
+ "type": "null"
1813
+ }
1814
+ ],
1815
+ "description": "The mesh's bounds."
1816
+ },
1817
+ "slabs": {
1818
+ "anyOf": [
1819
+ {
1820
+ "items": {
1821
+ "type": "string",
1822
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1823
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1824
+ },
1825
+ "type": "array"
1826
+ },
1827
+ {
1828
+ "type": "null"
1829
+ }
1830
+ ],
1831
+ "title": "Slabs",
1832
+ "description": "The slabs the mesh is divided into. Absent when it is one unit."
1833
+ },
1834
+ "death": {
1835
+ "anyOf": [
1836
+ {
1837
+ "$ref": "#/components/schemas/Death"
1838
+ },
1839
+ {
1840
+ "type": "null"
1841
+ }
1842
+ ],
1843
+ "description": "When the mesh's atoms are eroded, if they are."
1844
+ }
1845
+ },
1846
+ "additionalProperties": false,
1847
+ "type": "object",
1848
+ "required": [
1849
+ "atom_count"
1850
+ ],
1851
+ "title": "Mesh",
1852
+ "description": "A mesh: fixed connectivity, atoms dense from 0 to ``atom_count``."
1853
+ },
1854
+ "MeshSequence": {
1855
+ "properties": {
1856
+ "members": {
1857
+ "items": {
1858
+ "type": "string",
1859
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1860
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1861
+ },
1862
+ "type": "array",
1863
+ "minItems": 1,
1864
+ "title": "Members",
1865
+ "description": "The mesh versions. Their order is not a timeline; frames select one."
1866
+ }
1867
+ },
1868
+ "additionalProperties": false,
1869
+ "type": "object",
1870
+ "required": [
1871
+ "members"
1872
+ ],
1873
+ "title": "MeshSequence",
1874
+ "description": "Versions of a mesh across a topology change, sharing one atom space."
1875
+ },
1876
+ "ModelStructure": {
1877
+ "properties": {
1878
+ "kind": {
1879
+ "type": "string",
1880
+ "enum": [
1881
+ "cad",
1882
+ "input_deck",
1883
+ "result"
1884
+ ],
1885
+ "title": "Kind",
1886
+ "description": "Supported values: (cad/input_deck/result)"
1887
+ },
1888
+ "path": {
1889
+ "type": "string",
1890
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1891
+ "title": "Path",
1892
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1893
+ },
1894
+ "fingerprint": {
1895
+ "type": "string",
1896
+ "minLength": 1,
1897
+ "title": "Fingerprint",
1898
+ "description": "A fingerprint of the sources the model was read from, which every\narray request carries; it changes whenever a source does."
1899
+ },
1900
+ "roots": {
1901
+ "items": {
1902
+ "type": "string",
1903
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
1904
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1905
+ },
1906
+ "type": "array",
1907
+ "title": "Roots",
1908
+ "description": "The top-level nodes, in order."
1909
+ },
1910
+ "nodes": {
1911
+ "patternProperties": {
1912
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1913
+ "$ref": "#/components/schemas/Node"
1914
+ }
1915
+ },
1916
+ "propertyNames": {
1917
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1918
+ },
1919
+ "type": "object",
1920
+ "title": "Nodes",
1921
+ "description": "The assembly tree's nodes."
1922
+ },
1923
+ "component_groups": {
1924
+ "anyOf": [
1925
+ {
1926
+ "patternProperties": {
1927
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1928
+ "$ref": "#/components/schemas/ComponentGroup"
1929
+ }
1930
+ },
1931
+ "propertyNames": {
1932
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1933
+ },
1934
+ "type": "object"
1935
+ },
1936
+ {
1937
+ "type": "null"
1938
+ }
1939
+ ],
1940
+ "title": "Component Groups",
1941
+ "description": "Component groups, each belonging to an occurrence."
1942
+ },
1943
+ "components": {
1944
+ "anyOf": [
1945
+ {
1946
+ "patternProperties": {
1947
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1948
+ "$ref": "#/components/schemas/Component"
1949
+ }
1950
+ },
1951
+ "propertyNames": {
1952
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1953
+ },
1954
+ "type": "object"
1955
+ },
1956
+ {
1957
+ "type": "null"
1958
+ }
1959
+ ],
1960
+ "title": "Components",
1961
+ "description": "Components."
1962
+ },
1963
+ "display_groups": {
1964
+ "anyOf": [
1965
+ {
1966
+ "patternProperties": {
1967
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1968
+ "$ref": "#/components/schemas/DisplayGroup"
1969
+ }
1970
+ },
1971
+ "propertyNames": {
1972
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1973
+ },
1974
+ "type": "object"
1975
+ },
1976
+ {
1977
+ "type": "null"
1978
+ }
1979
+ ],
1980
+ "title": "Display Groups",
1981
+ "description": "Display groups, each belonging to an occurrence."
1982
+ },
1983
+ "display_sets": {
1984
+ "anyOf": [
1985
+ {
1986
+ "patternProperties": {
1987
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
1988
+ "$ref": "#/components/schemas/DisplaySet"
1989
+ }
1990
+ },
1991
+ "propertyNames": {
1992
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
1993
+ },
1994
+ "type": "object"
1995
+ },
1996
+ {
1997
+ "type": "null"
1998
+ }
1999
+ ],
2000
+ "title": "Display Sets",
2001
+ "description": "Display sets."
2002
+ },
2003
+ "meshes": {
2004
+ "anyOf": [
2005
+ {
2006
+ "patternProperties": {
2007
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2008
+ "$ref": "#/components/schemas/Mesh"
2009
+ }
2010
+ },
2011
+ "propertyNames": {
2012
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2013
+ },
2014
+ "type": "object"
2015
+ },
2016
+ {
2017
+ "type": "null"
2018
+ }
2019
+ ],
2020
+ "title": "Meshes",
2021
+ "description": "Meshes."
2022
+ },
2023
+ "mesh_sequences": {
2024
+ "anyOf": [
2025
+ {
2026
+ "patternProperties": {
2027
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2028
+ "$ref": "#/components/schemas/MeshSequence"
2029
+ }
2030
+ },
2031
+ "propertyNames": {
2032
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2033
+ },
2034
+ "type": "object"
2035
+ },
2036
+ {
2037
+ "type": "null"
2038
+ }
2039
+ ],
2040
+ "title": "Mesh Sequences",
2041
+ "description": "Mesh sequences."
2042
+ },
2043
+ "slabs": {
2044
+ "anyOf": [
2045
+ {
2046
+ "patternProperties": {
2047
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2048
+ "$ref": "#/components/schemas/Slab"
2049
+ }
2050
+ },
2051
+ "propertyNames": {
2052
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2053
+ },
2054
+ "type": "object"
2055
+ },
2056
+ {
2057
+ "type": "null"
2058
+ }
2059
+ ],
2060
+ "title": "Slabs",
2061
+ "description": "The slabs of divided meshes."
2062
+ },
2063
+ "representations": {
2064
+ "anyOf": [
2065
+ {
2066
+ "patternProperties": {
2067
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2068
+ "$ref": "#/components/schemas/Representation"
2069
+ }
2070
+ },
2071
+ "propertyNames": {
2072
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2073
+ },
2074
+ "type": "object"
2075
+ },
2076
+ {
2077
+ "type": "null"
2078
+ }
2079
+ ],
2080
+ "title": "Representations",
2081
+ "description": "Representations."
2082
+ },
2083
+ "progressions": {
2084
+ "anyOf": [
2085
+ {
2086
+ "patternProperties": {
2087
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2088
+ "$ref": "#/components/schemas/Progression"
2089
+ }
2090
+ },
2091
+ "propertyNames": {
2092
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2093
+ },
2094
+ "type": "object"
2095
+ },
2096
+ {
2097
+ "type": "null"
2098
+ }
2099
+ ],
2100
+ "title": "Progressions",
2101
+ "description": "Progressions."
2102
+ },
2103
+ "default_progression": {
2104
+ "anyOf": [
2105
+ {
2106
+ "type": "string",
2107
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2108
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2109
+ },
2110
+ {
2111
+ "type": "null"
2112
+ }
2113
+ ],
2114
+ "title": "Default Progression",
2115
+ "description": "The progression used where nothing more specific names one."
2116
+ },
2117
+ "materials": {
2118
+ "anyOf": [
2119
+ {
2120
+ "items": {
2121
+ "$ref": "#/components/schemas/Material"
2122
+ },
2123
+ "type": "array"
2124
+ },
2125
+ {
2126
+ "type": "null"
2127
+ }
2128
+ ],
2129
+ "title": "Materials",
2130
+ "description": "The material table; a material's index is its position."
2131
+ },
2132
+ "field_roots": {
2133
+ "anyOf": [
2134
+ {
2135
+ "items": {
2136
+ "type": "string",
2137
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2138
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2139
+ },
2140
+ "type": "array"
2141
+ },
2142
+ {
2143
+ "type": "null"
2144
+ }
2145
+ ],
2146
+ "title": "Field Roots",
2147
+ "description": "The top-level fields and field groups, in order."
2148
+ },
2149
+ "field_groups": {
2150
+ "anyOf": [
2151
+ {
2152
+ "patternProperties": {
2153
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2154
+ "$ref": "#/components/schemas/FieldGroup"
2155
+ }
2156
+ },
2157
+ "propertyNames": {
2158
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2159
+ },
2160
+ "type": "object"
2161
+ },
2162
+ {
2163
+ "type": "null"
2164
+ }
2165
+ ],
2166
+ "title": "Field Groups",
2167
+ "description": "Field groups."
2168
+ },
2169
+ "fields": {
2170
+ "anyOf": [
2171
+ {
2172
+ "patternProperties": {
2173
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2174
+ "$ref": "#/components/schemas/FieldDefinition"
2175
+ }
2176
+ },
2177
+ "propertyNames": {
2178
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2179
+ },
2180
+ "type": "object"
2181
+ },
2182
+ {
2183
+ "type": "null"
2184
+ }
2185
+ ],
2186
+ "title": "Fields",
2187
+ "description": "Fields."
2188
+ },
2189
+ "frame_roots": {
2190
+ "anyOf": [
2191
+ {
2192
+ "items": {
2193
+ "type": "string",
2194
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2195
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2196
+ },
2197
+ "type": "array"
2198
+ },
2199
+ {
2200
+ "type": "null"
2201
+ }
2202
+ ],
2203
+ "title": "Frame Roots",
2204
+ "description": "The top-level frames and frame groups, in order."
2205
+ },
2206
+ "frame_groups": {
2207
+ "anyOf": [
2208
+ {
2209
+ "patternProperties": {
2210
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2211
+ "$ref": "#/components/schemas/FrameGroup"
2212
+ }
2213
+ },
2214
+ "propertyNames": {
2215
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2216
+ },
2217
+ "type": "object"
2218
+ },
2219
+ {
2220
+ "type": "null"
2221
+ }
2222
+ ],
2223
+ "title": "Frame Groups",
2224
+ "description": "Frame groups."
2225
+ },
2226
+ "frames": {
2227
+ "anyOf": [
2228
+ {
2229
+ "patternProperties": {
2230
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2231
+ "$ref": "#/components/schemas/Frame"
2232
+ }
2233
+ },
2234
+ "propertyNames": {
2235
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2236
+ },
2237
+ "type": "object"
2238
+ },
2239
+ {
2240
+ "type": "null"
2241
+ }
2242
+ ],
2243
+ "title": "Frames",
2244
+ "description": "Frames."
2245
+ },
2246
+ "history_roots": {
2247
+ "anyOf": [
2248
+ {
2249
+ "items": {
2250
+ "type": "string",
2251
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2252
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2253
+ },
2254
+ "type": "array"
2255
+ },
2256
+ {
2257
+ "type": "null"
2258
+ }
2259
+ ],
2260
+ "title": "History Roots",
2261
+ "description": "The top-level histories and history groups, in order."
2262
+ },
2263
+ "history_groups": {
2264
+ "anyOf": [
2265
+ {
2266
+ "patternProperties": {
2267
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2268
+ "$ref": "#/components/schemas/HistoryGroup"
2269
+ }
2270
+ },
2271
+ "propertyNames": {
2272
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2273
+ },
2274
+ "type": "object"
2275
+ },
2276
+ {
2277
+ "type": "null"
2278
+ }
2279
+ ],
2280
+ "title": "History Groups",
2281
+ "description": "History groups."
2282
+ },
2283
+ "histories": {
2284
+ "anyOf": [
2285
+ {
2286
+ "patternProperties": {
2287
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2288
+ "$ref": "#/components/schemas/History"
2289
+ }
2290
+ },
2291
+ "propertyNames": {
2292
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2293
+ },
2294
+ "type": "object"
2295
+ },
2296
+ {
2297
+ "type": "null"
2298
+ }
2299
+ ],
2300
+ "title": "Histories",
2301
+ "description": "Histories."
2302
+ },
2303
+ "abscissas": {
2304
+ "anyOf": [
2305
+ {
2306
+ "patternProperties": {
2307
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2308
+ "$ref": "#/components/schemas/Abscissa"
2309
+ }
2310
+ },
2311
+ "propertyNames": {
2312
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2313
+ },
2314
+ "type": "object"
2315
+ },
2316
+ {
2317
+ "type": "null"
2318
+ }
2319
+ ],
2320
+ "title": "Abscissas",
2321
+ "description": "The abscissas histories are sampled at."
2322
+ },
2323
+ "geometry_bindings": {
2324
+ "anyOf": [
2325
+ {
2326
+ "patternProperties": {
2327
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2328
+ "oneOf": [
2329
+ {
2330
+ "$ref": "#/components/schemas/PointsGeometry"
2331
+ },
2332
+ {
2333
+ "$ref": "#/components/schemas/SurfaceGeometry"
2334
+ },
2335
+ {
2336
+ "$ref": "#/components/schemas/EdgesGeometry"
2337
+ }
2338
+ ],
2339
+ "discriminator": {
2340
+ "propertyName": "type",
2341
+ "mapping": {
2342
+ "edges": "#/components/schemas/EdgesGeometry",
2343
+ "points": "#/components/schemas/PointsGeometry",
2344
+ "surface": "#/components/schemas/SurfaceGeometry"
2345
+ }
2346
+ }
2347
+ }
2348
+ },
2349
+ "propertyNames": {
2350
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2351
+ },
2352
+ "type": "object"
2353
+ },
2354
+ {
2355
+ "type": "null"
2356
+ }
2357
+ ],
2358
+ "title": "Geometry Bindings",
2359
+ "description": "The arrays drawing each mesh or slab in each representation it has."
2360
+ },
2361
+ "field_bindings": {
2362
+ "anyOf": [
2363
+ {
2364
+ "patternProperties": {
2365
+ "^(/[A-Za-z_][A-Za-z0-9_]*)+$": {
2366
+ "$ref": "#/components/schemas/FieldBinding"
2367
+ }
2368
+ },
2369
+ "propertyNames": {
2370
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2371
+ },
2372
+ "type": "object"
2373
+ },
2374
+ {
2375
+ "type": "null"
2376
+ }
2377
+ ],
2378
+ "title": "Field Bindings",
2379
+ "description": "The arrays holding each field at each frame where it has data."
2380
+ }
2381
+ },
2382
+ "additionalProperties": false,
2383
+ "type": "object",
2384
+ "required": [
2385
+ "kind",
2386
+ "path",
2387
+ "fingerprint",
2388
+ "roots",
2389
+ "nodes"
2390
+ ],
2391
+ "title": "ModelStructure",
2392
+ "description": "Everything a model defines, with everything named by prim path.\n\nThe structure describes everything, bindings included; only array\nvalues are fetched separately, as buffers."
2393
+ },
2394
+ "Node": {
2395
+ "properties": {
2396
+ "name": {
2397
+ "type": "string",
2398
+ "minLength": 1,
2399
+ "title": "Name",
2400
+ "description": "The node's name."
2401
+ },
2402
+ "children": {
2403
+ "anyOf": [
2404
+ {
2405
+ "items": {
2406
+ "type": "string",
2407
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2408
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2409
+ },
2410
+ "type": "array"
2411
+ },
2412
+ {
2413
+ "type": "null"
2414
+ }
2415
+ ],
2416
+ "title": "Children",
2417
+ "description": "The child nodes, in order."
2418
+ },
2419
+ "transform": {
2420
+ "anyOf": [
2421
+ {
2422
+ "items": {
2423
+ "type": "number"
2424
+ },
2425
+ "type": "array",
2426
+ "maxItems": 16,
2427
+ "minItems": 16,
2428
+ "description": "A 4x4 transform as 16 numbers in column-major order, as glTF writes it."
2429
+ },
2430
+ {
2431
+ "type": "null"
2432
+ }
2433
+ ],
2434
+ "title": "Transform",
2435
+ "description": "The node's placement in its parent. Absent means identity."
2436
+ },
2437
+ "mesh": {
2438
+ "anyOf": [
2439
+ {
2440
+ "type": "string",
2441
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2442
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2443
+ },
2444
+ {
2445
+ "type": "null"
2446
+ }
2447
+ ],
2448
+ "title": "Mesh",
2449
+ "description": "The mesh or mesh sequence the node places, if it is an occurrence."
2450
+ },
2451
+ "component_groups": {
2452
+ "anyOf": [
2453
+ {
2454
+ "items": {
2455
+ "type": "string",
2456
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2457
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2458
+ },
2459
+ "type": "array"
2460
+ },
2461
+ {
2462
+ "type": "null"
2463
+ }
2464
+ ],
2465
+ "title": "Component Groups",
2466
+ "description": "An occurrence's component groups: each a partition of its mesh's atoms."
2467
+ },
2468
+ "default_component_group": {
2469
+ "anyOf": [
2470
+ {
2471
+ "type": "string",
2472
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2473
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2474
+ },
2475
+ {
2476
+ "type": "null"
2477
+ }
2478
+ ],
2479
+ "title": "Default Component Group",
2480
+ "description": "The component group active for per-component operations."
2481
+ },
2482
+ "display_groups": {
2483
+ "anyOf": [
2484
+ {
2485
+ "items": {
2486
+ "type": "string",
2487
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2488
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2489
+ },
2490
+ "type": "array"
2491
+ },
2492
+ {
2493
+ "type": "null"
2494
+ }
2495
+ ],
2496
+ "title": "Display Groups",
2497
+ "description": "An occurrence's display groups."
2498
+ },
2499
+ "progression": {
2500
+ "anyOf": [
2501
+ {
2502
+ "type": "string",
2503
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2504
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2505
+ },
2506
+ {
2507
+ "type": "null"
2508
+ }
2509
+ ],
2510
+ "title": "Progression",
2511
+ "description": "The order to fetch representations in, where it differs from the model's."
2512
+ },
2513
+ "material": {
2514
+ "anyOf": [
2515
+ {
2516
+ "type": "integer",
2517
+ "minimum": 0.0
2518
+ },
2519
+ {
2520
+ "type": "null"
2521
+ }
2522
+ ],
2523
+ "title": "Material",
2524
+ "description": "The node's material, as an index into the model's materials."
2525
+ },
2526
+ "attributes": {
2527
+ "anyOf": [
2528
+ {
2529
+ "additionalProperties": {
2530
+ "anyOf": [
2531
+ {
2532
+ "type": "string"
2533
+ },
2534
+ {
2535
+ "type": "integer"
2536
+ },
2537
+ {
2538
+ "type": "number"
2539
+ },
2540
+ {
2541
+ "type": "boolean"
2542
+ }
2543
+ ]
2544
+ },
2545
+ "propertyNames": {
2546
+ "minLength": 1
2547
+ },
2548
+ "type": "object"
2549
+ },
2550
+ {
2551
+ "type": "null"
2552
+ }
2553
+ ],
2554
+ "title": "Attributes",
2555
+ "description": "The node's part attributes, which rules match on."
2556
+ }
2557
+ },
2558
+ "additionalProperties": false,
2559
+ "type": "object",
2560
+ "required": [
2561
+ "name"
2562
+ ],
2563
+ "title": "Node",
2564
+ "description": "A node of the assembly tree.\n\nA node that places a mesh or a mesh sequence is an **occurrence**. Two\noccurrences may place one mesh; each has its own transform, and the\nclient keeps per-atom state for each."
2565
+ },
2566
+ "PointsGeometry": {
2567
+ "properties": {
2568
+ "type": {
2569
+ "type": "string",
2570
+ "const": "points",
2571
+ "title": "Type",
2572
+ "description": "The variant's tag."
2573
+ },
2574
+ "mesh": {
2575
+ "type": "string",
2576
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2577
+ "title": "Mesh",
2578
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2579
+ },
2580
+ "slab": {
2581
+ "anyOf": [
2582
+ {
2583
+ "type": "string",
2584
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2585
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2586
+ },
2587
+ {
2588
+ "type": "null"
2589
+ }
2590
+ ],
2591
+ "title": "Slab",
2592
+ "description": "The slab, for a divided mesh."
2593
+ },
2594
+ "representation": {
2595
+ "type": "string",
2596
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2597
+ "title": "Representation",
2598
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2599
+ },
2600
+ "extent": {
2601
+ "anyOf": [
2602
+ {
2603
+ "$ref": "#/components/schemas/Extent"
2604
+ },
2605
+ {
2606
+ "type": "null"
2607
+ }
2608
+ ],
2609
+ "description": "The points' bounds."
2610
+ },
2611
+ "points": {
2612
+ "$ref": "#/components/schemas/ArrayDescriptor",
2613
+ "description": "Positions, three components each."
2614
+ },
2615
+ "normals": {
2616
+ "anyOf": [
2617
+ {
2618
+ "$ref": "#/components/schemas/ArrayDescriptor"
2619
+ },
2620
+ {
2621
+ "type": "null"
2622
+ }
2623
+ ],
2624
+ "description": "Unit normals, three components each. Present under any shaded surface."
2625
+ },
2626
+ "atom_ids": {
2627
+ "anyOf": [
2628
+ {
2629
+ "$ref": "#/components/schemas/ArrayDescriptor"
2630
+ },
2631
+ {
2632
+ "type": "null"
2633
+ }
2634
+ ],
2635
+ "description": "Each point's atom id. Absent when the mesh is one atom: every point is atom 0."
2636
+ },
2637
+ "material_ids": {
2638
+ "anyOf": [
2639
+ {
2640
+ "$ref": "#/components/schemas/ArrayDescriptor"
2641
+ },
2642
+ {
2643
+ "type": "null"
2644
+ }
2645
+ ],
2646
+ "description": "Each point's material, as an index into the model's materials."
2647
+ },
2648
+ "source_node_ids": {
2649
+ "anyOf": [
2650
+ {
2651
+ "$ref": "#/components/schemas/ArrayDescriptor"
2652
+ },
2653
+ {
2654
+ "type": "null"
2655
+ }
2656
+ ],
2657
+ "description": "Each point's solver node id, or -1."
2658
+ }
2659
+ },
2660
+ "additionalProperties": false,
2661
+ "type": "object",
2662
+ "required": [
2663
+ "type",
2664
+ "mesh",
2665
+ "representation",
2666
+ "points"
2667
+ ],
2668
+ "title": "PointsGeometry",
2669
+ "description": "A points representation of a mesh or slab: one tuple per point in each array."
2670
+ },
2671
+ "Progression": {
2672
+ "properties": {
2673
+ "name": {
2674
+ "type": "string",
2675
+ "minLength": 1,
2676
+ "title": "Name",
2677
+ "description": "The progression's name."
2678
+ },
2679
+ "representations": {
2680
+ "items": {
2681
+ "type": "string",
2682
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2683
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2684
+ },
2685
+ "type": "array",
2686
+ "minItems": 1,
2687
+ "title": "Representations",
2688
+ "description": "The representations, in the order to fetch them."
2689
+ }
2690
+ },
2691
+ "additionalProperties": false,
2692
+ "type": "object",
2693
+ "required": [
2694
+ "name",
2695
+ "representations"
2696
+ ],
2697
+ "title": "Progression",
2698
+ "description": "An ordered choice of representations: the first to fetch, then the next."
2699
+ },
2700
+ "Project": {
2701
+ "properties": {
2702
+ "id": {
2703
+ "type": "string",
2704
+ "minLength": 1,
2705
+ "title": "Id",
2706
+ "description": "The project's id, assigned by the backend and opaque to the client.\nIt also addresses the project's model."
2707
+ },
2708
+ "name": {
2709
+ "type": "string",
2710
+ "minLength": 1,
2711
+ "title": "Name",
2712
+ "description": "The project's name, for people."
2713
+ },
2714
+ "definition": {
2715
+ "oneOf": [
2716
+ {
2717
+ "$ref": "#/components/schemas/FilesProject"
2718
+ }
2719
+ ],
2720
+ "title": "Definition",
2721
+ "description": "What the project draws its data from.",
2722
+ "discriminator": {
2723
+ "propertyName": "type",
2724
+ "mapping": {
2725
+ "files": "#/components/schemas/FilesProject"
2726
+ }
2727
+ }
2728
+ }
2729
+ },
2730
+ "additionalProperties": false,
2731
+ "type": "object",
2732
+ "required": [
2733
+ "id",
2734
+ "name",
2735
+ "definition"
2736
+ ],
2737
+ "title": "Project",
2738
+ "description": "A project, with its definition."
2739
+ },
2740
+ "ProjectList": {
2741
+ "properties": {
2742
+ "projects": {
2743
+ "items": {
2744
+ "$ref": "#/components/schemas/ProjectSummary"
2745
+ },
2746
+ "type": "array",
2747
+ "title": "Projects",
2748
+ "description": "The projects, in the backend's order."
2749
+ }
2750
+ },
2751
+ "additionalProperties": false,
2752
+ "type": "object",
2753
+ "required": [
2754
+ "projects"
2755
+ ],
2756
+ "title": "ProjectList",
2757
+ "description": "The projects a backend serves.\n\nThe list is wrapped in an object so that paging or filtering can be\nadded beside it without changing it."
2758
+ },
2759
+ "ProjectSummary": {
2760
+ "properties": {
2761
+ "id": {
2762
+ "type": "string",
2763
+ "minLength": 1,
2764
+ "title": "Id",
2765
+ "description": "The project's id, assigned by the backend and opaque to the client.\nIt also addresses the project's model."
2766
+ },
2767
+ "name": {
2768
+ "type": "string",
2769
+ "minLength": 1,
2770
+ "title": "Name",
2771
+ "description": "The project's name, for people."
2772
+ }
2773
+ },
2774
+ "additionalProperties": false,
2775
+ "type": "object",
2776
+ "required": [
2777
+ "id",
2778
+ "name"
2779
+ ],
2780
+ "title": "ProjectSummary",
2781
+ "description": "A project as a listing shows it."
2782
+ },
2783
+ "Representation": {
2784
+ "properties": {
2785
+ "name": {
2786
+ "type": "string",
2787
+ "minLength": 1,
2788
+ "title": "Name",
2789
+ "description": "The representation's name."
2790
+ },
2791
+ "kind": {
2792
+ "type": "string",
2793
+ "enum": [
2794
+ "points",
2795
+ "surface",
2796
+ "edges"
2797
+ ],
2798
+ "title": "Kind",
2799
+ "description": "Supported values: (points/surface/edges)"
2800
+ },
2801
+ "points": {
2802
+ "anyOf": [
2803
+ {
2804
+ "type": "string",
2805
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2806
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2807
+ },
2808
+ {
2809
+ "type": "null"
2810
+ }
2811
+ ],
2812
+ "title": "Points",
2813
+ "description": "For a surface or edges, the points representation whose points it indexes."
2814
+ },
2815
+ "fidelity": {
2816
+ "anyOf": [
2817
+ {
2818
+ "type": "string",
2819
+ "enum": [
2820
+ "full",
2821
+ "reduced"
2822
+ ],
2823
+ "description": "Supported values: (full/reduced)"
2824
+ },
2825
+ {
2826
+ "type": "null"
2827
+ }
2828
+ ],
2829
+ "title": "Fidelity",
2830
+ "description": "Whether the representation was reduced. Absent means full."
2831
+ }
2832
+ },
2833
+ "additionalProperties": false,
2834
+ "type": "object",
2835
+ "required": [
2836
+ "name",
2837
+ "kind"
2838
+ ],
2839
+ "title": "Representation",
2840
+ "description": "A way of drawing a mesh."
2841
+ },
2842
+ "Slab": {
2843
+ "properties": {
2844
+ "extent": {
2845
+ "anyOf": [
2846
+ {
2847
+ "$ref": "#/components/schemas/Extent"
2848
+ },
2849
+ {
2850
+ "type": "null"
2851
+ }
2852
+ ],
2853
+ "description": "The slab's bounds."
2854
+ }
2855
+ },
2856
+ "additionalProperties": false,
2857
+ "type": "object",
2858
+ "title": "Slab",
2859
+ "description": "One division of a mesh, fetched and culled on its own."
2860
+ },
2861
+ "Source": {
2862
+ "properties": {
2863
+ "locator": {
2864
+ "type": "string",
2865
+ "minLength": 1,
2866
+ "title": "Locator",
2867
+ "description": "Where the source is. Opaque to the protocol; the backend decides\nwhat it means — a path, an id, a URL."
2868
+ },
2869
+ "label": {
2870
+ "anyOf": [
2871
+ {
2872
+ "type": "string",
2873
+ "minLength": 1
2874
+ },
2875
+ {
2876
+ "type": "null"
2877
+ }
2878
+ ],
2879
+ "title": "Label",
2880
+ "description": "A display name for the source."
2881
+ },
2882
+ "attributes": {
2883
+ "anyOf": [
2884
+ {
2885
+ "additionalProperties": {
2886
+ "type": "string",
2887
+ "minLength": 1
2888
+ },
2889
+ "propertyNames": {
2890
+ "minLength": 1
2891
+ },
2892
+ "type": "object"
2893
+ },
2894
+ {
2895
+ "type": "null"
2896
+ }
2897
+ ],
2898
+ "title": "Attributes",
2899
+ "description": "Hints that narrow how the source's format is identified, each an\nattribute and the value it must have."
2900
+ }
2901
+ },
2902
+ "additionalProperties": false,
2903
+ "type": "object",
2904
+ "required": [
2905
+ "locator"
2906
+ ],
2907
+ "title": "Source",
2908
+ "description": "One file or directory a project draws data from.\n\nA source never names its format. The backend identifies the format from\nthe source itself; ``attributes`` narrow that identification where it\ncannot settle on its own, in the vocabulary of\n``vcti-path-format-attributes`` — ``path_type``, ``content``,\n``solver`` and the others it defines."
2909
+ },
2910
+ "SurfaceGeometry": {
2911
+ "properties": {
2912
+ "type": {
2913
+ "type": "string",
2914
+ "const": "surface",
2915
+ "title": "Type",
2916
+ "description": "The variant's tag."
2917
+ },
2918
+ "mesh": {
2919
+ "type": "string",
2920
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2921
+ "title": "Mesh",
2922
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2923
+ },
2924
+ "slab": {
2925
+ "anyOf": [
2926
+ {
2927
+ "type": "string",
2928
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2929
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2930
+ },
2931
+ {
2932
+ "type": "null"
2933
+ }
2934
+ ],
2935
+ "title": "Slab",
2936
+ "description": "The slab, for a divided mesh."
2937
+ },
2938
+ "representation": {
2939
+ "type": "string",
2940
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2941
+ "title": "Representation",
2942
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2943
+ },
2944
+ "points": {
2945
+ "type": "string",
2946
+ "pattern": "^(/[A-Za-z_][A-Za-z0-9_]*)+$",
2947
+ "title": "Points",
2948
+ "description": "An absolute USD prim path, naming something on a model's stage. The client takes paths from the structure and never builds one."
2949
+ },
2950
+ "indices": {
2951
+ "$ref": "#/components/schemas/ArrayDescriptor",
2952
+ "description": "Triangle indices into the points, three per triangle."
2953
+ },
2954
+ "source_element_ids": {
2955
+ "anyOf": [
2956
+ {
2957
+ "$ref": "#/components/schemas/ArrayDescriptor"
2958
+ },
2959
+ {
2960
+ "type": "null"
2961
+ }
2962
+ ],
2963
+ "description": "Each triangle's solver element id, or -1."
2964
+ }
2965
+ },
2966
+ "additionalProperties": false,
2967
+ "type": "object",
2968
+ "required": [
2969
+ "type",
2970
+ "mesh",
2971
+ "representation",
2972
+ "points",
2973
+ "indices"
2974
+ ],
2975
+ "title": "SurfaceGeometry",
2976
+ "description": "A surface representation of a mesh or slab: triangles over a points binding's points."
2977
+ },
2978
+ "ValidationError": {
2979
+ "properties": {
2980
+ "loc": {
2981
+ "items": {
2982
+ "anyOf": [
2983
+ {
2984
+ "type": "string"
2985
+ },
2986
+ {
2987
+ "type": "integer"
2988
+ }
2989
+ ]
2990
+ },
2991
+ "type": "array",
2992
+ "title": "Location"
2993
+ },
2994
+ "msg": {
2995
+ "type": "string",
2996
+ "title": "Message"
2997
+ },
2998
+ "type": {
2999
+ "type": "string",
3000
+ "title": "Error Type"
3001
+ },
3002
+ "input": {
3003
+ "title": "Input"
3004
+ },
3005
+ "ctx": {
3006
+ "type": "object",
3007
+ "title": "Context"
3008
+ }
3009
+ },
3010
+ "type": "object",
3011
+ "required": [
3012
+ "loc",
3013
+ "msg",
3014
+ "type"
3015
+ ],
3016
+ "title": "ValidationError"
3017
+ }
3018
+ }
3019
+ }
3020
+ }