@3dverse/api 0.10.0 → 0.10.2

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.
@@ -53,118 +53,6 @@ export type User = {
53
53
  /** The user registration date */
54
54
  registered_at: string;
55
55
  };
56
- export type AssetList = {
57
- action_maps?: Array<{
58
- /** Asset unique identifier */
59
- asset_id: string;
60
- name: string;
61
- }>;
62
- animation_graphs?: Array<{
63
- /** Asset unique identifier */
64
- asset_id: string;
65
- name: string;
66
- }>;
67
- animation_sequences?: Array<{
68
- /** Asset unique identifier */
69
- asset_id: string;
70
- name: string;
71
- }>;
72
- animation_sets?: Array<{
73
- /** Asset unique identifier */
74
- asset_id: string;
75
- name: string;
76
- }>;
77
- animations?: Array<{
78
- /** Asset unique identifier */
79
- asset_id: string;
80
- name: string;
81
- }>;
82
- collision_geometries?: Array<{
83
- /** Asset unique identifier */
84
- asset_id: string;
85
- name: string;
86
- }>;
87
- cubemaps?: Array<{
88
- /** Asset unique identifier */
89
- asset_id: string;
90
- name: string;
91
- }>;
92
- event_maps?: Array<{
93
- /** Asset unique identifier */
94
- asset_id: string;
95
- name: string;
96
- }>;
97
- materials?: Array<{
98
- /** Asset unique identifier */
99
- asset_id: string;
100
- name: string;
101
- }>;
102
- meshes?: Array<{
103
- /** Asset unique identifier */
104
- asset_id: string;
105
- name: string;
106
- }>;
107
- modules?: Array<{
108
- /** Asset unique identifier */
109
- asset_id: string;
110
- name: string;
111
- }>;
112
- point_clouds?: Array<{
113
- /** Asset unique identifier */
114
- asset_id: string;
115
- name: string;
116
- }>;
117
- render_graphs?: Array<{
118
- /** Asset unique identifier */
119
- asset_id: string;
120
- name: string;
121
- }>;
122
- scenes?: Array<{
123
- /** Asset unique identifier */
124
- asset_id: string;
125
- name: string;
126
- }>;
127
- scripts?: Array<{
128
- /** Asset unique identifier */
129
- asset_id: string;
130
- name: string;
131
- }>;
132
- shader_contexts?: Array<{
133
- /** Asset unique identifier */
134
- asset_id: string;
135
- name: string;
136
- }>;
137
- shaders?: Array<{
138
- /** Asset unique identifier */
139
- asset_id: string;
140
- name: string;
141
- }>;
142
- skeletons?: Array<{
143
- /** Asset unique identifier */
144
- asset_id: string;
145
- name: string;
146
- }>;
147
- sounds?: Array<{
148
- /** Asset unique identifier */
149
- asset_id: string;
150
- name: string;
151
- }>;
152
- textures?: Array<{
153
- /** Asset unique identifier */
154
- asset_id: string;
155
- name: string;
156
- }>;
157
- textures_3d?: Array<{
158
- /** Asset unique identifier */
159
- asset_id: string;
160
- name: string;
161
- }>;
162
- volume_materials?: Array<{
163
- /** Asset unique identifier */
164
- asset_id: string;
165
- name: string;
166
- }>;
167
- };
168
56
  /** The user token object only supplies a user token for validation when connecting to a session. */
169
57
  export type Token = {
170
58
  user_token: string;
@@ -204,7 +92,7 @@ export type UploadTaskId = string;
204
92
  /** Folder unique identifier */
205
93
  export type FolderId = string;
206
94
  export type ConversionProgress = number;
207
- /** Asset unique identifier */
95
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
208
96
  export type AssetId = string;
209
97
  /** Source file unique identifier */
210
98
  export type SourceFileId = string;
@@ -236,7 +124,7 @@ export type UploadTask = {
236
124
  * This is only available if the source file is being downloaded.
237
125
  */
238
126
  download_progress?: ConversionProgress;
239
- status: ('waiting' | 'downloading' | 'pending' | 'converting' | 'error' | 'success' | 'rejected') & string;
127
+ status: ('waiting' | 'downloading' | 'extracting' | 'pending' | 'converting' | 'error' | 'success' | 'rejected') & string;
240
128
  conversion_tasks: Array<ConversionTask>;
241
129
  };
242
130
  /**
@@ -281,6 +169,12 @@ export type AssetListFilters = {
281
169
  asset_types?: Array<'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material'>;
282
170
  /** Look for assets associated with or without libraries */
283
171
  library?: Array<string> | string | 'exclude';
172
+ /**
173
+ * The assets shared at these scopes, an asset's widest: `environment`, the folder's assets shared no further;
174
+ * `platform`, those shared with the platform, the folder's and those of any other environment. The folder's
175
+ * assets alone when absent.
176
+ */
177
+ sharing_scopes?: Array<'environment' | 'platform'>;
284
178
  /** Look for assets associated with or without source files */
285
179
  source_file?: Array<string> | string | 'exclude';
286
180
  };
@@ -295,7 +189,119 @@ export type AssetsCount = {
295
189
  /** Total number of assets in target folder of specific type. */
296
190
  [asset_type: string]: number;
297
191
  };
298
- export type AssetTypeCreatable = 'action_map' | 'animation_graph' | 'animation_sequence' | 'cubemap' | 'event_map' | 'material' | 'module' | 'render_graph' | 'scene' | 'script' | 'shader' | 'volume_material';
192
+ export type AssetList = {
193
+ action_maps?: Array<{
194
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
195
+ asset_id: string;
196
+ name: string;
197
+ }>;
198
+ animation_graphs?: Array<{
199
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
200
+ asset_id: string;
201
+ name: string;
202
+ }>;
203
+ animation_sequences?: Array<{
204
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
205
+ asset_id: string;
206
+ name: string;
207
+ }>;
208
+ animation_sets?: Array<{
209
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
210
+ asset_id: string;
211
+ name: string;
212
+ }>;
213
+ animations?: Array<{
214
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
215
+ asset_id: string;
216
+ name: string;
217
+ }>;
218
+ collision_geometries?: Array<{
219
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
220
+ asset_id: string;
221
+ name: string;
222
+ }>;
223
+ cubemaps?: Array<{
224
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
225
+ asset_id: string;
226
+ name: string;
227
+ }>;
228
+ event_maps?: Array<{
229
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
230
+ asset_id: string;
231
+ name: string;
232
+ }>;
233
+ materials?: Array<{
234
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
235
+ asset_id: string;
236
+ name: string;
237
+ }>;
238
+ meshes?: Array<{
239
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
240
+ asset_id: string;
241
+ name: string;
242
+ }>;
243
+ modules?: Array<{
244
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
245
+ asset_id: string;
246
+ name: string;
247
+ }>;
248
+ point_clouds?: Array<{
249
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
250
+ asset_id: string;
251
+ name: string;
252
+ }>;
253
+ render_graphs?: Array<{
254
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
255
+ asset_id: string;
256
+ name: string;
257
+ }>;
258
+ scenes?: Array<{
259
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
260
+ asset_id: string;
261
+ name: string;
262
+ }>;
263
+ scripts?: Array<{
264
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
265
+ asset_id: string;
266
+ name: string;
267
+ }>;
268
+ shader_contexts?: Array<{
269
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
270
+ asset_id: string;
271
+ name: string;
272
+ }>;
273
+ shaders?: Array<{
274
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
275
+ asset_id: string;
276
+ name: string;
277
+ }>;
278
+ skeletons?: Array<{
279
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
280
+ asset_id: string;
281
+ name: string;
282
+ }>;
283
+ sounds?: Array<{
284
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
285
+ asset_id: string;
286
+ name: string;
287
+ }>;
288
+ textures?: Array<{
289
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
290
+ asset_id: string;
291
+ name: string;
292
+ }>;
293
+ textures_3d?: Array<{
294
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
295
+ asset_id: string;
296
+ name: string;
297
+ }>;
298
+ volume_materials?: Array<{
299
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
300
+ asset_id: string;
301
+ name: string;
302
+ }>;
303
+ };
304
+ export type AssetTypeCreatable = 'action_map' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'cubemap' | 'event_map' | 'material' | 'module' | 'render_graph' | 'scene' | 'script' | 'shader' | 'volume_material';
299
305
  /** Asset description */
300
306
  export type BasicAssetDescription = {
301
307
  uuid?: AssetId;
@@ -303,7 +309,7 @@ export type BasicAssetDescription = {
303
309
  };
304
310
  export type AssetType = 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
305
311
  export type AssetItem = {
306
- /** Asset unique identifier */
312
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
307
313
  asset_id: string;
308
314
  name: string;
309
315
  };
@@ -337,9 +343,18 @@ export type Cubemap = {
337
343
  export type SessionId = string;
338
344
  /** Client unique identifier */
339
345
  export type ClientId = string;
346
+ /**
347
+ * What an application attaches to a session it creates, or to a client it joins one with, which the service keeps
348
+ * and answers as is, never reading it: up to 32 keys, each a string of up to 512 characters, set once
349
+ */
350
+ export type Metadata = {
351
+ [_additionalproperties_: string]: string;
352
+ };
340
353
  export type Client = {
341
354
  client_id?: ClientId;
342
355
  client_type?: 'user' | 'guest';
356
+ /** What the application which joined with this client attached to it, empty for none */
357
+ metadata?: Metadata;
343
358
  user_id: UserId;
344
359
  /** Used only for debug purposes */
345
360
  username: string;
@@ -373,14 +388,18 @@ export type Session = {
373
388
  is_transient_session: boolean;
374
389
  /** Current clients in session */
375
390
  clients: Array<Client>;
391
+ /** What the application which created the session attached to it, empty for none */
392
+ metadata: Metadata;
376
393
  };
377
394
  /**
378
395
  * - `draft`: the plan is being reviewed, and expires unless confirmed.
379
- * - `queued`: confirmed, waiting for a content service to fill the copies: never leased yet, or its lease expired.
380
396
  * - `running`: confirmed, and leased to a content service filling the copies.
397
+ * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,
398
+ * with `grabDuplicationRequest`.
399
+ * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.
381
400
  * - `failed`: given up, with its error. Its copies are deleted.
382
401
  */
383
- export type DuplicationRequestState = 'draft' | 'queued' | 'running' | 'failed';
402
+ export type DuplicationRequestState = 'draft' | 'queued' | 'running' | 'completed' | 'failed';
384
403
  export type DuplicationRequestSummary = {
385
404
  /** How many copies the request makes, the excluded ones left out */
386
405
  asset_count: number;
@@ -396,20 +415,22 @@ export type DuplicationRequestSummary = {
396
415
  /** The size of the payloads to copy, in bytes */
397
416
  payload_size: number;
398
417
  roots: Array<{
399
- /** Asset unique identifier */
418
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
400
419
  asset_id: string;
401
420
  asset_type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
402
- /** Asset unique identifier */
421
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
403
422
  duplicated_from: string;
404
423
  name: string;
405
424
  }>;
406
425
  /**
407
426
  * - `draft`: the plan is being reviewed, and expires unless confirmed.
408
- * - `queued`: confirmed, waiting for a content service to fill the copies: never leased yet, or its lease expired.
409
427
  * - `running`: confirmed, and leased to a content service filling the copies.
428
+ * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,
429
+ * with `grabDuplicationRequest`.
430
+ * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.
410
431
  * - `failed`: given up, with its error. Its copies are deleted.
411
432
  */
412
- state: 'draft' | 'queued' | 'running' | 'failed';
433
+ state: 'draft' | 'queued' | 'running' | 'completed' | 'failed';
413
434
  /** User unique identifier */
414
435
  user_id: string;
415
436
  };
@@ -422,19 +443,20 @@ export type DuplicationFolderByType = {
422
443
  folder_id: string;
423
444
  };
424
445
  /**
425
- * A plan duplicating assets: the copies, created in the graph but in no folder until the request completes, each
426
- * `DUPLICATED_FROM` its source. The content service fills them, from their sources, then completes the request.
446
+ * A plan duplicating assets: the copies, planned in a draft, then created in the graph once confirmed, in no folder
447
+ * until the request completes, each `DUPLICATED_FROM` its source. The content service fills them, from their sources,
448
+ * then completes the request.
427
449
  */
428
450
  export type DuplicationRequest = {
429
451
  asset_types?: Array<'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material'>;
430
- /** The copies, sorted by id. A failed request has none left. */
452
+ /** The copies, sorted by id. A completed or failed request has none left. */
431
453
  assets: Array<{
432
454
  /** The id of the copy */
433
455
  asset_id: string;
434
456
  asset_type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
435
457
  /** What it depends on, copies and sources alike */
436
458
  dependencies: Array<{
437
- /** Asset unique identifier */
459
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
438
460
  asset_id: string;
439
461
  count: number;
440
462
  }>;
@@ -467,7 +489,7 @@ export type DuplicationRequest = {
467
489
  duplication_request_id: string;
468
490
  /** Why a failed request failed */
469
491
  error?: string;
470
- /** When a draft, or a failed request, is deleted */
492
+ /** When a draft, a completed request or a failed one is deleted */
471
493
  expires_at?: string;
472
494
  folders_by_type: Array<{
473
495
  asset_type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
@@ -480,18 +502,20 @@ export type DuplicationRequest = {
480
502
  lease_token?: string;
481
503
  /**
482
504
  * - `draft`: the plan is being reviewed, and expires unless confirmed.
483
- * - `queued`: confirmed, waiting for a content service to fill the copies: never leased yet, or its lease expired.
484
505
  * - `running`: confirmed, and leased to a content service filling the copies.
506
+ * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,
507
+ * with `grabDuplicationRequest`.
508
+ * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.
485
509
  * - `failed`: given up, with its error. Its copies are deleted.
486
510
  */
487
- state: 'draft' | 'queued' | 'running' | 'failed';
511
+ state: 'draft' | 'queued' | 'running' | 'completed' | 'failed';
488
512
  /** The user duplicating the assets */
489
513
  user_id: string;
490
514
  };
491
515
  export type AssetDuplicationResult = {
492
516
  /** List of created assets */
493
517
  created_assets: Array<{
494
- /** Asset unique identifier */
518
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
495
519
  asset_id: string;
496
520
  asset_type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
497
521
  /** Folder unique identifier */
@@ -501,7 +525,7 @@ export type AssetDuplicationResult = {
501
525
  duplication_request_id?: string;
502
526
  /** Map of source asset ids to copied asset ids */
503
527
  source_to_copy_asset_id_map: {
504
- /** Asset unique identifier */
528
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
505
529
  [source_asset_id: string]: string;
506
530
  };
507
531
  };
@@ -513,9 +537,9 @@ export type SupportedSourceFileFormats = {
513
537
  associated_file_extensions?: {
514
538
  [_additionalproperties_: string]: Array<string>;
515
539
  };
516
- /** Per sub-pipeline breakdown, keyed by converter name. */
540
+ /** Per converter breakdown, keyed by converter name. */
517
541
  converters: {
518
- /** One sub-pipeline of a conversion type. */
542
+ /** One converter of a conversion type. */
519
543
  [_additionalproperties_: string]: {
520
544
  associated_file_extensions?: {
521
545
  [_additionalproperties_: string]: Array<string>;
@@ -535,9 +559,9 @@ export type SupportedSourceFileFormats = {
535
559
  associated_file_extensions?: {
536
560
  [_additionalproperties_: string]: Array<string>;
537
561
  };
538
- /** Per sub-pipeline breakdown, keyed by converter name. */
562
+ /** Per converter breakdown, keyed by converter name. */
539
563
  converters: {
540
- /** One sub-pipeline of a conversion type. */
564
+ /** One converter of a conversion type. */
541
565
  [_additionalproperties_: string]: {
542
566
  associated_file_extensions?: {
543
567
  [_additionalproperties_: string]: Array<string>;
@@ -557,9 +581,9 @@ export type SupportedSourceFileFormats = {
557
581
  associated_file_extensions?: {
558
582
  [_additionalproperties_: string]: Array<string>;
559
583
  };
560
- /** Per sub-pipeline breakdown, keyed by converter name. */
584
+ /** Per converter breakdown, keyed by converter name. */
561
585
  converters: {
562
- /** One sub-pipeline of a conversion type. */
586
+ /** One converter of a conversion type. */
563
587
  [_additionalproperties_: string]: {
564
588
  associated_file_extensions?: {
565
589
  [_additionalproperties_: string]: Array<string>;
@@ -579,9 +603,9 @@ export type SupportedSourceFileFormats = {
579
603
  associated_file_extensions?: {
580
604
  [_additionalproperties_: string]: Array<string>;
581
605
  };
582
- /** Per sub-pipeline breakdown, keyed by converter name. */
606
+ /** Per converter breakdown, keyed by converter name. */
583
607
  converters: {
584
- /** One sub-pipeline of a conversion type. */
608
+ /** One converter of a conversion type. */
585
609
  [_additionalproperties_: string]: {
586
610
  associated_file_extensions?: {
587
611
  [_additionalproperties_: string]: Array<string>;
@@ -601,9 +625,9 @@ export type SupportedSourceFileFormats = {
601
625
  associated_file_extensions?: {
602
626
  [_additionalproperties_: string]: Array<string>;
603
627
  };
604
- /** Per sub-pipeline breakdown, keyed by converter name. */
628
+ /** Per converter breakdown, keyed by converter name. */
605
629
  converters: {
606
- /** One sub-pipeline of a conversion type. */
630
+ /** One converter of a conversion type. */
607
631
  [_additionalproperties_: string]: {
608
632
  associated_file_extensions?: {
609
633
  [_additionalproperties_: string]: Array<string>;
@@ -623,9 +647,9 @@ export type SupportedSourceFileFormats = {
623
647
  associated_file_extensions?: {
624
648
  [_additionalproperties_: string]: Array<string>;
625
649
  };
626
- /** Per sub-pipeline breakdown, keyed by converter name. */
650
+ /** Per converter breakdown, keyed by converter name. */
627
651
  converters: {
628
- /** One sub-pipeline of a conversion type. */
652
+ /** One converter of a conversion type. */
629
653
  [_additionalproperties_: string]: {
630
654
  associated_file_extensions?: {
631
655
  [_additionalproperties_: string]: Array<string>;
@@ -642,90 +666,37 @@ export type SupportedSourceFileFormats = {
642
666
  };
643
667
  /** Conversion task unique identifier */
644
668
  export type ConversionTaskId = string;
645
- /** Data Pipeline unique identifier. */
646
- export type DataPipelineId = string;
647
669
  /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */
648
- export type PipelineId = string;
649
- /** Instance of a Data Pipeline. */
650
- export type Pipeline = {
651
- /** Data Pipeline unique identifier. */
652
- data_pipeline_id: string;
653
- /** Unique identifier of an environment */
654
- environment_id: string;
655
- /** Reason why the pipeline failed or was rejected, if applicable. */
656
- error?: string;
657
- /** Stable, machine-readable category for why a pipeline/job/step failed or was rejected. Meant for programmatic handling (e.g. displaying a localized, user-facing message) — the accompanying `error` field carries the technical detail. `processing_failed` is a catch-all used whenever the failure doesn't fall into one of the other, more specific categories. */
658
- error_code?: 'quota_exceeded' | 'unsupported_file_format' | 'nothing_to_process' | 'enqueue_failed' | 'download_failed' | 'extraction_failed' | 'processing_failed';
659
- /** Date and time when the pipeline was completed, either successfully or with errors. */
660
- finished_at?: string;
661
- /** Folder unique identifier */
662
- folder_id: string;
663
- jobs: Array<{
664
- /** Reason why the job failed, if applicable. */
665
- error?: string;
666
- /** Stable, machine-readable category for why a pipeline/job/step failed or was rejected. Meant for programmatic handling (e.g. displaying a localized, user-facing message) — the accompanying `error` field carries the technical detail. `processing_failed` is a catch-all used whenever the failure doesn't fall into one of the other, more specific categories. */
667
- error_code?: 'quota_exceeded' | 'unsupported_file_format' | 'nothing_to_process' | 'enqueue_failed' | 'download_failed' | 'extraction_failed' | 'processing_failed';
668
- /** Date and time when the job was completed, either successfully or with errors. */
669
- finished_at?: string;
670
- /** Data Pipeline job unique identifier. */
671
- job_id: string;
672
- /** Name of the job. */
673
- name: string;
674
- /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */
675
- pipeline_id: string;
676
- progress: number;
677
- /** Date and time when the job was queued for processing. */
678
- queued_at?: string;
679
- /** Date and time when the job was started. */
680
- started_at?: string;
681
- /** Possible status of a job. */
682
- status: 'created' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';
683
- steps: Array<{
684
- /** Reason why the step failed, if applicable. */
685
- error?: string;
686
- /** Stable, machine-readable category for why a pipeline/job/step failed or was rejected. Meant for programmatic handling (e.g. displaying a localized, user-facing message) — the accompanying `error` field carries the technical detail. `processing_failed` is a catch-all used whenever the failure doesn't fall into one of the other, more specific categories. */
687
- error_code?: 'quota_exceeded' | 'unsupported_file_format' | 'nothing_to_process' | 'enqueue_failed' | 'download_failed' | 'extraction_failed' | 'processing_failed';
688
- /** Date and time when the step was completed, either successfully or with errors. */
689
- finished_at?: string;
690
- /** Data Pipeline job unique identifier. */
691
- job_id: string;
692
- /** Name of the step. */
693
- name: string;
694
- progress: number;
695
- /** Date and time when the step was started. */
696
- started_at?: string;
697
- /** Possible status of a step. */
698
- status: 'created' | 'skipped' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';
699
- /** Data Pipeline job step unique identifier. */
700
- step_id: string;
701
- }>;
702
- }>;
703
- /** Name of the pipeline. */
704
- name: string;
705
- /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */
706
- pipeline_id: string;
707
- progress: number;
708
- /** Date and time when the pipeline was accepted by the system and queued for processing. */
709
- queued_at?: string;
710
- /** Possible status of a pipeline. */
711
- status: 'created' | 'downloading' | 'extracting' | 'pending-approval' | 'queued' | 'running' | 'passed-with-errors' | 'failed' | 'rejected' | 'succeeded';
712
- /** Date and time when the pipeline was triggered. */
713
- triggered_at: string;
714
- /** User unique identifier */
715
- user_id: string;
716
- };
670
+ export type DataPipelineId = string;
671
+ /** Import unique identifier, which this service mints: the id of the pipeline running it. */
672
+ export type ImportId = string;
717
673
  export type AssetContainer = 'action_maps' | 'animations' | 'animation_graphs' | 'animation_sequences' | 'animation_sets' | 'collision_geometries' | 'cubemaps' | 'event_maps' | 'materials' | 'meshes' | 'modules' | 'point_clouds' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'shader_contexts' | 'skeletons' | 'sounds' | 'textures' | 'textures_3d' | 'volume_materials';
718
- /** Generic details of an asset */
674
+ /** An error the gateway raised, or one of the services it calls answered */
675
+ export type ServiceError = {
676
+ /** The error's code, unique in the service, e.g. 1010 for UploadTaskNotFound */
677
+ errorCode: number;
678
+ /** The response's status code */
679
+ httpCode: number;
680
+ /** What went wrong, for a human */
681
+ message: string;
682
+ /** Details specific to each error, e.g. the ids it concerns, or the reason of a refusal */
683
+ [_additionalproperties_: string]: any;
684
+ };
685
+ /** An asset as platform-management holds it, where it is included, and how it was edited */
719
686
  export type AssetDetails = {
687
+ asset_container: 'action_maps' | 'animations' | 'animation_graphs' | 'animation_sequences' | 'animation_sets' | 'collision_geometries' | 'cubemaps' | 'event_maps' | 'materials' | 'meshes' | 'modules' | 'point_clouds' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'shader_contexts' | 'skeletons' | 'sounds' | 'textures' | 'textures_3d' | 'volume_materials';
688
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
720
689
  asset_id: string;
690
+ asset_type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
721
691
  contributors?: Array<{
722
692
  contribution_count: number;
723
- /**
724
- * This object represents a user in a 3dverse project.
725
- * This object contains group and task information about the user.
726
- * The user object lets you create or update user tokens that identify the useron the 3dverse platform.
727
- */
693
+ /** A user of an environment: a registered user, an account's user, or the environment's tenant. */
728
694
  user: {
695
+ /**
696
+ * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own
697
+ * operations answer UserNotFound.
698
+ */
699
+ deleted?: true;
729
700
  /** The user registration date */
730
701
  registered_at: string;
731
702
  /** User unique identifier */
@@ -734,27 +705,45 @@ export type AssetDetails = {
734
705
  username: string;
735
706
  };
736
707
  }>;
708
+ /** When the asset was created, absent when unknown */
737
709
  created_at?: string;
738
- /**
739
- * This object represents a user in a 3dverse project.
740
- * This object contains group and task information about the user.
741
- * The user object lets you create or update user tokens that identify the useron the 3dverse platform.
742
- */
710
+ /** The user who created the asset, absent when unknown */
743
711
  created_by?: {
744
- /** The user registration date */
745
- registered_at: string;
712
+ /**
713
+ * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own
714
+ * operations answer UserNotFound.
715
+ */
716
+ deleted?: true;
746
717
  /** User unique identifier */
747
718
  user_id: string;
748
- /** The username that will be displayed in monitoring tools. */
719
+ /** The username of the user */
749
720
  username: string;
750
721
  };
751
- last_edited_at?: string;
722
+ /** Unique identifier of an environment */
723
+ environment_id: string;
724
+ environment_slug: string;
725
+ /** Folder unique identifier */
726
+ folder_id: string;
752
727
  /**
753
- * This object represents a user in a 3dverse project.
754
- * This object contains group and task information about the user.
755
- * The user object lets you create or update user tokens that identify the useron the 3dverse platform.
728
+ * The path to the asset's folder from its root folder, the root first, the folder itself left out: empty for an
729
+ * asset in a root folder.
756
730
  */
731
+ folder_path: Array<{
732
+ /** Folder unique identifier */
733
+ folder_id: string;
734
+ /** Folder name */
735
+ name: string;
736
+ }>;
737
+ /** Whether the content service stores a thumbnail of the asset */
738
+ has_thumbnail: boolean;
739
+ last_edited_at?: string;
740
+ /** A user of an environment: a registered user, an account's user, or the environment's tenant. */
757
741
  last_edited_by?: {
742
+ /**
743
+ * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own
744
+ * operations answer UserNotFound.
745
+ */
746
+ deleted?: true;
758
747
  /** The user registration date */
759
748
  registered_at: string;
760
749
  /** User unique identifier */
@@ -762,8 +751,17 @@ export type AssetDetails = {
762
751
  /** The username that will be displayed in monitoring tools. */
763
752
  username: string;
764
753
  };
754
+ /** The library exporting the asset, if any */
755
+ library_id?: string;
765
756
  name: string;
766
- type: 'action_map' | 'animation' | 'animation_graph' | 'animation_sequence' | 'animation_set' | 'collision_geometry' | 'cubemap' | 'event_map' | 'material' | 'mesh' | 'module' | 'point_cloud' | 'render_graph' | 'scene' | 'script' | 'shader' | 'shader_context' | 'skeleton' | 'sound' | 'texture' | 'texture_3d' | 'volume_material';
757
+ /** Unique identifier of an organization */
758
+ organization_id: string;
759
+ organization_slug: string;
760
+ /** Unique identifier of a project */
761
+ project_id: string;
762
+ project_slug: string;
763
+ /** The source file the asset was imported from, if any */
764
+ source_file_id?: string;
767
765
  };
768
766
  export type AssetDescription = {
769
767
  actions: {
@@ -955,6 +953,8 @@ export type AssetDescription = {
955
953
  durationInMs: number;
956
954
  /** Name of the asset */
957
955
  name: string;
956
+ /** The size in byte of the compiled animation sequence library */
957
+ payloadSize?: number;
958
958
  /** The array of track UUIDs at play in this animation sequence */
959
959
  trackUUIDs: Array<string>;
960
960
  /** Unique identifier for the asset */
@@ -1104,6 +1104,8 @@ export type AssetDescription = {
1104
1104
  [_additionalproperties_: string]: any;
1105
1105
  };
1106
1106
  };
1107
+ /** Other modules this module uses */
1108
+ moduleDependencies?: Array<string>;
1107
1109
  /** Name of the asset */
1108
1110
  name: string;
1109
1111
  /** Unique identifier for the asset */
@@ -1206,8 +1208,8 @@ export type AssetDescription = {
1206
1208
  /** Name of the asset */
1207
1209
  name: string;
1208
1210
  /** Descriptions of all nodes */
1209
- nodeDataDescriptions: Array<StrictUnion<{
1210
- type?: 0;
1211
+ nodeDataDescriptions: Array<({
1212
+ type: 0;
1211
1213
  } | {
1212
1214
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
1213
1215
  batchType?: number;
@@ -1246,7 +1248,7 @@ export type AssetDescription = {
1246
1248
  };
1247
1249
  /** A reference to a shader */
1248
1250
  shaderRef?: string;
1249
- type?: 1;
1251
+ type: 1;
1250
1252
  } | {
1251
1253
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
1252
1254
  batchType?: number;
@@ -1281,7 +1283,7 @@ export type AssetDescription = {
1281
1283
  };
1282
1284
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
1283
1285
  shaderContextIndex: number;
1284
- type?: 2;
1286
+ type: 2;
1285
1287
  } | {
1286
1288
  /** @deprecated Const data type */
1287
1289
  constDataType?: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24) & number;
@@ -1295,14 +1297,14 @@ export type AssetDescription = {
1295
1297
  };
1296
1298
  /** A reference to a shader */
1297
1299
  shaderRef?: string;
1298
- type?: 3;
1300
+ type: 3;
1299
1301
  } | {
1300
1302
  filter?: number;
1301
1303
  /** Source render target */
1302
1304
  inputRenderTargetIndices?: Array<number>;
1303
1305
  /** Destination render target */
1304
1306
  outputRenderTargetIndices?: Array<number>;
1305
- type?: 4;
1307
+ type: 4;
1306
1308
  } | {
1307
1309
  /** Specialization constants values for the specified shader */
1308
1310
  constantsJson?: {
@@ -1314,19 +1316,19 @@ export type AssetDescription = {
1314
1316
  };
1315
1317
  /** A reference to a shader */
1316
1318
  shaderRef?: string;
1317
- type?: 5;
1319
+ type: 5;
1318
1320
  } | {
1319
1321
  /** Source render target */
1320
1322
  inputRenderTargetIndices?: Array<number>;
1321
1323
  /** Destination render target */
1322
1324
  outputRenderTargetIndices?: Array<number>;
1323
- type?: 6;
1325
+ type: 6;
1324
1326
  } | {
1325
1327
  /** Source render target */
1326
1328
  inputRenderTargetIndices?: Array<number>;
1327
1329
  /** Destination render target */
1328
1330
  outputRenderTargetIndices?: Array<number>;
1329
- type?: 7;
1331
+ type: 7;
1330
1332
  } | {
1331
1333
  /** Specialization constants values for the specified shader */
1332
1334
  constantsJson?: {
@@ -1363,18 +1365,18 @@ export type AssetDescription = {
1363
1365
  };
1364
1366
  /** A reference to a shader */
1365
1367
  shaderRef?: string;
1366
- type?: 8;
1368
+ type: 8;
1367
1369
  } | {
1368
1370
  filter?: number;
1369
1371
  /** Source render target */
1370
1372
  inputRenderTargetIndices?: Array<number>;
1371
1373
  /** Mip generation mode */
1372
1374
  mode?: (0 | 1) & number;
1373
- type?: 9;
1375
+ type: 9;
1374
1376
  } | {
1375
1377
  /** Source render target */
1376
1378
  inputRenderTargetIndices?: Array<number>;
1377
- type?: 10;
1379
+ type: 10;
1378
1380
  } | {
1379
1381
  /** Specialization constants values for the specified shader */
1380
1382
  constantsJson?: {
@@ -1390,7 +1392,7 @@ export type AssetDescription = {
1390
1392
  mode?: (0 | 1) & number;
1391
1393
  /** A reference to a shader */
1392
1394
  shaderRef?: string;
1393
- type?: 11;
1395
+ type: 11;
1394
1396
  } | {
1395
1397
  /** Clear value */
1396
1398
  clearValue?: Array<number> | Array<number> | Array<number> | {
@@ -1401,7 +1403,7 @@ export type AssetDescription = {
1401
1403
  clearValueType?: StrictUnion<0 | 1 | 2 | 3>;
1402
1404
  /** Render targets to clear */
1403
1405
  outputRenderTargetIndices?: Array<number>;
1404
- type?: 13;
1406
+ type: 13;
1405
1407
  } | {
1406
1408
  /** Name of the buffer */
1407
1409
  bufferName?: string;
@@ -1411,7 +1413,7 @@ export type AssetDescription = {
1411
1413
  bufferSize?: number;
1412
1414
  /** Value to fill the buffer with */
1413
1415
  bufferValue?: number;
1414
- type?: 15;
1416
+ type: 15;
1415
1417
  } | {
1416
1418
  /** Specialization constants values for the specified shader */
1417
1419
  constantsJson?: {
@@ -1448,7 +1450,7 @@ export type AssetDescription = {
1448
1450
  };
1449
1451
  /** A reference to a shader */
1450
1452
  shaderRef?: string;
1451
- type?: 16;
1453
+ type: 16;
1452
1454
  } | {
1453
1455
  /** Data provided to the shader through the node data buffer */
1454
1456
  dataJson?: {
@@ -1456,7 +1458,7 @@ export type AssetDescription = {
1456
1458
  };
1457
1459
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
1458
1460
  shaderContextIndex: number;
1459
- type?: 17;
1461
+ type: 17;
1460
1462
  } | {
1461
1463
  /** Depth bias clamp */
1462
1464
  depthBiasClamp?: number;
@@ -1464,7 +1466,7 @@ export type AssetDescription = {
1464
1466
  depthBiasConstantFactor?: number;
1465
1467
  /** Depth bias slope factor */
1466
1468
  depthBiasSlopeFactor?: number;
1467
- type?: 18;
1469
+ type: 18;
1468
1470
  } | {
1469
1471
  /** Specialization constants values for the specified shader */
1470
1472
  constantsJson?: {
@@ -1476,8 +1478,8 @@ export type AssetDescription = {
1476
1478
  };
1477
1479
  /** A reference to a shader */
1478
1480
  shaderRef?: string;
1479
- type?: 19;
1480
- }> & {
1481
+ type: 19;
1482
+ }) & {
1481
1483
  /** Index into the conditions array; -1 if unconditional */
1482
1484
  conditionIndex?: number;
1483
1485
  /** Node name */
@@ -2070,7 +2072,7 @@ export type AssetDescription = {
2070
2072
  /** Unique identifier for the asset */
2071
2073
  uuid: string;
2072
2074
  };
2073
- export type AssetContainerEditable = 'action_maps' | 'animation_graphs' | 'animation_sequences' | 'cubemaps' | 'event_maps' | 'materials' | 'modules' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'volume_materials';
2075
+ export type AssetContainerEditable = 'action_maps' | 'animation_graphs' | 'animation_sequences' | 'animation_sets' | 'cubemaps' | 'event_maps' | 'materials' | 'modules' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'volume_materials';
2074
2076
  export type EditableAssetDescription = {
2075
2077
  actions: {
2076
2078
  [action_name: string]: {
@@ -2236,23 +2238,46 @@ export type EditableAssetDescription = {
2236
2238
  durationInMs: number;
2237
2239
  /** Name of the asset */
2238
2240
  name: string;
2241
+ /** The size in byte of the compiled animation sequence library */
2242
+ payloadSize?: number;
2239
2243
  /** The array of track UUIDs at play in this animation sequence */
2240
2244
  trackUUIDs: Array<string>;
2241
2245
  /** Unique identifier for the asset */
2242
2246
  uuid: string;
2243
2247
  } | {
2244
- /** The 6 images forming the cube faces */
2245
- faces: Array<string>;
2246
- /** Name of the asset */
2247
- name: string;
2248
- /** Unique identifier for the asset */
2249
- uuid: string;
2250
- } | {
2251
- /** A map of events and their parameters descriptors */
2252
- events: {
2253
- /** Event name to parameters descriptor */
2254
- [event_name: string]: Array<{
2255
- /** Parameter default value */
2248
+ /** Parent animation graph */
2249
+ animationGraphUUID: string;
2250
+ /** The animation set */
2251
+ animationSet: Array<{
2252
+ /** Key of the animation in the animation graph */
2253
+ animationKey: number;
2254
+ /** The referenced animation for the specified key */
2255
+ animationRef: string;
2256
+ }>;
2257
+ /** The bone mask set */
2258
+ boneMaskSet?: Array<{
2259
+ /** The bone mask. An array of floats which corresponds to the weight per bone */
2260
+ boneMask: Array<number>;
2261
+ /** Key of the bone mask in the animation graph */
2262
+ boneMaskKey: number;
2263
+ }>;
2264
+ /** Name of the asset */
2265
+ name: string;
2266
+ /** Unique identifier for the asset */
2267
+ uuid: string;
2268
+ } | {
2269
+ /** The 6 images forming the cube faces */
2270
+ faces: Array<string>;
2271
+ /** Name of the asset */
2272
+ name: string;
2273
+ /** Unique identifier for the asset */
2274
+ uuid: string;
2275
+ } | {
2276
+ /** A map of events and their parameters descriptors */
2277
+ events: {
2278
+ /** Event name to parameters descriptor */
2279
+ [event_name: string]: Array<{
2280
+ /** Parameter default value */
2256
2281
  default?: number | string | boolean | Array<number> | {
2257
2282
  [_additionalproperties_: string]: any;
2258
2283
  };
@@ -2287,6 +2312,8 @@ export type EditableAssetDescription = {
2287
2312
  [_additionalproperties_: string]: any;
2288
2313
  };
2289
2314
  };
2315
+ /** Other modules this module uses */
2316
+ moduleDependencies?: Array<string>;
2290
2317
  /** Name of the asset */
2291
2318
  name: string;
2292
2319
  /** Unique identifier for the asset */
@@ -2346,8 +2373,8 @@ export type EditableAssetDescription = {
2346
2373
  /** Name of the asset */
2347
2374
  name: string;
2348
2375
  /** Descriptions of all nodes */
2349
- nodeDataDescriptions: Array<StrictUnion<{
2350
- type?: 0;
2376
+ nodeDataDescriptions: Array<({
2377
+ type: 0;
2351
2378
  } | {
2352
2379
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
2353
2380
  batchType?: number;
@@ -2386,7 +2413,7 @@ export type EditableAssetDescription = {
2386
2413
  };
2387
2414
  /** A reference to a shader */
2388
2415
  shaderRef?: string;
2389
- type?: 1;
2416
+ type: 1;
2390
2417
  } | {
2391
2418
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
2392
2419
  batchType?: number;
@@ -2421,7 +2448,7 @@ export type EditableAssetDescription = {
2421
2448
  };
2422
2449
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
2423
2450
  shaderContextIndex: number;
2424
- type?: 2;
2451
+ type: 2;
2425
2452
  } | {
2426
2453
  /** @deprecated Const data type */
2427
2454
  constDataType?: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24) & number;
@@ -2435,14 +2462,14 @@ export type EditableAssetDescription = {
2435
2462
  };
2436
2463
  /** A reference to a shader */
2437
2464
  shaderRef?: string;
2438
- type?: 3;
2465
+ type: 3;
2439
2466
  } | {
2440
2467
  filter?: number;
2441
2468
  /** Source render target */
2442
2469
  inputRenderTargetIndices?: Array<number>;
2443
2470
  /** Destination render target */
2444
2471
  outputRenderTargetIndices?: Array<number>;
2445
- type?: 4;
2472
+ type: 4;
2446
2473
  } | {
2447
2474
  /** Specialization constants values for the specified shader */
2448
2475
  constantsJson?: {
@@ -2454,19 +2481,19 @@ export type EditableAssetDescription = {
2454
2481
  };
2455
2482
  /** A reference to a shader */
2456
2483
  shaderRef?: string;
2457
- type?: 5;
2484
+ type: 5;
2458
2485
  } | {
2459
2486
  /** Source render target */
2460
2487
  inputRenderTargetIndices?: Array<number>;
2461
2488
  /** Destination render target */
2462
2489
  outputRenderTargetIndices?: Array<number>;
2463
- type?: 6;
2490
+ type: 6;
2464
2491
  } | {
2465
2492
  /** Source render target */
2466
2493
  inputRenderTargetIndices?: Array<number>;
2467
2494
  /** Destination render target */
2468
2495
  outputRenderTargetIndices?: Array<number>;
2469
- type?: 7;
2496
+ type: 7;
2470
2497
  } | {
2471
2498
  /** Specialization constants values for the specified shader */
2472
2499
  constantsJson?: {
@@ -2503,18 +2530,18 @@ export type EditableAssetDescription = {
2503
2530
  };
2504
2531
  /** A reference to a shader */
2505
2532
  shaderRef?: string;
2506
- type?: 8;
2533
+ type: 8;
2507
2534
  } | {
2508
2535
  filter?: number;
2509
2536
  /** Source render target */
2510
2537
  inputRenderTargetIndices?: Array<number>;
2511
2538
  /** Mip generation mode */
2512
2539
  mode?: (0 | 1) & number;
2513
- type?: 9;
2540
+ type: 9;
2514
2541
  } | {
2515
2542
  /** Source render target */
2516
2543
  inputRenderTargetIndices?: Array<number>;
2517
- type?: 10;
2544
+ type: 10;
2518
2545
  } | {
2519
2546
  /** Specialization constants values for the specified shader */
2520
2547
  constantsJson?: {
@@ -2530,7 +2557,7 @@ export type EditableAssetDescription = {
2530
2557
  mode?: (0 | 1) & number;
2531
2558
  /** A reference to a shader */
2532
2559
  shaderRef?: string;
2533
- type?: 11;
2560
+ type: 11;
2534
2561
  } | {
2535
2562
  /** Clear value */
2536
2563
  clearValue?: Array<number> | Array<number> | Array<number> | {
@@ -2541,7 +2568,7 @@ export type EditableAssetDescription = {
2541
2568
  clearValueType?: StrictUnion<0 | 1 | 2 | 3>;
2542
2569
  /** Render targets to clear */
2543
2570
  outputRenderTargetIndices?: Array<number>;
2544
- type?: 13;
2571
+ type: 13;
2545
2572
  } | {
2546
2573
  /** Name of the buffer */
2547
2574
  bufferName?: string;
@@ -2551,7 +2578,7 @@ export type EditableAssetDescription = {
2551
2578
  bufferSize?: number;
2552
2579
  /** Value to fill the buffer with */
2553
2580
  bufferValue?: number;
2554
- type?: 15;
2581
+ type: 15;
2555
2582
  } | {
2556
2583
  /** Specialization constants values for the specified shader */
2557
2584
  constantsJson?: {
@@ -2588,7 +2615,7 @@ export type EditableAssetDescription = {
2588
2615
  };
2589
2616
  /** A reference to a shader */
2590
2617
  shaderRef?: string;
2591
- type?: 16;
2618
+ type: 16;
2592
2619
  } | {
2593
2620
  /** Data provided to the shader through the node data buffer */
2594
2621
  dataJson?: {
@@ -2596,7 +2623,7 @@ export type EditableAssetDescription = {
2596
2623
  };
2597
2624
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
2598
2625
  shaderContextIndex: number;
2599
- type?: 17;
2626
+ type: 17;
2600
2627
  } | {
2601
2628
  /** Depth bias clamp */
2602
2629
  depthBiasClamp?: number;
@@ -2604,7 +2631,7 @@ export type EditableAssetDescription = {
2604
2631
  depthBiasConstantFactor?: number;
2605
2632
  /** Depth bias slope factor */
2606
2633
  depthBiasSlopeFactor?: number;
2607
- type?: 18;
2634
+ type: 18;
2608
2635
  } | {
2609
2636
  /** Specialization constants values for the specified shader */
2610
2637
  constantsJson?: {
@@ -2616,8 +2643,8 @@ export type EditableAssetDescription = {
2616
2643
  };
2617
2644
  /** A reference to a shader */
2618
2645
  shaderRef?: string;
2619
- type?: 19;
2620
- }> & {
2646
+ type: 19;
2647
+ }) & {
2621
2648
  /** Index into the conditions array; -1 if unconditional */
2622
2649
  conditionIndex?: number;
2623
2650
  /** Node name */
@@ -2901,167 +2928,733 @@ export type EditableAssetDescription = {
2901
2928
  [_additionalproperties_: string]: number | boolean;
2902
2929
  };
2903
2930
  };
2904
- /** Parameter type */
2905
- type: 'vec4' | 'ivec4' | 'quat' | 'color_alpha' | 'vec3' | 'ivec3' | 'color' | 'vec2' | 'ivec2' | 'float' | 'int' | 'uint' | 'bool' | 'texture' | 'render_target_index' | 'buffer';
2906
- }>;
2907
- /** Descriptions of all modules that compose this shader */
2908
- moduleDescriptions?: Array<{
2909
- /** Names of the bindings used by this module */
2910
- bindings?: Array<string>;
2911
- /** Constants used by this module */
2912
- constants?: {
2913
- [_additionalproperties_: string]: Array<number>;
2931
+ /** Parameter type */
2932
+ type: 'vec4' | 'ivec4' | 'quat' | 'color_alpha' | 'vec3' | 'ivec3' | 'color' | 'vec2' | 'ivec2' | 'float' | 'int' | 'uint' | 'bool' | 'texture' | 'render_target_index' | 'buffer';
2933
+ }>;
2934
+ /** Descriptions of all modules that compose this shader */
2935
+ moduleDescriptions?: Array<{
2936
+ /** Names of the bindings used by this module */
2937
+ bindings?: Array<string>;
2938
+ /** Constants used by this module */
2939
+ constants?: {
2940
+ [_additionalproperties_: string]: Array<number>;
2941
+ };
2942
+ /** Entry point of the shader module */
2943
+ entryPoint?: string;
2944
+ /** Outputs of this shader module (e.g. a fragment shader's color attachments, or the last stage's varying outputs), used to validate the module's compatibility with a render pipeline */
2945
+ outputs?: Array<{
2946
+ /** Output location */
2947
+ location: number;
2948
+ /** Output variable name */
2949
+ name: string;
2950
+ /** Output variable type */
2951
+ type: 'bool' | 'int8' | 'int16' | 'int32' | 'int64' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'float16' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'pointer';
2952
+ }>;
2953
+ /** Offset in byte in the shader payload buffer */
2954
+ payloadOffset: number;
2955
+ /** Size in byte of the compiled module */
2956
+ payloadSize: number;
2957
+ /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */
2958
+ pushConstants?: Array<{
2959
+ /** Push constant member name */
2960
+ name: string;
2961
+ /** Offset in byte within the push constant block */
2962
+ offset: number;
2963
+ /** Size in byte of the push constant member */
2964
+ size: number;
2965
+ /** Push constant member type */
2966
+ type: 'bool' | 'int8' | 'int16' | 'int32' | 'int64' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'float16' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'pointer';
2967
+ }>;
2968
+ /** The shader stage */
2969
+ shaderStage: number;
2970
+ /** Bit mask of the descriptor bindings used by this module, bit N for binding N */
2971
+ usedBindings: number;
2972
+ }>;
2973
+ /** Name of the asset */
2974
+ name: string;
2975
+ /** Data descriptor for render graph node shaders */
2976
+ nodeDataDescriptor?: Array<{
2977
+ /** Additional properties for a parameter of type "buffer": how many elements it holds, the size of each element, and how the buffer is used. Absent for every other parameter type */
2978
+ bufferProperties?: {
2979
+ /** Number of elements in the buffer, or a [x, y] pair of factors applied to the viewport width and height (each rounded up and clamped to a minimum of 1, then multiplied) to compute the element count */
2980
+ elementCount: number | Array<number>;
2981
+ /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */
2982
+ elementSize: number;
2983
+ /** How this buffer is going to be used */
2984
+ usage: number;
2985
+ };
2986
+ /** Categories */
2987
+ categories?: Array<string>;
2988
+ /** Parameter default value */
2989
+ default?: number | boolean | Array<number>;
2990
+ /** Description of the parameter, shown by tools. Not read by the engine */
2991
+ description?: string;
2992
+ /** Identifier of the parameter, kept while its name is, and never given to another: tools follow a parameter across the versions of its shader by it. Not read by the engine */
2993
+ id?: number;
2994
+ /** Whether this parameter (a render target or buffer) is the resource used to compute the number of dispatched workgroups for a compute shader, i.e. DispatchedGroups = referenceResource.size / workgroupSize (see compute_shader_size_reference's reference_resource) */
2995
+ isReferenceResource?: boolean;
2996
+ /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */
2997
+ list?: Array<{
2998
+ description?: string;
2999
+ name: string;
3000
+ value: number;
3001
+ }>;
3002
+ /** Parameter name */
3003
+ name: string;
3004
+ /** Parameter native type */
3005
+ nativeType: 'vec4' | 'vec3' | 'vec2' | 'float' | 'int32_t' | 'texture2d_ref' | 'render_target_index' | 'buffer_reference';
3006
+ /** Parameter offset in bytes */
3007
+ offset: number;
3008
+ /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */
3009
+ properties?: {
3010
+ /** For a parameter of type "texture" or "render_target_index": the underlying pixel type's exact format */
3011
+ format?: 'int32' | 'uint32' | 'int64' | 'uint64' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'color3' | 'color4';
3012
+ /** For a parameter of type "buffer" or "render_target_index": how the underlying resource is accessed */
3013
+ openMode?: 'read' | 'write' | 'readwrite';
3014
+ /** Specialization constants gating this parameter's relevance: the key is a constant name, the value is what it must hold for the parameter to be relevant (e.g. shown in the material editor) */
3015
+ spec?: {
3016
+ [_additionalproperties_: string]: number | boolean;
3017
+ };
3018
+ };
3019
+ /** Parameter type */
3020
+ type: 'vec4' | 'ivec4' | 'quat' | 'color_alpha' | 'vec3' | 'ivec3' | 'color' | 'vec2' | 'ivec2' | 'float' | 'int' | 'uint' | 'bool' | 'texture' | 'render_target_index' | 'buffer';
3021
+ }>;
3022
+ /** Hash of the node data descriptor, used to detect changes in the descriptor */
3023
+ nodeDataDescriptorHash?: number;
3024
+ /** The size in byte of the compiled shader code (accumulated size of all modules) */
3025
+ payloadSize?: number;
3026
+ /** Reference to the shader context associated with this shader. Only present for shaders that use one. */
3027
+ shaderContextRef?: string;
3028
+ /** Vulkan bit mask of all shader stages present in this shader */
3029
+ shaderStages?: number;
3030
+ /** Unique identifier for the asset */
3031
+ uuid: string;
3032
+ /** Vertex description. Only valid when a vertex shader module is present */
3033
+ vertexDescriptor?: Array<{
3034
+ /** Binding number */
3035
+ binding: number;
3036
+ /** Format */
3037
+ format: number;
3038
+ /** Location */
3039
+ location: number;
3040
+ /** Offset */
3041
+ offset: number;
3042
+ /** Semantic */
3043
+ semantic: (1 | 2 | 4 | 8 | 16 | 32) & number;
3044
+ /** Stride between consecutive elements within the buffer */
3045
+ stride: number;
3046
+ }>;
3047
+ } | {
3048
+ /** The albedo look up table */
3049
+ albedoLUT?: Array<{
3050
+ /** The normalized key for this entry */
3051
+ key?: number;
3052
+ /** The value associated to the key */
3053
+ value?: Array<number> | number;
3054
+ }>;
3055
+ /** The metallic look up table */
3056
+ metallicLUT?: Array<{
3057
+ /** The normalized key for this entry */
3058
+ key?: number;
3059
+ /** The value associated to the key */
3060
+ value?: Array<number> | number;
3061
+ }>;
3062
+ /** Name of the asset */
3063
+ name: string;
3064
+ /** The opacity look up table */
3065
+ opacityLUT?: Array<{
3066
+ /** The normalized key for this entry */
3067
+ key?: number;
3068
+ /** The value associated to the key */
3069
+ value?: Array<number> | number;
3070
+ }>;
3071
+ /** The maximum voxel value handled by the material */
3072
+ rangeMax: number;
3073
+ /** The minimum voxel value handled material */
3074
+ rangeMin: number;
3075
+ /** The roughness look up table */
3076
+ roughnessLUT?: Array<{
3077
+ /** The normalized key for this entry */
3078
+ key?: number;
3079
+ /** The value associated to the key */
3080
+ value?: Array<number> | number;
3081
+ }>;
3082
+ /** Unique identifier for the asset */
3083
+ uuid: string;
3084
+ };
3085
+ export type AssetContainerWithPayload = 'animations' | 'animation_graphs' | 'animation_sequences' | 'collision_geometries' | 'meshes' | 'point_clouds' | 'scripts' | 'shaders' | 'skeletons' | 'sounds' | 'textures' | 'textures_3d';
3086
+ export type AssetContainerWithGraph = 'animation_graphs' | 'render_graphs' | 'scripts' | 'shaders';
3087
+ export type AssetContainerWithCode = 'animation_sequences' | 'modules' | 'scripts' | 'shaders';
3088
+ export type AssetContainerExportable = 'meshes' | 'sounds';
3089
+ export type Vector3 = Array<number>;
3090
+ /** An entity of a scene: its components, by class. */
3091
+ export type Entity = {
3092
+ /** Drives skeletal animation using an Animation Graph and Animation Set; animates descendant skinned meshes whose skeletons are compatible with the set. */
3093
+ animation_controller?: {
3094
+ /** Referenced Animation Graph (UUID). */
3095
+ animationGraphRef?: string;
3096
+ /** Referenced Animation Set (UUID). */
3097
+ animationSetRef?: string;
3098
+ /** Autoplay when the session starts. */
3099
+ autoPlay?: boolean;
3100
+ /** Animation Graph input parameters in JSON format. */
3101
+ dataJSON?: {
3102
+ [_additionalproperties_: string]: any;
3103
+ };
3104
+ /** Entity containing the Bone component for the skeleton's root bone. */
3105
+ rootBoneEntityRef?: {
3106
+ linkage: Array<string>;
3107
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3108
+ originalEUID: string;
3109
+ };
3110
+ /** Enable root motion extraction and application to the entity transform. */
3111
+ rootMotionEnabled?: boolean;
3112
+ };
3113
+ /** Controls playback of an Animation Sequence; assigns tracks to entities. */
3114
+ animation_sequence_controller?: {
3115
+ /** Referenced Animation Sequence (UUID). */
3116
+ animationSequenceRef?: string;
3117
+ /** Map from track UUID to assigned entity. */
3118
+ entities?: {
3119
+ /** A reference to an entity: the uuid it was created with, and the uuids of the linkers it was instanced through. */
3120
+ [_additionalproperties_: string]: {
3121
+ linkage: Array<string>;
3122
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3123
+ originalEUID: string;
3124
+ };
3125
+ };
3126
+ /** Loop playback when reaching the stop offset. */
3127
+ loop?: boolean;
3128
+ /** Playback speed multiplier. Negative values play in reverse. */
3129
+ playbackSpeed?: number;
3130
+ /** Normalized start offset [0, 1]. */
3131
+ startOffset?: number;
3132
+ /** Normalized stop offset [0, 1]. When looping, playback wraps to startOffset at this point. */
3133
+ stopOffset?: number;
3134
+ };
3135
+ /** Associates this entity with a bone in a skeleton (for attachments and transforms). */
3136
+ bone?: {
3137
+ /** Zero-based index of this bone within the bound skeleton. */
3138
+ boneIndex?: number;
3139
+ };
3140
+ /** Box geometry. */
3141
+ box_geometry?: {
3142
+ /** Box dimensions (width, height, depth) in meters. */
3143
+ dimension?: Array<number>;
3144
+ /** Local offset of the geometry origin (meters). */
3145
+ offset?: Array<number>;
3146
+ };
3147
+ /** Virtual camera. */
3148
+ camera?: {
3149
+ /** Render Graph input parameters in JSON; schema defined by renderGraphRef. */
3150
+ dataJSON?: {
3151
+ [_additionalproperties_: string]: any;
3152
+ };
3153
+ /** Referenced render graph to use for rendering from this camera. */
3154
+ renderGraphRef?: string;
3155
+ /** Index of the render target to blit/output to. -1 indicates the default target. */
3156
+ renderTargetIndex?: number;
3157
+ };
3158
+ /** Capsule geometry. */
3159
+ capsule_geometry?: {
3160
+ /** Alignment axis of the capsule: 0=X, 1=Y, 2=Z. */
3161
+ axis?: (0 | 1 | 2) & number;
3162
+ /** Height of the cylindrical mid-section (meters). */
3163
+ height?: number;
3164
+ /** Local offset of the geometry origin (meters). */
3165
+ offset?: Array<number>;
3166
+ /** Radius of the hemispherical ends (meters). */
3167
+ radius?: number;
3168
+ };
3169
+ /** Kinematic character controller for collision-constrained movement without a rigid body. Uses tuned collision handling for responsive control. */
3170
+ character_controller?: {
3171
+ /** Collision skin width (meters). */
3172
+ skinWidth?: number;
3173
+ /** Maximum walkable slope (degrees). Slopes steeper than this are not walkable. */
3174
+ slopeLimit?: number;
3175
+ /** Maximum climbable step height. Steps higher than this cannot be climbed automatically. */
3176
+ stepOffset?: number;
3177
+ };
3178
+ /** Reference to a collision geometry asset used by physics. */
3179
+ collision_geometry_ref?: {
3180
+ /** Referenced collision geometry (UUID). */
3181
+ collisionGeometryRef?: string;
3182
+ };
3183
+ /** 6-DoF constraint built on a Joint. Defaults to fixed; selectively unlock translation and rotation on X/Y/Z and configure limits and springs. */
3184
+ constraint?: {
3185
+ /** Linear limit spring damping per axis (N·s/m). */
3186
+ motionLimitSpringDamping?: Array<number>;
3187
+ /** Linear limit spring stiffness per axis (N/m). >0 makes the limit soft (spring-like). */
3188
+ motionLimitSpringStiffness?: Array<number>;
3189
+ /** Lower linear limit per axis (meters). */
3190
+ motionLowerLimit?: Array<number>;
3191
+ /** Upper linear limit per axis (meters). */
3192
+ motionUpperLimit?: Array<number>;
3193
+ /** Swing cone half-angles about Y and Z of the constraint frame (degrees). 0 does not restrict rotation; max 180. Used if either swing axis is limited. */
3194
+ swingLimitAngle?: Array<number>;
3195
+ /** Swing limit spring damping (N·m·s/rad). */
3196
+ swingSpringDamping?: number;
3197
+ /** Swing limit spring stiffness (N·m/rad). >0 makes the limit soft. */
3198
+ swingSpringStiffness?: number;
3199
+ /** Twist angle limits (min,max) around the twist axis (degrees). Range (−360, 360). */
3200
+ twistLimitAngle?: Array<number>;
3201
+ /** Twist limit spring damping (N·m·s/rad). */
3202
+ twistSpringDamping?: number;
3203
+ /** Twist limit spring stiffness (N·m/rad). >0 makes the limit soft. */
3204
+ twistSpringStiffness?: number;
3205
+ /** Unlock motion along/around the specified axes. */
3206
+ unlockedMotion?: number;
3207
+ };
3208
+ /** Drives a Constraint toward target position/orientation and velocities using configurable stiffness, damping, and force limits. */
3209
+ constraint_actuator?: {
3210
+ /** Angular drive damping per axis (N·m·s/rad). */
3211
+ angularDamping?: Array<number>;
3212
+ /** Max angular drive torque/impulse per axis (N·m). −1 = unlimited. */
3213
+ angularForceLimit?: Array<number>;
3214
+ /** Angular drive stiffness per axis (N·m/rad). >0 applies spring torque toward the goal. */
3215
+ angularStiffness?: Array<number>;
3216
+ /** Target angular velocity (rad/s). */
3217
+ angularVelocity?: Array<number>;
3218
+ /** Target angular orientation. */
3219
+ goalOrientation?: Array<number>;
3220
+ /** Target linear position offset (meters). */
3221
+ goalPosition?: Array<number>;
3222
+ /** Linear drive damping per axis (N·s/m). */
3223
+ linearDamping?: Array<number>;
3224
+ /** Max linear drive force/impulse per axis (N). −1 = unlimited. */
3225
+ linearForceLimit?: Array<number>;
3226
+ /** Linear drive stiffness per axis (N/m). >0 applies spring force toward the goal. */
3227
+ linearStiffness?: Array<number>;
3228
+ /** Target linear velocity (m/s). */
3229
+ linearVelocity?: Array<number>;
3230
+ /** Drive type: apply as force or as acceleration. */
3231
+ type?: (0 | 1) & number;
3232
+ };
3233
+ /** Enables culling using a simple analytic shape. Add alongside a geometry component (box, cylinder, plane, sphere). */
3234
+ culling_geometry?: {
3235
+ /** Additive: show elements inside the geometry. Subtractive: show elements outside the geometry. */
3236
+ isAdditive?: boolean;
3237
+ };
3238
+ /** Custom projection lens using an explicit projection matrix. */
3239
+ custom_lens?: {
3240
+ /** Projection matrix mapping view-space to clip-space (cs_from_vs). */
3241
+ cs_from_vs?: Array<number>;
3242
+ };
3243
+ /** Cylinder geometry. */
3244
+ cylinder_geometry?: {
3245
+ /** Alignment axis of the cylinder: 0=X, 1=Y, 2=Z. */
3246
+ axis?: (0 | 1 | 2) & number;
3247
+ /** Height of the cylinder (meters). */
3248
+ height?: number;
3249
+ /** Local offset of the geometry origin (meters). */
3250
+ offset?: Array<number>;
3251
+ /** Radius of the cylinder (meters). */
3252
+ radius?: number;
3253
+ };
3254
+ /** Human-readable name of the entity. */
3255
+ debug_name?: {
3256
+ /** Entity name. */
3257
+ value?: string;
3258
+ };
3259
+ /** Projects a material onto scene surfaces within the projector's box volume. */
3260
+ decal_projector?: {
3261
+ /** Z-index ordering for decal rendering; higher values render on top of lower ones. */
3262
+ zIndex?: number;
3263
+ };
3264
+ /** Scene environment settings, including skybox background and precomputed image-based lighting (IBL). This component is only applied in the scene where this entity lives, it is discarded for subscenes. */
3265
+ environment?: {
3266
+ /** Diffuse irradiance cubemap used for ambient PBR lighting. */
3267
+ irradianceUUID?: string;
3268
+ /** Specular radiance cubemap (prefiltered) used for PBR reflections. */
3269
+ radianceUUID?: string;
3270
+ /** Skybox cubemap used as the scene background (no lighting effect). */
3271
+ skyboxUUID?: string;
3272
+ };
3273
+ /** Unique identifier for the entity. */
3274
+ euid: {
3275
+ /** Unique identifier value. */
3276
+ value: string;
3277
+ };
3278
+ /** Base joint connecting two bodies. By default locks relative position and orientation between constrainer and constrainee. */
3279
+ joint?: {
3280
+ /** Break force threshold (Newtons). */
3281
+ breakForce?: number;
3282
+ /** Break torque threshold (N·m). */
3283
+ breakTorque?: number;
3284
+ /** Entity with a Rigid Body to be constrained. */
3285
+ constrainee?: {
3286
+ linkage: Array<string>;
3287
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3288
+ originalEUID: string;
3289
+ };
3290
+ /** Entity acting as constrainer (rigid/static) or null to constrain to world origin. */
3291
+ constrainer?: {
3292
+ linkage: Array<string>;
3293
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3294
+ originalEUID: string;
3295
+ };
3296
+ /** Enable collision between constrainer and constrainee bodies. */
3297
+ enableCollision?: boolean;
3298
+ };
3299
+ /** Displays an editor-only label in the 3D view. */
3300
+ label?: {
3301
+ /** Camera framing parameters for navigating to the label. */
3302
+ camera?: Array<number>;
3303
+ /** Label description text. */
3304
+ description?: string;
3305
+ /** Camera travel speed (meters/second). */
3306
+ speed?: number;
3307
+ /** Label title text. */
3308
+ title?: string;
3309
+ };
3310
+ /** Records the entity's lineage through linkers and parentage. */
3311
+ lineage?: {
3312
+ /** Ordinal index among siblings (editor-only). */
3313
+ ordinal?: number;
3314
+ /** UUID of this entity's parent (default is root). */
3315
+ parentUUID?: string;
3316
+ };
3317
+ /** Local-space axis-aligned bounding box. */
3318
+ local_aabb?: {
3319
+ /** Local AABB maximum corner (x,y,z). */
3320
+ max?: Array<number>;
3321
+ /** Local AABB minimum corner (x,y,z). */
3322
+ min?: Array<number>;
3323
+ };
3324
+ /** Local transform of the entity (position, orientation, scale). */
3325
+ local_transform?: {
3326
+ /** Local orientation as Euler angles (editor-only). */
3327
+ eulerOrientation?: Array<number>;
3328
+ /** Last global orientation entered by a user as Euler angles (may be invalid; editor-only). */
3329
+ globalEulerOrientation?: Array<number>;
3330
+ /** Local orientation as a quaternion. */
3331
+ orientation?: Array<number>;
3332
+ /** Local position (x, y, z) in meters. */
3333
+ position?: Array<number>;
3334
+ /** Local non-uniform scale (x, y, z). */
3335
+ scale?: Array<number>;
3336
+ };
3337
+ /** Assigns a shader to the entity's mesh and provides its input values and specialization constants. */
3338
+ material?: {
3339
+ /** Specialization constants (JSON); schema defined by shaderRef. */
3340
+ constantsJSON?: {
3341
+ [_additionalproperties_: string]: any;
3342
+ };
3343
+ /** Shader input values (JSON); schema defined by shaderRef. */
3344
+ dataJSON?: {
3345
+ [_additionalproperties_: string]: any;
3346
+ };
3347
+ /** Render both front and back faces (double-sided). */
3348
+ isDoubleSided?: boolean;
3349
+ /** Referenced shader (UUID). */
3350
+ shaderRef?: string;
3351
+ };
3352
+ /** Reference to a material to use for rendering. */
3353
+ material_ref?: {
3354
+ /** Face culling override: 0 = inherit from material, 1 = single-sided, 2 = double-sided. */
3355
+ faceCulling?: (0 | 1 | 2) & number;
3356
+ /** Referenced material (UUID). */
3357
+ value?: string;
3358
+ };
3359
+ /** Displays editor-only measurement annotations in the 3D view. */
3360
+ measure?: {
3361
+ /** Display color for the measurement. */
3362
+ color?: Array<number>;
3363
+ /** Measurement type to display. */
3364
+ type?: (0 | 1 | 2 | 3) & number;
3365
+ };
3366
+ /** Reference to a mesh to render (with submesh selection). */
3367
+ mesh_ref?: {
3368
+ /** Shadow casting mode for this mesh. */
3369
+ shadowCastingMode?: (0 | 1) & number;
3370
+ /** Index of the submesh within the mesh's submesh array. */
3371
+ submeshIndex?: number;
3372
+ /** Referenced mesh (UUID). */
3373
+ value?: string;
3374
+ };
3375
+ /** Contains weights assigned to morph targets of the mesh referred to by the entity's mesh_ref. */
3376
+ morph_targets?: {
3377
+ /** Map from morph target name to weight (commonly 0..1). */
3378
+ weights?: {
3379
+ [_additionalproperties_: string]: number;
3380
+ };
3381
+ };
3382
+ /** Orthographic projection lens with configurable zoom and depth range. */
3383
+ orthographic_lens?: {
3384
+ /** Far clipping plane distance (meters). */
3385
+ zFar?: number;
3386
+ /** Near clipping plane distance (meters). */
3387
+ zNear?: number;
3388
+ /** Zoom factor applied to the orthographic extents (X,Y). 1 = no zoom. */
3389
+ zoomFactor?: Array<number>;
3390
+ };
3391
+ /** Overrides an entity from a subscene: mark for deletion, replace components, or detach specific components. */
3392
+ overrider?: {
3393
+ /** Hashes of components to detach from the overridden entity. */
3394
+ componentsToDetach?: Array<number>;
3395
+ /** Mark the overridden entity as deleted in the composed scene. */
3396
+ deleter?: boolean;
3397
+ /** Target entity to override. */
3398
+ entityRef?: {
3399
+ linkage: Array<string>;
3400
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3401
+ originalEUID: string;
3402
+ };
3403
+ };
3404
+ /** Perspective projection lens with vertical field of view and near/far clipping planes. */
3405
+ perspective_lens?: {
3406
+ /** Far clipping plane distance (meters). Set to 0 for an infinite far plane. */
3407
+ farPlane?: number;
3408
+ /** Vertical field of view angle in degrees. */
3409
+ fovy?: number;
3410
+ /** Near clipping plane distance (meters). */
3411
+ nearPlane?: number;
3412
+ /** Projection center offset for stereoscopic rendering (meters). */
3413
+ offset?: Array<number>;
3414
+ };
3415
+ /** Physical surface properties used for contact: friction, restitution, optional contact modification, and trigger mode. */
3416
+ physics_material?: {
3417
+ /** Applied contact velocity offset when colliding (m/s). Only used if modifyContact is true. */
3418
+ contactVelocity?: Array<number>;
3419
+ /** Dynamic (kinetic) friction coefficient (typically 0..1). If greater than staticFriction, staticFriction is clamped up to match. Effective value is averaged with the other surface. */
3420
+ dynamicFriction?: number;
3421
+ /** Treat associated geometry as a trigger (generates events but no physical response). */
3422
+ isTrigger?: boolean;
3423
+ /** Enable contact modification (applies contactVelocity on collisions). */
3424
+ modifyContact?: boolean;
3425
+ /** Restitution (bounciness) in [0,1]. 0 = no bounce; 1 = perfectly elastic. Effective value is averaged with the other surface. */
3426
+ restitution?: number;
3427
+ /** Static friction coefficient (typically 0..1). 0 feels like ice; higher resists start of motion. Effective value is averaged with the other surface. */
3428
+ staticFriction?: number;
3429
+ };
3430
+ /** Infinite plane geometry. */
3431
+ plane_geometry?: {
3432
+ /** Signed distance from the origin along the plane normal (meters). */
3433
+ distance?: number;
3434
+ /** Unit normal vector of the plane (in local space). */
3435
+ normal?: Array<number>;
3436
+ };
3437
+ /** Reference to a point cloud. */
3438
+ point_cloud_ref?: {
3439
+ /** Referenced point cloud (UUID). */
3440
+ value?: string;
3441
+ };
3442
+ /** Omnidirectional light source with physically based intensity and falloff. Acts as a point light by default; enable isDirectional to emit parallel rays. Attach a Spot Light component to add a cone cutoff. Can optionally drive the atmosphere sun direction. */
3443
+ point_light?: {
3444
+ /** RGB light color in linear space [0-1]. Multiplies intensity. */
3445
+ color?: Array<number>;
3446
+ /** Luminous intensity in candela (cd) for point and spot lights. Illuminance in lux (lx) when isDirectional, above the atmosphere when isSun. */
3447
+ intensity?: number;
3448
+ /** Treat this as a directional light using the entity's orientation; position is ignored. */
3449
+ isDirectional?: boolean;
3450
+ /** Use this light's direction to control the atmosphere sun direction. */
3451
+ isSun?: boolean;
3452
+ /** Distance in meters at which the inverse-square falloff is windowed to zero. 0 for no cutoff. */
3453
+ range?: number;
3454
+ };
3455
+ /** Omnidirectional reflection probe that captures the local environment into a cubemap for specular reflections (IBL). */
3456
+ reflection_probe?: {
3457
+ /** Capture far clip distance (meters). */
3458
+ farDist?: number;
3459
+ /** Capture near clip distance (meters). */
3460
+ nearDist?: number;
3461
+ /** Offset of the probe capture origin relative to the entity position (meters). */
3462
+ offset?: Array<number>;
3463
+ /** Reflection cubemap resolution (pixels per face). Higher values increase detail and cost. */
3464
+ quality?: number;
3465
+ };
3466
+ /** Rigid body parameters for dynamic simulation (mass, damping, limits, CCD, and kinematic/gravity behavior). */
3467
+ rigid_body?: {
3468
+ /** Angular damping coefficient (s^-1). 0 = no damping; must be non-negative. */
3469
+ angularDamping?: number;
3470
+ /** Center of mass relative to the entity's local transform (meters). */
3471
+ centerOfMass?: Array<number>;
3472
+ /** Collision detection mode (CCD). Kinematic bodies do not support Linear/Continuous CCD. */
3473
+ collisionDetection?: (0 | 1 | 2 | 3) & number;
3474
+ /** Treat the rigid body as kinematic (unaffected by forces; driven by animation/app logic). */
3475
+ isKinematic?: boolean;
3476
+ /** Linear damping coefficient (s^-1). 0 = no damping; must be non-negative. */
3477
+ linearDamping?: number;
3478
+ /** Lock motion along/around the specified axes. */
3479
+ lockedAxis?: number;
3480
+ /** Mass (kg). A value of 0 is treated as infinite mass (static). */
3481
+ mass?: number;
3482
+ /** Maximum angular velocity (rad/s). Must be non-negative. */
3483
+ maxAngularVelocity?: number;
3484
+ /** Maximum linear velocity (m/s). Must be non-negative. */
3485
+ maxLinearVelocity?: number;
3486
+ /** Whether the rigid body is affected by gravity. */
3487
+ useGravity?: boolean;
3488
+ };
3489
+ /** Reference to a subscene (linker); used to compose scenes. */
3490
+ scene_ref?: {
3491
+ /** Maximum recursion depth when a scene references itself. */
3492
+ maxRecursionCount?: number;
3493
+ /** Referenced scene (UUID). */
3494
+ value?: string;
3495
+ };
3496
+ /** References a script and supplies its input values. */
3497
+ script_element?: {
3498
+ /** Script input values in JSON; schema defined by scriptRef. */
3499
+ dataJSON?: {
3500
+ [_additionalproperties_: string]: any;
3501
+ };
3502
+ /** Referenced script (UUID). */
3503
+ scriptRef?: string;
3504
+ };
3505
+ /** Holds a set of script elements keyed by UUID. */
3506
+ script_map?: {
3507
+ /** Map of script UUID to script element. */
3508
+ elements?: {
3509
+ /** References a script and supplies its input values. */
3510
+ [_additionalproperties_: string]: {
3511
+ /** Script input values in JSON; schema defined by scriptRef. */
3512
+ dataJSON?: {
3513
+ [_additionalproperties_: string]: any;
3514
+ };
3515
+ /** Referenced script (UUID). */
3516
+ scriptRef?: string;
3517
+ };
3518
+ };
3519
+ };
3520
+ /** Enables a light to cast real-time shadows with configurable map resolution, depth range, and (for directional lights) cascades. */
3521
+ shadow_caster?: {
3522
+ /** Directional lights only: blend/accumulate all cascades to reduce visible transitions between splits. */
3523
+ accumulateShadowCascades?: boolean;
3524
+ /** Depth bias applied during shadow tests to reduce self-shadowing (acne). Increase to mitigate artifacts; too high causes peter-panning. */
3525
+ bias?: number;
3526
+ /** Directional lights only: number of cascades for CSM. 0 = static shadow map, 1–4 = increasing cascade count. */
3527
+ cascadeCount?: (0 | 1 | 2 | 3 | 4) & number;
3528
+ /** Directional lights only: cascade split distribution for CSM. 0 = uniform (linear) splits; 1 = logarithmic (more resolution near the camera). Values in [0,1] blend between the two. */
3529
+ cascadeSplitLambda?: number;
3530
+ /** Shadow camera far clip distance (meters). Use the smallest range that contains casters/receivers. */
3531
+ farDist?: number;
3532
+ /** Shadow camera near clip distance (meters). Tighten to improve depth precision. */
3533
+ nearDist?: number;
3534
+ /** Shadow map resolution (pixels per side). Higher values increase detail at the cost of memory and performance. */
3535
+ quality?: (256 | 512 | 1024 | 2048 | 3072 | 4096 | 6144 | 8192) & number;
3536
+ };
3537
+ /** Reference to a skeleton asset for skinning and animation. */
3538
+ skeleton_ref?: {
3539
+ /** Referenced skeleton (UUID). */
3540
+ value?: string;
3541
+ };
3542
+ /** Reference to a sound asset with playback and spatialization controls. */
3543
+ sound_ref?: {
3544
+ /** Distance attenuation model. */
3545
+ attenuationModel?: (0 | 1 | 2 | 3) & number;
3546
+ /** Rolloff factor for distance attenuation. */
3547
+ attenuationRolloffFactor?: number;
3548
+ /** Autoplay when the simulation starts. */
3549
+ autoPlayOnStart?: boolean;
3550
+ /** Scale factor for the Doppler effect. */
3551
+ dopplerFactor?: number;
3552
+ /** Behavior when the sound becomes inaudible. */
3553
+ inaudibleBehavior?: (0 | 1 | 2) & number;
3554
+ /** Whether the sound loops. */
3555
+ looping?: boolean;
3556
+ /** Distance beyond which the sound is inaudible (meters). */
3557
+ maxDistance?: number;
3558
+ /** Distance at which the sound stays at max volume (meters). */
3559
+ minDistance?: number;
3560
+ /** Stereo pan. −1 = left, 1 = right. */
3561
+ pan?: number;
3562
+ /** Playback speed multiplier (1.0 = normal). */
3563
+ playSpeed?: number;
3564
+ /** Referenced sound (UUID). */
3565
+ value?: string;
3566
+ /** Playback volume [0..1]. */
3567
+ volume?: number;
3568
+ };
3569
+ /** Sphere geometry. */
3570
+ sphere_geometry?: {
3571
+ /** Local offset of the geometry origin (meters). */
3572
+ offset?: Array<number>;
3573
+ /** Radius of the sphere (meters). */
3574
+ radius?: number;
3575
+ };
3576
+ /** Displays an editor-only spline in the 3D view. */
3577
+ spline?: {
3578
+ /** Display color of the curve. */
3579
+ color?: Array<number>;
3580
+ /** Catmull-Rom tension (only when type is Catmull-Rom). */
3581
+ tension?: number;
3582
+ /** Spline interpolation type. */
3583
+ type?: (0 | 1 | 2) & number;
3584
+ };
3585
+ /** Adds a cone cutoff to a light, producing a spotlight. Requires a Point Light component for color/intensity and falloff. */
3586
+ spot_light?: {
3587
+ /** Optional IES photometric profile (2D texture). Modulates emitted intensity by direction; leave empty for uniform distribution. */
3588
+ IESProfile?: string;
3589
+ /** Cone half-angle in degrees, from the axis to the edge. Light falls to zero at the cone edge. */
3590
+ cutoff?: number;
3591
+ };
3592
+ /** Free-form tags used to group and filter entities. */
3593
+ tags?: {
3594
+ /** List of tags applied to this entity. */
3595
+ value?: Array<string>;
3596
+ };
3597
+ /** Vehicle Controller parameters. */
3598
+ vehicle_controller?: {
3599
+ /** The chassis. */
3600
+ chassis?: {
3601
+ linkage: Array<string>;
3602
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3603
+ originalEUID: string;
3604
+ };
3605
+ /** The front left wheel. */
3606
+ frontLeftWheel?: {
3607
+ linkage: Array<string>;
3608
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3609
+ originalEUID: string;
2914
3610
  };
2915
- /** Entry point of the shader module */
2916
- entryPoint?: string;
2917
- /** Outputs of this shader module (e.g. a fragment shader's color attachments, or the last stage's varying outputs), used to validate the module's compatibility with a render pipeline */
2918
- outputs?: Array<{
2919
- /** Output location */
2920
- location: number;
2921
- /** Output variable name */
2922
- name: string;
2923
- /** Output variable type */
2924
- type: 'bool' | 'int8' | 'int16' | 'int32' | 'int64' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'float16' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'pointer';
2925
- }>;
2926
- /** Offset in byte in the shader payload buffer */
2927
- payloadOffset: number;
2928
- /** Size in byte of the compiled module */
2929
- payloadSize: number;
2930
- /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */
2931
- pushConstants?: Array<{
2932
- /** Push constant member name */
2933
- name: string;
2934
- /** Offset in byte within the push constant block */
2935
- offset: number;
2936
- /** Size in byte of the push constant member */
2937
- size: number;
2938
- /** Push constant member type */
2939
- type: 'bool' | 'int8' | 'int16' | 'int32' | 'int64' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'float16' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'pointer';
2940
- }>;
2941
- /** The shader stage */
2942
- shaderStage: number;
2943
- /** Bit mask of the descriptor bindings used by this module, bit N for binding N */
2944
- usedBindings: number;
2945
- }>;
2946
- /** Name of the asset */
2947
- name: string;
2948
- /** Data descriptor for render graph node shaders */
2949
- nodeDataDescriptor?: Array<{
2950
- /** Additional properties for a parameter of type "buffer": how many elements it holds, the size of each element, and how the buffer is used. Absent for every other parameter type */
2951
- bufferProperties?: {
2952
- /** Number of elements in the buffer, or a [x, y] pair of factors applied to the viewport width and height (each rounded up and clamped to a minimum of 1, then multiplied) to compute the element count */
2953
- elementCount: number | Array<number>;
2954
- /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */
2955
- elementSize: number;
2956
- /** How this buffer is going to be used */
2957
- usage: number;
3611
+ /** The front right wheel. */
3612
+ frontRightWheel?: {
3613
+ linkage: Array<string>;
3614
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3615
+ originalEUID: string;
2958
3616
  };
2959
- /** Categories */
2960
- categories?: Array<string>;
2961
- /** Parameter default value */
2962
- default?: number | boolean | Array<number>;
2963
- /** Description of the parameter, shown by tools. Not read by the engine */
2964
- description?: string;
2965
- /** Identifier of the parameter, kept while its name is, and never given to another: tools follow a parameter across the versions of its shader by it. Not read by the engine */
2966
- id?: number;
2967
- /** Whether this parameter (a render target or buffer) is the resource used to compute the number of dispatched workgroups for a compute shader, i.e. DispatchedGroups = referenceResource.size / workgroupSize (see compute_shader_size_reference's reference_resource) */
2968
- isReferenceResource?: boolean;
2969
- /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */
2970
- list?: Array<{
2971
- description?: string;
2972
- name: string;
2973
- value: number;
2974
- }>;
2975
- /** Parameter name */
2976
- name: string;
2977
- /** Parameter native type */
2978
- nativeType: 'vec4' | 'vec3' | 'vec2' | 'float' | 'int32_t' | 'texture2d_ref' | 'render_target_index' | 'buffer_reference';
2979
- /** Parameter offset in bytes */
2980
- offset: number;
2981
- /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */
2982
- properties?: {
2983
- /** For a parameter of type "texture" or "render_target_index": the underlying pixel type's exact format */
2984
- format?: 'int32' | 'uint32' | 'int64' | 'uint64' | 'float32' | 'float64' | 'vec2' | 'ivec2' | 'vec3' | 'ivec3' | 'vec4' | 'ivec4' | 'color3' | 'color4';
2985
- /** For a parameter of type "buffer" or "render_target_index": how the underlying resource is accessed */
2986
- openMode?: 'read' | 'write' | 'readwrite';
2987
- /** Specialization constants gating this parameter's relevance: the key is a constant name, the value is what it must hold for the parameter to be relevant (e.g. shown in the material editor) */
2988
- spec?: {
2989
- [_additionalproperties_: string]: number | boolean;
2990
- };
3617
+ /** The rear left wheel. */
3618
+ rearLeftWheel?: {
3619
+ linkage: Array<string>;
3620
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3621
+ originalEUID: string;
2991
3622
  };
2992
- /** Parameter type */
2993
- type: 'vec4' | 'ivec4' | 'quat' | 'color_alpha' | 'vec3' | 'ivec3' | 'color' | 'vec2' | 'ivec2' | 'float' | 'int' | 'uint' | 'bool' | 'texture' | 'render_target_index' | 'buffer';
2994
- }>;
2995
- /** Hash of the node data descriptor, used to detect changes in the descriptor */
2996
- nodeDataDescriptorHash?: number;
2997
- /** The size in byte of the compiled shader code (accumulated size of all modules) */
2998
- payloadSize?: number;
2999
- /** Reference to the shader context associated with this shader. Only present for shaders that use one. */
3000
- shaderContextRef?: string;
3001
- /** Vulkan bit mask of all shader stages present in this shader */
3002
- shaderStages?: number;
3003
- /** Unique identifier for the asset */
3004
- uuid: string;
3005
- /** Vertex description. Only valid when a vertex shader module is present */
3006
- vertexDescriptor?: Array<{
3007
- /** Binding number */
3008
- binding: number;
3009
- /** Format */
3010
- format: number;
3011
- /** Location */
3012
- location: number;
3013
- /** Offset */
3014
- offset: number;
3015
- /** Semantic */
3016
- semantic: (1 | 2 | 4 | 8 | 16 | 32) & number;
3017
- /** Stride between consecutive elements within the buffer */
3018
- stride: number;
3019
- }>;
3020
- } | {
3021
- /** The albedo look up table */
3022
- albedoLUT?: Array<{
3023
- /** The normalized key for this entry */
3024
- key?: number;
3025
- /** The value associated to the key */
3026
- value?: Array<number> | number;
3027
- }>;
3028
- /** The metallic look up table */
3029
- metallicLUT?: Array<{
3030
- /** The normalized key for this entry */
3031
- key?: number;
3032
- /** The value associated to the key */
3033
- value?: Array<number> | number;
3034
- }>;
3035
- /** Name of the asset */
3036
- name: string;
3037
- /** The opacity look up table */
3038
- opacityLUT?: Array<{
3039
- /** The normalized key for this entry */
3040
- key?: number;
3041
- /** The value associated to the key */
3042
- value?: Array<number> | number;
3043
- }>;
3044
- /** The maximum voxel value handled by the material */
3045
- rangeMax: number;
3046
- /** The minimum voxel value handled material */
3047
- rangeMin: number;
3048
- /** The roughness look up table */
3049
- roughnessLUT?: Array<{
3050
- /** The normalized key for this entry */
3051
- key?: number;
3052
- /** The value associated to the key */
3053
- value?: Array<number> | number;
3054
- }>;
3055
- /** Unique identifier for the asset */
3056
- uuid: string;
3623
+ /** The rear right wheel. */
3624
+ rearRightWheel?: {
3625
+ linkage: Array<string>;
3626
+ /** A unique identifier, such as an entity's, or the nil uuid for none. */
3627
+ originalEUID: string;
3628
+ };
3629
+ };
3630
+ /** View filtering and display controls applied to the referenced volume. */
3631
+ volume_filter?: {
3632
+ /** Apply Gaussian smoothing when sampling voxels. */
3633
+ applyGaussianFiltering?: boolean;
3634
+ /** Whether this volume is visible in the 3D view. */
3635
+ enable3D?: boolean;
3636
+ /** Whether this volume is visible in the MPR (multi-planar reconstruction) view. */
3637
+ enableMPR?: boolean;
3638
+ /** Tint applied to this volume's MPR/projection output. */
3639
+ mprColor?: Array<number>;
3640
+ /** Displayed voxel intensity range [min, max]. Values outside the material's valid range are clamped/ignored. */
3641
+ range?: Array<number>;
3642
+ /** Sample texels without hardware filtering (nearest). */
3643
+ sampleUnfiltered?: boolean;
3644
+ };
3645
+ /** Reference to the volume material used for shading and transfer functions. */
3646
+ volume_material_ref?: {
3647
+ /** Referenced volume material (UUID). */
3648
+ value?: string;
3649
+ };
3650
+ /** Reference to a volumetric dataset stored as a 3D texture (voxels). */
3651
+ volume_ref?: {
3652
+ /** Referenced 3D texture (UUID) containing the volume voxels. */
3653
+ texture3dRef?: string;
3654
+ };
3057
3655
  };
3058
- export type AssetContainerWithPayload = 'animations' | 'animation_graphs' | 'animation_sequences' | 'collision_geometries' | 'meshes' | 'point_clouds' | 'scripts' | 'shaders' | 'skeletons' | 'sounds' | 'textures' | 'textures_3d';
3059
- export type AssetContainerWithGraph = 'animation_graphs' | 'render_graphs' | 'scripts' | 'shaders';
3060
- export type AssetContainerWithCode = 'animation_sequences' | 'modules' | 'scripts' | 'shaders';
3061
- export type AssetContainerExportable = 'meshes' | 'sounds';
3062
- export type Vector3 = Array<number>;
3063
- /** An entity of a scene: its components, by class. */
3064
- export type Entity = {
3656
+ /** An entity of a scene, with its global transform when it was asked for */
3657
+ export type SceneEntity = {
3065
3658
  /** Drives skeletal animation using an Animation Graph and Animation Set; animates descendant skinned meshes whose skeletons are compatible with the set. */
3066
3659
  animation_controller?: {
3067
3660
  /** Referenced Animation Graph (UUID). */
@@ -3625,6 +4218,15 @@ export type Entity = {
3625
4218
  /** Referenced 3D texture (UUID) containing the volume voxels. */
3626
4219
  texture3dRef?: string;
3627
4220
  };
4221
+ /** The entity's transform in its scene's space, its parents' local transforms composed with its own. */
4222
+ global_transform?: {
4223
+ /** Position (x, y, z) in meters. */
4224
+ position: Array<number>;
4225
+ /** Orientation as a quaternion (x, y, z, w). */
4226
+ orientation: Array<number>;
4227
+ /** Scale (x, y, z), its parents' scales multiplied by its own. */
4228
+ scale: Array<number>;
4229
+ };
3628
4230
  };
3629
4231
  /** The settings of a scene: its settings blocks, by class. */
3630
4232
  export type SceneSettings = {
@@ -3995,22 +4597,7 @@ export type EventJobCompleted = {
3995
4597
  /** User unique identifier */
3996
4598
  user_id: string;
3997
4599
  };
3998
- export type AssetContainerCreatable = 'action_maps' | 'animation_graphs' | 'animation_sequences' | 'cubemaps' | 'event_maps' | 'materials' | 'modules' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'volume_materials';
3999
- /** Signature that can be used to verify the authenticity of a request. */
4000
- export type X3dverseSignature = string;
4001
- /** Unix timestamp of when the signature was generated, in milliseconds. */
4002
- export type X3dverseSignatureTimestamp = number;
4003
- /** An error the gateway raised, or one of the services it calls answered */
4004
- export type ServiceError = {
4005
- /** The error's code, unique in the service, e.g. 1010 for UploadTaskNotFound */
4006
- errorCode: number;
4007
- /** The response's status code */
4008
- httpCode: number;
4009
- /** What went wrong, for a human */
4010
- message: string;
4011
- /** Details specific to each error, e.g. the ids it concerns, or the reason of a refusal */
4012
- [_additionalproperties_: string]: any;
4013
- };
4600
+ export type AssetContainerCreatable = 'action_maps' | 'animation_graphs' | 'animation_sequences' | 'animation_sets' | 'cubemaps' | 'event_maps' | 'materials' | 'modules' | 'render_graphs' | 'scenes' | 'scripts' | 'shaders' | 'volume_materials';
4014
4601
  /** The body of every error response */
4015
4602
  export type ErrorResponse = {
4016
4603
  error: ServiceError;
@@ -4031,6 +4618,7 @@ export type ConvertingStatus = 'converting';
4031
4618
  export type ErrorStatus = 'error';
4032
4619
  /** The task was successfully processed, and the asset is ready to use. */
4033
4620
  export type SuccessStatus = 'success';
4621
+ export type PipelineId = ImportId;
4034
4622
  export type DuplicationResult = AssetDuplicationResult;
4035
4623
  export type GroupMemberInput = {
4036
4624
  user_id: UserId;
@@ -4207,8 +4795,29 @@ export type EditableAssetDescriptionInput = {
4207
4795
  durationInMs: number;
4208
4796
  /** Name of the asset */
4209
4797
  name: string;
4798
+ /** The size in byte of the compiled animation sequence library */
4799
+ payloadSize?: number;
4210
4800
  /** The array of track UUIDs at play in this animation sequence */
4211
4801
  trackUUIDs: Array<string>;
4802
+ } | {
4803
+ /** Parent animation graph */
4804
+ animationGraphUUID: string;
4805
+ /** The animation set */
4806
+ animationSet: Array<{
4807
+ /** Key of the animation in the animation graph */
4808
+ animationKey: number;
4809
+ /** The referenced animation for the specified key */
4810
+ animationRef: string;
4811
+ }>;
4812
+ /** The bone mask set */
4813
+ boneMaskSet?: Array<{
4814
+ /** The bone mask. An array of floats which corresponds to the weight per bone */
4815
+ boneMask: Array<number>;
4816
+ /** Key of the bone mask in the animation graph */
4817
+ boneMaskKey: number;
4818
+ }>;
4819
+ /** Name of the asset */
4820
+ name: string;
4212
4821
  } | {
4213
4822
  /** The 6 images forming the cube faces */
4214
4823
  faces: Array<string>;
@@ -4250,6 +4859,8 @@ export type EditableAssetDescriptionInput = {
4250
4859
  [_additionalproperties_: string]: any;
4251
4860
  };
4252
4861
  };
4862
+ /** Other modules this module uses */
4863
+ moduleDependencies?: Array<string>;
4253
4864
  /** Name of the asset */
4254
4865
  name: string;
4255
4866
  } | {
@@ -4307,8 +4918,8 @@ export type EditableAssetDescriptionInput = {
4307
4918
  /** Name of the asset */
4308
4919
  name: string;
4309
4920
  /** Descriptions of all nodes */
4310
- nodeDataDescriptions: Array<StrictUnion<{
4311
- type?: 0;
4921
+ nodeDataDescriptions: Array<({
4922
+ type: 0;
4312
4923
  } | {
4313
4924
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
4314
4925
  batchType?: number;
@@ -4347,7 +4958,7 @@ export type EditableAssetDescriptionInput = {
4347
4958
  };
4348
4959
  /** A reference to a shader */
4349
4960
  shaderRef?: string;
4350
- type?: 1;
4961
+ type: 1;
4351
4962
  } | {
4352
4963
  /** Batch type bitmask (batch_flags). Combinable flags: opaque=1, transparent=2, static_meshes=4, static_textured_meshes=8, all_static_meshes=16, skinned=32, selected=64, do_not_use_material=128, double_sided=256, single_sided=512, pass_occlusion_test=1024, unselected=2048, cast_shadows=4096, invalid_material=8192 */
4353
4964
  batchType?: number;
@@ -4382,7 +4993,7 @@ export type EditableAssetDescriptionInput = {
4382
4993
  };
4383
4994
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
4384
4995
  shaderContextIndex: number;
4385
- type?: 2;
4996
+ type: 2;
4386
4997
  } | {
4387
4998
  /** @deprecated Const data type */
4388
4999
  constDataType?: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24) & number;
@@ -4396,14 +5007,14 @@ export type EditableAssetDescriptionInput = {
4396
5007
  };
4397
5008
  /** A reference to a shader */
4398
5009
  shaderRef?: string;
4399
- type?: 3;
5010
+ type: 3;
4400
5011
  } | {
4401
5012
  filter?: number;
4402
5013
  /** Source render target */
4403
5014
  inputRenderTargetIndices?: Array<number>;
4404
5015
  /** Destination render target */
4405
5016
  outputRenderTargetIndices?: Array<number>;
4406
- type?: 4;
5017
+ type: 4;
4407
5018
  } | {
4408
5019
  /** Specialization constants values for the specified shader */
4409
5020
  constantsJson?: {
@@ -4415,19 +5026,19 @@ export type EditableAssetDescriptionInput = {
4415
5026
  };
4416
5027
  /** A reference to a shader */
4417
5028
  shaderRef?: string;
4418
- type?: 5;
5029
+ type: 5;
4419
5030
  } | {
4420
5031
  /** Source render target */
4421
5032
  inputRenderTargetIndices?: Array<number>;
4422
5033
  /** Destination render target */
4423
5034
  outputRenderTargetIndices?: Array<number>;
4424
- type?: 6;
5035
+ type: 6;
4425
5036
  } | {
4426
5037
  /** Source render target */
4427
5038
  inputRenderTargetIndices?: Array<number>;
4428
5039
  /** Destination render target */
4429
5040
  outputRenderTargetIndices?: Array<number>;
4430
- type?: 7;
5041
+ type: 7;
4431
5042
  } | {
4432
5043
  /** Specialization constants values for the specified shader */
4433
5044
  constantsJson?: {
@@ -4464,18 +5075,18 @@ export type EditableAssetDescriptionInput = {
4464
5075
  };
4465
5076
  /** A reference to a shader */
4466
5077
  shaderRef?: string;
4467
- type?: 8;
5078
+ type: 8;
4468
5079
  } | {
4469
5080
  filter?: number;
4470
5081
  /** Source render target */
4471
5082
  inputRenderTargetIndices?: Array<number>;
4472
5083
  /** Mip generation mode */
4473
5084
  mode?: (0 | 1) & number;
4474
- type?: 9;
5085
+ type: 9;
4475
5086
  } | {
4476
5087
  /** Source render target */
4477
5088
  inputRenderTargetIndices?: Array<number>;
4478
- type?: 10;
5089
+ type: 10;
4479
5090
  } | {
4480
5091
  /** Specialization constants values for the specified shader */
4481
5092
  constantsJson?: {
@@ -4491,7 +5102,7 @@ export type EditableAssetDescriptionInput = {
4491
5102
  mode?: (0 | 1) & number;
4492
5103
  /** A reference to a shader */
4493
5104
  shaderRef?: string;
4494
- type?: 11;
5105
+ type: 11;
4495
5106
  } | {
4496
5107
  /** Clear value */
4497
5108
  clearValue?: Array<number> | Array<number> | Array<number> | {
@@ -4502,7 +5113,7 @@ export type EditableAssetDescriptionInput = {
4502
5113
  clearValueType?: StrictUnion<0 | 1 | 2 | 3>;
4503
5114
  /** Render targets to clear */
4504
5115
  outputRenderTargetIndices?: Array<number>;
4505
- type?: 13;
5116
+ type: 13;
4506
5117
  } | {
4507
5118
  /** Name of the buffer */
4508
5119
  bufferName?: string;
@@ -4512,7 +5123,7 @@ export type EditableAssetDescriptionInput = {
4512
5123
  bufferSize?: number;
4513
5124
  /** Value to fill the buffer with */
4514
5125
  bufferValue?: number;
4515
- type?: 15;
5126
+ type: 15;
4516
5127
  } | {
4517
5128
  /** Specialization constants values for the specified shader */
4518
5129
  constantsJson?: {
@@ -4549,7 +5160,7 @@ export type EditableAssetDescriptionInput = {
4549
5160
  };
4550
5161
  /** A reference to a shader */
4551
5162
  shaderRef?: string;
4552
- type?: 16;
5163
+ type: 16;
4553
5164
  } | {
4554
5165
  /** Data provided to the shader through the node data buffer */
4555
5166
  dataJson?: {
@@ -4557,7 +5168,7 @@ export type EditableAssetDescriptionInput = {
4557
5168
  };
4558
5169
  /** Index into shaderContexts of the descriptor providing the shader context data for this node */
4559
5170
  shaderContextIndex: number;
4560
- type?: 17;
5171
+ type: 17;
4561
5172
  } | {
4562
5173
  /** Depth bias clamp */
4563
5174
  depthBiasClamp?: number;
@@ -4565,7 +5176,7 @@ export type EditableAssetDescriptionInput = {
4565
5176
  depthBiasConstantFactor?: number;
4566
5177
  /** Depth bias slope factor */
4567
5178
  depthBiasSlopeFactor?: number;
4568
- type?: 18;
5179
+ type: 18;
4569
5180
  } | {
4570
5181
  /** Specialization constants values for the specified shader */
4571
5182
  constantsJson?: {
@@ -4577,8 +5188,8 @@ export type EditableAssetDescriptionInput = {
4577
5188
  };
4578
5189
  /** A reference to a shader */
4579
5190
  shaderRef?: string;
4580
- type?: 19;
4581
- }> & {
5191
+ type: 19;
5192
+ }) & {
4582
5193
  /** Index into the conditions array; -1 if unconditional */
4583
5194
  conditionIndex?: number;
4584
5195
  /** Node name */
@@ -5006,6 +5617,11 @@ export type EditableAssetDescriptionInput = {
5006
5617
  value?: Array<number> | number;
5007
5618
  }>;
5008
5619
  };
5620
+ export declare class AssetSourceFileNotFound extends ServiceErrorResponse {
5621
+ static readonly ERROR_CODE = 1018;
5622
+ readonly asset_id: AssetId;
5623
+ constructor(serviceError: Record<string, unknown>);
5624
+ }
5009
5625
  export declare class InsufficientPermissions extends ServiceErrorResponse {
5010
5626
  static readonly ERROR_CODE = 1002;
5011
5627
  /** The permissions the caller misses, per resource */
@@ -5050,6 +5666,12 @@ export declare class InvalidGuestToken extends ServiceErrorResponse {
5050
5666
  static readonly ERROR_CODE = 1016;
5051
5667
  constructor(serviceError: Record<string, unknown>);
5052
5668
  }
5669
+ export declare class InvalidTokenTtl extends ServiceErrorResponse {
5670
+ static readonly ERROR_CODE = 1017;
5671
+ /** The time to live asked */
5672
+ readonly ttl: string;
5673
+ constructor(serviceError: Record<string, unknown>);
5674
+ }
5053
5675
  export declare class UploadedPayloadTooLarge extends ServiceErrorResponse {
5054
5676
  static readonly ERROR_CODE = 1007;
5055
5677
  /** The maximum upload size of the environment, in bytes */
@@ -5085,7 +5707,7 @@ export declare class ConversionTaskNotFound extends ServiceErrorResponse {
5085
5707
  constructor(serviceError: Record<string, unknown>);
5086
5708
  }
5087
5709
  /** The errors the spec declares. */
5088
- export type DeclaredError = InsufficientPermissions | InvalidAuthorization | InsufficientSecurityScope | Unauthorized | EnvironmentMismatch | MissingAuthorizationHeader | InvalidApiKey | InvalidGuestToken | UploadedPayloadTooLarge | NoFileUploaded | UploadAborted | UploadTaskNotFound | InvalidMaterial | InvalidRequest | ConversionTaskNotFound;
5710
+ export type DeclaredError = AssetSourceFileNotFound | InsufficientPermissions | InvalidAuthorization | InsufficientSecurityScope | Unauthorized | EnvironmentMismatch | MissingAuthorizationHeader | InvalidApiKey | InvalidGuestToken | InvalidTokenTtl | UploadedPayloadTooLarge | NoFileUploaded | UploadAborted | UploadTaskNotFound | InvalidMaterial | InvalidRequest | ConversionTaskNotFound;
5089
5711
  /**
5090
5712
  * The error declared in the spec that a request failed with, or undefined: read from the error a function of this
5091
5713
  * client rejected with, e.g. `if (errorOf(error) instanceof FolderNotFound)`.
@@ -5124,21 +5746,25 @@ export declare function updateUser({ user_id, username, }: {
5124
5746
  username: string;
5125
5747
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): Promise<import("axios").AxiosResponse<any, any, {}>>;
5126
5748
  /**
5127
- * Deletes the target user.
5749
+ * Deletes a registered user of the environment. What it created stays, naming it under a placeholder username; its
5750
+ * accesses and the public access tokens impersonating it are deleted, and its user tokens are refused from then on.
5751
+ * A user cannot delete itself, nor the environment's tenant or an account user be deleted.
5128
5752
  */
5129
5753
  export declare function deleteUser({ user_id, }: {
5130
5754
  user_id: UserId;
5131
- }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<{
5132
- deleted_assets?: AssetList;
5133
- }>;
5755
+ }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): Promise<import("axios").AxiosResponse<any, any, {}>>;
5134
5756
  /**
5135
- * Generates a user token. This user token identifies the user when making a request.
5757
+ * Generates a user token. This user token identifies the user when making a request, with the scope it was generated
5758
+ * with, until it expires. It cannot be revoked.
5136
5759
  */
5137
5760
  export declare function generateUserToken({ user_id, scope, ttl, }: {
5138
5761
  user_id: UserId;
5139
5762
  /** Token permission scope */
5140
5763
  scope: 'read' | 'write' | 'manage';
5141
- /** Time to live */
5764
+ /**
5765
+ * Time to live, from 1 minute to 14 days, e.g. `30m`, `1h`, `7d` or `1h 30m`, a number alone counting
5766
+ * seconds
5767
+ */
5142
5768
  ttl?: string;
5143
5769
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<Token>;
5144
5770
  /**
@@ -5306,11 +5932,9 @@ export declare function listFolderSubFolders({ folder_id, }: {
5306
5932
  * exist. The submitted assets that already exist are overwritten only if they are listed in an `overwrite.json`
5307
5933
  * file, a JSON array of asset ids submitted along with them; without it, the import fails if one of them already
5308
5934
  * exists.
5309
- * The import runs asynchronously, as a data pipeline:
5310
- * 1. `GET /pipelines/{pipeline_id}`, with the returned `upload_task_id` as the pipeline id, tells its status and,
5311
- * on failure, the reason, such as the invalid assets or the missing permissions.
5312
- * 2. Once it has succeeded, `GET /conversion_tasks/{conversion_task_id}/metadata/import_result.json`, with the id
5313
- * of the pipeline job as the conversion task id, returns the imported, overwritten and skipped asset ids.
5935
+ * The import runs asynchronously, as a data pipeline, the returned `upload_task_id` being its id: once it has
5936
+ * succeeded, `GET /conversion_tasks/{conversion_task_id}/metadata/import_result.json`, with the id of its conversion
5937
+ * as the conversion task id, returns the imported, overwritten and skipped asset ids.
5314
5938
  */
5315
5939
  export declare function uploadSourceFiles({ folder_id, files, task_name, conversion_pipeline, source_files, options, }: {
5316
5940
  folder_id: FolderId;
@@ -5396,7 +6020,7 @@ export declare function createAsset({ folder_id, asset_creation_options, }: {
5396
6020
  };
5397
6021
  }>;
5398
6022
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<{
5399
- /** Asset unique identifier */
6023
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
5400
6024
  asset_id: string;
5401
6025
  name: string;
5402
6026
  /** Map of source asset ids to copied asset ids */
@@ -5404,7 +6028,7 @@ export declare function createAsset({ folder_id, asset_creation_options, }: {
5404
6028
  [source_asset_id: string]: AssetId;
5405
6029
  };
5406
6030
  } | {
5407
- /** Asset unique identifier */
6031
+ /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */
5408
6032
  asset_id: string;
5409
6033
  name: string;
5410
6034
  source_to_copy_asset_id_map?: {
@@ -5610,16 +6234,12 @@ export declare function schedulePipeline({ data_pipeline_id, pipeline_name, fold
5610
6234
  asset_id: AssetId;
5611
6235
  }>;
5612
6236
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<{
5613
- pipeline_id: PipelineId;
6237
+ pipeline_id: ImportId;
5614
6238
  }>;
5615
6239
  /**
5616
- * Retrieves a specific instantiated Data Pipeline by its ID.
5617
- */
5618
- export declare function getPipeline({ pipeline_id, }: {
5619
- pipeline_id: PipelineId;
5620
- }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<Pipeline>;
5621
- /**
5622
- * Returns a list of all assets.
6240
+ * Lists the assets of the caller's environment, at every depth, grouped by type, and with
6241
+ * `filter[include_public_assets]` those shared with the platform from any environment too, as asset pickers list
6242
+ * them. Filters by types and by name (a uuid, or a case-insensitive substring).
5623
6243
  */
5624
6244
  export declare function listAssets({ offset, limit, filter, }: {
5625
6245
  offset?: number;
@@ -5631,7 +6251,7 @@ export declare function listAssets({ offset, limit, filter, }: {
5631
6251
  asset_types?: Array<AssetType>;
5632
6252
  /** Filter by asset name */
5633
6253
  asset_name?: string;
5634
- /** Include assets coming from public libraries */
6254
+ /** Include the assets shared with the platform, from any environment */
5635
6255
  include_public_assets?: boolean;
5636
6256
  };
5637
6257
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<AssetList>;
@@ -5649,7 +6269,8 @@ export declare function deleteAsset({ asset_container, asset_id, }: {
5649
6269
  asset_id: AssetId;
5650
6270
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): Promise<import("axios").AxiosResponse<any, any, {}>>;
5651
6271
  /**
5652
- * Gets the source file of the specified asset.
6272
+ * Gets the source file the specified asset was imported from.
6273
+ * @throws {AssetSourceFileNotFound}
5653
6274
  */
5654
6275
  export declare function getAssetSourceFile({ asset_container, asset_id, }: {
5655
6276
  asset_container: AssetContainer;
@@ -5845,7 +6466,7 @@ export declare function setAssetThumbnail({ asset_container, asset_id, body, }:
5845
6466
  asset_container: AssetContainer;
5846
6467
  asset_id: AssetId;
5847
6468
  body: ArrayBuffer | ReadableStream;
5848
- }, contentType: 'image/jpg' | 'image/png', headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): Promise<import("axios").AxiosResponse<any, any, {}>>;
6469
+ }, contentType: 'image/jpeg' | 'image/jpg' | 'image/png', headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): Promise<import("axios").AxiosResponse<any, any, {}>>;
5849
6470
  /**
5850
6471
  * Packages and downloads the target asset.
5851
6472
  */
@@ -5856,13 +6477,13 @@ export declare function packageAsset<T extends 'arraybuffer' | 'stream' | 'json'
5856
6477
  /**
5857
6478
  * Downloads an asset payload in a given format. Only mesh is supported for the moment. This endpoint requires special export permission.
5858
6479
  */
5859
- export declare function exportAsset<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>({ asset_container_exportable, asset_id, format, scale, sub_mesh_index, }: {
6480
+ export declare function exportAsset({ asset_container_exportable, asset_id, format, scale, sub_mesh_index, }: {
5860
6481
  asset_container_exportable: AssetContainerExportable;
5861
6482
  asset_id: AssetId;
5862
6483
  format: 'obj' | 'stl';
5863
6484
  scale?: number;
5864
6485
  sub_mesh_index?: number;
5865
- }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders, responseType?: T): AxiosPromise<T extends 'arraybuffer' ? ArrayBuffer : T extends 'json' ? object : T extends 'text' ? string : T extends 'stream' ? ReadableStream : never>;
6486
+ }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<string | ArrayBuffer | ReadableStream>;
5866
6487
  /**
5867
6488
  * Lists all sessions running a specified scene.
5868
6489
  */
@@ -6454,7 +7075,7 @@ export declare function getEntity({ scene_id, entity_id, compute_global_transfor
6454
7075
  scene_id: AssetId;
6455
7076
  entity_id: string;
6456
7077
  compute_global_transform?: boolean;
6457
- }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<Entity>;
7078
+ }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<SceneEntity>;
6458
7079
  /**
6459
7080
  * Update a specific entity from a scene.
6460
7081
  */
@@ -7056,7 +7677,7 @@ export declare function getRunningSessions({ filters, }: {
7056
7677
  /**
7057
7678
  * Create a new rendering session.
7058
7679
  */
7059
- export declare function createSession({ scene_id, renderer_version, is_transient, options, }: {
7680
+ export declare function createSession({ scene_id, renderer_version, is_transient, options, metadata, }: {
7060
7681
  /** The unique identifier of the scene to launch. */
7061
7682
  scene_id: AssetId;
7062
7683
  /** The version of the renderer to use. */
@@ -7067,6 +7688,8 @@ export declare function createSession({ scene_id, renderer_version, is_transient
7067
7688
  options?: {
7068
7689
  [_additionalproperties_: string]: any;
7069
7690
  };
7691
+ /** What the application attaches to the session, returned with it. */
7692
+ metadata?: Metadata;
7070
7693
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<{
7071
7694
  session_id: SessionId;
7072
7695
  }>;
@@ -7077,7 +7700,8 @@ export declare function getSession({ session_id, }: {
7077
7700
  session_id: SessionId;
7078
7701
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<Session>;
7079
7702
  /**
7080
- * Forcefully terminates a session.
7703
+ * Terminates a session: its renderer is stopped, its clients disconnected. Only the session's creator can terminate
7704
+ * it. The session is closing until its renderer stopped, joined no more.
7081
7705
  */
7082
7706
  export declare function killSession({ session_id, }: {
7083
7707
  session_id: SessionId;
@@ -7085,10 +7709,12 @@ export declare function killSession({ session_id, }: {
7085
7709
  /**
7086
7710
  * Creates a new client for the user and returns a token to join the session.
7087
7711
  */
7088
- export declare function joinSession({ session_id, is_headless, }: {
7712
+ export declare function joinSession({ session_id, is_headless, metadata, }: {
7089
7713
  session_id: SessionId;
7090
7714
  /** Declare that the client is headless and will not receive any frames. Useful for clients running on servers or in the background. */
7091
7715
  is_headless?: boolean;
7716
+ /** What the application attaches to the client the token creates, returned with it. */
7717
+ metadata?: Metadata;
7092
7718
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<SessionToken>;
7093
7719
  /**
7094
7720
  * Retrieves details about the target client.
@@ -7098,7 +7724,8 @@ export declare function getClient({ session_id, client_id, }: {
7098
7724
  client_id: ClientId;
7099
7725
  }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<Client>;
7100
7726
  /**
7101
- * Kick a client from a running session.
7727
+ * Kicks a client from a running session: it is disconnected, and leaves the session. Only the session's creator can
7728
+ * kick a client.
7102
7729
  */
7103
7730
  export declare function kickClientFromSession({ session_id, client_id, }: {
7104
7731
  session_id: SessionId;
@@ -7107,7 +7734,10 @@ export declare function kickClientFromSession({ session_id, client_id, }: {
7107
7734
  /**
7108
7735
  * Join a session as guest.
7109
7736
  */
7110
- export declare function joinSessionAsGuest(headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<SessionToken>;
7737
+ export declare function joinSessionAsGuest({ metadata, }: {
7738
+ /** What the application attaches to the client the token creates, returned with it. */
7739
+ metadata?: Metadata;
7740
+ }, headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<SessionToken>;
7111
7741
  /**
7112
7742
  * Generates a token to join the session as a guest.
7113
7743
  */