@3dverse/api 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_prebuild/wrapper.d.ts +6754 -3915
- package/dist/index.js +616 -114
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +594 -113
- package/dist/index.mjs.map +3 -3
- package/package.json +2 -2
package/dist/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../index.ts", "../_prebuild/wrapper.ts"],
|
|
4
|
-
"sourcesContent": ["//--------------------------------------------------------------------------\nimport { AxiosError } from 'axios';\nimport axiosRetry, { isNetworkError, isIdempotentRequestError } from 'axios-retry';\n\n//--------------------------------------------------------------------------\nimport { axiosInstance } from './_prebuild/wrapper';\n\n//------------------------------------------------------------------------------\nexport function setApiKey(apiKey: string) {\n axiosInstance.defaults.headers.common['api_key'] = apiKey;\n delete axiosInstance.defaults.headers.common['user_token'];\n}\n\n//------------------------------------------------------------------------------\nexport function setUserToken(userToken: string) {\n axiosInstance.defaults.headers.common['user_token'] = userToken;\n delete axiosInstance.defaults.headers.common['api_key'];\n}\n\n//------------------------------------------------------------------------------\nabstract class ServiceError extends Error {\n errorCode: number;\n httpCode: number;\n message: string;\n\n //--------------------------------------------------------------------------\n constructor(errorCode: number, httpCode: number, message: string) {\n super();\n this.errorCode = errorCode;\n this.httpCode = httpCode;\n this.message = message;\n }\n}\n\n//------------------------------------------------------------------------------\nexport class ApiError extends ServiceError {\n serviceError: unknown;\n\n constructor(errorCode: number, status: number, message: string, serviceError: unknown) {\n super(errorCode, status, message);\n this.serviceError = serviceError;\n }\n}\n\n//------------------------------------------------------------------------------\nexport class UnexpectedServiceError extends ServiceError {\n unexpectedError: unknown;\n\n constructor(status: number, unexpectedError: unknown) {\n super(0, status, 'Unexpected service error error');\n this.unexpectedError = unexpectedError;\n }\n}\n\n//------------------------------------------------------------------------------\nfunction installInterceptors() {\n const CLIENT_ERROR = 400 as const;\n const INTERNAL_SERVER_ERROR = 500 as const;\n\n axiosRetry(axiosInstance, {\n retries: 5,\n retryDelay: axiosRetry.exponentialDelay,\n retryCondition: shouldRetryRequest,\n });\n\n axiosInstance.interceptors.response.use(\n successFulResponse => {\n if (successFulResponse.config.responseType === 'stream') {\n successFulResponse.data.pause();\n }\n\n return successFulResponse;\n },\n error => {\n if (!error.response) {\n return Promise.reject(error);\n }\n\n const axiosError = error as AxiosError;\n const status = axiosError.response?.status || INTERNAL_SERVER_ERROR;\n const errorData = axiosError.response?.data;\n\n if (\n !errorData &&\n axiosError.request.method === 'HEAD' &&\n status >= CLIENT_ERROR &&\n status < INTERNAL_SERVER_ERROR\n ) {\n return axiosError.response;\n }\n\n if (!errorData || typeof errorData !== 'object') {\n return Promise.reject(new UnexpectedServiceError(status, errorData));\n }\n\n const serviceError = errorData as ServiceError;\n return Promise.reject(new ApiError(serviceError.errorCode, status, serviceError.message, serviceError));\n },\n );\n}\n\n//------------------------------------------------------------------------------\nfunction shouldRetryRequest(error: AxiosError) {\n const status = error.response?.status;\n\n switch (status) {\n case 403:\n case 404:\n return true;\n\n default:\n return isNetworkError(error) || isIdempotentRequestError(error);\n }\n}\n\n//------------------------------------------------------------------------------\ninstallInterceptors();\n\n//------------------------------------------------------------------------------\nexport * from './_prebuild/wrapper';\n", "/**\n * Asset API v1.0\n * ## Getting Started\n *\n *This is the reference for the REST API endpoints.\n *\n *### NPM package\n *\n *We provide a TypeScript wrapper library to make typesafe API requests and get typed responses: [https://www.npmjs.com/package/@3dverse/api](https://www.npmjs.com/package/@3dverse/api).\n *\n *### Authentication\n *\n *To authenticate your API calls, you'll need to generate an API key via the [3dverse Console](https://console.3dverse.com) and send an `api_key` header with your API requests.\n *Alternatively, you can create a user, generate a token for the user and authenticate with a `user_token`.\n *\n *\n *---\n *\n *\n * Contact: 3dverse Support (support@3dverse.com)\n *\n * DO NOT EDIT THIS FILE MANUALLY.\n * This file has been generated automatically from its OpenAPI spec file.\n * See: https://gitlab.com/3dverse/platform/libs/js/openapi-client-library-generator\n */\n\n//--------------------------------------------------------------------------\nimport axios, { AxiosPromise, AxiosRequestHeaders, AxiosError, AxiosProgressEvent } from 'axios';\n\n//--------------------------------------------------------------------------\ntype UnionKeys<T> = T extends T ? keyof T : never;\ntype StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;\ntype StrictUnion<T> = StrictUnionHelper<T, T>;\n\n//--------------------------------------------------------------------------\nexport const axiosInstance = axios.create({\n baseURL: 'https://api.3dverse.com/app/v1',\n});\n\n//------------------------------------------------------------------------------\nexport function setBaseURL(baseURL: string) {\n axiosInstance.defaults.baseURL = baseURL;\n}\n\n//--------------------------------------------------------------------------\nexport type ListUsers_User_UserInfo = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Retrieve a list of all users in the current application.\n */\nexport function listUsers(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<ListUsers_User_UserInfo>> {\n return axiosInstance({\n method: 'get',\n url: '/users',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type RegisterUser_User_UserInfo = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Registers the target user in the current application.\n */\nexport function registerUser(\n {\n username,\n }: {\n /** Used only for debug purposes */\n username: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<RegisterUser_User_UserInfo> {\n return axiosInstance({\n method: 'post',\n url: '/users',\n data: {\n username: username,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetCurrentUser_User_UserInfo = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Retrieves details about the current user.\n */\nexport function getCurrentUser(headers?: AxiosRequestHeaders): AxiosPromise<GetCurrentUser_User_UserInfo> {\n return axiosInstance({\n method: 'get',\n url: '/users/me',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetUser_User_UserInfo = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Retrieves details about the target user.\n */\nexport function getUser(\n {\n user_id,\n }: {\n user_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetUser_User_UserInfo> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + user_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates the details of the target user.\n */\nexport function updateUser(\n {\n user_id,\n username,\n }: {\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/users/' + user_id + '',\n data: {\n username: username,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type DeleteUser_Object = {\n deleted_assets?: DeleteUser_AssetList;\n};\nexport type DeleteUser_AssetList = {\n action_maps?: Array<DeleteUser_Object>;\n animation_graphs?: Array<DeleteUser_Object>;\n animation_sequences?: Array<DeleteUser_Object>;\n animation_sets?: Array<DeleteUser_Object>;\n animations?: Array<DeleteUser_Object>;\n collision_geometries?: Array<DeleteUser_Object>;\n cubemaps?: Array<DeleteUser_Object>;\n event_maps?: Array<DeleteUser_Object>;\n materials?: Array<DeleteUser_Object>;\n meshes?: Array<DeleteUser_Object>;\n modules?: Array<DeleteUser_Object>;\n point_clouds?: Array<DeleteUser_Object>;\n render_graphs?: Array<DeleteUser_Object>;\n scenes?: Array<DeleteUser_Object>;\n scripts?: Array<DeleteUser_Object>;\n shader_contexts?: Array<DeleteUser_Object>;\n shaders?: Array<DeleteUser_Object>;\n skeletons?: Array<DeleteUser_Object>;\n sounds?: Array<DeleteUser_Object>;\n textures?: Array<DeleteUser_Object>;\n textures_1d?: Array<DeleteUser_Object>;\n textures_3d?: Array<DeleteUser_Object>;\n volume_materials?: Array<DeleteUser_Object>;\n};\n/**\n * Deletes the target user.\n */\nexport function deleteUser(\n {\n user_id,\n }: {\n user_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<DeleteUser_Object> {\n return axiosInstance({\n method: 'delete',\n url: '/users/' + user_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GenerateUserToken_Token = {\n user_token: string;\n expires_in: number;\n expires_on: number;\n};\n/**\n * Generates a user token. This user token identifies the user when making a request.\n */\nexport function generateUserToken(\n {\n user_id,\n scope,\n ttl = '1h',\n }: {\n user_id: string;\n /** Token permission scope */\n scope: 'read' | 'write' | 'manage';\n /** Time to live */\n ttl?: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GenerateUserToken_Token> {\n return axiosInstance({\n method: 'post',\n url: '/users/' + user_id + '/tokens',\n data: {\n scope: scope,\n ttl: ttl,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetUserGroups_Group_GroupInfo = {\n /** Group unique identifier */\n group_id: string;\n name: string;\n description?: string;\n created_at: string;\n members: Array<GetUserGroups_GroupMember_GroupAccess>;\n};\nexport type GetUserGroups_GroupMember_GroupAccess = {\n /** User unique identifier */\n user_id: string;\n /** Date user joined group */\n joined_at?: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\n/**\n * Lists all user groups.\n */\nexport function getUserGroups(\n {\n user_id,\n }: {\n user_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetUserGroups_Group_GroupInfo>> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + user_id + '/groups',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetUserUploadTasks_UploadTask = {\n /** Upload task unique identifier */\n upload_task_id: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Date of the upload */\n uploaded_at: string;\n /** User who uploaded the file */\n uploaded_by: GetUserUploadTasks_Object;\n /** The global progress of the conversion tasks */\n progress: number;\n /** The download progress of the source file if the Upload Task specified a URL for the source file.\nThis is only available if the source file is being downloaded.\n */\n download_progress?: number;\n status: StrictUnion<'waiting' | 'downloading' | 'pending' | 'converting' | 'error' | 'success' | 'rejected'> &\n string;\n conversion_tasks: Array<GetUserUploadTasks_ConversionTask>;\n};\nexport type GetUserUploadTasks_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\nexport type GetUserUploadTasks_ConversionTask = {\n /** Asset unique identifier */\n asset_id: string;\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file */\n source_file_name: string;\n conversion_pipeline: 'auto-detect' | 'volume' | 'scene' | 'texture' | 'animation' | 'point-cloud' | 'package';\n progress: number;\n status: StrictUnion<'pending' | 'converting' | 'error' | 'success'> & string;\n};\n/**\n * Lists all upload tasks of the target user.\n */\nexport function getUserUploadTasks(\n {\n user_id,\n offset = 0,\n limit = 10,\n }: {\n user_id: string;\n offset?: number;\n limit?: number;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetUserUploadTasks_UploadTask>> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + user_id + '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateGroup_GroupMember_GroupAccess = {\n /** User unique identifier */\n user_id: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\nexport type CreateGroup_Group_GroupInfo = {\n /** Group unique identifier */\n group_id: string;\n name: string;\n description?: string;\n created_at: string;\n members: Array<CreateGroup_GroupMember_GroupAccess_Writable>;\n};\nexport type CreateGroup_GroupMember_GroupAccess_Writable = {\n /** User unique identifier */\n user_id: string;\n /** Date user joined group */\n joined_at?: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\n/**\n * Creates a new user group.\n */\nexport function createGroup(\n {\n name,\n description,\n members,\n }: {\n name: string;\n description?: string;\n members: Array<CreateGroup_GroupMember_GroupAccess>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateGroup_Group_GroupInfo> {\n return axiosInstance({\n method: 'post',\n url: '/groups',\n data: {\n name: name,\n description: description,\n members: members,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetGroup_Group_GroupInfo = {\n /** Group unique identifier */\n group_id: string;\n name: string;\n description?: string;\n created_at: string;\n members: Array<GetGroup_GroupMember_GroupAccess>;\n};\nexport type GetGroup_GroupMember_GroupAccess = {\n /** User unique identifier */\n user_id: string;\n /** Date user joined group */\n joined_at?: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\n/**\n * Gets a group details.\n */\nexport function getGroup(\n {\n group_id,\n }: {\n group_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetGroup_Group_GroupInfo> {\n return axiosInstance({\n method: 'get',\n url: '/groups/' + group_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates a group details.\n */\nexport function updateGroupDescription(\n {\n group_id,\n name,\n description,\n }: {\n group_id: string;\n name: string;\n description: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/groups/' + group_id + '',\n data: {\n name: name,\n description: description,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes a group and all its access rights.\n */\nexport function deleteGroup(\n {\n group_id,\n }: {\n group_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/groups/' + group_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Grants member access to the group.\n */\nexport function grantMemberAccessToGroup(\n {\n group_id,\n member_type,\n member_id,\n group_access,\n folder_access,\n }: {\n group_id: string;\n member_type: 'users' | 'groups';\n member_id: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/groups/' + group_id + '/members/' + member_type + '/' + member_id + '',\n data: {\n group_access: group_access,\n folder_access: folder_access,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Revoke requested user access to group.\n */\nexport function revokeMemberAccessToGroup(\n {\n group_id,\n member_type,\n member_id,\n }: {\n group_id: string;\n member_type: 'users' | 'groups';\n member_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/groups/' + group_id + '/members/' + member_type + '/' + member_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type ListFolders_Folder = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: ListFolders_Object;\n subfolders?: Array<ListFolders_Folder>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type ListFolders_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Lists all accessible folders.\n */\nexport function listFolders(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<ListFolders_Folder>> {\n return axiosInstance({\n method: 'get',\n url: '/folders',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateFolder_Folder = {\n /** Folder name */\n name: string;\n subfolders?: Array<CreateFolder_Folder>;\n};\nexport type CreateFolder_Folder_Writable = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: CreateFolder_Object;\n subfolders?: Array<CreateFolder_Folder_Writable>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type CreateFolder_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Creates a folder.\n */\nexport function createFolder(\n {\n name,\n subfolders,\n }: {\n /** Folder name */\n name: string;\n subfolders?: Array<CreateFolder_Folder>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateFolder_Folder_Writable> {\n return axiosInstance({\n method: 'post',\n url: '/folders',\n data: {\n name: name,\n subfolders: subfolders,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetFolderInfo_Folder = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: GetFolderInfo_Object;\n subfolders?: Array<GetFolderInfo_Folder>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type GetFolderInfo_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Gets the requested folder details.\n */\nexport function getFolderInfo(\n {\n folder_id,\n }: {\n folder_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetFolderInfo_Folder> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move folders inside the specified folder.\n */\nexport function moveFolders(\n {\n folder_id,\n folder_ids,\n }: {\n folder_id: string;\n folder_ids: Array<string>;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + folder_id + '',\n data: folder_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates the folder details.\n */\nexport function updateFolder(\n {\n folder_id,\n name,\n }: {\n folder_id: string;\n /** Folder name */\n name?: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/folders/' + folder_id + '',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the requested folder. The target folder must be empty.\n */\nexport function deleteFolder(\n {\n folder_id,\n }: {\n folder_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/folders/' + folder_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type ListFolderAccesses_Object = {\n users?: Array<ListFolderAccesses_UserInfo_FolderAccess>;\n groups?: Array<ListFolderAccesses_GroupInfo_FolderAccess>;\n};\nexport type ListFolderAccesses_UserInfo_FolderAccess = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n access: 'read' | 'write' | 'manage';\n};\nexport type ListFolderAccesses_GroupInfo_FolderAccess = {\n /** Group unique identifier */\n group_id: string;\n name: string;\n access: 'read' | 'write' | 'manage';\n};\n/**\n * List member access to the targeted folder.\n */\nexport function listFolderAccesses(\n {\n folder_id,\n }: {\n folder_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<ListFolderAccesses_Object> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/access',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Grants member access to the targeted folder.\n */\nexport function grantMemberAccessToFolder(\n {\n folder_id,\n member_type,\n member_id,\n access,\n }: {\n folder_id: string;\n member_type: 'users' | 'groups';\n member_id: string;\n access: 'read' | 'write' | 'manage';\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + folder_id + '/access/' + member_type + '/' + member_id + '',\n data: {\n access: access,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Revokes member access to a target folder.\n */\nexport function revokeMemberAccessToFolder(\n {\n folder_id,\n member_type,\n member_id,\n }: {\n folder_id: string;\n member_type: 'users' | 'groups';\n member_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/folders/' + folder_id + '/access/' + member_type + '/' + member_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateSubfolder_Folder = {\n /** Folder name */\n name: string;\n subfolders?: Array<CreateSubfolder_Folder>;\n};\nexport type CreateSubfolder_Folder_Writable = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: CreateSubfolder_Object;\n subfolders?: Array<CreateSubfolder_Folder_Writable>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type CreateSubfolder_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Creates a subfolder.\n */\nexport function createSubfolder(\n {\n folder_id,\n name,\n subfolders,\n }: {\n folder_id: string;\n /** Folder name */\n name: string;\n subfolders?: Array<CreateSubfolder_Folder>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateSubfolder_Folder_Writable> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + folder_id + '/folders',\n data: {\n name: name,\n subfolders: subfolders,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type ListFolderSubFolders_Folder = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: ListFolderSubFolders_Object;\n subfolders?: Array<ListFolderSubFolders_Folder>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type ListFolderSubFolders_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Lists all subfolders of requested folder. This request can be recursive.\n */\nexport function listFolderSubFolders(\n {\n folder_id,\n }: {\n folder_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<ListFolderSubFolders_Folder>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/folders',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type UploadSourceFiles_Object = {\n /** Upload task unique identifier */\n upload_task_id?: string;\n};\n/**\n * Uploads the specified source file(s). The accepted extensions, their conversion type and\n * per-converter options are listed by `GET /source-files/supported-formats` and documented at\n * https://docs.3dverse.com/references/supported-file-formats.\n * ### Importing an asset package\n * With the `package` conversion pipeline, the source files are already converted assets, imported as they are,\n * submitted as zip archives (asset packages) or as the asset files themselves. The asset files are named\n * `<part>.<asset_type>[.<sub resource>].<uuid>`, where the part is `desc` (the asset description, in JSON),\n * `payload`, `graph` or `layout`, for example `desc.mesh.<uuid>`, `payload.mesh.<uuid>` or\n * `payload.texture.mip0.<uuid>`. The assets they reference must be submitted along with them, unless they already\n * exist. The submitted assets that already exist are overwritten only if they are listed in an `overwrite.json`\n * file, a JSON array of asset ids submitted along with them; without it, the import fails if one of them already\n * exists.\n * The import runs asynchronously, as a data pipeline:\n * 1. `GET /pipelines/{pipeline_id}`, with the returned `upload_task_id` as the pipeline id, tells its status and,\n * on failure, the reason, such as the invalid assets or the missing permissions.\n * 2. Once it has succeeded, `GET /conversion_tasks/{conversion_task_id}/metadata/import_result.json`, with the id\n * of the pipeline job as the conversion task id, returns the imported, overwritten and skipped asset ids.\n */\nexport function uploadSourceFiles(\n {\n folder_id,\n body,\n }: {\n folder_id: string;\n body: FormData;\n },\n onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,\n headers?: AxiosRequestHeaders,\n): AxiosPromise<UploadSourceFiles_Object> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + folder_id + '/source-files',\n data: body,\n onUploadProgress: onUploadProgress,\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...headers?.toJSON(),\n },\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSourceFilesInFolder_Filters = {\n source_file_name?: string;\n};\nexport type GetSourceFilesInFolder_SourceFile = {\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file when uploaded */\n source_file_original_name: string;\n /** Source file display name */\n name: string;\n /** Size in bytes */\n size: number;\n};\n/**\n * Lists all source files in a folder.\n */\nexport function getSourceFilesInFolder(\n {\n folder_id,\n offset = 0,\n limit = 10,\n filters,\n }: {\n folder_id: string;\n offset?: number;\n limit?: number;\n filters?: GetSourceFilesInFolder_Filters;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetSourceFilesInFolder_SourceFile>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/source-files',\n params: {\n offset: offset,\n limit: limit,\n filters: filters,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-source-files-count'] = JSON.parse(response.headers['x-source-files-count']) as number;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move source files inside the specified folder.\n */\nexport function moveSourceFiles(\n {\n folder_id,\n source_file_ids,\n }: {\n folder_id: string;\n source_file_ids: Array<string>;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + folder_id + '/source-files',\n data: source_file_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetUploadTasksInFolder_UploadTask = {\n /** Upload task unique identifier */\n upload_task_id: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Date of the upload */\n uploaded_at: string;\n /** User who uploaded the file */\n uploaded_by: GetUploadTasksInFolder_Object;\n /** The global progress of the conversion tasks */\n progress: number;\n /** The download progress of the source file if the Upload Task specified a URL for the source file.\nThis is only available if the source file is being downloaded.\n */\n download_progress?: number;\n status: StrictUnion<'waiting' | 'downloading' | 'pending' | 'converting' | 'error' | 'success' | 'rejected'> &\n string;\n conversion_tasks: Array<GetUploadTasksInFolder_ConversionTask>;\n};\nexport type GetUploadTasksInFolder_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\nexport type GetUploadTasksInFolder_ConversionTask = {\n /** Asset unique identifier */\n asset_id: string;\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file */\n source_file_name: string;\n conversion_pipeline: 'auto-detect' | 'volume' | 'scene' | 'texture' | 'animation' | 'point-cloud' | 'package';\n progress: number;\n status: StrictUnion<'pending' | 'converting' | 'error' | 'success'> & string;\n};\n/**\n * Lists all upload tasks in a folder.\n */\nexport function getUploadTasksInFolder(\n {\n folder_id,\n offset = 0,\n limit = 10,\n }: {\n folder_id: string;\n offset?: number;\n limit?: number;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetUploadTasksInFolder_UploadTask>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetFolderAssets_Filters = {\n /** Look for assets containing the given name (case-insensitive) */\n asset_name?: string;\n /** @deprecated Deprecated. Use asset_types instead. Look for assets of the given type */\n asset_type?: (\n | Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n ) &\n any;\n /** Look for assets of the given types */\n asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Look for assets associated with or without libraries */\n library?: Array<string> | string | 'exclude';\n /** Look for assets associated with or without source files */\n source_file?: Array<string> | string | 'exclude';\n};\nexport type GetFolderAssets_AssetCount = {\n /** Total number of assets in target folder. */\n total: number;\n /** Total number of assets in target folder of specific type. */\n [asset_type: string]: number;\n};\nexport type GetFolderAssets_AssetList = {\n action_maps?: Array<GetFolderAssets_Object>;\n animation_graphs?: Array<GetFolderAssets_Object>;\n animation_sequences?: Array<GetFolderAssets_Object>;\n animation_sets?: Array<GetFolderAssets_Object>;\n animations?: Array<GetFolderAssets_Object>;\n collision_geometries?: Array<GetFolderAssets_Object>;\n cubemaps?: Array<GetFolderAssets_Object>;\n event_maps?: Array<GetFolderAssets_Object>;\n materials?: Array<GetFolderAssets_Object>;\n meshes?: Array<GetFolderAssets_Object>;\n modules?: Array<GetFolderAssets_Object>;\n point_clouds?: Array<GetFolderAssets_Object>;\n render_graphs?: Array<GetFolderAssets_Object>;\n scenes?: Array<GetFolderAssets_Object>;\n scripts?: Array<GetFolderAssets_Object>;\n shader_contexts?: Array<GetFolderAssets_Object>;\n shaders?: Array<GetFolderAssets_Object>;\n skeletons?: Array<GetFolderAssets_Object>;\n sounds?: Array<GetFolderAssets_Object>;\n textures?: Array<GetFolderAssets_Object>;\n textures_1d?: Array<GetFolderAssets_Object>;\n textures_3d?: Array<GetFolderAssets_Object>;\n volume_materials?: Array<GetFolderAssets_Object>;\n};\nexport type GetFolderAssets_Object = {\n /** Asset unique identifier */\n asset_id: string;\n name: string;\n};\n/**\n * Lists assets.\n */\nexport function getFolderAssets(\n {\n folder_id,\n offset = 0,\n limit = 10,\n filter,\n recursive = false,\n }: {\n folder_id: string;\n offset?: number;\n limit?: number;\n filter?: GetFolderAssets_Filters;\n recursive?: boolean;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetFolderAssets_AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/assets',\n params: {\n offset: offset,\n limit: limit,\n filter: filter,\n recursive: recursive,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-assets-count'] = JSON.parse(\n response.headers['x-assets-count'],\n ) as GetFolderAssets_AssetCount;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateAsset_NewAsset = {\n asset_type:\n | 'action_map'\n | 'animation_graph'\n | 'animation_sequence'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'module'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'volume_material';\n name: string;\n};\nexport type CreateAsset_AssetDuplication = {\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material';\n /** Asset unique identifier */\n copy_from_asset_id: string;\n new_asset_name?: string;\n /** Provide options to recursively duplicate asset dependencies. */\n options?: CreateAsset_DuplicationOptions;\n};\nexport type CreateAsset_DuplicationOptions = {\n /** Limits the duplication to the specified asset types */\n asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Limits the depth level of the duplication process. */\n max_depth?: number;\n};\nexport type CreateAsset_AssetDuplicationResult = {\n /** Asset unique identifier */\n asset_id: string;\n name: string;\n /** Map of source asset ids to copied asset ids */\n source_to_copy_asset_id_map?: CreateAsset_SourceToCopyAssetIdMap;\n};\nexport type CreateAsset_SourceToCopyAssetIdMap = {\n [source_asset_id: string]: string;\n};\n/**\n * Creates a new asset.\n */\nexport function createAsset(\n {\n folder_id,\n asset_creation_options,\n }: {\n folder_id: string;\n asset_creation_options: StrictUnion<CreateAsset_NewAsset | CreateAsset_AssetDuplication>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateAsset_AssetDuplicationResult> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + folder_id + '/assets',\n data: asset_creation_options,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move assets inside the specified folder.\n */\nexport function moveAssets(\n {\n folder_id,\n asset_ids,\n }: {\n folder_id: string;\n asset_ids: Array<string>;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + folder_id + '/assets',\n data: asset_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateMaterial_Object = {\n /** Asset unique identifier */\n asset_id: string;\n};\n/**\n * Creates a material.\n */\nexport function createMaterial(\n {\n folder_id,\n dataJson,\n isDoubleSided,\n name,\n shaderRef,\n }: {\n folder_id: string;\n /** Data object following the descriptor of the attached shader */\n dataJson: object;\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateMaterial_Object> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + folder_id + '/assets/materials',\n data: {\n dataJson: dataJson,\n isDoubleSided: isDoubleSided,\n name: name,\n shaderRef: shaderRef,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateCubemap_Object = {\n /** Asset unique identifier */\n asset_id: string;\n};\n/**\n * Creates a cubemap.\n */\nexport function createCubemap(\n {\n folder_id,\n faces,\n name,\n }: {\n folder_id: string;\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateCubemap_Object> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + folder_id + '/assets/cubemaps',\n data: {\n faces: faces,\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSessionsInFolder_Session = {\n /** Session unique identifier */\n session_id: string;\n /** The main scene identifier of the session */\n scene_id: string;\n /** The main scene name of the session */\n scene_name: string;\n /** The folder identifier of the scene */\n folder_id: string;\n /** Maximum number of users allowed in this session at the same time */\n max_users: number;\n /** @deprecated User identifier of the creator of the session (deprecated, use `created_by` instead) */\n creator_user_id: string;\n /** User identifier of the creator of the session */\n created_by?: GetSessionsInFolder_CreatedBy;\n /** Session creation date */\n created_at: string;\n /** Country code of the rendering server location */\n country_code: string;\n /** Continent code of the rendering server location */\n continent_code: string;\n /** Whether the session is transient or not */\n is_transient_session: boolean;\n /** Current clients in session */\n clients: Array<GetSessionsInFolder_Client_UserInfo>;\n};\nexport type GetSessionsInFolder_CreatedBy = {\n /** User unique identifier */\n user_id?: string;\n username?: string;\n required?: any;\n};\nexport type GetSessionsInFolder_Client_UserInfo = {\n /** Client unique identifier */\n client_id?: string;\n client_type?: 'user' | 'guest';\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * Lists all sessions running on scenes contained in a specified folder.\n */\nexport function getSessionsInFolder(\n {\n folder_id,\n }: {\n folder_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetSessionsInFolder_Session>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + folder_id + '/sessions',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type ListSourceFiles_Filters = {\n source_file_name?: string;\n};\nexport type ListSourceFiles_SourceFile = {\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file when uploaded */\n source_file_original_name: string;\n /** Source file display name */\n name: string;\n /** Size in bytes */\n size: number;\n};\n/**\n * List source files.\n */\nexport function listSourceFiles(\n {\n offset = 0,\n limit = 10,\n filters,\n }: {\n offset?: number;\n limit?: number;\n filters?: ListSourceFiles_Filters;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<ListSourceFiles_SourceFile>> {\n return axiosInstance({\n method: 'get',\n url: '/source-files',\n params: {\n offset: offset,\n limit: limit,\n filters: filters,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-source-files-count'] = JSON.parse(response.headers['x-source-files-count']) as number;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the target source files. Deleting a source file is permanent.\n */\nexport function deleteSourceFiles(\n {\n source_file_ids,\n delete_assets = false,\n }: {\n /** List of source files to delete */\n source_file_ids: Array<string>;\n /** If true, delete the assets associated with the source files as well.\n */\n delete_assets?: boolean;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/source-files',\n data: {\n source_file_ids: source_file_ids,\n delete_assets: delete_assets,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSupportedSourceFileFormats_SupportedSourceFileFormats = {\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n cubemap: GetSupportedSourceFileFormats_SupportedFormat;\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n point_cloud: GetSupportedSourceFileFormats_SupportedFormat;\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n scene: GetSupportedSourceFileFormats_SupportedFormat;\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n sound: GetSupportedSourceFileFormats_SupportedFormat;\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n texture: GetSupportedSourceFileFormats_SupportedFormat;\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n volume: GetSupportedSourceFileFormats_SupportedFormat;\n};\nexport type GetSupportedSourceFileFormats_SupportedFormat = {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: GetSupportedSourceFileFormats_Object;\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: GetSupportedSourceFileFormats_Object;\n file_extensions: Array<string>;\n};\nexport type GetSupportedSourceFileFormats_Object = {\n [_additionalproperties_: string]: Array<string>;\n};\n/**\n * Returns the source file formats accepted for conversion, grouped by conversion type, with the per-converter breakdown and each converter's options schema.\n */\nexport function getSupportedSourceFileFormats(\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSupportedSourceFileFormats_SupportedSourceFileFormats> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/supported-formats',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Downloads the target source file.\n */\nexport function downloadSourceFile<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n source_file_id,\n }: {\n source_file_id: string;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/' + source_file_id + '',\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSourceFileDetails_SourceFile = {\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file when uploaded */\n source_file_original_name: string;\n /** Source file display name */\n name: string;\n /** Size in bytes */\n size: number;\n};\n/**\n * Get source file details.\n */\nexport function getSourceFileDetails(\n {\n source_file_id,\n }: {\n source_file_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSourceFileDetails_SourceFile> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/' + source_file_id + '/details',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates details for a specific source file.\n */\nexport function updateSourceFileDetails(\n {\n source_file_id,\n name,\n }: {\n source_file_id: string;\n /** Source file display name */\n name: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/source-files/' + source_file_id + '/details',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSourceFileAssets_AssetList = {\n action_maps?: Array<GetSourceFileAssets_Object>;\n animation_graphs?: Array<GetSourceFileAssets_Object>;\n animation_sequences?: Array<GetSourceFileAssets_Object>;\n animation_sets?: Array<GetSourceFileAssets_Object>;\n animations?: Array<GetSourceFileAssets_Object>;\n collision_geometries?: Array<GetSourceFileAssets_Object>;\n cubemaps?: Array<GetSourceFileAssets_Object>;\n event_maps?: Array<GetSourceFileAssets_Object>;\n materials?: Array<GetSourceFileAssets_Object>;\n meshes?: Array<GetSourceFileAssets_Object>;\n modules?: Array<GetSourceFileAssets_Object>;\n point_clouds?: Array<GetSourceFileAssets_Object>;\n render_graphs?: Array<GetSourceFileAssets_Object>;\n scenes?: Array<GetSourceFileAssets_Object>;\n scripts?: Array<GetSourceFileAssets_Object>;\n shader_contexts?: Array<GetSourceFileAssets_Object>;\n shaders?: Array<GetSourceFileAssets_Object>;\n skeletons?: Array<GetSourceFileAssets_Object>;\n sounds?: Array<GetSourceFileAssets_Object>;\n textures?: Array<GetSourceFileAssets_Object>;\n textures_1d?: Array<GetSourceFileAssets_Object>;\n textures_3d?: Array<GetSourceFileAssets_Object>;\n volume_materials?: Array<GetSourceFileAssets_Object>;\n};\nexport type GetSourceFileAssets_Object = {\n /** Asset unique identifier */\n asset_id: string;\n name: string;\n};\n/**\n * Lists all assets generated from the requested source file.\n */\nexport function getSourceFileAssets(\n {\n source_file_id,\n }: {\n source_file_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSourceFileAssets_AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/' + source_file_id + '/assets',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all upload tasks. These upload tasks relate to uploaded source files.\n */\nexport function getUploadTasks(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<any> {\n return axiosInstance({\n method: 'get',\n url: '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetUploadTask_UploadTask = {\n /** Upload task unique identifier */\n upload_task_id: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Date of the upload */\n uploaded_at: string;\n /** User who uploaded the file */\n uploaded_by: GetUploadTask_Object;\n /** The global progress of the conversion tasks */\n progress: number;\n /** The download progress of the source file if the Upload Task specified a URL for the source file.\nThis is only available if the source file is being downloaded.\n */\n download_progress?: number;\n status: StrictUnion<'waiting' | 'downloading' | 'pending' | 'converting' | 'error' | 'success' | 'rejected'> &\n string;\n conversion_tasks: Array<GetUploadTask_ConversionTask>;\n};\nexport type GetUploadTask_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\nexport type GetUploadTask_ConversionTask = {\n /** Asset unique identifier */\n asset_id: string;\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file */\n source_file_name: string;\n conversion_pipeline: 'auto-detect' | 'volume' | 'scene' | 'texture' | 'animation' | 'point-cloud' | 'package';\n progress: number;\n status: StrictUnion<'pending' | 'converting' | 'error' | 'success'> & string;\n};\n/**\n * Gets information related to an upload task. This upload task relates to uploaded source files.\n */\nexport function getUploadTask(\n {\n upload_task_id,\n }: {\n upload_task_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetUploadTask_UploadTask> {\n return axiosInstance({\n method: 'get',\n url: '/upload-tasks/' + upload_task_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets metadata related to a conversion task. This metadata is produced by the conversion task.\n */\nexport function getConversionTaskMetadata<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n conversion_task_id,\n filename,\n }: {\n conversion_task_id: string;\n filename: string;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/conversion_tasks/' + conversion_task_id + '/metadata/' + filename + '',\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\nexport type SchedulePipeline_Object = {\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material';\n /** Asset unique identifier */\n asset_id: string;\n};\nexport type SchedulePipeline_Object_Writable = {\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n};\n/**\n * Schedules a data pipeline to be run.\n */\nexport function schedulePipeline(\n {\n data_pipeline_id,\n pipeline_name,\n folder_id,\n inputs,\n asset_refs,\n }: {\n /** Identifier of the data pipeline to schedule. */\n data_pipeline_id: string;\n /** Optional name for the scheduled pipeline instance. */\n pipeline_name?: string;\n /** Identifier of the folder where the pipeline is scheduled. */\n folder_id: string;\n /** Input parameters for the data pipeline. */\n inputs?: object;\n /** List of assets required by the pipeline. */\n asset_refs?: Array<SchedulePipeline_Object>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<SchedulePipeline_Object_Writable> {\n return axiosInstance({\n method: 'post',\n url: '/pipelines',\n data: {\n data_pipeline_id: data_pipeline_id,\n pipeline_name: pipeline_name,\n folder_id: folder_id,\n inputs: inputs,\n asset_refs: asset_refs,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetPipeline_Pipeline = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Reason why the pipeline failed or was rejected, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the pipeline was completed, either successfully or with errors. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n jobs: Array<GetPipeline_Job>;\n /** Name of the pipeline. */\n name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n progress: number;\n /** Date and time when the pipeline was accepted by the system and queued for processing. */\n queued_at?: string;\n /** Possible status of a pipeline. */\n status:\n | 'created'\n | 'downloading'\n | 'extracting'\n | 'pending-approval'\n | 'queued'\n | 'running'\n | 'passed-with-errors'\n | 'failed'\n | 'rejected'\n | 'succeeded';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\nexport type GetPipeline_Job = {\n /** Reason why the job failed, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the job was completed, either successfully or with errors. */\n finished_at?: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the job. */\n name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n progress: number;\n /** Date and time when the job was queued for processing. */\n queued_at?: string;\n /** Date and time when the job was started. */\n started_at?: string;\n /** Possible status of a job. */\n status: 'created' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';\n steps: Array<GetPipeline_Step>;\n};\nexport type GetPipeline_Step = {\n /** Reason why the step failed, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the step was completed, either successfully or with errors. */\n finished_at?: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the step. */\n name: string;\n progress: number;\n /** Date and time when the step was started. */\n started_at?: string;\n /** Possible status of a step. */\n status: 'created' | 'skipped' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';\n /** Data Pipeline job step unique identifier. */\n step_id: string;\n};\n/**\n * Retrieves a specific instantiated Data Pipeline by its ID.\n */\nexport function getPipeline(\n {\n pipeline_id,\n }: {\n pipeline_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetPipeline_Pipeline> {\n return axiosInstance({\n method: 'get',\n url: '/pipelines/' + pipeline_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type ListAssets_Filter = {\n /** @deprecated Deprecated. Use asset_types instead. Look for assets of the given type */\n asset_type?: (\n | Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n ) &\n any;\n /** Look for assets of the given types */\n asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Filter by asset name */\n asset_name?: string;\n /** Include assets coming from public libraries */\n include_public_assets?: boolean;\n};\nexport type ListAssets_AssetList = {\n action_maps?: Array<ListAssets_Object>;\n animation_graphs?: Array<ListAssets_Object>;\n animation_sequences?: Array<ListAssets_Object>;\n animation_sets?: Array<ListAssets_Object>;\n animations?: Array<ListAssets_Object>;\n collision_geometries?: Array<ListAssets_Object>;\n cubemaps?: Array<ListAssets_Object>;\n event_maps?: Array<ListAssets_Object>;\n materials?: Array<ListAssets_Object>;\n meshes?: Array<ListAssets_Object>;\n modules?: Array<ListAssets_Object>;\n point_clouds?: Array<ListAssets_Object>;\n render_graphs?: Array<ListAssets_Object>;\n scenes?: Array<ListAssets_Object>;\n scripts?: Array<ListAssets_Object>;\n shader_contexts?: Array<ListAssets_Object>;\n shaders?: Array<ListAssets_Object>;\n skeletons?: Array<ListAssets_Object>;\n sounds?: Array<ListAssets_Object>;\n textures?: Array<ListAssets_Object>;\n textures_1d?: Array<ListAssets_Object>;\n textures_3d?: Array<ListAssets_Object>;\n volume_materials?: Array<ListAssets_Object>;\n};\nexport type ListAssets_Object = {\n /** Asset unique identifier */\n asset_id: string;\n name: string;\n};\n/**\n * Returns a list of all assets.\n */\nexport function listAssets(\n {\n offset = 0,\n limit = 10,\n filter,\n }: {\n offset?: number;\n limit?: number;\n filter?: ListAssets_Filter;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<ListAssets_AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/assets',\n params: {\n offset: offset,\n limit: limit,\n filter: filter,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Batch delete assets. You **MUST NOT** reference assets.\n */\nexport function deleteAssets(\n {\n asset_ids,\n }: {\n asset_ids: Array<string>;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets',\n data: asset_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the asset.\n */\nexport function deleteAsset(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets/' + asset_container + '/' + asset_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetSourceFile_SourceFile = {\n /** Source file unique identifier */\n source_file_id: string;\n /** The name of the source file when uploaded */\n source_file_original_name: string;\n /** Source file display name */\n name: string;\n /** Size in bytes */\n size: number;\n};\n/**\n * Gets the source file of the specified asset.\n */\nexport function getAssetSourceFile(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetAssetSourceFile_SourceFile> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/source-file',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetDetails__index_AssetDetails_AssetDetails = {\n asset_id: string;\n contributors?: Array<GetAssetDetails_Contributor>;\n created_at?: string;\n /** This object represents a user in a 3dverse project.\nThis object contains group and task information about the user.\nThe user object lets you create or update user tokens that identify the useron the 3dverse platform.\n */\n created_by?: GetAssetDetails_Object;\n last_edited_at?: string;\n /** This object represents a user in a 3dverse project.\nThis object contains group and task information about the user.\nThe user object lets you create or update user tokens that identify the useron the 3dverse platform.\n */\n last_edited_by?: GetAssetDetails_LastEditedBy;\n name: string;\n type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material';\n};\nexport type GetAssetDetails_Contributor = {\n contribution_count: number;\n /** This object represents a user in a 3dverse project.\nThis object contains group and task information about the user.\nThe user object lets you create or update user tokens that identify the useron the 3dverse platform.\n */\n user: GetAssetDetails_Object;\n};\nexport type GetAssetDetails_Object = {\n /** The user registration date */\n registered_at: string;\n /** User unique identifier */\n user_id: string;\n /** The username that will be displayed in monitoring tools. */\n username: string;\n};\nexport type GetAssetDetails_LastEditedBy = {\n /** The user registration date */\n registered_at: string;\n /** User unique identifier */\n user_id: string;\n /** The username that will be displayed in monitoring tools. */\n username: string;\n};\n/**\n * Gets the asset details from the specified asset.\n */\nexport function getAssetDetails(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetAssetDetails__index_AssetDetails_AssetDetails> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/details',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetFolder_Folder = {\n /** Folder unique identifier */\n folder_id: string;\n /** Folder unique identifier */\n parent_folder_id?: string;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: GetAssetFolder_Object;\n subfolders?: Array<GetAssetFolder_Folder>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type GetAssetFolder_Object = {\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/**\n * Gets the asset folder from the specified asset.\n */\nexport function getAssetFolder(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetAssetFolder_Folder> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/folder',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetDependencies_Filter = {\n /** Filter dependencies by types */\n with_asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Exclude dependencies by types */\n without_asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Filter assets by public status */\n public?: 'include' | 'exclude' | 'restrict-to';\n};\nexport type GetAssetDependencies_Asset = {\n /** Asset unique identifier */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material';\n /** Additional properties of the asset */\n properties?: GetAssetDependencies_Object;\n};\nexport type GetAssetDependencies_Object = {\n name?: string;\n /** Number of time that the dependency is needed as direct dependency */\n direct_count?: number;\n /** Number of time that the dependency is needed as indirect dependency */\n indirect_count?: number;\n /** Whether the asset is public */\n is_public?: boolean;\n /** Whether the asset is accessible to the user */\n is_accessible?: boolean;\n /** Information about the asset payload */\n payload_info?: GetAssetDependencies_PayloadInfo;\n /** Direct dependencies of the asset */\n dependencies?: Array<GetAssetDependencies_Dependency>;\n};\nexport type GetAssetDependencies_PayloadInfo = {\n /** Hash of the asset payload if it exists */\n hash?: string;\n /** Storage id of the asset payload */\n storage_id?: number;\n};\nexport type GetAssetDependencies_Dependency = {\n /** Asset unique identifier */\n asset_id: string;\n /** Number of time that the dependency is needed */\n count: number;\n};\n/**\n * Gets the asset dependencies from the specified asset.\n */\nexport function getAssetDependencies(\n {\n asset_container,\n asset_id,\n offset = 0,\n limit = 10,\n depth = 'all',\n filters,\n properties,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n offset?: number;\n limit?: number;\n depth?: 'all' | 'direct' | 'all-until-self-dependent' | number;\n filters?: GetAssetDependencies_Filter;\n properties?: Array<'name' | 'dependencies' | 'count' | 'public' | 'accessible' | 'payload_info'>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetAssetDependencies_Asset>> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/dependencies',\n params: {\n offset: offset,\n limit: limit,\n depth: depth,\n filters: filters,\n properties: properties,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetReferences_Asset = {\n /** Asset unique identifier */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_1d'\n | 'texture_3d'\n | 'volume_material';\n /** Additional properties of the asset */\n properties?: GetAssetReferences_Object;\n};\nexport type GetAssetReferences_Object = {\n name?: string;\n /** Number of time that the dependency is needed as direct dependency */\n direct_count?: number;\n /** Whether the asset is public */\n is_public?: boolean;\n};\n/**\n * Gets the asset references from the specified asset.\n */\nexport function getAssetReferences(\n {\n asset_container,\n asset_id,\n offset = 0,\n limit = 10,\n properties,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n offset?: number;\n limit?: number;\n properties?: Array<'name' | 'count' | 'public'>;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetAssetReferences_Asset>> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/references',\n params: {\n offset: offset,\n limit: limit,\n properties: properties,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetDescription_ActionMap = {\n actions: GetAssetDescription_Object;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Object = {\n [action_name: string]: object;\n};\nexport type GetAssetDescription_Animation = {\n /** A track that represents events triggered by the animation */\n animationEventTrack: GetAssetDescription_Object;\n /** Duration of the animation in ms */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** Payload size of all channels */\n payloadSize: number;\n /** A reference to the skeleton used by this animation */\n skeletonRef?: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_AnimationGraph = {\n /** Inputs used by the graph */\n inputDescriptor: Array<object>;\n /** Name of the asset */\n name: string;\n /** Animation state machines */\n stateMachines: Array<GetAssetDescription_Object>;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_AnimationSequence = {\n /** Duration of the animation in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_AnimationSet = {\n /** Parent animation graph */\n animationGraphUUID: string;\n /** The animation set */\n animationSet: Array<GetAssetDescription_Object>;\n /** The bone mask set */\n boneMaskSet?: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_CollisionGeometry = {\n geometryType: StrictUnion<0 | 1>;\n /** Name of the asset */\n name: string;\n /** Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size */\n payloadSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Cubemap = {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_EventMap = {\n /** A map of events and their parameters descriptors */\n events: GetAssetDescription_Object;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Material = {\n /** Data object following the descriptor of the attached shader */\n dataJson: object;\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Mesh = {\n /** Morph targets which contain the deltas from the source submesh */\n morphTargets?: Array<GetAssetDescription_MorphTargets>;\n /** Name of the asset */\n name: string;\n /** Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size */\n payloadSize: number;\n /** A mesh is composed of one or more submeshes */\n submeshes: Array<GetAssetDescription_Submesh>;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_MorphTargets = {\n /** Batches of morph targets which share the same index channel */\n batches: Array<GetAssetDescription_MorphTargetBatchDescription>;\n /** Channels that make up the morph targets */\n channels: Array<GetAssetDescription_Channel>;\n};\nexport type GetAssetDescription_MorphTargetBatchDescription = {\n /** Index of the index channel in the channels array */\n indexChannelIndex: number;\n /** Morph targets in the batch */\n morphTargets: GetAssetDescription_Object;\n};\nexport type GetAssetDescription_Channel = {\n /** Offset in bytes from the beginning of the associated buffer where the first element of the first attribute can be found */\n dataOffset: number;\n /** Size of this channel in bytes */\n dataSize: number;\n /** Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc. */\n elementCount: number;\n /** Size in bytes of a single element (1, 2, 4, 8) for integers, (4, 8) for floats */\n elementSize: number;\n /** Can be either (signed/unsigned) integer or float */\n elementType: StrictUnion<0 | 1 | 2> & number;\n /** Semantic of the attribute */\n semantic: StrictUnion<'index' | 'position' | 'normal' | 'uv' | 'color' | 'bone_id' | 'weight'>;\n};\nexport type GetAssetDescription_Submesh = {\n /** The axis aligned bounding box that encompasses all the vertices of the submesh */\n aabb: GetAssetDescription_BoundingBox;\n /** Description of the channels in the payload blob */\n channels: Array<GetAssetDescription_Channel>;\n /** Total number of indices, a vertex can be referenced multiple times using its index. Note that this number has to be divisible by 3 as we only deal with triangles. Also, note that if this mesh doesn't use indices, the count will be 0. */\n indexCount: number;\n /** Index of morph targets associated with this submesh */\n morphTargetsIndex?: number;\n /** Total number of vertices. Can't exceed UINT32_MAX because indices are restricted to a uint32 */\n vertexCount: number;\n};\nexport type GetAssetDescription_BoundingBox = {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n};\nexport type GetAssetDescription_Module = {\n functions: GetAssetDescription_Object;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_PointCloud = {\n /** Axis aligned bounding box of the entire point cloud */\n bounds: GetAssetDescription_Aabb;\n /** Description of the per-point attributes (position, color, etc.) */\n channels: Array<GetAssetDescription_Channel>;\n /** Size in bytes of each layer. A layer is a collection of nodes serialized into a single file. */\n layerSizes: Array<number>;\n /** Name of the asset */\n name: string;\n /** Number of nodes in the acceleration structure. */\n nodeCount: number;\n /** Number of points in the original point cloud before any spatial partitioning or filtering was applied */\n originalPointCount: number;\n /** Page size in bytes used for sparse buffer alignment. Each node occupies a multiple of this size per attribute */\n pageSize: number;\n /** Total size in bytes of all attribute layer files. Sum of sizeof(payload.pointCloud.layer<N>-<attribute>.<uuid>) for all layers and attributes */\n payloadTotalSize: number;\n /** Size in bytes of the acceleration structure at bake time. */\n pcasSize: number;\n /** Total number of points across all nodes in the tree, including intermediary nodes. Greater than or equal to originalPointCount */\n totalPointCount: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Aabb = {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n};\nexport type GetAssetDescription_RenderGraph = {\n /** All blend states */\n blendStateDescriptions?: Array<GetAssetDescription_BlendState>;\n /** Descriptions of all buffers */\n bufferDescriptions?: Array<GetAssetDescription_Object>;\n /** Conditions referenced by conditionIndex */\n conditions?: Array<string>;\n /** The index of the render target to blit into the canvas */\n defaultRenderTargetIndex?: number;\n /** The order in which to interpret the nodes */\n graphOrder: Array<Array<number>>;\n /** Input descriptor used to parse input data */\n inputDescriptor: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Descriptions of all nodes */\n nodeDataDescriptions: Array<\n StrictUnion<\n | GetAssetDescription_Viewport\n | GetAssetDescription_DrawBatch\n | GetAssetDescription_DrawBatchWithMaterials\n | GetAssetDescription_DispatchCompute\n | GetAssetDescription_BlitImage\n | GetAssetDescription_DispatchPointClouds\n | GetAssetDescription_CopyImage\n | GetAssetDescription_ResolveImage\n | GetAssetDescription_DrawFullscreen\n | GetAssetDescription_BlitMipChain\n | GetAssetDescription_CopyToCubemapFace\n | GetAssetDescription_DispatchMipChain\n | GetAssetDescription_ClearImages\n | GetAssetDescription_FillBuffer\n | GetAssetDescription_DrawDebugLines\n | GetAssetDescription_DispatchDecals\n | GetAssetDescription_SetDepthBias\n | GetAssetDescription_DispatchRayTracing\n > &\n GetAssetDescription_Object\n >;\n /** The index of the render target used for occlusion */\n occlusionInputDepthRenderTargetIndex?: number;\n /** Descriptions of all render passes */\n renderPassDescriptions: Array<GetAssetDescription_Object>;\n /** Descriptions of all render targets */\n renderTargetDescriptions: Array<GetAssetDescription_Object>;\n /** Data descriptors for the shader contexts referenced by shaderContextIndex */\n shaderContexts?: Array<Array<GetAssetDescription_ParameterDescriptor>>;\n /** All stencil states */\n stencilOpStateDescriptions?: Array<GetAssetDescription_Object>;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_BlendState = {\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n};\nexport type GetAssetDescription_Viewport = {\n type?: 0;\n};\nexport type GetAssetDescription_DrawBatch = {\n /** 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 */\n batchType?: number;\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: GetAssetDescription_Object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 1;\n};\nexport type GetAssetDescription_DrawBatchWithMaterials = {\n /** 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 */\n batchType?: number;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: GetAssetDescription_Object;\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type?: 2;\n};\nexport type GetAssetDescription_DispatchCompute = {\n /** @deprecated Const data type */\n constDataType?: StrictUnion<\n 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\n > &\n number;\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 3;\n};\nexport type GetAssetDescription_BlitImage = {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 4;\n};\nexport type GetAssetDescription_DispatchPointClouds = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 5;\n};\nexport type GetAssetDescription_CopyImage = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 6;\n};\nexport type GetAssetDescription_ResolveImage = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 7;\n};\nexport type GetAssetDescription_DrawFullscreen = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: GetAssetDescription_Object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 8;\n};\nexport type GetAssetDescription_BlitMipChain = {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: StrictUnion<0 | 1> & number;\n type?: 9;\n};\nexport type GetAssetDescription_CopyToCubemapFace = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n type?: 10;\n};\nexport type GetAssetDescription_DispatchMipChain = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: StrictUnion<0 | 1> & number;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 11;\n};\nexport type GetAssetDescription_ClearImages = {\n /** Clear colors */\n clearColors?: Array<Array<number>>;\n /** Render targets to clear */\n outputRenderTargetIndices?: Array<number>;\n type?: 13;\n};\nexport type GetAssetDescription_FillBuffer = {\n /** Name of the buffer */\n bufferName?: string;\n /** Offset in the buffer */\n bufferOffset?: number;\n /** Size of the buffer; 0 for whole size */\n bufferSize?: number;\n /** Value to fill the buffer with */\n bufferValue?: number;\n type?: 15;\n};\nexport type GetAssetDescription_DrawDebugLines = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: GetAssetDescription_Object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 16;\n};\nexport type GetAssetDescription_DispatchDecals = {\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type?: 17;\n};\nexport type GetAssetDescription_SetDepthBias = {\n /** Depth bias clamp */\n depthBiasClamp?: number;\n /** Depth bias constant factor */\n depthBiasConstantFactor?: number;\n /** Depth bias slope factor */\n depthBiasSlopeFactor?: number;\n type?: 18;\n};\nexport type GetAssetDescription_DispatchRayTracing = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Unique identifier for the asset */\n shaderRef?: string;\n type?: 19;\n};\nexport type GetAssetDescription_ParameterDescriptor = {\n /** 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 */\n bufferProperties?: GetAssetDescription_BufferProperties;\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** 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) */\n isReferenceResource?: boolean;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: GetAssetDescription_ParameterProperties;\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n};\nexport type GetAssetDescription_BufferProperties = {\n /** 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 */\n elementCount: StrictUnion<number | Array<number>>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n};\nexport type GetAssetDescription_ParameterProperties = {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: GetAssetDescription_Object;\n};\nexport type GetAssetDescription_Scene = {\n /** Bounding box in local space */\n aabb: GetAssetDescription_Aabb;\n /** Flat list of entities */\n entities: Array<object>;\n /** Name of the asset */\n name: string;\n /** Settings in json format */\n settings?: object;\n /** Total number of direct triangles in the scene */\n triangleCount?: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Script = {\n /** The events that the script listens to, referenced by name */\n eventNames: Array<string>;\n /** The description of the data object that the caller should provide to the script */\n inputDescriptor?: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** An optional list of references to other scripts that the current script might call */\n subScripts?: Array<string>;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Shader = {\n /** The blend mode for the shader, used for batching purposes. Only valid for material shaders */\n blendMode?: StrictUnion<0 | 1 | 2 | 3>;\n /** Compute shader settings. Only valid for compute shaders */\n computeSettings?: GetAssetDescription_ComputeShaderSettings;\n /** Data descriptor for specialization constants */\n constantDescriptor?: Array<GetAssetDescription_SpecializationConstantDescriptor>;\n /** GLSL extensions required by this shader, detected from the SPIR-V capabilities declared by its compiled modules */\n glslExtensions?: Array<GetAssetDescription_GlslExtension>;\n /** Data descriptor for material shaders */\n materialDescriptor?: Array<GetAssetDescription_ParameterDescriptor>;\n /** Descriptions of all modules that compose this shader */\n moduleDescriptions?: Array<GetAssetDescription_ShaderModuleDescription>;\n /** Name of the asset */\n name: string;\n /** Data descriptor for render graph node shaders */\n nodeDataDescriptor?: Array<GetAssetDescription_ParameterDescriptor>;\n /** Hash of the node data descriptor, used to detect changes in the descriptor */\n nodeDataDescriptorHash?: number;\n /** The size in byte of the compiled shader code (accumulated size of all modules) */\n payloadSize?: number;\n /** Reference to the shader context associated with this shader. Only present for shaders that use one. */\n shaderContextRef?: string;\n /** Vulkan bit mask of all shader stages present in this shader */\n shaderStages?: number;\n /** Unique identifier for the asset */\n uuid: string;\n /** Vertex description. Only valid when a vertex shader module is present */\n vertexDescriptor?: Array<GetAssetDescription_VertexAttributeDescriptor>;\n};\nexport type GetAssetDescription_ComputeShaderSettings = {\n /** Global group reference */\n sizeReference?: StrictUnion<0 | 1 | 2 | 3>;\n /** Size of the workgroup */\n workgroupSize?: Array<number>;\n /** Scaling factor to apply to the total workgroup count */\n workloadScalingFactor?: Array<number>;\n};\nexport type GetAssetDescription_SpecializationConstantDescriptor = {\n /** Constant default value */\n default: number | boolean;\n /** Description */\n description?: string;\n /** Display name */\n displayName?: string;\n /** Constant name */\n name: string;\n /** Constant type */\n type: 'bool' | 'int' | 'uint' | 'float';\n};\nexport type GetAssetDescription_GlslExtension = {\n /** SPIR-V capability id that requires this extension (e.g. 5347 for PhysicalStorageBufferAddresses) */\n capabilityId: number;\n /** GLSL extension name, e.g. \"GL_EXT_buffer_reference\" */\n name: string;\n};\nexport type GetAssetDescription_ShaderModuleDescription = {\n /** Names of the bindings used by this module */\n bindings?: Array<string>;\n /** Constants used by this module */\n constants?: GetAssetDescription_Object;\n /** Entry point of the shader module */\n entryPoint?: string;\n /** 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 */\n outputs?: Array<GetAssetDescription_ShaderModuleOutputDescriptor>;\n /** Offset in byte in the shader payload buffer */\n payloadOffset: number;\n /** Size in byte of the compiled module */\n payloadSize: number;\n /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */\n pushConstants?: Array<GetAssetDescription_ShaderModulePushConstantDescriptor>;\n /** The shader stage */\n shaderStage: number;\n};\nexport type GetAssetDescription_ShaderModuleOutputDescriptor = {\n /** Output location */\n location: number;\n /** Output variable name */\n name: string;\n /** Output variable type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n};\nexport type GetAssetDescription_ShaderModulePushConstantDescriptor = {\n /** Push constant member name */\n name: string;\n /** Offset in byte within the push constant block */\n offset: number;\n /** Size in byte of the push constant member */\n size: number;\n /** Push constant member type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n};\nexport type GetAssetDescription_VertexAttributeDescriptor = {\n /** Binding number */\n binding: number;\n /** Format */\n format: number;\n /** Location */\n location: number;\n /** Offset */\n offset: number;\n /** Semantic */\n semantic: StrictUnion<1 | 2 | 4 | 8 | 16 | 32> & number;\n /** Stride between consecutive elements within the buffer */\n stride: number;\n};\nexport type GetAssetDescription_ShaderContext = {\n /** The fields every shader in this family reads as input */\n dataDescriptor?: Array<GetAssetDescription_ParameterDescriptor>;\n /** Name of the asset */\n name: string;\n /** The fields a material shader must produce. */\n outputDescriptor?: Array<GetAssetDescription_OutputFieldDescriptor>;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_OutputFieldDescriptor = {\n /** Blend state of the attachment, no blending if absent */\n blendState?: GetAssetDescription_BlendState;\n /** What this field represents */\n description: string;\n /** Field name */\n name: string;\n /** Field data type */\n type:\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4';\n};\nexport type GetAssetDescription_Skeleton = {\n /** Descriptions of all bones forming the skeleton */\n bones: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** The size in byte of skeleton data */\n payloadSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Sound = {\n /** The bit depth of the audio data */\n bitDepth: number;\n /** The of audio channels (1 = mono, 2 = stereo, etc.) */\n channelCount: number;\n /** Duration of the track in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** The size in byte of the sound data */\n payloadSize: number;\n /** Total number of samples composing the audio track */\n sampleCount: number;\n /** Frequency in Hertz */\n sampleFrequencyInHz: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Texture = {\n /** The format of the texture */\n format: StrictUnion<0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14> & number;\n /** Mip-maps */\n mips: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Total size in bytes of all mip-maps */\n payloadTotalSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Texture_1D = {\n /** The format of the texture */\n format: StrictUnion<0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14> & number;\n /** Mip-maps */\n mips: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Total size in bytes of all mip-maps */\n payloadTotalSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n};\nexport type GetAssetDescription_Texture_3D = {\n /** The format of the texture */\n format: StrictUnion<0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14> & number;\n /** Mip-maps */\n mips: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Total size in bytes of all mip-maps */\n payloadTotalSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n /** The voxel dimensions of the texture */\n voxelDimensions?: Array<number>;\n};\nexport type GetAssetDescription_VolumeMaterial = {\n /** The albedo look up table */\n albedoLUT?: Array<GetAssetDescription_Object>;\n /** The metallic look up table */\n metallicLUT?: Array<GetAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** The opacity look up table */\n opacityLUT?: Array<GetAssetDescription_Object>;\n /** The maximum voxel value handled by the material */\n rangeMax: number;\n /** The minimum voxel value handled material */\n rangeMin: number;\n /** The roughness look up table */\n roughnessLUT?: Array<GetAssetDescription_Object>;\n /** Unique identifier for the asset */\n uuid: string;\n};\n/**\n * Gets the asset description from the specified asset.\n */\nexport function getAssetDescription(\n {\n asset_id,\n asset_container,\n }: {\n asset_id: string;\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<\n StrictUnion<\n | GetAssetDescription_ActionMap\n | GetAssetDescription_Animation\n | GetAssetDescription_AnimationGraph\n | GetAssetDescription_AnimationSequence\n | GetAssetDescription_AnimationSet\n | GetAssetDescription_CollisionGeometry\n | GetAssetDescription_Cubemap\n | GetAssetDescription_EventMap\n | GetAssetDescription_Material\n | GetAssetDescription_Mesh\n | GetAssetDescription_Module\n | GetAssetDescription_PointCloud\n | GetAssetDescription_RenderGraph\n | GetAssetDescription_Scene\n | GetAssetDescription_Script\n | GetAssetDescription_Shader\n | GetAssetDescription_ShaderContext\n | GetAssetDescription_Skeleton\n | GetAssetDescription_Sound\n | GetAssetDescription_Texture\n | GetAssetDescription_Texture_1D\n | GetAssetDescription_Texture_3D\n | GetAssetDescription_VolumeMaterial\n >\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/description',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type UpdateAssetDescription_Cubemap = {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n};\nexport type UpdateAssetDescription_Material = {\n /** Data object following the descriptor of the attached shader */\n dataJson: object;\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n};\nexport type UpdateAssetDescription_RenderGraph = {\n /** All blend states */\n blendStateDescriptions?: Array<UpdateAssetDescription_BlendState>;\n /** Descriptions of all buffers */\n bufferDescriptions?: Array<UpdateAssetDescription_Object>;\n /** Conditions referenced by conditionIndex */\n conditions?: Array<string>;\n /** The index of the render target to blit into the canvas */\n defaultRenderTargetIndex?: number;\n /** The order in which to interpret the nodes */\n graphOrder: Array<Array<number>>;\n /** Input descriptor used to parse input data */\n inputDescriptor: Array<UpdateAssetDescription_Object>;\n /** Name of the asset */\n name: string;\n /** Descriptions of all nodes */\n nodeDataDescriptions: Array<\n StrictUnion<\n | UpdateAssetDescription_Viewport\n | UpdateAssetDescription_DrawBatch\n | UpdateAssetDescription_DrawBatchWithMaterials\n | UpdateAssetDescription_DispatchCompute\n | UpdateAssetDescription_BlitImage\n | UpdateAssetDescription_DispatchPointClouds\n | UpdateAssetDescription_CopyImage\n | UpdateAssetDescription_ResolveImage\n | UpdateAssetDescription_DrawFullscreen\n | UpdateAssetDescription_BlitMipChain\n | UpdateAssetDescription_CopyToCubemapFace\n | UpdateAssetDescription_DispatchMipChain\n | UpdateAssetDescription_ClearImages\n | UpdateAssetDescription_FillBuffer\n | UpdateAssetDescription_DrawDebugLines\n | UpdateAssetDescription_DispatchDecals\n | UpdateAssetDescription_SetDepthBias\n | UpdateAssetDescription_DispatchRayTracing\n > &\n UpdateAssetDescription_Object\n >;\n /** The index of the render target used for occlusion */\n occlusionInputDepthRenderTargetIndex?: number;\n /** Descriptions of all render passes */\n renderPassDescriptions: Array<UpdateAssetDescription_Object>;\n /** Descriptions of all render targets */\n renderTargetDescriptions: Array<UpdateAssetDescription_Object>;\n /** Data descriptors for the shader contexts referenced by shaderContextIndex */\n shaderContexts?: Array<Array<UpdateAssetDescription_ParameterDescriptor>>;\n /** All stencil states */\n stencilOpStateDescriptions?: Array<UpdateAssetDescription_Object>;\n};\nexport type UpdateAssetDescription_BlendState = {\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n};\nexport type UpdateAssetDescription_Object = {\n /** 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 */\n elementCount?: StrictUnion<number | Array<number>>;\n /** Size in bytes of a single element in the buffer */\n elementSize?: number;\n /** Buffer name */\n name?: string;\n /** How this buffer is going to be used */\n usage?: number;\n};\nexport type UpdateAssetDescription_Viewport = {\n type?: 0;\n};\nexport type UpdateAssetDescription_DrawBatch = {\n /** 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 */\n batchType?: number;\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: UpdateAssetDescription_Object;\n type?: 1;\n};\nexport type UpdateAssetDescription_DrawBatchWithMaterials = {\n /** 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 */\n batchType?: number;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: UpdateAssetDescription_Object;\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type?: 2;\n};\nexport type UpdateAssetDescription_DispatchCompute = {\n /** @deprecated Const data type */\n constDataType?: StrictUnion<\n 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\n > &\n number;\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n type?: 3;\n};\nexport type UpdateAssetDescription_BlitImage = {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 4;\n};\nexport type UpdateAssetDescription_DispatchPointClouds = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n type?: 5;\n};\nexport type UpdateAssetDescription_CopyImage = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 6;\n};\nexport type UpdateAssetDescription_ResolveImage = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type?: 7;\n};\nexport type UpdateAssetDescription_DrawFullscreen = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: UpdateAssetDescription_Object;\n type?: 8;\n};\nexport type UpdateAssetDescription_BlitMipChain = {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: StrictUnion<0 | 1> & number;\n type?: 9;\n};\nexport type UpdateAssetDescription_CopyToCubemapFace = {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n type?: 10;\n};\nexport type UpdateAssetDescription_DispatchMipChain = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: StrictUnion<0 | 1> & number;\n type?: 11;\n};\nexport type UpdateAssetDescription_ClearImages = {\n /** Clear colors */\n clearColors?: Array<Array<number>>;\n /** Render targets to clear */\n outputRenderTargetIndices?: Array<number>;\n type?: 13;\n};\nexport type UpdateAssetDescription_FillBuffer = {\n /** Name of the buffer */\n bufferName?: string;\n /** Offset in the buffer */\n bufferOffset?: number;\n /** Size of the buffer; 0 for whole size */\n bufferSize?: number;\n /** Value to fill the buffer with */\n bufferValue?: number;\n type?: 15;\n};\nexport type UpdateAssetDescription_DrawDebugLines = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Description of a shader pipeline */\n pipelineDescription?: UpdateAssetDescription_Object;\n type?: 16;\n};\nexport type UpdateAssetDescription_DispatchDecals = {\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type?: 17;\n};\nexport type UpdateAssetDescription_SetDepthBias = {\n /** Depth bias clamp */\n depthBiasClamp?: number;\n /** Depth bias constant factor */\n depthBiasConstantFactor?: number;\n /** Depth bias slope factor */\n depthBiasSlopeFactor?: number;\n type?: 18;\n};\nexport type UpdateAssetDescription_DispatchRayTracing = {\n /** Specialization constants values for the specified shader */\n constantsJson?: object;\n /** Data provided to the shader through the node data buffer */\n dataJson?: object;\n type?: 19;\n};\nexport type UpdateAssetDescription_ParameterDescriptor = {\n /** 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 */\n bufferProperties?: UpdateAssetDescription_BufferProperties;\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** 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) */\n isReferenceResource?: boolean;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: UpdateAssetDescription_ParameterProperties;\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n};\nexport type UpdateAssetDescription_BufferProperties = {\n /** 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 */\n elementCount: StrictUnion<number | Array<number>>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n};\nexport type UpdateAssetDescription_ParameterProperties = {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: UpdateAssetDescription_Object;\n};\n/**\n * Updates the description of the specified asset.\n */\nexport function updateAssetDescription(\n {\n asset_id,\n asset_container,\n asset_description,\n }: {\n asset_id: string;\n asset_container: 'materials' | 'cubemaps' | 'render_graphs';\n asset_description: StrictUnion<\n UpdateAssetDescription_Cubemap | UpdateAssetDescription_Material | UpdateAssetDescription_RenderGraph\n >;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/assets/' + asset_container + '/' + asset_id + '/description',\n data: asset_description,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Renames the specified asset.\n */\nexport function renameAsset(\n {\n asset_id,\n asset_container,\n name,\n }: {\n asset_id: string;\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n name?: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/' + asset_container + '/' + asset_id + '/description',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset payload from the specified asset.\n */\nexport function getAssetPayload<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container_with_payload,\n asset_id,\n sub_resource,\n }: {\n asset_container_with_payload:\n | 'animations'\n | 'animation_sequences'\n | 'collision_geometries'\n | 'meshes'\n | 'point_clouds'\n | 'scripts'\n | 'shaders'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d';\n asset_id: string;\n sub_resource?: StrictUnion<string | 'histogram' | 'position' | 'color'>;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container_with_payload + '/' + asset_id + '/payload',\n params: {\n sub_resource: sub_resource,\n },\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetAssetGraph_AssetGraph = {\n /** Unique identifier for the asset graph. */\n uuid: string;\n [_additionalproperties_: string]: any;\n};\n/**\n * Gets the asset graph from the specified asset.\n */\nexport function getAssetGraph(\n {\n asset_container_with_graph,\n asset_id,\n }: {\n asset_container_with_graph: 'render_graphs' | 'animation_graphs' | 'shaders' | 'scripts';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetAssetGraph_AssetGraph> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container_with_graph + '/' + asset_id + '/graph',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates or replaces asset graph for the specified asset.\n */\nexport function updateAssetGraph(\n {\n asset_container_with_graph,\n asset_id,\n asset_graph,\n }: {\n asset_container_with_graph: 'render_graphs' | 'animation_graphs' | 'shaders' | 'scripts';\n asset_id: string;\n asset_graph: object;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/assets/' + asset_container_with_graph + '/' + asset_id + '/graph',\n data: asset_graph,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset history from the specified asset.\n */\nexport function getAssetHistory(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<object> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/history',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset metadata from the specified asset.\n */\nexport function getAssetMeta(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<object> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/meta',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the code of the specified asset.\n */\nexport function getAssetCode(\n {\n asset_container_with_code,\n asset_id,\n }: {\n asset_container_with_code: 'animation_sequences' | 'modules' | 'scripts' | 'shaders';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<string> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container_with_code + '/' + asset_id + '/code',\n headers: headers,\n responseType: 'text',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset thumbnail from the specified asset.\n */\nexport function getAssetThumbnail<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container,\n asset_id,\n size,\n default_url,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n size: 'large' | 'medium' | 'small' | 'tiny';\n default_url?: string;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/thumbnail',\n params: {\n size: size,\n default_url: default_url,\n },\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Assigns a thumbnail to the specified asset.\n */\nexport function setAssetThumbnail(\n {\n asset_container,\n asset_id,\n body,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n body: ArrayBuffer | ReadableStream;\n },\n contentType: 'image/jpg' | 'image/png',\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/assets/' + asset_container + '/' + asset_id + '/thumbnail',\n data: body,\n maxRedirects: 0,\n headers: {\n 'Content-Type': contentType,\n ...headers?.toJSON(),\n },\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset custom types from the specified asset recursively.\n */\nexport function getAssetCustomTypes(\n {\n asset_container_with_custom_types,\n asset_id,\n }: {\n asset_container_with_custom_types: 'modules';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<object> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container_with_custom_types + '/' + asset_id + '/custom-types',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Packages and downloads the target asset.\n */\nexport function packageAsset<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container,\n asset_id,\n }: {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_1d'\n | 'textures_3d'\n | 'volume_materials';\n asset_id: string;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container + '/' + asset_id + '/package',\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Downloads an asset payload in a given format. Only mesh is supported for the moment. This endpoint requires special export permission.\n */\nexport function exportAsset<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container_exportable,\n asset_id,\n format,\n scale = 1,\n sub_mesh_index,\n }: {\n asset_container_exportable: 'meshes' | 'sounds';\n asset_id: string;\n format: 'obj' | 'stl';\n scale?: number;\n sub_mesh_index?: number;\n },\n headers?: AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + asset_container_exportable + '/' + asset_id + '/exports/' + format + '',\n params: {\n scale: scale,\n sub_mesh_index: sub_mesh_index,\n },\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSceneSessions_Session = {\n /** Session unique identifier */\n session_id: string;\n /** The main scene identifier of the session */\n scene_id: string;\n /** The main scene name of the session */\n scene_name: string;\n /** The folder identifier of the scene */\n folder_id: string;\n /** Maximum number of users allowed in this session at the same time */\n max_users: number;\n /** @deprecated User identifier of the creator of the session (deprecated, use `created_by` instead) */\n creator_user_id: string;\n /** User identifier of the creator of the session */\n created_by?: GetSceneSessions_CreatedBy;\n /** Session creation date */\n created_at: string;\n /** Country code of the rendering server location */\n country_code: string;\n /** Continent code of the rendering server location */\n continent_code: string;\n /** Whether the session is transient or not */\n is_transient_session: boolean;\n /** Current clients in session */\n clients: Array<GetSceneSessions_Client_UserInfo>;\n};\nexport type GetSceneSessions_CreatedBy = {\n /** User unique identifier */\n user_id?: string;\n username?: string;\n required?: any;\n};\nexport type GetSceneSessions_Client_UserInfo = {\n /** Client unique identifier */\n client_id?: string;\n client_type?: 'user' | 'guest';\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * Lists all sessions running a specified scene.\n */\nexport function getSceneSessions(\n {\n scene_id,\n }: {\n scene_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetSceneSessions_Session>> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + scene_id + '/sessions',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSceneAabb_Object = {\n /** Vector3 representing the upper (x, y, z) boundary of the box. */\n max: Array<number>;\n /** Vector3 representing the lower (x, y, z) boundary of the box. */\n min: Array<number>;\n};\n/**\n * Get the axis aligned bounding box of the specified scene.\n */\nexport function getSceneAABB(\n {\n scene_id,\n }: {\n scene_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSceneAabb_Object> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + scene_id + '/aabb',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateEntity_animation_controller = {\n animation_controller: CreateEntity_AnimationController;\n};\nexport type CreateEntity_AnimationController = {\n /** Animation Graph reference. */\n animationGraphRef: string;\n /** Animation Set reference. */\n animationSetRef: string;\n /** Input values as described in the referenced animation graph in their original JSON format. */\n dataJSON: object;\n /** Reference to the entity that is the root bone of the skeleton. */\n rootBoneEntityRef: CreateEntity_EntityReference;\n /** Whether or not root motion is enabled. */\n rootMotionEnabled: boolean;\n};\nexport type CreateEntity_EntityReference = {\n originalEUID: string;\n linkage: Array<string>;\n};\nexport type CreateEntity_bone = {\n bone: CreateEntity_Bone;\n};\nexport type CreateEntity_Bone = {\n /** Index of bone in skeleton. */\n boneIndex: number;\n};\nexport type CreateEntity_box_geometry = {\n box_geometry: CreateEntity_BoxGeometry;\n};\nexport type CreateEntity_BoxGeometry = {\n /** Width, height and depth of the box */\n dimension?: Array<number>;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type CreateEntity_camera = {\n camera: CreateEntity_Camera;\n};\nexport type CreateEntity_Camera = {\n /** Specifies which render graph this camera should use. */\n renderGraphRef: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON: object;\n};\nexport type CreateEntity_capsule_geometry = {\n capsule_geometry: CreateEntity_CapsuleGeometry;\n};\nexport type CreateEntity_CapsuleGeometry = {\n /** Radius of the spheres at each end of the capsule */\n radius?: number;\n /** Height of the cylindrical part of the capsule */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type CreateEntity_character_controller = {\n character_controller: CreateEntity_CharacterController;\n};\nexport type CreateEntity_CharacterController = {\n /** Step Offset in meters */\n stepOffset?: number;\n /** Slope Limit in degrees */\n slopeLimit?: number;\n /** The character's collision skin width */\n skinWidth?: number;\n /** Velocity vector for current frame */\n velocity?: Array<number>;\n};\nexport type CreateEntity_collision_geometry_ref = {\n collision_geometry_ref: CreateEntity_CollisionGeometryRef;\n};\nexport type CreateEntity_CollisionGeometryRef = {\n /** UUID of the referenced collision_geometry. */\n collisionGeometryRef: string;\n};\nexport type CreateEntity_cylinder_geometry = {\n cylinder_geometry: CreateEntity_CylinderGeometry;\n};\nexport type CreateEntity_CylinderGeometry = {\n /** Radius of the cylinder */\n radius?: number;\n /** Height of the cylinder */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type CreateEntity_debug_name = {\n debug_name: CreateEntity_Name;\n};\nexport type CreateEntity_Name = {\n /** Name of the entity that will be displayed in various debug tools. */\n value: string;\n};\nexport type CreateEntity_decal_projector = {\n decal_projector: CreateEntity_DecalProjector;\n};\nexport type CreateEntity_DecalProjector = {\n /** Z-Index order of the decal projection. The higher index will render on top of the lower ones. */\n zIndex?: number;\n};\nexport type CreateEntity_environment = {\n environment: CreateEntity_Environment;\n};\nexport type CreateEntity_Environment = {\n /** Reference to the skybox cubemap. */\n skyboxUUID: string;\n /** Reference to the radiance cubemap. */\n radianceUUID: string;\n /** Reference to the irradiance cubemap. */\n irradianceUUID: string;\n};\nexport type CreateEntity_joint = {\n joint: CreateEntity_Joint;\n};\nexport type CreateEntity_Joint = {\n /** An entity that is a dynamic physics body. */\n constrainee: CreateEntity_EntityReference;\n /** An entity that is a dynamic or static physics body, or simply null. */\n constrainer: CreateEntity_EntityReference;\n /** The force that needs to be applied for this joint to break. */\n breakForce?: number;\n /** The torque that needs to be applied for this joint to break. */\n breakTorque?: number;\n};\nexport type CreateEntity_lineage = {\n lineage: CreateEntity_Lineage;\n};\nexport type CreateEntity_Lineage = {\n /** UUID of the parent of this entity (default is root). */\n parentUUID: string;\n /** Ordinal number of this entity in respect of its siblings. */\n ordinal?: number;\n};\nexport type CreateEntity_local_aabb = {\n local_aabb: CreateEntity_LocalAxisAlignedBoundingBox;\n};\nexport type CreateEntity_LocalAxisAlignedBoundingBox = {\n /** Minimum point of the box. */\n min: Array<number>;\n /** Maximum point of the box. */\n max: Array<number>;\n};\nexport type CreateEntity_local_transform = {\n local_transform: CreateEntity_Transform;\n};\nexport type CreateEntity_Transform = {\n /** x, y, z position of the entity */\n position?: Array<number>;\n /** Orientation of the entity expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z scale of the entity */\n scale?: Array<number>;\n /** Orientation of the entity expressed as euler angles */\n eulerOrientation?: Array<number>;\n /** Last global orientation of the entity expressed as euler angles submitted by a user. This value may not be valid, and should be checked. */\n globalEulerOrientation?: Array<number>;\n};\nexport type CreateEntity_material = {\n material: CreateEntity_Material;\n};\nexport type CreateEntity_Material = {\n /** Reference to a shader graph. */\n shaderRef: string;\n /** Transparency mode */\n transparencyMode: number;\n /** Whether the material is double sided or not. */\n isDoubleSided: boolean;\n /** Input values as described in the referenced shader in their original JSON format. */\n dataJSON: object;\n};\nexport type CreateEntity_material_ref = {\n material_ref: CreateEntity_MaterialReference;\n};\nexport type CreateEntity_MaterialReference = {\n /** UUID of the referenced material. */\n value: string;\n /** Face culling mode */\n faceCulling?: number;\n};\nexport type CreateEntity_mesh_ref = {\n mesh_ref: CreateEntity_MeshReference;\n};\nexport type CreateEntity_MeshReference = {\n /** UUID of the referenced mesh. */\n value: string;\n /** Index of the submesh inside the submesh array. */\n submeshIndex?: number;\n};\nexport type CreateEntity_orthographic_lens = {\n orthographic_lens: CreateEntity_OrthographicLens;\n};\nexport type CreateEntity_OrthographicLens = {\n /** Left plane. */\n left?: number;\n /** Right plane. */\n right?: number;\n /** Top plane. */\n top?: number;\n /** Bottom plane. */\n bottom?: number;\n /** Near plane. */\n zNear?: number;\n /** Far plane. */\n zFar?: number;\n};\nexport type CreateEntity_overrider = {\n overrider: CreateEntity_Overrider;\n};\nexport type CreateEntity_Overrider = {\n /** Mark the overridden entity as deleted. */\n deleter?: boolean;\n /** Entity to override. */\n entityRef: CreateEntity_EntityReference;\n /** Hashes of the components to detach from the overridden entity. */\n componentsToDetach: Array<number>;\n};\nexport type CreateEntity_perspective_lens = {\n perspective_lens: CreateEntity_PerspectiveLens;\n};\nexport type CreateEntity_PerspectiveLens = {\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n /** Specifies the field of view angle in the y direction. */\n fovy?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n};\nexport type CreateEntity_physics_material = {\n physics_material: CreateEntity_PhysicsMaterial;\n};\nexport type CreateEntity_PhysicsMaterial = {\n /** The coefficient of static friction */\n staticFriction?: number;\n /** The coefficient of dynamic friction */\n dynamicFriction?: number;\n /** The coefficient of static restitution */\n restitution?: number;\n /** Whether to consider the collision shape associated to this material as a trigger or not */\n isTrigger?: boolean;\n};\nexport type CreateEntity_plane_geometry = {\n plane_geometry: CreateEntity_PlaneGeometry;\n};\nexport type CreateEntity_PlaneGeometry = {\n /** Distance from the origin in the plane's normal direction. */\n distance?: number;\n /** Normal of the plane. */\n normal?: Array<number>;\n};\nexport type CreateEntity_point_cloud_ref = {\n point_cloud_ref: CreateEntity_PointCloudReference;\n};\nexport type CreateEntity_PointCloudReference = {\n /** UUID of the referenced point cloud. */\n value: string;\n};\nexport type CreateEntity_point_light = {\n point_light: CreateEntity_Light;\n};\nexport type CreateEntity_Light = {\n /** Light color */\n color?: Array<number>;\n /** Light intensity. */\n intensity?: number;\n /** The range for the point light. If the range is 0, then physically correct point light attenuation function is used. */\n range?: number;\n /** Make this light directional, position is ignored in this case. */\n isDirectional?: boolean;\n /** Make this light direction control the atmosphere sun direction. If more than one light is marked to be a sun results are undefined. */\n isSun?: boolean;\n};\nexport type CreateEntity_reflection_probe = {\n reflection_probe: CreateEntity_ReflectionProbe;\n};\nexport type CreateEntity_ReflectionProbe = {\n /** x, y, z offset of the probe reflection origin. */\n offset?: Array<number>;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the reflection map. */\n quality?: number;\n};\nexport type CreateEntity_revolute_joint = {\n revolute_joint: CreateEntity_RevoluteJoint;\n};\nexport type CreateEntity_RevoluteJoint = {\n /** The direction of the axis around which the constrainee swings. The direction is defined in the constrainee's local space. */\n axis?: Array<number>;\n /** The position of the axis around which the constrainee swings. The position is defined in the constrainee's local space. */\n anchor?: Array<number>;\n};\nexport type CreateEntity_rigid_body = {\n rigid_body: CreateEntity_RigidBody;\n};\nexport type CreateEntity_RigidBody = {\n /** Mass */\n mass?: number;\n /** Linear damping */\n linearDamping?: number;\n /** Angular damping */\n angularDamping?: number;\n /** Friction */\n friction?: number;\n /** Rolling friction */\n rollingFriction?: number;\n /** Spinning friction */\n spinningFriction?: number;\n /** Restitution */\n restitution?: number;\n /** Linear sleeping threshold */\n linearSleepingThreshold?: number;\n /** Angular sleeping threshold */\n angularSleepingThreshold?: number;\n /** Whether the rigid body should use kinematic physics or not */\n isKinematic?: boolean;\n};\nexport type CreateEntity_scene_ref = {\n scene_ref: CreateEntity_SceneReference;\n};\nexport type CreateEntity_SceneReference = {\n /** Reference to a scene. */\n value: string;\n /** Maximum number of times a scene appears when it references itself. */\n maxRecursionCount?: number;\n};\nexport type CreateEntity_script_element = {\n script_element: CreateEntity_ScriptElement;\n};\nexport type CreateEntity_ScriptElement = {\n /** Reference to a script. */\n scriptRef: string;\n /** Input values as described in the referenced script in their original JSON format. */\n dataJSON: object;\n};\nexport type CreateEntity_script_map = {\n script_map: CreateEntity_ScriptMap;\n};\nexport type CreateEntity_ScriptMap = {\n /** List of scripts. */\n elements: object;\n};\nexport type CreateEntity_shadow_caster = {\n shadow_caster: CreateEntity_ShadowCaster;\n};\nexport type CreateEntity_ShadowCaster = {\n /** Bias to apply to avoid self shadowing artifacts. */\n bias?: number;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the shadow map. */\n quality?: number;\n /** Skews the ratio of cascade splits, value ranges from 0 to 1. */\n cascadeSplitLambda?: number;\n /** Distance to the end of the furthest cascade. */\n cascadeMaxZ?: number;\n /** For directional lights, accumulate all shadow cascades. */\n accumulateShadowCascades?: boolean;\n};\nexport type CreateEntity_skeleton_ref = {\n skeleton_ref: CreateEntity_SkeletonReference;\n};\nexport type CreateEntity_SkeletonReference = {\n /** UUID of the referenced skeleton. */\n value: string;\n};\nexport type CreateEntity_sound_ref = {\n sound_ref: CreateEntity_SoundReference;\n};\nexport type CreateEntity_SoundReference = {\n /** UUID of the referenced sound. */\n value: string;\n /** Volume from 0.0f to 1.0f. */\n volume?: number;\n /** Pan. -1.0f is left, 1.0f is right. */\n pan?: number;\n /** The speed at which the sound will play. 1.0f is normal. */\n playSpeed?: number;\n /** Does the sound loop? */\n looping?: boolean;\n};\nexport type CreateEntity_sphere_geometry = {\n sphere_geometry: CreateEntity_SphereGeometry;\n};\nexport type CreateEntity_SphereGeometry = {\n /** Radius of the sphere */\n radius?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type CreateEntity_spot_light = {\n spot_light: CreateEntity_SpotLight;\n};\nexport type CreateEntity_SpotLight = {\n /** Cutoff angle. */\n cutoff?: number;\n /** Reference to a IES 2d texture. */\n IESProfile: string;\n};\nexport type CreateEntity_stereoscopic_lens = {\n stereoscopic_lens: CreateEntity_StereoscopicPerspectiveLens;\n};\nexport type CreateEntity_StereoscopicPerspectiveLens = {\n /** Angle of the left side of the field of view (this value is negative). */\n angleLeft?: number;\n /** Angle of the right side of the field of view */\n angleRight?: number;\n /** Angle of the top part of the field of view */\n angleUp?: number;\n /** Angle of the bottom part of the field of view (this value is negative) */\n angleDown?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n};\nexport type CreateEntity_tags = {\n tags: CreateEntity_Tags;\n};\nexport type CreateEntity_Tags = {\n /** Tag list. */\n value: Array<string>;\n};\nexport type CreateEntity_volume_filter = {\n volume_filter: CreateEntity_VolumeFilter;\n};\nexport type CreateEntity_VolumeFilter = {\n /** Voxel intensity range displayed, not applicable if outside volume material range */\n range?: Array<number>;\n /** Apply gaussian filtering on voxels */\n applyGaussianFiltering?: boolean;\n /** Are texel values from the voxel texture sampled unfiltered. */\n sampleUnfiltered?: boolean;\n /** Whether or not this volume is visible in the MPR view */\n enableMPR?: boolean;\n /** Whether or not this volume is visible in the 3D view */\n enable3D?: boolean;\n};\nexport type CreateEntity_volume_material_ref = {\n volume_material_ref: CreateEntity_VolumeMaterialReference;\n};\nexport type CreateEntity_VolumeMaterialReference = {\n /** UUID of the volume_material. */\n value: string;\n};\nexport type CreateEntity_volume_ref = {\n volume_ref: CreateEntity_VolumeReference;\n};\nexport type CreateEntity_VolumeReference = {\n /** Reference to a 3d texture. */\n texture3dRef: string;\n};\nexport type CreateEntity_Object = {\n /** Entity unique identifier */\n entity_id: string;\n};\n/**\n * Create a new entity in a scene.\n */\nexport function createEntity(\n {\n scene_id,\n entity_components,\n }: {\n scene_id: string;\n entity_components:\n | CreateEntity_animation_controller\n | CreateEntity_bone\n | CreateEntity_box_geometry\n | CreateEntity_camera\n | CreateEntity_capsule_geometry\n | CreateEntity_character_controller\n | CreateEntity_collision_geometry_ref\n | CreateEntity_cylinder_geometry\n | CreateEntity_debug_name\n | CreateEntity_decal_projector\n | CreateEntity_environment\n | CreateEntity_joint\n | CreateEntity_lineage\n | CreateEntity_local_aabb\n | CreateEntity_local_transform\n | CreateEntity_material\n | CreateEntity_material_ref\n | CreateEntity_mesh_ref\n | CreateEntity_orthographic_lens\n | CreateEntity_overrider\n | CreateEntity_perspective_lens\n | CreateEntity_physics_material\n | CreateEntity_plane_geometry\n | CreateEntity_point_cloud_ref\n | CreateEntity_point_light\n | CreateEntity_reflection_probe\n | CreateEntity_revolute_joint\n | CreateEntity_rigid_body\n | CreateEntity_scene_ref\n | CreateEntity_script_element\n | CreateEntity_script_map\n | CreateEntity_shadow_caster\n | CreateEntity_skeleton_ref\n | CreateEntity_sound_ref\n | CreateEntity_sphere_geometry\n | CreateEntity_spot_light\n | CreateEntity_stereoscopic_lens\n | CreateEntity_tags\n | CreateEntity_volume_filter\n | CreateEntity_volume_material_ref\n | CreateEntity_volume_ref;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateEntity_Object> {\n return axiosInstance({\n method: 'post',\n url: '/assets/scenes/' + scene_id + '/entities',\n data: entity_components,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetEntity_animation_controller = {\n animation_controller: GetEntity_AnimationController;\n};\nexport type GetEntity_AnimationController = {\n /** Animation Graph reference. */\n animationGraphRef: string;\n /** Animation Set reference. */\n animationSetRef: string;\n /** Input values as described in the referenced animation graph in their original JSON format. */\n dataJSON: object;\n /** Reference to the entity that is the root bone of the skeleton. */\n rootBoneEntityRef: GetEntity_EntityReference;\n /** Whether or not root motion is enabled. */\n rootMotionEnabled: boolean;\n};\nexport type GetEntity_EntityReference = {\n originalEUID: string;\n linkage: Array<string>;\n};\nexport type GetEntity_bone = {\n bone: GetEntity_Bone;\n};\nexport type GetEntity_Bone = {\n /** Index of bone in skeleton. */\n boneIndex: number;\n};\nexport type GetEntity_box_geometry = {\n box_geometry: GetEntity_BoxGeometry;\n};\nexport type GetEntity_BoxGeometry = {\n /** Width, height and depth of the box */\n dimension?: Array<number>;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type GetEntity_camera = {\n camera: GetEntity_Camera;\n};\nexport type GetEntity_Camera = {\n /** Specifies which render graph this camera should use. */\n renderGraphRef: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON: object;\n};\nexport type GetEntity_capsule_geometry = {\n capsule_geometry: GetEntity_CapsuleGeometry;\n};\nexport type GetEntity_CapsuleGeometry = {\n /** Radius of the spheres at each end of the capsule */\n radius?: number;\n /** Height of the cylindrical part of the capsule */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type GetEntity_character_controller = {\n character_controller: GetEntity_CharacterController;\n};\nexport type GetEntity_CharacterController = {\n /** Step Offset in meters */\n stepOffset?: number;\n /** Slope Limit in degrees */\n slopeLimit?: number;\n /** The character's collision skin width */\n skinWidth?: number;\n /** Velocity vector for current frame */\n velocity?: Array<number>;\n};\nexport type GetEntity_collision_geometry_ref = {\n collision_geometry_ref: GetEntity_CollisionGeometryRef;\n};\nexport type GetEntity_CollisionGeometryRef = {\n /** UUID of the referenced collision_geometry. */\n collisionGeometryRef: string;\n};\nexport type GetEntity_cylinder_geometry = {\n cylinder_geometry: GetEntity_CylinderGeometry;\n};\nexport type GetEntity_CylinderGeometry = {\n /** Radius of the cylinder */\n radius?: number;\n /** Height of the cylinder */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type GetEntity_debug_name = {\n debug_name: GetEntity_Name;\n};\nexport type GetEntity_Name = {\n /** Name of the entity that will be displayed in various debug tools. */\n value: string;\n};\nexport type GetEntity_decal_projector = {\n decal_projector: GetEntity_DecalProjector;\n};\nexport type GetEntity_DecalProjector = {\n /** Z-Index order of the decal projection. The higher index will render on top of the lower ones. */\n zIndex?: number;\n};\nexport type GetEntity_environment = {\n environment: GetEntity_Environment;\n};\nexport type GetEntity_Environment = {\n /** Reference to the skybox cubemap. */\n skyboxUUID: string;\n /** Reference to the radiance cubemap. */\n radianceUUID: string;\n /** Reference to the irradiance cubemap. */\n irradianceUUID: string;\n};\nexport type GetEntity_joint = {\n joint: GetEntity_Joint;\n};\nexport type GetEntity_Joint = {\n /** An entity that is a dynamic physics body. */\n constrainee: GetEntity_EntityReference;\n /** An entity that is a dynamic or static physics body, or simply null. */\n constrainer: GetEntity_EntityReference;\n /** The force that needs to be applied for this joint to break. */\n breakForce?: number;\n /** The torque that needs to be applied for this joint to break. */\n breakTorque?: number;\n};\nexport type GetEntity_lineage = {\n lineage: GetEntity_Lineage;\n};\nexport type GetEntity_Lineage = {\n /** UUID of the parent of this entity (default is root). */\n parentUUID: string;\n /** Ordinal number of this entity in respect of its siblings. */\n ordinal?: number;\n};\nexport type GetEntity_local_aabb = {\n local_aabb: GetEntity_LocalAxisAlignedBoundingBox;\n};\nexport type GetEntity_LocalAxisAlignedBoundingBox = {\n /** Minimum point of the box. */\n min: Array<number>;\n /** Maximum point of the box. */\n max: Array<number>;\n};\nexport type GetEntity_local_transform = {\n local_transform: GetEntity_Transform;\n};\nexport type GetEntity_Transform = {\n /** x, y, z position of the entity */\n position?: Array<number>;\n /** Orientation of the entity expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z scale of the entity */\n scale?: Array<number>;\n /** Orientation of the entity expressed as euler angles */\n eulerOrientation?: Array<number>;\n /** Last global orientation of the entity expressed as euler angles submitted by a user. This value may not be valid, and should be checked. */\n globalEulerOrientation?: Array<number>;\n};\nexport type GetEntity_material = {\n material: GetEntity_Material;\n};\nexport type GetEntity_Material = {\n /** Reference to a shader graph. */\n shaderRef: string;\n /** Transparency mode */\n transparencyMode: number;\n /** Whether the material is double sided or not. */\n isDoubleSided: boolean;\n /** Input values as described in the referenced shader in their original JSON format. */\n dataJSON: object;\n};\nexport type GetEntity_material_ref = {\n material_ref: GetEntity_MaterialReference;\n};\nexport type GetEntity_MaterialReference = {\n /** UUID of the referenced material. */\n value: string;\n /** Face culling mode */\n faceCulling?: number;\n};\nexport type GetEntity_mesh_ref = {\n mesh_ref: GetEntity_MeshReference;\n};\nexport type GetEntity_MeshReference = {\n /** UUID of the referenced mesh. */\n value: string;\n /** Index of the submesh inside the submesh array. */\n submeshIndex?: number;\n};\nexport type GetEntity_orthographic_lens = {\n orthographic_lens: GetEntity_OrthographicLens;\n};\nexport type GetEntity_OrthographicLens = {\n /** Left plane. */\n left?: number;\n /** Right plane. */\n right?: number;\n /** Top plane. */\n top?: number;\n /** Bottom plane. */\n bottom?: number;\n /** Near plane. */\n zNear?: number;\n /** Far plane. */\n zFar?: number;\n};\nexport type GetEntity_overrider = {\n overrider: GetEntity_Overrider;\n};\nexport type GetEntity_Overrider = {\n /** Mark the overridden entity as deleted. */\n deleter?: boolean;\n /** Entity to override. */\n entityRef: GetEntity_EntityReference;\n /** Hashes of the components to detach from the overridden entity. */\n componentsToDetach: Array<number>;\n};\nexport type GetEntity_perspective_lens = {\n perspective_lens: GetEntity_PerspectiveLens;\n};\nexport type GetEntity_PerspectiveLens = {\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n /** Specifies the field of view angle in the y direction. */\n fovy?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n};\nexport type GetEntity_physics_material = {\n physics_material: GetEntity_PhysicsMaterial;\n};\nexport type GetEntity_PhysicsMaterial = {\n /** The coefficient of static friction */\n staticFriction?: number;\n /** The coefficient of dynamic friction */\n dynamicFriction?: number;\n /** The coefficient of static restitution */\n restitution?: number;\n /** Whether to consider the collision shape associated to this material as a trigger or not */\n isTrigger?: boolean;\n};\nexport type GetEntity_plane_geometry = {\n plane_geometry: GetEntity_PlaneGeometry;\n};\nexport type GetEntity_PlaneGeometry = {\n /** Distance from the origin in the plane's normal direction. */\n distance?: number;\n /** Normal of the plane. */\n normal?: Array<number>;\n};\nexport type GetEntity_point_cloud_ref = {\n point_cloud_ref: GetEntity_PointCloudReference;\n};\nexport type GetEntity_PointCloudReference = {\n /** UUID of the referenced point cloud. */\n value: string;\n};\nexport type GetEntity_point_light = {\n point_light: GetEntity_Light;\n};\nexport type GetEntity_Light = {\n /** Light color */\n color?: Array<number>;\n /** Light intensity. */\n intensity?: number;\n /** The range for the point light. If the range is 0, then physically correct point light attenuation function is used. */\n range?: number;\n /** Make this light directional, position is ignored in this case. */\n isDirectional?: boolean;\n /** Make this light direction control the atmosphere sun direction. If more than one light is marked to be a sun results are undefined. */\n isSun?: boolean;\n};\nexport type GetEntity_reflection_probe = {\n reflection_probe: GetEntity_ReflectionProbe;\n};\nexport type GetEntity_ReflectionProbe = {\n /** x, y, z offset of the probe reflection origin. */\n offset?: Array<number>;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the reflection map. */\n quality?: number;\n};\nexport type GetEntity_revolute_joint = {\n revolute_joint: GetEntity_RevoluteJoint;\n};\nexport type GetEntity_RevoluteJoint = {\n /** The direction of the axis around which the constrainee swings. The direction is defined in the constrainee's local space. */\n axis?: Array<number>;\n /** The position of the axis around which the constrainee swings. The position is defined in the constrainee's local space. */\n anchor?: Array<number>;\n};\nexport type GetEntity_rigid_body = {\n rigid_body: GetEntity_RigidBody;\n};\nexport type GetEntity_RigidBody = {\n /** Mass */\n mass?: number;\n /** Linear damping */\n linearDamping?: number;\n /** Angular damping */\n angularDamping?: number;\n /** Friction */\n friction?: number;\n /** Rolling friction */\n rollingFriction?: number;\n /** Spinning friction */\n spinningFriction?: number;\n /** Restitution */\n restitution?: number;\n /** Linear sleeping threshold */\n linearSleepingThreshold?: number;\n /** Angular sleeping threshold */\n angularSleepingThreshold?: number;\n /** Whether the rigid body should use kinematic physics or not */\n isKinematic?: boolean;\n};\nexport type GetEntity_scene_ref = {\n scene_ref: GetEntity_SceneReference;\n};\nexport type GetEntity_SceneReference = {\n /** Reference to a scene. */\n value: string;\n /** Maximum number of times a scene appears when it references itself. */\n maxRecursionCount?: number;\n};\nexport type GetEntity_script_element = {\n script_element: GetEntity_ScriptElement;\n};\nexport type GetEntity_ScriptElement = {\n /** Reference to a script. */\n scriptRef: string;\n /** Input values as described in the referenced script in their original JSON format. */\n dataJSON: object;\n};\nexport type GetEntity_script_map = {\n script_map: GetEntity_ScriptMap;\n};\nexport type GetEntity_ScriptMap = {\n /** List of scripts. */\n elements: object;\n};\nexport type GetEntity_shadow_caster = {\n shadow_caster: GetEntity_ShadowCaster;\n};\nexport type GetEntity_ShadowCaster = {\n /** Bias to apply to avoid self shadowing artifacts. */\n bias?: number;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the shadow map. */\n quality?: number;\n /** Skews the ratio of cascade splits, value ranges from 0 to 1. */\n cascadeSplitLambda?: number;\n /** Distance to the end of the furthest cascade. */\n cascadeMaxZ?: number;\n /** For directional lights, accumulate all shadow cascades. */\n accumulateShadowCascades?: boolean;\n};\nexport type GetEntity_skeleton_ref = {\n skeleton_ref: GetEntity_SkeletonReference;\n};\nexport type GetEntity_SkeletonReference = {\n /** UUID of the referenced skeleton. */\n value: string;\n};\nexport type GetEntity_sound_ref = {\n sound_ref: GetEntity_SoundReference;\n};\nexport type GetEntity_SoundReference = {\n /** UUID of the referenced sound. */\n value: string;\n /** Volume from 0.0f to 1.0f. */\n volume?: number;\n /** Pan. -1.0f is left, 1.0f is right. */\n pan?: number;\n /** The speed at which the sound will play. 1.0f is normal. */\n playSpeed?: number;\n /** Does the sound loop? */\n looping?: boolean;\n};\nexport type GetEntity_sphere_geometry = {\n sphere_geometry: GetEntity_SphereGeometry;\n};\nexport type GetEntity_SphereGeometry = {\n /** Radius of the sphere */\n radius?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type GetEntity_spot_light = {\n spot_light: GetEntity_SpotLight;\n};\nexport type GetEntity_SpotLight = {\n /** Cutoff angle. */\n cutoff?: number;\n /** Reference to a IES 2d texture. */\n IESProfile: string;\n};\nexport type GetEntity_stereoscopic_lens = {\n stereoscopic_lens: GetEntity_StereoscopicPerspectiveLens;\n};\nexport type GetEntity_StereoscopicPerspectiveLens = {\n /** Angle of the left side of the field of view (this value is negative). */\n angleLeft?: number;\n /** Angle of the right side of the field of view */\n angleRight?: number;\n /** Angle of the top part of the field of view */\n angleUp?: number;\n /** Angle of the bottom part of the field of view (this value is negative) */\n angleDown?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n};\nexport type GetEntity_tags = {\n tags: GetEntity_Tags;\n};\nexport type GetEntity_Tags = {\n /** Tag list. */\n value: Array<string>;\n};\nexport type GetEntity_volume_filter = {\n volume_filter: GetEntity_VolumeFilter;\n};\nexport type GetEntity_VolumeFilter = {\n /** Voxel intensity range displayed, not applicable if outside volume material range */\n range?: Array<number>;\n /** Apply gaussian filtering on voxels */\n applyGaussianFiltering?: boolean;\n /** Are texel values from the voxel texture sampled unfiltered. */\n sampleUnfiltered?: boolean;\n /** Whether or not this volume is visible in the MPR view */\n enableMPR?: boolean;\n /** Whether or not this volume is visible in the 3D view */\n enable3D?: boolean;\n};\nexport type GetEntity_volume_material_ref = {\n volume_material_ref: GetEntity_VolumeMaterialReference;\n};\nexport type GetEntity_VolumeMaterialReference = {\n /** UUID of the volume_material. */\n value: string;\n};\nexport type GetEntity_volume_ref = {\n volume_ref: GetEntity_VolumeReference;\n};\nexport type GetEntity_VolumeReference = {\n /** Reference to a 3d texture. */\n texture3dRef: string;\n};\nexport type GetEntity_Entity = {\n euid: GetEntity_EntityUid;\n};\nexport type GetEntity_EntityUid = {\n /** Unique identifier value. */\n value: string;\n};\n/**\n * Get a specific entity from a scene.\n */\nexport function getEntity(\n {\n scene_id,\n entity_id,\n compute_global_transform = false,\n }: {\n scene_id: string;\n entity_id: string;\n compute_global_transform?: boolean;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<\n (\n | GetEntity_animation_controller\n | GetEntity_bone\n | GetEntity_box_geometry\n | GetEntity_camera\n | GetEntity_capsule_geometry\n | GetEntity_character_controller\n | GetEntity_collision_geometry_ref\n | GetEntity_cylinder_geometry\n | GetEntity_debug_name\n | GetEntity_decal_projector\n | GetEntity_environment\n | GetEntity_joint\n | GetEntity_lineage\n | GetEntity_local_aabb\n | GetEntity_local_transform\n | GetEntity_material\n | GetEntity_material_ref\n | GetEntity_mesh_ref\n | GetEntity_orthographic_lens\n | GetEntity_overrider\n | GetEntity_perspective_lens\n | GetEntity_physics_material\n | GetEntity_plane_geometry\n | GetEntity_point_cloud_ref\n | GetEntity_point_light\n | GetEntity_reflection_probe\n | GetEntity_revolute_joint\n | GetEntity_rigid_body\n | GetEntity_scene_ref\n | GetEntity_script_element\n | GetEntity_script_map\n | GetEntity_shadow_caster\n | GetEntity_skeleton_ref\n | GetEntity_sound_ref\n | GetEntity_sphere_geometry\n | GetEntity_spot_light\n | GetEntity_stereoscopic_lens\n | GetEntity_tags\n | GetEntity_volume_filter\n | GetEntity_volume_material_ref\n | GetEntity_volume_ref\n ) &\n GetEntity_Entity\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + scene_id + '/entities/' + entity_id + '',\n params: {\n compute_global_transform: compute_global_transform,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type UpdateEntity_animation_controller = {\n animation_controller: UpdateEntity_AnimationController;\n};\nexport type UpdateEntity_AnimationController = {\n /** Animation Graph reference. */\n animationGraphRef: string;\n /** Animation Set reference. */\n animationSetRef: string;\n /** Input values as described in the referenced animation graph in their original JSON format. */\n dataJSON: object;\n /** Reference to the entity that is the root bone of the skeleton. */\n rootBoneEntityRef: UpdateEntity_EntityReference;\n /** Whether or not root motion is enabled. */\n rootMotionEnabled: boolean;\n};\nexport type UpdateEntity_EntityReference = {\n originalEUID: string;\n linkage: Array<string>;\n};\nexport type UpdateEntity_bone = {\n bone: UpdateEntity_Bone;\n};\nexport type UpdateEntity_Bone = {\n /** Index of bone in skeleton. */\n boneIndex: number;\n};\nexport type UpdateEntity_box_geometry = {\n box_geometry: UpdateEntity_BoxGeometry;\n};\nexport type UpdateEntity_BoxGeometry = {\n /** Width, height and depth of the box */\n dimension?: Array<number>;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type UpdateEntity_camera = {\n camera: UpdateEntity_Camera;\n};\nexport type UpdateEntity_Camera = {\n /** Specifies which render graph this camera should use. */\n renderGraphRef: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON: object;\n};\nexport type UpdateEntity_capsule_geometry = {\n capsule_geometry: UpdateEntity_CapsuleGeometry;\n};\nexport type UpdateEntity_CapsuleGeometry = {\n /** Radius of the spheres at each end of the capsule */\n radius?: number;\n /** Height of the cylindrical part of the capsule */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type UpdateEntity_character_controller = {\n character_controller: UpdateEntity_CharacterController;\n};\nexport type UpdateEntity_CharacterController = {\n /** Step Offset in meters */\n stepOffset?: number;\n /** Slope Limit in degrees */\n slopeLimit?: number;\n /** The character's collision skin width */\n skinWidth?: number;\n /** Velocity vector for current frame */\n velocity?: Array<number>;\n};\nexport type UpdateEntity_collision_geometry_ref = {\n collision_geometry_ref: UpdateEntity_CollisionGeometryRef;\n};\nexport type UpdateEntity_CollisionGeometryRef = {\n /** UUID of the referenced collision_geometry. */\n collisionGeometryRef: string;\n};\nexport type UpdateEntity_cylinder_geometry = {\n cylinder_geometry: UpdateEntity_CylinderGeometry;\n};\nexport type UpdateEntity_CylinderGeometry = {\n /** Radius of the cylinder */\n radius?: number;\n /** Height of the cylinder */\n height?: number;\n /** Alignment axis, 0 for X, 1 for Y, 2 for Z */\n axis?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type UpdateEntity_debug_name = {\n debug_name: UpdateEntity_Name;\n};\nexport type UpdateEntity_Name = {\n /** Name of the entity that will be displayed in various debug tools. */\n value: string;\n};\nexport type UpdateEntity_decal_projector = {\n decal_projector: UpdateEntity_DecalProjector;\n};\nexport type UpdateEntity_DecalProjector = {\n /** Z-Index order of the decal projection. The higher index will render on top of the lower ones. */\n zIndex?: number;\n};\nexport type UpdateEntity_environment = {\n environment: UpdateEntity_Environment;\n};\nexport type UpdateEntity_Environment = {\n /** Reference to the skybox cubemap. */\n skyboxUUID: string;\n /** Reference to the radiance cubemap. */\n radianceUUID: string;\n /** Reference to the irradiance cubemap. */\n irradianceUUID: string;\n};\nexport type UpdateEntity_joint = {\n joint: UpdateEntity_Joint;\n};\nexport type UpdateEntity_Joint = {\n /** An entity that is a dynamic physics body. */\n constrainee: UpdateEntity_EntityReference;\n /** An entity that is a dynamic or static physics body, or simply null. */\n constrainer: UpdateEntity_EntityReference;\n /** The force that needs to be applied for this joint to break. */\n breakForce?: number;\n /** The torque that needs to be applied for this joint to break. */\n breakTorque?: number;\n};\nexport type UpdateEntity_lineage = {\n lineage: UpdateEntity_Lineage;\n};\nexport type UpdateEntity_Lineage = {\n /** UUID of the parent of this entity (default is root). */\n parentUUID: string;\n /** Ordinal number of this entity in respect of its siblings. */\n ordinal?: number;\n};\nexport type UpdateEntity_local_aabb = {\n local_aabb: UpdateEntity_LocalAxisAlignedBoundingBox;\n};\nexport type UpdateEntity_LocalAxisAlignedBoundingBox = {\n /** Minimum point of the box. */\n min: Array<number>;\n /** Maximum point of the box. */\n max: Array<number>;\n};\nexport type UpdateEntity_local_transform = {\n local_transform: UpdateEntity_Transform;\n};\nexport type UpdateEntity_Transform = {\n /** x, y, z position of the entity */\n position?: Array<number>;\n /** Orientation of the entity expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z scale of the entity */\n scale?: Array<number>;\n /** Orientation of the entity expressed as euler angles */\n eulerOrientation?: Array<number>;\n /** Last global orientation of the entity expressed as euler angles submitted by a user. This value may not be valid, and should be checked. */\n globalEulerOrientation?: Array<number>;\n};\nexport type UpdateEntity_material = {\n material: UpdateEntity_Material;\n};\nexport type UpdateEntity_Material = {\n /** Reference to a shader graph. */\n shaderRef: string;\n /** Transparency mode */\n transparencyMode: number;\n /** Whether the material is double sided or not. */\n isDoubleSided: boolean;\n /** Input values as described in the referenced shader in their original JSON format. */\n dataJSON: object;\n};\nexport type UpdateEntity_material_ref = {\n material_ref: UpdateEntity_MaterialReference;\n};\nexport type UpdateEntity_MaterialReference = {\n /** UUID of the referenced material. */\n value: string;\n /** Face culling mode */\n faceCulling?: number;\n};\nexport type UpdateEntity_mesh_ref = {\n mesh_ref: UpdateEntity_MeshReference;\n};\nexport type UpdateEntity_MeshReference = {\n /** UUID of the referenced mesh. */\n value: string;\n /** Index of the submesh inside the submesh array. */\n submeshIndex?: number;\n};\nexport type UpdateEntity_orthographic_lens = {\n orthographic_lens: UpdateEntity_OrthographicLens;\n};\nexport type UpdateEntity_OrthographicLens = {\n /** Left plane. */\n left?: number;\n /** Right plane. */\n right?: number;\n /** Top plane. */\n top?: number;\n /** Bottom plane. */\n bottom?: number;\n /** Near plane. */\n zNear?: number;\n /** Far plane. */\n zFar?: number;\n};\nexport type UpdateEntity_overrider = {\n overrider: UpdateEntity_Overrider;\n};\nexport type UpdateEntity_Overrider = {\n /** Mark the overridden entity as deleted. */\n deleter?: boolean;\n /** Entity to override. */\n entityRef: UpdateEntity_EntityReference;\n /** Hashes of the components to detach from the overridden entity. */\n componentsToDetach: Array<number>;\n};\nexport type UpdateEntity_perspective_lens = {\n perspective_lens: UpdateEntity_PerspectiveLens;\n};\nexport type UpdateEntity_PerspectiveLens = {\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n /** Specifies the field of view angle in the y direction. */\n fovy?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n};\nexport type UpdateEntity_physics_material = {\n physics_material: UpdateEntity_PhysicsMaterial;\n};\nexport type UpdateEntity_PhysicsMaterial = {\n /** The coefficient of static friction */\n staticFriction?: number;\n /** The coefficient of dynamic friction */\n dynamicFriction?: number;\n /** The coefficient of static restitution */\n restitution?: number;\n /** Whether to consider the collision shape associated to this material as a trigger or not */\n isTrigger?: boolean;\n};\nexport type UpdateEntity_plane_geometry = {\n plane_geometry: UpdateEntity_PlaneGeometry;\n};\nexport type UpdateEntity_PlaneGeometry = {\n /** Distance from the origin in the plane's normal direction. */\n distance?: number;\n /** Normal of the plane. */\n normal?: Array<number>;\n};\nexport type UpdateEntity_point_cloud_ref = {\n point_cloud_ref: UpdateEntity_PointCloudReference;\n};\nexport type UpdateEntity_PointCloudReference = {\n /** UUID of the referenced point cloud. */\n value: string;\n};\nexport type UpdateEntity_point_light = {\n point_light: UpdateEntity_Light;\n};\nexport type UpdateEntity_Light = {\n /** Light color */\n color?: Array<number>;\n /** Light intensity. */\n intensity?: number;\n /** The range for the point light. If the range is 0, then physically correct point light attenuation function is used. */\n range?: number;\n /** Make this light directional, position is ignored in this case. */\n isDirectional?: boolean;\n /** Make this light direction control the atmosphere sun direction. If more than one light is marked to be a sun results are undefined. */\n isSun?: boolean;\n};\nexport type UpdateEntity_reflection_probe = {\n reflection_probe: UpdateEntity_ReflectionProbe;\n};\nexport type UpdateEntity_ReflectionProbe = {\n /** x, y, z offset of the probe reflection origin. */\n offset?: Array<number>;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the reflection map. */\n quality?: number;\n};\nexport type UpdateEntity_revolute_joint = {\n revolute_joint: UpdateEntity_RevoluteJoint;\n};\nexport type UpdateEntity_RevoluteJoint = {\n /** The direction of the axis around which the constrainee swings. The direction is defined in the constrainee's local space. */\n axis?: Array<number>;\n /** The position of the axis around which the constrainee swings. The position is defined in the constrainee's local space. */\n anchor?: Array<number>;\n};\nexport type UpdateEntity_rigid_body = {\n rigid_body: UpdateEntity_RigidBody;\n};\nexport type UpdateEntity_RigidBody = {\n /** Mass */\n mass?: number;\n /** Linear damping */\n linearDamping?: number;\n /** Angular damping */\n angularDamping?: number;\n /** Friction */\n friction?: number;\n /** Rolling friction */\n rollingFriction?: number;\n /** Spinning friction */\n spinningFriction?: number;\n /** Restitution */\n restitution?: number;\n /** Linear sleeping threshold */\n linearSleepingThreshold?: number;\n /** Angular sleeping threshold */\n angularSleepingThreshold?: number;\n /** Whether the rigid body should use kinematic physics or not */\n isKinematic?: boolean;\n};\nexport type UpdateEntity_scene_ref = {\n scene_ref: UpdateEntity_SceneReference;\n};\nexport type UpdateEntity_SceneReference = {\n /** Reference to a scene. */\n value: string;\n /** Maximum number of times a scene appears when it references itself. */\n maxRecursionCount?: number;\n};\nexport type UpdateEntity_script_element = {\n script_element: UpdateEntity_ScriptElement;\n};\nexport type UpdateEntity_ScriptElement = {\n /** Reference to a script. */\n scriptRef: string;\n /** Input values as described in the referenced script in their original JSON format. */\n dataJSON: object;\n};\nexport type UpdateEntity_script_map = {\n script_map: UpdateEntity_ScriptMap;\n};\nexport type UpdateEntity_ScriptMap = {\n /** List of scripts. */\n elements: object;\n};\nexport type UpdateEntity_shadow_caster = {\n shadow_caster: UpdateEntity_ShadowCaster;\n};\nexport type UpdateEntity_ShadowCaster = {\n /** Bias to apply to avoid self shadowing artifacts. */\n bias?: number;\n /** Distance to the near plane. */\n nearDist?: number;\n /** Distance to the far plane. */\n farDist?: number;\n /** Resolution of the shadow map. */\n quality?: number;\n /** Skews the ratio of cascade splits, value ranges from 0 to 1. */\n cascadeSplitLambda?: number;\n /** Distance to the end of the furthest cascade. */\n cascadeMaxZ?: number;\n /** For directional lights, accumulate all shadow cascades. */\n accumulateShadowCascades?: boolean;\n};\nexport type UpdateEntity_skeleton_ref = {\n skeleton_ref: UpdateEntity_SkeletonReference;\n};\nexport type UpdateEntity_SkeletonReference = {\n /** UUID of the referenced skeleton. */\n value: string;\n};\nexport type UpdateEntity_sound_ref = {\n sound_ref: UpdateEntity_SoundReference;\n};\nexport type UpdateEntity_SoundReference = {\n /** UUID of the referenced sound. */\n value: string;\n /** Volume from 0.0f to 1.0f. */\n volume?: number;\n /** Pan. -1.0f is left, 1.0f is right. */\n pan?: number;\n /** The speed at which the sound will play. 1.0f is normal. */\n playSpeed?: number;\n /** Does the sound loop? */\n looping?: boolean;\n};\nexport type UpdateEntity_sphere_geometry = {\n sphere_geometry: UpdateEntity_SphereGeometry;\n};\nexport type UpdateEntity_SphereGeometry = {\n /** Radius of the sphere */\n radius?: number;\n /** True for additive, false for subtractive */\n isAdditive?: boolean;\n /** Geometry offset */\n offset?: Array<number>;\n};\nexport type UpdateEntity_spot_light = {\n spot_light: UpdateEntity_SpotLight;\n};\nexport type UpdateEntity_SpotLight = {\n /** Cutoff angle. */\n cutoff?: number;\n /** Reference to a IES 2d texture. */\n IESProfile: string;\n};\nexport type UpdateEntity_stereoscopic_lens = {\n stereoscopic_lens: UpdateEntity_StereoscopicPerspectiveLens;\n};\nexport type UpdateEntity_StereoscopicPerspectiveLens = {\n /** Angle of the left side of the field of view (this value is negative). */\n angleLeft?: number;\n /** Angle of the right side of the field of view */\n angleRight?: number;\n /** Angle of the top part of the field of view */\n angleUp?: number;\n /** Angle of the bottom part of the field of view (this value is negative) */\n angleDown?: number;\n /** Specifies the distance from the viewer to the near clipping plane. */\n nearPlane?: number;\n /** Specifies the distance from the viewer to the far clipping plane. */\n farPlane?: number;\n /** Specifies the aspect ratio of the viewport, usually equals width/height. */\n aspectRatio?: number;\n};\nexport type UpdateEntity_tags = {\n tags: UpdateEntity_Tags;\n};\nexport type UpdateEntity_Tags = {\n /** Tag list. */\n value: Array<string>;\n};\nexport type UpdateEntity_volume_filter = {\n volume_filter: UpdateEntity_VolumeFilter;\n};\nexport type UpdateEntity_VolumeFilter = {\n /** Voxel intensity range displayed, not applicable if outside volume material range */\n range?: Array<number>;\n /** Apply gaussian filtering on voxels */\n applyGaussianFiltering?: boolean;\n /** Are texel values from the voxel texture sampled unfiltered. */\n sampleUnfiltered?: boolean;\n /** Whether or not this volume is visible in the MPR view */\n enableMPR?: boolean;\n /** Whether or not this volume is visible in the 3D view */\n enable3D?: boolean;\n};\nexport type UpdateEntity_volume_material_ref = {\n volume_material_ref: UpdateEntity_VolumeMaterialReference;\n};\nexport type UpdateEntity_VolumeMaterialReference = {\n /** UUID of the volume_material. */\n value: string;\n};\nexport type UpdateEntity_volume_ref = {\n volume_ref: UpdateEntity_VolumeReference;\n};\nexport type UpdateEntity_VolumeReference = {\n /** Reference to a 3d texture. */\n texture3dRef: string;\n};\n/**\n * Update a specific entity from a scene.\n */\nexport function updateEntity(\n {\n scene_id,\n entity_id,\n entity_components,\n }: {\n scene_id: string;\n entity_id: string;\n entity_components:\n | UpdateEntity_animation_controller\n | UpdateEntity_bone\n | UpdateEntity_box_geometry\n | UpdateEntity_camera\n | UpdateEntity_capsule_geometry\n | UpdateEntity_character_controller\n | UpdateEntity_collision_geometry_ref\n | UpdateEntity_cylinder_geometry\n | UpdateEntity_debug_name\n | UpdateEntity_decal_projector\n | UpdateEntity_environment\n | UpdateEntity_joint\n | UpdateEntity_lineage\n | UpdateEntity_local_aabb\n | UpdateEntity_local_transform\n | UpdateEntity_material\n | UpdateEntity_material_ref\n | UpdateEntity_mesh_ref\n | UpdateEntity_orthographic_lens\n | UpdateEntity_overrider\n | UpdateEntity_perspective_lens\n | UpdateEntity_physics_material\n | UpdateEntity_plane_geometry\n | UpdateEntity_point_cloud_ref\n | UpdateEntity_point_light\n | UpdateEntity_reflection_probe\n | UpdateEntity_revolute_joint\n | UpdateEntity_rigid_body\n | UpdateEntity_scene_ref\n | UpdateEntity_script_element\n | UpdateEntity_script_map\n | UpdateEntity_shadow_caster\n | UpdateEntity_skeleton_ref\n | UpdateEntity_sound_ref\n | UpdateEntity_sphere_geometry\n | UpdateEntity_spot_light\n | UpdateEntity_stereoscopic_lens\n | UpdateEntity_tags\n | UpdateEntity_volume_filter\n | UpdateEntity_volume_material_ref\n | UpdateEntity_volume_ref;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/scenes/' + scene_id + '/entities/' + entity_id + '',\n data: entity_components,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Delete a specific entity from a scene.\n */\nexport function deleteEntity(\n {\n scene_id,\n entity_id,\n }: {\n scene_id: string;\n entity_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets/scenes/' + scene_id + '/entities/' + entity_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSceneSettings__index_SceneSettings_SceneSettings = {\n /** Settings for debug lines */\n debug_lines?: GetSceneSettings_DebugLines;\n /** Default camera component of the scene, used to create default cameras. */\n default_camera_component?: GetSceneSettings_DefaultCameraComponent;\n /** Default camera global transform of the scene, used to create default cameras. */\n default_camera_transform?: GetSceneSettings_DefaultCameraTransform;\n /** Settings for the display */\n display?: GetSceneSettings_Display;\n /** Settings for the encoder */\n encoder?: GetSceneSettings_Encoder;\n /** Settings for the environment */\n environment?: GetSceneSettings_Environment;\n /** Miscellaneous settings */\n misc?: GetSceneSettings_Miscellaneous;\n /** Settings for the network */\n network?: GetSceneSettings_Network;\n /** Settings for the physics engine. */\n physics?: GetSceneSettings_Physics;\n /** Renderer settings */\n renderer?: GetSceneSettings_Renderer;\n /** Settings to apply whenever simulation is active */\n simulation?: GetSceneSettings_Simulation;\n /** Sound settings */\n sound?: GetSceneSettings_Sound;\n /** Settings for the scene streaming */\n streaming?: GetSceneSettings_Streaming;\n /** Settings for voxel rendering */\n voxel?: GetSceneSettings_Voxel;\n};\nexport type GetSceneSettings_DebugLines = {\n /** Whether to draw the bouding boxes of entities */\n drawBoundingBoxes?: boolean;\n /** Whether to draw camera frustums */\n drawCameraFrustums?: boolean;\n /** Whether to draw the center of mass of physics bodies */\n drawCenterOfMass?: boolean;\n /** Whether to draw contacts between physics bodies */\n drawContacts?: boolean;\n /** Whether to draw debug lines */\n drawDebugLines?: boolean;\n /** Whether to draw certain IK parameters like the forward and up vector of an IK Aim node, or the pole vector of an IK Two Bone node */\n drawIK?: boolean;\n /** Whether to draw joint-related debug lines */\n drawJoints?: boolean;\n /** Whether to draw light-related debug lines */\n drawLights?: boolean;\n /** Whether to draw geometry of physics bodies */\n drawPhysicsBodies?: boolean;\n /** Whether to draw physics body axes */\n drawPhysicsBodyAxes?: boolean;\n /** Whether to draw reflection probes */\n drawReflectionProbes?: boolean;\n /** Whether to draw the skeletons of rigged characters */\n drawSkeletons?: boolean;\n};\nexport type GetSceneSettings_DefaultCameraComponent = {\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON?: object;\n /** Specifies which render graph this camera should use. */\n renderGraphRef?: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n};\nexport type GetSceneSettings_DefaultCameraTransform = {\n /** Orientation of the camera expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z position of the camera */\n position?: Array<number>;\n};\nexport type GetSceneSettings_Display = {\n /** Draw frame without input events */\n forceRedraw?: boolean;\n /** When 'Force Redraw' is off, this setting controls the number of frames the renderer will draw before going back to idle */\n framePersistence?: number;\n /** Maximum number of Frames Per Second the renderer is allowed to produce */\n maxFPS?: StrictUnion<15 | 30 | 60 | 90> & number;\n /** Maximum resolution of loaded textures */\n maxTextureSize?: StrictUnion<4294967295 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192> &\n number;\n};\nexport type GetSceneSettings_Encoder = {\n /** Encoder type. */\n encoderType?: string;\n};\nexport type GetSceneSettings_Environment = {\n /** Color of the spherical gradient at the bottom of the sphere. */\n ambientColorBottom?: Array<number>;\n /** Color of the spherical gradient at the top of the sphere. */\n ambientColorTop?: Array<number>;\n /** Solid color used to clear the screen before drawing. */\n clearColor?: Array<number>;\n};\nexport type GetSceneSettings_Miscellaneous = {\n /** The maximum number of time a linker can reference itself. */\n maxLinkersRecursionCount?: number;\n /** The maximum time a script can run before getting aborted. */\n maxScriptExecutionTimeInMs?: number;\n /** Plugins to load at startup */\n plugins?: Array<string>;\n};\nexport type GetSceneSettings_Network = {\n /** Time to wait in seconds with no client before closing the session. */\n clientConnectionTimeout?: number;\n sendSimulationUpdates?: boolean;\n /** Time to maintain the session alive without any active client in seconds. */\n timeToLiveWithInactiveUsersInSeconds?: number;\n waitForDefaultAssetsTimeoutInSeconds?: number;\n};\nexport type GetSceneSettings_Physics = {\n /** The engine that is powering the physics of the scene. */\n engine?: StrictUnion<'physx' | 'xde'>;\n /** The epsilon used to mark whether the transform of an entity has changed and so whether to notify the physics engine. */\n epsilon?: number;\n /** Global gravity applied throughout the scene. */\n gravity?: Array<number>;\n /** The bigger LMD Max is, the greater the area that is searched for future contacts, and so the greater time taken per iteration. Note that XDE resolves contacts pre-collision, not once collision has taken place, like the majority of physics engines. Displacement of any object per iteration should not exceed LMD Max. */\n lmdMax?: number;\n /** A frame-rate-independent interval that dictates when physics calculations are performed. */\n timestepInS?: number;\n /** The approximate size of objects in the simulation. This is used to estimate certain length-related tolerances. */\n toleranceLength?: number;\n /** The typical magnitude of velocities of objects in simulation. This is used to estimate whether a contact should be treated as bouncing or resting based on its impact velocity, and a kinetic energy threshold below which the simulation may put objects to sleep. For normal physical environments, a good choice is the approximate speed of an object falling under gravity for one second. */\n toleranceSpeed?: number;\n};\nexport type GetSceneSettings_Renderer = {\n /** Enable occlusion culling. */\n cpuOcclusionCulling?: boolean;\n /** Toggle frustum culling */\n enableFrustumCulling?: boolean;\n /** Enables geometry culling. */\n enableGeometryCulling?: boolean;\n /** Enables ray tracing. */\n enableRayTracing?: boolean;\n /** Toggle texture streaming */\n enableTextureStreaming?: boolean;\n /** Time to wait for the GPU in milliseconds. */\n endFrameTimeoutInMilliseconds?: number;\n};\nexport type GetSceneSettings_Simulation = {\n /** Scripts which the client will be automatically attached */\n clientScripts?: Array<GetSceneSettings_Object>;\n /** Camera used when starting the simulation */\n mainCamera?: GetSceneSettings_MainCamera;\n};\nexport type GetSceneSettings_Object = {\n linkage: Array<string>;\n /** A unique identifier for an entity. It should be unique across all entities in the scene, but it is not guaranteed to be unique across all scenes. */\n originalEUID: string;\n};\nexport type GetSceneSettings_MainCamera = {\n linkage: Array<string>;\n /** A unique identifier for an entity. It should be unique across all entities in the scene, but it is not guaranteed to be unique across all scenes. */\n originalEUID: string;\n};\nexport type GetSceneSettings_Sound = {\n /** Enable 3dverse sound. */\n enabled?: boolean;\n};\nexport type GetSceneSettings_Streaming = {\n /** Scenes that enter this radius around the camera get loaded. */\n streamingLoadingRadius?: number;\n /** Scenes that exit this radius around the camera get unloaded. */\n streamingUnloadingRadius?: number;\n};\nexport type GetSceneSettings_Voxel = {\n /** Maximum number of color samples used to compute the color LUT. */\n maxNumberAlbedoValues?: number;\n};\n/**\n * Get the settings of a scene.\n */\nexport function getSceneSettings(\n {\n scene_id,\n }: {\n scene_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSceneSettings__index_SceneSettings_SceneSettings> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + scene_id + '/settings',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type UpdateSceneSettings_SceneSettings = {\n /** Settings for debug lines */\n debug_lines?: UpdateSceneSettings_DebugLines;\n /** Default camera component of the scene, used to create default cameras. */\n default_camera_component?: UpdateSceneSettings_DefaultCameraComponent;\n /** Default camera global transform of the scene, used to create default cameras. */\n default_camera_transform?: UpdateSceneSettings_DefaultCameraTransform;\n /** Settings for the display */\n display?: UpdateSceneSettings_Display;\n /** Settings for the encoder */\n encoder?: UpdateSceneSettings_Encoder;\n /** Settings for the environment */\n environment?: UpdateSceneSettings_Environment;\n /** Miscellaneous settings */\n misc?: UpdateSceneSettings_Miscellaneous;\n /** Settings for the network */\n network?: UpdateSceneSettings_Network;\n /** Settings for the physics engine. */\n physics?: UpdateSceneSettings_Physics;\n /** Renderer settings */\n renderer?: UpdateSceneSettings_Renderer;\n /** Settings to apply whenever simulation is active */\n simulation?: UpdateSceneSettings_Simulation;\n /** Sound settings */\n sound?: UpdateSceneSettings_Sound;\n /** Settings for the scene streaming */\n streaming?: UpdateSceneSettings_Streaming;\n /** Settings for voxel rendering */\n voxel?: UpdateSceneSettings_Voxel;\n};\nexport type UpdateSceneSettings_DebugLines = {\n /** Whether to draw the bouding boxes of entities */\n drawBoundingBoxes?: boolean;\n /** Whether to draw camera frustums */\n drawCameraFrustums?: boolean;\n /** Whether to draw the center of mass of physics bodies */\n drawCenterOfMass?: boolean;\n /** Whether to draw contacts between physics bodies */\n drawContacts?: boolean;\n /** Whether to draw debug lines */\n drawDebugLines?: boolean;\n /** Whether to draw certain IK parameters like the forward and up vector of an IK Aim node, or the pole vector of an IK Two Bone node */\n drawIK?: boolean;\n /** Whether to draw joint-related debug lines */\n drawJoints?: boolean;\n /** Whether to draw light-related debug lines */\n drawLights?: boolean;\n /** Whether to draw geometry of physics bodies */\n drawPhysicsBodies?: boolean;\n /** Whether to draw physics body axes */\n drawPhysicsBodyAxes?: boolean;\n /** Whether to draw reflection probes */\n drawReflectionProbes?: boolean;\n /** Whether to draw the skeletons of rigged characters */\n drawSkeletons?: boolean;\n};\nexport type UpdateSceneSettings_DefaultCameraComponent = {\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON?: object;\n /** Specifies which render graph this camera should use. */\n renderGraphRef?: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n};\nexport type UpdateSceneSettings_DefaultCameraTransform = {\n /** Orientation of the camera expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z position of the camera */\n position?: Array<number>;\n};\nexport type UpdateSceneSettings_Display = {\n /** Draw frame without input events */\n forceRedraw?: boolean;\n /** When 'Force Redraw' is off, this setting controls the number of frames the renderer will draw before going back to idle */\n framePersistence?: number;\n /** Maximum number of Frames Per Second the renderer is allowed to produce */\n maxFPS?: StrictUnion<15 | 30 | 60 | 90> & number;\n /** Maximum resolution of loaded textures */\n maxTextureSize?: StrictUnion<4294967295 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192> &\n number;\n};\nexport type UpdateSceneSettings_Encoder = {\n /** Encoder type. */\n encoderType?: string;\n};\nexport type UpdateSceneSettings_Environment = {\n /** Color of the spherical gradient at the bottom of the sphere. */\n ambientColorBottom?: Array<number>;\n /** Color of the spherical gradient at the top of the sphere. */\n ambientColorTop?: Array<number>;\n /** Solid color used to clear the screen before drawing. */\n clearColor?: Array<number>;\n};\nexport type UpdateSceneSettings_Miscellaneous = {\n /** The maximum number of time a linker can reference itself. */\n maxLinkersRecursionCount?: number;\n /** The maximum time a script can run before getting aborted. */\n maxScriptExecutionTimeInMs?: number;\n /** Plugins to load at startup */\n plugins?: Array<string>;\n};\nexport type UpdateSceneSettings_Network = {\n /** Time to wait in seconds with no client before closing the session. */\n clientConnectionTimeout?: number;\n sendSimulationUpdates?: boolean;\n /** Time to maintain the session alive without any active client in seconds. */\n timeToLiveWithInactiveUsersInSeconds?: number;\n waitForDefaultAssetsTimeoutInSeconds?: number;\n};\nexport type UpdateSceneSettings_Physics = {\n /** The engine that is powering the physics of the scene. */\n engine?: StrictUnion<'physx' | 'xde'>;\n /** The epsilon used to mark whether the transform of an entity has changed and so whether to notify the physics engine. */\n epsilon?: number;\n /** Global gravity applied throughout the scene. */\n gravity?: Array<number>;\n /** The bigger LMD Max is, the greater the area that is searched for future contacts, and so the greater time taken per iteration. Note that XDE resolves contacts pre-collision, not once collision has taken place, like the majority of physics engines. Displacement of any object per iteration should not exceed LMD Max. */\n lmdMax?: number;\n /** A frame-rate-independent interval that dictates when physics calculations are performed. */\n timestepInS?: number;\n /** The approximate size of objects in the simulation. This is used to estimate certain length-related tolerances. */\n toleranceLength?: number;\n /** The typical magnitude of velocities of objects in simulation. This is used to estimate whether a contact should be treated as bouncing or resting based on its impact velocity, and a kinetic energy threshold below which the simulation may put objects to sleep. For normal physical environments, a good choice is the approximate speed of an object falling under gravity for one second. */\n toleranceSpeed?: number;\n};\nexport type UpdateSceneSettings_Renderer = {\n /** Enable occlusion culling. */\n cpuOcclusionCulling?: boolean;\n /** Toggle frustum culling */\n enableFrustumCulling?: boolean;\n /** Enables geometry culling. */\n enableGeometryCulling?: boolean;\n /** Enables ray tracing. */\n enableRayTracing?: boolean;\n /** Toggle texture streaming */\n enableTextureStreaming?: boolean;\n /** Time to wait for the GPU in milliseconds. */\n endFrameTimeoutInMilliseconds?: number;\n};\nexport type UpdateSceneSettings_Simulation = {\n /** Scripts which the client will be automatically attached */\n clientScripts?: Array<UpdateSceneSettings_Object>;\n /** Camera used when starting the simulation */\n mainCamera?: UpdateSceneSettings_MainCamera;\n};\nexport type UpdateSceneSettings_Object = {\n linkage: Array<string>;\n /** A unique identifier for an entity. It should be unique across all entities in the scene, but it is not guaranteed to be unique across all scenes. */\n originalEUID: string;\n};\nexport type UpdateSceneSettings_MainCamera = {\n linkage: Array<string>;\n /** A unique identifier for an entity. It should be unique across all entities in the scene, but it is not guaranteed to be unique across all scenes. */\n originalEUID: string;\n};\nexport type UpdateSceneSettings_Sound = {\n /** Enable 3dverse sound. */\n enabled?: boolean;\n};\nexport type UpdateSceneSettings_Streaming = {\n /** Scenes that enter this radius around the camera get loaded. */\n streamingLoadingRadius?: number;\n /** Scenes that exit this radius around the camera get unloaded. */\n streamingUnloadingRadius?: number;\n};\nexport type UpdateSceneSettings_Voxel = {\n /** Maximum number of color samples used to compute the color LUT. */\n maxNumberAlbedoValues?: number;\n};\n/**\n * Update the settings of a scene.\n */\nexport function updateSceneSettings(\n {\n scene_id,\n body,\n }: {\n scene_id: string;\n body: UpdateSceneSettings_SceneSettings;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/scenes/' + scene_id + '/settings',\n data: body,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetRunningSessions_Filter = {\n /** Filter sessions created by the specified user. Only available while using an api key. */\n user_id?: string;\n /** Filter sessions running a specified scene. */\n scene_id?: string;\n /** Filter sessions running scenes located in the specified folder. */\n folder_id?: string;\n};\nexport type GetRunningSessions_Session = {\n /** Session unique identifier */\n session_id: string;\n /** The main scene identifier of the session */\n scene_id: string;\n /** The main scene name of the session */\n scene_name: string;\n /** The folder identifier of the scene */\n folder_id: string;\n /** Maximum number of users allowed in this session at the same time */\n max_users: number;\n /** @deprecated User identifier of the creator of the session (deprecated, use `created_by` instead) */\n creator_user_id: string;\n /** User identifier of the creator of the session */\n created_by?: GetRunningSessions_CreatedBy;\n /** Session creation date */\n created_at: string;\n /** Country code of the rendering server location */\n country_code: string;\n /** Continent code of the rendering server location */\n continent_code: string;\n /** Whether the session is transient or not */\n is_transient_session: boolean;\n /** Current clients in session */\n clients: Array<GetRunningSessions_Client_UserInfo>;\n};\nexport type GetRunningSessions_CreatedBy = {\n /** User unique identifier */\n user_id?: string;\n username?: string;\n required?: any;\n};\nexport type GetRunningSessions_Client_UserInfo = {\n /** Client unique identifier */\n client_id?: string;\n client_type?: 'user' | 'guest';\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * Lists all running rendering sessions.\n */\nexport function getRunningSessions(\n {\n filters,\n }: {\n filters?: GetRunningSessions_Filter;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<Array<GetRunningSessions_Session>> {\n return axiosInstance({\n method: 'get',\n url: '/sessions',\n params: {\n filters: filters,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type CreateSession_Object = {\n /** Session unique identifier */\n session_id: string;\n};\n/**\n * Create a new rendering session.\n */\nexport function createSession(\n {\n scene_id,\n renderer_version,\n is_transient = false,\n options,\n }: {\n /** Asset unique identifier */\n scene_id: string;\n /** The version of the renderer to use. */\n renderer_version?: string;\n /** Whether the session should be created as transient or not. */\n is_transient?: boolean;\n /** Additional options for the session. For internal use. */\n options?: object;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<CreateSession_Object> {\n return axiosInstance({\n method: 'post',\n url: '/sessions',\n data: {\n scene_id: scene_id,\n renderer_version: renderer_version,\n is_transient: is_transient,\n options: options,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetSession_Session = {\n /** Session unique identifier */\n session_id: string;\n /** The main scene identifier of the session */\n scene_id: string;\n /** The main scene name of the session */\n scene_name: string;\n /** The folder identifier of the scene */\n folder_id: string;\n /** Maximum number of users allowed in this session at the same time */\n max_users: number;\n /** @deprecated User identifier of the creator of the session (deprecated, use `created_by` instead) */\n creator_user_id: string;\n /** User identifier of the creator of the session */\n created_by?: GetSession_CreatedBy;\n /** Session creation date */\n created_at: string;\n /** Country code of the rendering server location */\n country_code: string;\n /** Continent code of the rendering server location */\n continent_code: string;\n /** Whether the session is transient or not */\n is_transient_session: boolean;\n /** Current clients in session */\n clients: Array<GetSession_Client_UserInfo>;\n};\nexport type GetSession_CreatedBy = {\n /** User unique identifier */\n user_id?: string;\n username?: string;\n required?: any;\n};\nexport type GetSession_Client_UserInfo = {\n /** Client unique identifier */\n client_id?: string;\n client_type?: 'user' | 'guest';\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * Retrieves details about the target session.\n */\nexport function getSession(\n {\n session_id,\n }: {\n session_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetSession_Session> {\n return axiosInstance({\n method: 'get',\n url: '/sessions/' + session_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Forcefully terminates a session.\n */\nexport function killSession(\n {\n session_id,\n }: {\n session_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/sessions/' + session_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type JoinSession_SessionToken = {\n /** The token used to join the requested session */\n session_token: string;\n /** The endpoint to connect to */\n endpoint_info: JoinSession_Object;\n};\nexport type JoinSession_Object = {\n ip: string;\n port: number;\n ssl_port: number;\n};\n/**\n * Creates a new client for the user and returns a token to join the session.\n */\nexport function joinSession(\n {\n session_id,\n is_headless = false,\n }: {\n session_id: string;\n /** Declare that the client is headless and will not receive any frames. Useful for clients running on servers or in the background.\n */\n is_headless?: boolean;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<JoinSession_SessionToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/' + session_id + '/clients',\n data: {\n is_headless: is_headless,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GetClient_Client_UserInfo = {\n /** Client unique identifier */\n client_id?: string;\n client_type?: 'user' | 'guest';\n /** User unique identifier */\n user_id: string;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * Retrieves details about the target client.\n */\nexport function getClient(\n {\n session_id,\n client_id,\n }: {\n session_id: string;\n client_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GetClient_Client_UserInfo> {\n return axiosInstance({\n method: 'get',\n url: '/sessions/' + session_id + '/clients/' + client_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Kick a client from a running session.\n */\nexport function kickClientFromSession(\n {\n session_id,\n client_id,\n }: {\n session_id: string;\n client_id: string;\n },\n headers?: AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/sessions/' + session_id + '/clients/' + client_id + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type JoinSessionAsGuest_SessionToken = {\n /** The token used to join the requested session */\n session_token: string;\n /** The endpoint to connect to */\n endpoint_info: JoinSessionAsGuest_Object;\n};\nexport type JoinSessionAsGuest_Object = {\n ip: string;\n port: number;\n ssl_port: number;\n};\n/**\n * Join a session as guest.\n */\nexport function joinSessionAsGuest(headers?: AxiosRequestHeaders): AxiosPromise<JoinSessionAsGuest_SessionToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/guests',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\nexport type GenerateGuestToken_GuestToken = {\n /** The token used to join the requested session as a guest */\n guest_token?: string;\n};\n/**\n * Generates a token to join the session as a guest.\n */\nexport function generateGuestToken(\n {\n session_id,\n }: {\n session_id: string;\n },\n headers?: AxiosRequestHeaders,\n): AxiosPromise<GenerateGuestToken_GuestToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/' + session_id + '/guests',\n headers: headers,\n });\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["//--------------------------------------------------------------------------\nimport { AxiosError } from 'axios';\nimport axiosRetry, { isNetworkError, isIdempotentRequestError } from 'axios-retry';\n\n//--------------------------------------------------------------------------\nimport { axiosInstance } from './_prebuild/wrapper';\n\n//------------------------------------------------------------------------------\nexport function setApiKey(apiKey: string) {\n axiosInstance.defaults.headers.common['api_key'] = apiKey;\n delete axiosInstance.defaults.headers.common['user_token'];\n}\n\n//------------------------------------------------------------------------------\nexport function setUserToken(userToken: string) {\n axiosInstance.defaults.headers.common['user_token'] = userToken;\n delete axiosInstance.defaults.headers.common['api_key'];\n}\n\n//------------------------------------------------------------------------------\nabstract class ServiceError extends Error {\n errorCode: number;\n httpCode: number;\n message: string;\n\n //--------------------------------------------------------------------------\n constructor(errorCode: number, httpCode: number, message: string) {\n super();\n this.errorCode = errorCode;\n this.httpCode = httpCode;\n this.message = message;\n }\n}\n\n//------------------------------------------------------------------------------\nexport class ApiError extends ServiceError {\n serviceError: unknown;\n\n constructor(errorCode: number, status: number, message: string, serviceError: unknown) {\n super(errorCode, status, message);\n this.serviceError = serviceError;\n }\n}\n\n//------------------------------------------------------------------------------\nexport class UnexpectedServiceError extends ServiceError {\n unexpectedError: unknown;\n\n constructor(status: number, unexpectedError: unknown) {\n super(0, status, 'Unexpected service error error');\n this.unexpectedError = unexpectedError;\n }\n}\n\n//------------------------------------------------------------------------------\nfunction installInterceptors() {\n const CLIENT_ERROR = 400 as const;\n const INTERNAL_SERVER_ERROR = 500 as const;\n\n axiosRetry(axiosInstance, {\n retries: 5,\n retryDelay: axiosRetry.exponentialDelay,\n retryCondition: shouldRetryRequest,\n });\n\n axiosInstance.interceptors.response.use(\n successFulResponse => {\n if (successFulResponse.config.responseType === 'stream') {\n successFulResponse.data.pause();\n }\n\n return successFulResponse;\n },\n error => {\n if (!error.response) {\n return Promise.reject(error);\n }\n\n const axiosError = error as AxiosError;\n const status = axiosError.response?.status || INTERNAL_SERVER_ERROR;\n const errorData = axiosError.response?.data;\n\n if (\n !errorData &&\n axiosError.request.method === 'HEAD' &&\n status >= CLIENT_ERROR &&\n status < INTERNAL_SERVER_ERROR\n ) {\n return axiosError.response;\n }\n\n if (!errorData || typeof errorData !== 'object') {\n return Promise.reject(new UnexpectedServiceError(status, errorData));\n }\n\n const serviceError = errorData as ServiceError;\n return Promise.reject(new ApiError(serviceError.errorCode, status, serviceError.message, serviceError));\n },\n );\n}\n\n//------------------------------------------------------------------------------\nfunction shouldRetryRequest(error: AxiosError) {\n const status = error.response?.status;\n\n switch (status) {\n case 403:\n case 404:\n return true;\n\n default:\n return isNetworkError(error) || isIdempotentRequestError(error);\n }\n}\n\n//------------------------------------------------------------------------------\ninstallInterceptors();\n\n//------------------------------------------------------------------------------\nexport * from './_prebuild/wrapper';\n", "/**\n * Asset API v1.0\n * ## Getting Started\n *\n * This is the reference for the REST API endpoints.\n *\n * ### NPM package\n *\n * We provide a TypeScript wrapper library to make typesafe API requests and get typed responses: [https://www.npmjs.com/package/@3dverse/api](https://www.npmjs.com/package/@3dverse/api).\n *\n * ### Authentication\n *\n * To authenticate your API calls, you'll need to generate an API key via the [3dverse Console](https://console.3dverse.com) and send an `api_key` header with your API requests.\n * Alternatively, you can create a user, generate a token for the user and authenticate with a `user_token`.\n *\n *\n * ---\n *\n *\n * Contact: 3dverse Support (support@3dverse.com)\n *\n * DO NOT EDIT THIS FILE MANUALLY.\n * This file has been generated automatically from its OpenAPI spec file.\n * See: https://gitlab.com/3dverse/platform/libs/js/openapi-client-library-generator\n */\n\n//--------------------------------------------------------------------------\nimport axios, {\n AxiosHeaders,\n AxiosPromise,\n AxiosRequestHeaders,\n AxiosError,\n AxiosProgressEvent,\n RawAxiosRequestHeaders,\n} from 'axios';\n\n//--------------------------------------------------------------------------\ntype UnionKeys<T> = T extends T ? keyof T : never;\ntype StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;\ntype StrictUnion<T> = StrictUnionHelper<T, T>;\n\n//--------------------------------------------------------------------------\n// An error a service answered with, the base of the errors the spec declares: see errorOf. Holding its own errorCode,\n// httpCode and message, it is a service error to the services, which forward it as such.\nexport class ServiceErrorResponse extends Error {\n errorCode: number;\n httpCode: number;\n serviceError: unknown;\n\n constructor(errorCode: number, httpCode: number, message: string, serviceError: unknown) {\n super(message);\n // Enumerable, unlike the message of an Error, so that the error keeps it in JSON.\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true,\n });\n this.errorCode = errorCode;\n this.httpCode = httpCode;\n this.serviceError = serviceError;\n }\n}\n\n//--------------------------------------------------------------------------\n// An optional JSON body: none when the caller gives none of its properties.\nfunction optionalBody<T extends object>(body: T): T | undefined {\n return Object.values(body).some(value => value !== undefined) ? body : undefined;\n}\n\n//--------------------------------------------------------------------------\n// A multipart body: each file under its name, the files of an array under the same one, and each field as a string, or\n// as its JSON when it is no string. What is undefined is left out.\nfunction multipartBody(fields: Record<string, unknown>, files: Record<string, Blob | Blob[] | undefined>): FormData {\n const form = new FormData();\n for (const [name, value] of Object.entries(fields)) {\n if (value !== undefined) {\n form.append(name, typeof value === 'string' ? value : JSON.stringify(value));\n }\n }\n for (const [name, value] of Object.entries(files)) {\n for (const file of value === undefined ? [] : Array.isArray(value) ? value : [value]) {\n form.append(name, file);\n }\n }\n return form;\n}\n\n//--------------------------------------------------------------------------\n// The headers a caller gives, a plain object or an AxiosHeaders, as a plain object to add those of the request to.\nfunction plainHeaders(headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): RawAxiosRequestHeaders {\n return headers instanceof AxiosHeaders ? headers.toJSON() : { ...headers };\n}\n\n//--------------------------------------------------------------------------\nexport const axiosInstance = axios.create({\n baseURL: 'https://api.3dverse.com/app/v1',\n paramsSerializer: { indexes: null },\n});\n\n//------------------------------------------------------------------------------\nexport function setBaseURL(baseURL: string) {\n axiosInstance.defaults.baseURL = baseURL;\n}\n\n//--------------------------------------------------------------------------\n/** User unique identifier */\nexport type UserId = string;\nexport type UserInfo = {\n user_id: UserId;\n /** Used only for debug purposes */\n username: string;\n};\n/**\n * This object represents a user in 3dverse. This object contains group and task information about the user.\n * The user object lets you create or update user tokens that identify the user on the 3dverse platform.\n */\nexport type User = {\n user_id: UserId;\n /** Used only for debug purposes */\n username: string;\n /** The user registration date */\n registered_at: string;\n};\n/** The user token object only supplies a user token for validation when connecting to a session. */\nexport type Token = {\n user_token: string;\n expires_in: number;\n expires_on: number;\n};\n/** Group unique identifier */\nexport type GroupId = string;\nexport type GroupInfo = {\n group_id: GroupId;\n name: string;\n};\nexport type GroupAccess = {\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\nexport type GroupMember = {\n user_id: UserId;\n /** Date user joined group */\n joined_at?: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\n/**\n * This object lets you create and modify a group of users in your application.\n * You can set or remove access to other resources within 3dverse through the `Group` object.\n */\nexport type Group = {\n group_id: GroupId;\n name: string;\n description?: string;\n created_at: string;\n members: Array<GroupMember>;\n};\n/** Upload task unique identifier */\nexport type UploadTaskId = string;\n/** Folder unique identifier */\nexport type FolderId = string;\nexport type ConversionProgress = number;\n/** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\nexport type AssetId = string;\n/** Source file unique identifier */\nexport type SourceFileId = string;\nexport type ConversionPipeline =\n 'auto-detect' | 'volume' | 'scene' | 'texture' | 'animation' | 'point-cloud' | 'package';\nexport type ConversionTask = {\n asset_id: AssetId;\n source_file_id: SourceFileId;\n /** The name of the source file */\n source_file_name: string;\n conversion_pipeline: ConversionPipeline;\n progress: ConversionProgress;\n status: ('pending' | 'converting' | 'error' | 'success') & string;\n};\n/**\n * The `upload task` object describes one upload process of source files and the status of the conversions.\n * This object can contain conversion tasks, if applicable.\n */\nexport type UploadTask = {\n upload_task_id: UploadTaskId;\n folder_id: FolderId;\n /** Date of the upload */\n uploaded_at: string;\n /** User who uploaded the file */\n uploaded_by: UserInfo;\n /** The global progress of the conversion tasks */\n progress: ConversionProgress;\n /**\n * The download progress of the source file if the Upload Task specified a URL for the source file.\n * This is only available if the source file is being downloaded.\n */\n download_progress?: ConversionProgress;\n status: ('waiting' | 'downloading' | 'pending' | 'converting' | 'error' | 'success' | 'rejected') & string;\n conversion_tasks: Array<ConversionTask>;\n};\n/**\n * The folder object contains items that you import into 3dverse.\n * These items can be either a source file or an asset.\n */\nexport type Folder = {\n folder_id: FolderId;\n parent_folder_id?: FolderId;\n /** Folder name */\n name: string;\n created_at?: string;\n created_by?: User;\n subfolders?: Array<Folder>;\n source_file_count?: number;\n asset_count?: number;\n};\nexport type FolderList = Array<Folder>;\nexport type FolderAccess = {\n access: 'read' | 'write' | 'manage';\n};\n/**\n * The `source file` object represents the source file imported into 3dverse.\n * This object contains the original uploaded file, along with the source file metadata.\n * You can also retrieve a list of assets generated from the file.\n */\nexport type SourceFile = {\n source_file_id: SourceFileId;\n /** The name of the source file when uploaded */\n source_file_original_name: string;\n /** Source file display name */\n name: string;\n /** Size in bytes */\n size: number;\n};\nexport type AssetListFilters = {\n /** Look for assets containing the given name (case-insensitive) */\n asset_name?: string;\n /** @deprecated Deprecated. Use asset_types instead. Look for assets of the given type */\n asset_type?: (\n | Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material'\n >\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material'\n ) &\n any;\n /** Look for assets of the given types */\n asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** Look for assets associated with or without libraries */\n library?: Array<string> | string | 'exclude';\n /**\n * The assets shared at these scopes, an asset's widest: `environment`, the folder's assets shared no further;\n * `platform`, those shared with the platform, the folder's and those of any other environment. The folder's\n * assets alone when absent.\n */\n sharing_scopes?: Array<'environment' | 'platform'>;\n /** Look for assets associated with or without source files */\n source_file?: Array<string> | string | 'exclude';\n};\n/**\n * JSON serialized object that follow the same response content format\n * but with a number describing the total count of that specific asset\n * type plus an extra total key which sums up all asset types combined\n */\nexport type AssetsCount = {\n /** Total number of assets in target folder. */\n total: number;\n /** Total number of assets in target folder of specific type. */\n [asset_type: string]: number;\n};\nexport type AssetList = {\n action_maps?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n animation_graphs?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n animation_sequences?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n animation_sets?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n animations?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n collision_geometries?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n cubemaps?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n event_maps?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n materials?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n meshes?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n modules?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n point_clouds?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n render_graphs?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n scenes?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n scripts?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n shader_contexts?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n shaders?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n skeletons?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n sounds?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n textures?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n textures_3d?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n volume_materials?: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n }>;\n};\nexport type AssetTypeCreatable =\n | 'action_map'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'module'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'volume_material';\n/** Asset description */\nexport type BasicAssetDescription = {\n uuid?: AssetId;\n name: string;\n};\nexport type AssetType =\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\nexport type AssetItem = {\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n};\n/** Duplication request unique identifier */\nexport type DuplicationRequestId = string;\n/** A material implementing a shader */\nexport type Material = {\n /** Data object following the descriptor of the attached shader */\n dataJson: {\n [_additionalproperties_: string]: any;\n };\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\n/** A cubemap is a set of 6 textures forming a cube */\nexport type Cubemap = {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n};\n/** Session unique identifier */\nexport type SessionId = string;\n/** Client unique identifier */\nexport type ClientId = string;\nexport type Client = {\n client_id?: ClientId;\n client_type?: 'user' | 'guest';\n user_id: UserId;\n /** Used only for debug purposes */\n username: string;\n};\n/** A rendering session. */\nexport type Session = {\n session_id: SessionId;\n /** The main scene identifier of the session */\n scene_id: AssetId;\n /** The main scene name of the session */\n scene_name: string;\n /** The folder identifier of the scene */\n folder_id: FolderId;\n /** Maximum number of users allowed in this session at the same time */\n max_users: number;\n /** @deprecated User identifier of the creator of the session (deprecated, use `created_by` instead) */\n creator_user_id: UserId;\n /** User identifier of the creator of the session */\n created_by?: {\n user_id?: UserId;\n username?: string;\n required?: any;\n };\n /** Session creation date */\n created_at: string;\n /** Country code of the rendering server location */\n country_code: string;\n /** Continent code of the rendering server location */\n continent_code: string;\n /** Whether the session is transient or not */\n is_transient_session: boolean;\n /** Current clients in session */\n clients: Array<Client>;\n};\n/**\n * - `draft`: the plan is being reviewed, and expires unless confirmed.\n * - `running`: confirmed, and leased to a content service filling the copies.\n * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,\n * with `grabDuplicationRequest`.\n * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.\n * - `failed`: given up, with its error. Its copies are deleted.\n */\nexport type DuplicationRequestState = 'draft' | 'queued' | 'running' | 'completed' | 'failed';\nexport type DuplicationRequestSummary = {\n /** How many copies the request makes, the excluded ones left out */\n asset_count: number;\n attempts: number;\n created_at: string;\n /** Duplication request unique identifier */\n duplication_request_id: string;\n error?: string;\n expires_at?: string;\n lease_expires_at?: string;\n /** How many of them have a payload to copy */\n payload_count: number;\n /** The size of the payloads to copy, in bytes */\n payload_size: number;\n roots: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n duplicated_from: string;\n name: string;\n }>;\n /**\n * - `draft`: the plan is being reviewed, and expires unless confirmed.\n * - `running`: confirmed, and leased to a content service filling the copies.\n * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,\n * with `grabDuplicationRequest`.\n * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.\n * - `failed`: given up, with its error. Its copies are deleted.\n */\n state: 'draft' | 'queued' | 'running' | 'completed' | 'failed';\n /** User unique identifier */\n user_id: string;\n};\n/** How deep the dependencies of the assets duplicated are duplicated with them. */\nexport type DuplicationDepth = 'none' | 'all' | number;\n/** The folder the copies of a type go to, unless set for one of them */\nexport type DuplicationFolderByType = {\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n /** Folder unique identifier */\n folder_id: string;\n};\n/**\n * A plan duplicating assets: the copies, planned in a draft, then created in the graph once confirmed, in no folder\n * until the request completes, each `DUPLICATED_FROM` its source. The content service fills them, from their sources,\n * then completes the request.\n */\nexport type DuplicationRequest = {\n asset_types?: Array<\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material'\n >;\n /** The copies, sorted by id. A completed or failed request has none left. */\n assets: Array<{\n /** The id of the copy */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n /** What it depends on, copies and sources alike */\n dependencies: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n count: number;\n }>;\n /** A root's folder for the copies of the dependencies it pulls in */\n dependencies_folder_id?: string;\n /** The id of its source */\n duplicated_from: string;\n excluded: boolean;\n /** The folder it goes to, once the request completes */\n folder_id: string;\n /** Whether its folder is its own, rather than resolved */\n folder_set: boolean;\n has_thumbnail: boolean;\n name: string;\n /** The copy that pulled it in, absent for a root */\n parent_id?: string;\n /** The size of its source's payload, in bytes */\n payload_size?: number;\n /** Whether it was requested, rather than pulled in as a dependency */\n root: boolean;\n /** The storage of its source's payload, absent when it has none */\n storage_id?: number;\n }>;\n /** How many times the request was leased */\n attempts: number;\n created_at: string;\n /** How deep the dependencies of the assets duplicated are duplicated with them. */\n depth: 'none' | 'all' | number;\n /** Duplication request unique identifier */\n duplication_request_id: string;\n /** Why a failed request failed */\n error?: string;\n /** When a draft, a completed request or a failed one is deleted */\n expires_at?: string;\n folders_by_type: Array<{\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n /** Folder unique identifier */\n folder_id: string;\n }>;\n /** When the lease of the content service filling the copies ends */\n lease_expires_at?: string;\n /** Only answered to the caller the request was just leased to */\n lease_token?: string;\n /**\n * - `draft`: the plan is being reviewed, and expires unless confirmed.\n * - `running`: confirmed, and leased to a content service filling the copies.\n * - `queued`: running, but its lease expired, its filling having crashed or stalled: for a content service to grab,\n * with `grabDuplicationRequest`.\n * - `completed`: its copies filled, and moved into their folders. Kept for a few minutes, for a caller following it.\n * - `failed`: given up, with its error. Its copies are deleted.\n */\n state: 'draft' | 'queued' | 'running' | 'completed' | 'failed';\n /** The user duplicating the assets */\n user_id: string;\n};\nexport type AssetDuplicationResult = {\n /** List of created assets */\n created_assets: Array<{\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n /** Folder unique identifier */\n folder_id: string;\n }>;\n /** The duplication request filling the copies in the background, until platform-management no longer has it */\n duplication_request_id?: string;\n /** Map of source asset ids to copied asset ids */\n source_to_copy_asset_id_map: {\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n [source_asset_id: string]: string;\n };\n};\n/** Source file formats accepted for conversion, grouped by conversion type. */\nexport type SupportedSourceFileFormats = {\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n cubemap: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n point_cloud: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n scene: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n sound: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n texture: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n /** Files accepted by one conversion type. Aggregates are the union over its converters. */\n volume: {\n /** Extra file extensions to bundle with a given primary extension. */\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n /** Per sub-pipeline breakdown, keyed by converter name. */\n converters: {\n /** One sub-pipeline of a conversion type. */\n [_additionalproperties_: string]: {\n associated_file_extensions?: {\n [_additionalproperties_: string]: Array<string>;\n };\n file_extensions: Array<string>;\n /** JSON Schema of the converter's options, or null if not published yet. */\n options_schema: {\n [_additionalproperties_: string]: any;\n };\n };\n };\n file_extensions: Array<string>;\n };\n};\n/** Conversion task unique identifier */\nexport type ConversionTaskId = string;\n/** Data Pipeline unique identifier. */\nexport type DataPipelineId = string;\n/** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\nexport type PipelineId = string;\n/** Instance of a Data Pipeline. */\nexport type Pipeline = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Reason why the pipeline failed or was rejected, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the pipeline was completed, either successfully or with errors. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n jobs: Array<{\n /** Reason why the job failed, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the job was completed, either successfully or with errors. */\n finished_at?: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the job. */\n name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n progress: number;\n /** Date and time when the job was queued for processing. */\n queued_at?: string;\n /** Date and time when the job was started. */\n started_at?: string;\n /** Possible status of a job. */\n status: 'created' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';\n steps: Array<{\n /** Reason why the step failed, if applicable. */\n error?: string;\n /** 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) \u2014 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. */\n error_code?:\n | 'quota_exceeded'\n | 'unsupported_file_format'\n | 'nothing_to_process'\n | 'enqueue_failed'\n | 'download_failed'\n | 'extraction_failed'\n | 'processing_failed';\n /** Date and time when the step was completed, either successfully or with errors. */\n finished_at?: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the step. */\n name: string;\n progress: number;\n /** Date and time when the step was started. */\n started_at?: string;\n /** Possible status of a step. */\n status: 'created' | 'skipped' | 'queued' | 'running' | 'timed-out' | 'failed' | 'succeeded';\n /** Data Pipeline job step unique identifier. */\n step_id: string;\n }>;\n }>;\n /** Name of the pipeline. */\n name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n progress: number;\n /** Date and time when the pipeline was accepted by the system and queued for processing. */\n queued_at?: string;\n /** Possible status of a pipeline. */\n status:\n | 'created'\n | 'downloading'\n | 'extracting'\n | 'pending-approval'\n | 'queued'\n | 'running'\n | 'passed-with-errors'\n | 'failed'\n | 'rejected'\n | 'succeeded';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\nexport type AssetContainer =\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_3d'\n | 'volume_materials';\n/** An error the gateway raised, or one of the services it calls answered */\nexport type ServiceError = {\n /** The error's code, unique in the service, e.g. 1010 for UploadTaskNotFound */\n errorCode: number;\n /** The response's status code */\n httpCode: number;\n /** What went wrong, for a human */\n message: string;\n /** Details specific to each error, e.g. the ids it concerns, or the reason of a refusal */\n [_additionalproperties_: string]: any;\n};\n/** An asset as platform-management holds it, where it is included, and how it was edited */\nexport type AssetDetails = {\n asset_container:\n | 'action_maps'\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'collision_geometries'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'meshes'\n | 'modules'\n | 'point_clouds'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'shader_contexts'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_3d'\n | 'volume_materials';\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n asset_type:\n | 'action_map'\n | 'animation'\n | 'animation_graph'\n | 'animation_sequence'\n | 'animation_set'\n | 'collision_geometry'\n | 'cubemap'\n | 'event_map'\n | 'material'\n | 'mesh'\n | 'module'\n | 'point_cloud'\n | 'render_graph'\n | 'scene'\n | 'script'\n | 'shader'\n | 'shader_context'\n | 'skeleton'\n | 'sound'\n | 'texture'\n | 'texture_3d'\n | 'volume_material';\n contributors?: Array<{\n contribution_count: number;\n /** A user of an environment: a registered user, an account's user, or the environment's tenant. */\n user: {\n /**\n * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own\n * operations answer UserNotFound.\n */\n deleted?: true;\n /** The user registration date */\n registered_at: string;\n /** User unique identifier */\n user_id: string;\n /** The username that will be displayed in monitoring tools. */\n username: string;\n };\n }>;\n /** When the asset was created, absent when unknown */\n created_at?: string;\n /** The user who created the asset, absent when unknown */\n created_by?: {\n /**\n * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own\n * operations answer UserNotFound.\n */\n deleted?: true;\n /** User unique identifier */\n user_id: string;\n /** The username of the user */\n username: string;\n };\n /** Unique identifier of an environment */\n environment_id: string;\n environment_slug: string;\n /** Folder unique identifier */\n folder_id: string;\n /**\n * The path to the asset's folder from its root folder, the root first, the folder itself left out: empty for an\n * asset in a root folder.\n */\n folder_path: Array<{\n /** Folder unique identifier */\n folder_id: string;\n /** Folder name */\n name: string;\n }>;\n /** Whether the content service stores a thumbnail of the asset */\n has_thumbnail: boolean;\n last_edited_at?: string;\n /** A user of an environment: a registered user, an account's user, or the environment's tenant. */\n last_edited_by?: {\n /**\n * Set for a deleted user, kept as the creator of what it created, under a placeholder username. Its own\n * operations answer UserNotFound.\n */\n deleted?: true;\n /** The user registration date */\n registered_at: string;\n /** User unique identifier */\n user_id: string;\n /** The username that will be displayed in monitoring tools. */\n username: string;\n };\n /** The library exporting the asset, if any */\n library_id?: string;\n name: string;\n /** Unique identifier of an organization */\n organization_id: string;\n organization_slug: string;\n /** Unique identifier of a project */\n project_id: string;\n project_slug: string;\n /** The source file the asset was imported from, if any */\n source_file_id?: string;\n};\nexport type AssetDescription =\n | {\n actions: {\n [action_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** A track that represents events triggered by the animation */\n animationEventTrack: {\n /** Animation event names */\n eventNames: Array<string>;\n /** The animation events sorted on a timeline */\n eventTimeline: Array<{\n /** Index of event in the timeline */\n eventIndex: number;\n /** Whether the event should trigger globally or not */\n triggerGlobally: boolean;\n /** Normalized animation time at which the event is triggered */\n triggerTime: number;\n }>;\n };\n /** Duration of the animation in ms */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** Payload size of all channels */\n payloadSize: number;\n /** A reference to the skeleton used by this animation */\n skeletonRef?: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Inputs used by the graph */\n inputDescriptor: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Animation state machines */\n stateMachines: Array<{\n /** States of the state machine */\n states?: Array<{\n /** The name of the state */\n name?: string;\n /** The nodes of this state's animation graph */\n nodes?: Array<{\n /** Indices of input nodes of the parent animation graph */\n inputs?: Array<number>;\n /** Type of the node */\n nodeType?: StrictUnion<0 | 1 | 2 | 3 | 100 | 101 | 200 | 201>;\n /** Settings associated to this node */\n settings?: StrictUnion<\n | {\n /** The animation to play */\n animationKey: number;\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 1D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: number;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 2D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: Array<number>;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n /** Vertical axis */\n verticalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n }\n | {\n /** Bone mask keys. Used to find the corresponding bone mask in the animation set */\n boneMasks: Array<number>;\n /** Blend weights */\n weights: Array<number | string>;\n }\n | {\n /** Probabilities of each input animation to be selected */\n probabilities: Array<number>;\n }\n | {\n /** Index of the state machine to run */\n stateMachineIndex: number;\n }\n | {\n /** End bone. This bone will try to reach the target. */\n endBone: number | string;\n /** Mid bone. Must be ancestor of end bone. */\n midBone: number | string;\n /** The pole vector which defines where the direction the middle bone should point to, allowing to control IK chain orientation. In model space of the skeleton. */\n poleVector: Array<number> | string;\n /** Soften ratio, allowing the chain to gradually fall behind the target position. This prevents the bone chain from snapping into the final position, softening the final degrees before the bone chain becomes flat */\n soften: number | string;\n /** Start bone. Must be ancestor of mid bone. */\n startBone: number | string;\n /** The target which the endBone will try to reach. In world space */\n target: Array<number> | string;\n /** Twist angle rotates IK chain around the vector defined by start-to-target vector */\n twistAngle: number | string;\n /** Weight given to the whole IK process, allowing blending in and out */\n weight: number | string;\n }\n | {\n /** This is the bone which will aim at the target */\n aimingBone: number | string;\n /** Weight given to IK for each bone of the chain (except for the last bone which is 1). This directly affect correction spreading */\n boneWeight: number | string;\n /** Number of bones (from the predefined hierarchy) that are corrected by IK */\n chainLength: number | string;\n /** Weight given to the whole aim process, allowing blending in and out */\n chainWeight: number | string;\n /** Bone space forward vector. Default is z axis. */\n forward: Array<number> | string;\n /** Offset position from the aiming bone in local-space, that will aim at target */\n offset: Array<number> | string;\n /** The target that the forward vector will be aimed towards. In world space */\n target: Array<number> | string;\n /** Bone space up vector. Used to keep the bone oriented in the same direction as the pole vector. Default is y axis. */\n up: Array<number> | string;\n }\n >;\n }>;\n /** The transitions coming from the current state */\n transitionIndices?: Array<number>;\n }>;\n /** All transition between all states */\n transitions?: Array<{\n /** A variant of either exit time, data object entry or transition func index (depending on transition type) */\n condition?: number | string | number;\n /** The duration of the transition for blending purposes */\n durationInMs?: number;\n /** The index of the state to transition to */\n nextStateIndex?: number;\n /** The transition type. */\n type?: StrictUnion<0 | 1 | 2 | 3>;\n }>;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Duration of the animation in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** The size in byte of the compiled animation sequence library */\n payloadSize?: number;\n /** The array of track UUIDs at play in this animation sequence */\n trackUUIDs: Array<string>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Parent animation graph */\n animationGraphUUID: string;\n /** The animation set */\n animationSet: Array<{\n /** Key of the animation in the animation graph */\n animationKey: number;\n /** The referenced animation for the specified key */\n animationRef: string;\n }>;\n /** The bone mask set */\n boneMaskSet?: Array<{\n /** The bone mask. An array of floats which corresponds to the weight per bone */\n boneMask: Array<number>;\n /** Key of the bone mask in the animation graph */\n boneMaskKey: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n geometryType: 0 | 1;\n /** Name of the asset */\n name: string;\n /** Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size */\n payloadSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** A map of events and their parameters descriptors */\n events: {\n /** Event name to parameters descriptor */\n [event_name: string]: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Data object following the descriptor of the attached shader */\n dataJson: {\n [_additionalproperties_: string]: any;\n };\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Morph targets which contain the deltas from the source submesh */\n morphTargets?: Array<{\n /** Batches of morph targets which share the same index channel */\n batches: Array<{\n /** Index of the index channel in the channels array */\n indexChannelIndex: number;\n /** Morph targets in the batch */\n morphTargets: {\n /** Morph target name to morph target description */\n [morph_target_name: string]: {\n /** Channels that make up the morph target. */\n channelIndices: Array<number>;\n };\n };\n }>;\n /** Channels that make up the morph targets */\n channels: Array<{\n /** Offset in bytes from the beginning of the associated buffer where the first element of the first attribute can be found */\n dataOffset: number;\n /** Size of this channel in bytes */\n dataSize: number;\n /** Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc. */\n elementCount: number;\n /** Size in bytes of a single element (1, 2, 4, 8) for integers, (4, 8) for floats */\n elementSize: number;\n /** Can be either (signed/unsigned) integer or float */\n elementType: (0 | 1 | 2) & number;\n /** Semantic of the attribute */\n semantic: 'index' | 'position' | 'normal' | 'uv' | 'color' | 'bone_id' | 'weight';\n }>;\n }>;\n /** Name of the asset */\n name: string;\n /** Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size */\n payloadSize: number;\n /** A mesh is composed of one or more submeshes */\n submeshes: Array<{\n /** The axis aligned bounding box that encompasses all the vertices of the submesh */\n aabb: {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n };\n /** Description of the channels in the payload blob */\n channels: Array<{\n /** Offset in bytes from the beginning of the associated buffer where the first element of the first attribute can be found */\n dataOffset: number;\n /** Size of this channel in bytes */\n dataSize: number;\n /** Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc. */\n elementCount: number;\n /** Size in bytes of a single element (1, 2, 4, 8) for integers, (4, 8) for floats */\n elementSize: number;\n /** Can be either (signed/unsigned) integer or float */\n elementType: (0 | 1 | 2) & number;\n /** Semantic of the attribute */\n semantic: 'index' | 'position' | 'normal' | 'uv' | 'color' | 'bone_id' | 'weight';\n }>;\n /** Total number of indices, a vertex can be referenced multiple times using its index. Note that this number has to be divisible by 3 as we only deal with triangles. Also, note that if this mesh doesn't use indices, the count will be 0. */\n indexCount: number;\n /** Index of morph targets associated with this submesh */\n morphTargetsIndex?: number;\n /** Total number of vertices. Can't exceed UINT32_MAX because indices are restricted to a uint32 */\n vertexCount: number;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n functions: {\n [function_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Axis aligned bounding box of the entire point cloud */\n bounds: {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n };\n /** Description of the per-point attributes (position, color, etc.) */\n channels: Array<{\n /** Offset in bytes from the beginning of the associated buffer where the first element of the first attribute can be found */\n dataOffset: number;\n /** Size of this channel in bytes */\n dataSize: number;\n /** Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc. */\n elementCount: number;\n /** Size in bytes of a single element (1, 2, 4, 8) for integers, (4, 8) for floats */\n elementSize: number;\n /** Can be either (signed/unsigned) integer or float */\n elementType: (0 | 1 | 2) & number;\n /** Semantic of the attribute */\n semantic: 'index' | 'position' | 'normal' | 'uv' | 'color' | 'bone_id' | 'weight';\n }>;\n /** Size in bytes of each layer. A layer is a collection of nodes serialized into a single file. */\n layerSizes: Array<number>;\n /** Name of the asset */\n name: string;\n /** Number of nodes in the acceleration structure. */\n nodeCount: number;\n /** Number of points in the original point cloud before any spatial partitioning or filtering was applied */\n originalPointCount: number;\n /** Page size in bytes used for sparse buffer alignment. Each node occupies a multiple of this size per attribute */\n pageSize: number;\n /** Total size in bytes of all attribute layer files. Sum of sizeof(payload.pointCloud.layer<N>.<uuid>) for all layers */\n payloadTotalSize: number;\n /** Size in bytes of one acceleration_structure_node record. */\n pcasSize: number;\n /** Size in bytes of the sparse buffer the runtime must reserve to bake this point cloud's node data (position/color channels) into: sum(align(nodeSizeInBytes, pageSize)) over every node. Larger than payloadTotalSize: leaves are packed tight on disk but each occupies a whole page once baked, same as internal (LOD) nodes already do. */\n sparseBufferSize: number;\n /** Total number of points across all nodes in the tree, including intermediary nodes. Greater than or equal to originalPointCount */\n totalPointCount: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** All blend states */\n blendStateDescriptions?: Array<{\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n }>;\n /** Descriptions of all buffers */\n bufferDescriptions?: Array<{\n /** 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 */\n elementCount?: number | Array<number>;\n /** Size in bytes of a single element in the buffer */\n elementSize?: number;\n /** Buffer name */\n name?: string;\n /** How this buffer is going to be used */\n usage?: number;\n }>;\n /** Conditions referenced by conditionIndex */\n conditions?: Array<string>;\n /** The index of the render target to blit into the canvas */\n defaultRenderTargetIndex?: number;\n /** The order in which to interpret the nodes */\n graphOrder: Array<Array<number>>;\n /** Input descriptor used to parse input data */\n inputDescriptor: Array<{\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'texture2d_ref'\n | 'stencil_op'\n | 'render_target_index'\n | 'buffer_reference'\n | 'string'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n /** Parameter type */\n type:\n | 'texture'\n | 'stencil_op'\n | 'render_target'\n | 'buffer'\n | 'string'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n }>;\n /** Name of the asset */\n name: string;\n /** Descriptions of all nodes */\n nodeDataDescriptions: Array<\n (\n | {\n type: 0;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 1;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 2;\n }\n | {\n /** @deprecated Const data type */\n constDataType?: (\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24\n ) &\n number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 3;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 4;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 5;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 6;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 7;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 8;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n type: 9;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n type: 10;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n /** A reference to a shader */\n shaderRef?: string;\n type: 11;\n }\n | {\n /** Clear value */\n clearValue?:\n | Array<number>\n | Array<number>\n | Array<number>\n | {\n depth: number;\n stencil: number;\n };\n /** Type of clearValue */\n clearValueType?: StrictUnion<0 | 1 | 2 | 3>;\n /** Render targets to clear */\n outputRenderTargetIndices?: Array<number>;\n type: 13;\n }\n | {\n /** Name of the buffer */\n bufferName?: string;\n /** Offset in the buffer */\n bufferOffset?: number;\n /** Size of the buffer; 0 for whole size */\n bufferSize?: number;\n /** Value to fill the buffer with */\n bufferValue?: number;\n type: 15;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 16;\n }\n | {\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 17;\n }\n | {\n /** Depth bias clamp */\n depthBiasClamp?: number;\n /** Depth bias constant factor */\n depthBiasConstantFactor?: number;\n /** Depth bias slope factor */\n depthBiasSlopeFactor?: number;\n type: 18;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 19;\n }\n ) & {\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** Node name */\n name?: string;\n /** Node type */\n type: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19) &\n number;\n }\n >;\n /** The index of the render target used for occlusion */\n occlusionInputDepthRenderTargetIndex?: number;\n /** Descriptions of all render passes */\n renderPassDescriptions: Array<{\n /** The attachments clear colors */\n attachmentClearColors?: Array<Array<number>>;\n /** The attachment descriptions */\n attachmentDescriptions?: Array<{\n /** Final layout */\n finalLayout?: number;\n /** Attachment description flags */\n flags?: number;\n /** Format */\n format?: number;\n /** Initial layout */\n initialLayout?: number;\n /** Load op */\n loadOp?: number;\n /** Sample count */\n samples?: number;\n /** Stencil load op */\n stencilLoadOp?: number;\n /** Stencil store op */\n stencilStoreOp?: number;\n /** Store op */\n storeOp?: number;\n }>;\n /** The indices of the render targets used as color attachments for this render pass */\n colorAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as color attachments for this render pass */\n colorAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** The index of the render target used as depth attachment for this render pass */\n depthAttachmentIndex?: number;\n /** The attachment reference of the render target used as depth attachment for this render pass */\n depthAttachmentReference?: {\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n };\n /** Render pass name */\n name?: string;\n /** The indices of the nodes composing this render pass */\n nodeIndices?: Array<number>;\n /** The indices of the render targets used as resolve attachments for this render pass */\n resolveAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as resolve attachments for this render pass */\n resolveAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Multisampling */\n sampleCount?: number;\n }>;\n /** Descriptions of all render targets */\n renderTargetDescriptions: Array<{\n /** The aspect of the image to use, in the graph */\n aspect?: number;\n /** The denoiser target this render target maps to */\n denoiserTarget?: (-1 | 0 | 1 | 2 | 3) & number;\n /** The extent of the render target, leave at 0 to use the canvas extent */\n extent?: Array<number>;\n /** Flags to use on image creation */\n flags?: number;\n /** Format of the render target */\n format?: number;\n /** Memory type */\n memoryType?: (0 | 1 | 2 | 3) & number;\n /** How the image is accessed */\n memoryUsage?: (0 | 1 | 2 | 3) & number;\n /** Minimum mip size, leave at 0 for single mip level */\n minMipSize?: number;\n /** Render target name */\n name?: string;\n /** The picking target this render target maps to */\n pickingTarget?: (-1 | 0 | 1) & number;\n /** Number of samples per pixel */\n sampleCount?: number;\n /** THe sampler to use when accessing this render target */\n samplerType?: number;\n /** Tiling of the image */\n tiling?: number;\n /** How this render target is going to be used */\n usage?: number;\n }>;\n /** Data descriptors for the shader contexts referenced by shaderContextIndex */\n shaderContexts?: Array<\n Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>\n >;\n /** All stencil states */\n stencilOpStateDescriptions?: Array<{\n /** Compare mask */\n compareMask?: number;\n /** Compare operator */\n compareOp?: number;\n /** Depth fail operator */\n depthFailOp?: number;\n /** Fail operator */\n failOp?: number;\n /** Pass operator */\n passOp?: number;\n /** Reference */\n reference?: number;\n /** Write mask */\n writeMask?: number;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Bounding box in local space */\n aabb: {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n };\n /** Flat list of entities */\n entities: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Total number of direct triangles in the scene */\n triangleCount?: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The events that the script listens to, referenced by name */\n eventNames?: Array<string>;\n /** The description of the data object that the caller should provide to the script */\n inputDescriptor?: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n /** Name of the asset */\n name: string;\n /** An optional list of references to other scripts that the current script might call */\n subScripts?: Array<string>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The blend mode for the shader, used for batching purposes. Only valid for material shaders */\n blendMode?: StrictUnion<0 | 1 | 2 | 3>;\n /** Compute shader settings. Only valid for compute shaders */\n computeSettings?: {\n /** Global group reference */\n sizeReference?: StrictUnion<0 | 1 | 2 | 3>;\n /** Size of the workgroup */\n workgroupSize?: Array<number>;\n /** Scaling factor to apply to the total workgroup count */\n workloadScalingFactor?: Array<number>;\n };\n /** Data descriptor for specialization constants */\n constantDescriptor?: Array<{\n /** Constant default value */\n default: number | boolean;\n /** Description */\n description?: string;\n /** Display name */\n displayName?: string;\n /** Constant name */\n name: string;\n /** Constant type */\n type: 'bool' | 'int' | 'uint' | 'float';\n }>;\n /** GLSL extensions required by this shader, detected from the SPIR-V capabilities declared by its compiled modules */\n glslExtensions?: Array<{\n /** SPIR-V capability id that requires this extension (e.g. 5347 for PhysicalStorageBufferAddresses) */\n capabilityId: number;\n /** GLSL extension name, e.g. \"GL_EXT_buffer_reference\" */\n name: string;\n }>;\n /** Data descriptor for material shaders */\n materialDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Descriptions of all modules that compose this shader */\n moduleDescriptions?: Array<{\n /** Names of the bindings used by this module */\n bindings?: Array<string>;\n /** Constants used by this module */\n constants?: {\n [_additionalproperties_: string]: Array<number>;\n };\n /** Entry point of the shader module */\n entryPoint?: string;\n /** 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 */\n outputs?: Array<{\n /** Output location */\n location: number;\n /** Output variable name */\n name: string;\n /** Output variable type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** Offset in byte in the shader payload buffer */\n payloadOffset: number;\n /** Size in byte of the compiled module */\n payloadSize: number;\n /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */\n pushConstants?: Array<{\n /** Push constant member name */\n name: string;\n /** Offset in byte within the push constant block */\n offset: number;\n /** Size in byte of the push constant member */\n size: number;\n /** Push constant member type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** The shader stage */\n shaderStage: number;\n /** Bit mask of the descriptor bindings used by this module, bit N for binding N */\n usedBindings: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Data descriptor for render graph node shaders */\n nodeDataDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Hash of the node data descriptor, used to detect changes in the descriptor */\n nodeDataDescriptorHash?: number;\n /** The size in byte of the compiled shader code (accumulated size of all modules) */\n payloadSize?: number;\n /** Reference to the shader context associated with this shader. Only present for shaders that use one. */\n shaderContextRef?: string;\n /** Vulkan bit mask of all shader stages present in this shader */\n shaderStages?: number;\n /** Unique identifier for the asset */\n uuid: string;\n /** Vertex description. Only valid when a vertex shader module is present */\n vertexDescriptor?: Array<{\n /** Binding number */\n binding: number;\n /** Format */\n format: number;\n /** Location */\n location: number;\n /** Offset */\n offset: number;\n /** Semantic */\n semantic: (1 | 2 | 4 | 8 | 16 | 32) & number;\n /** Stride between consecutive elements within the buffer */\n stride: number;\n }>;\n }\n | {\n /** The fields every shader in this family reads as input */\n dataDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Name of the asset */\n name: string;\n /** The fields a material shader must produce. */\n outputDescriptor?: Array<{\n /** Blend state of the attachment, no blending if absent */\n blendState?: {\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n };\n /** What this field represents */\n description: string;\n /** Field name */\n name: string;\n /** Field data type */\n type:\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4';\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Descriptions of all bones forming the skeleton */\n bones: Array<{\n /** Total number of children of this bone */\n childrenCount?: number;\n /** The index of the first child bone in the flat bones array */\n firstChildIndex?: number;\n /** The bone's name */\n name?: string;\n /** The offset matrix */\n offsetMatrix?: Array<number>;\n /** The index of the parent bone in the flat bones array */\n parentIndex?: number;\n }>;\n /** Name of the asset */\n name: string;\n /** The size in byte of skeleton data */\n payloadSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The bit depth of the audio data */\n bitDepth: number;\n /** The of audio channels (1 = mono, 2 = stereo, etc.) */\n channelCount: number;\n /** Duration of the track in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** The size in byte of the sound data */\n payloadSize: number;\n /** Total number of samples composing the audio track */\n sampleCount: number;\n /** Frequency in Hertz */\n sampleFrequencyInHz: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The format of the texture */\n format: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14) & number;\n /** Index of the first mip stored in the mip bundle, along with every smaller mip, rather than in a payload of its own. -1 when there is no mip bundle. */\n mipBundleFirstIndex?: number;\n /** Mip-maps */\n mips: Array<{\n /** The mip resolution in pixels */\n dimension?: Array<number>;\n /** Size of this mip payload in bytes */\n payloadSize?: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Total size in bytes of all mip-maps */\n payloadTotalSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The format of the texture */\n format: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14) & number;\n /** Index of the first mip stored in the mip bundle, along with every smaller mip, rather than in a payload of its own. -1 when there is no mip bundle. */\n mipBundleFirstIndex?: number;\n /** Mip-maps */\n mips: Array<{\n /** The mip resolution in pixels */\n dimension?: Array<number>;\n /** Size of this mip payload in bytes */\n payloadSize?: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Total size in bytes of all mip-maps */\n payloadTotalSize: number;\n /** Unique identifier for the asset */\n uuid: string;\n /** The voxel dimensions of the texture */\n voxelDimensions?: Array<number>;\n }\n | {\n /** The albedo look up table */\n albedoLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The metallic look up table */\n metallicLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** Name of the asset */\n name: string;\n /** The opacity look up table */\n opacityLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The maximum voxel value handled by the material */\n rangeMax: number;\n /** The minimum voxel value handled material */\n rangeMin: number;\n /** The roughness look up table */\n roughnessLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n };\nexport type AssetContainerEditable =\n | 'action_maps'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'modules'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'volume_materials';\nexport type EditableAssetDescription =\n | {\n actions: {\n [action_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Inputs used by the graph */\n inputDescriptor: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Animation state machines */\n stateMachines: Array<{\n /** States of the state machine */\n states?: Array<{\n /** The name of the state */\n name?: string;\n /** The nodes of this state's animation graph */\n nodes?: Array<{\n /** Indices of input nodes of the parent animation graph */\n inputs?: Array<number>;\n /** Type of the node */\n nodeType?: StrictUnion<0 | 1 | 2 | 3 | 100 | 101 | 200 | 201>;\n /** Settings associated to this node */\n settings?: StrictUnion<\n | {\n /** The animation to play */\n animationKey: number;\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 1D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: number;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 2D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: Array<number>;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n /** Vertical axis */\n verticalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n }\n | {\n /** Bone mask keys. Used to find the corresponding bone mask in the animation set */\n boneMasks: Array<number>;\n /** Blend weights */\n weights: Array<number | string>;\n }\n | {\n /** Probabilities of each input animation to be selected */\n probabilities: Array<number>;\n }\n | {\n /** Index of the state machine to run */\n stateMachineIndex: number;\n }\n | {\n /** End bone. This bone will try to reach the target. */\n endBone: number | string;\n /** Mid bone. Must be ancestor of end bone. */\n midBone: number | string;\n /** The pole vector which defines where the direction the middle bone should point to, allowing to control IK chain orientation. In model space of the skeleton. */\n poleVector: Array<number> | string;\n /** Soften ratio, allowing the chain to gradually fall behind the target position. This prevents the bone chain from snapping into the final position, softening the final degrees before the bone chain becomes flat */\n soften: number | string;\n /** Start bone. Must be ancestor of mid bone. */\n startBone: number | string;\n /** The target which the endBone will try to reach. In world space */\n target: Array<number> | string;\n /** Twist angle rotates IK chain around the vector defined by start-to-target vector */\n twistAngle: number | string;\n /** Weight given to the whole IK process, allowing blending in and out */\n weight: number | string;\n }\n | {\n /** This is the bone which will aim at the target */\n aimingBone: number | string;\n /** Weight given to IK for each bone of the chain (except for the last bone which is 1). This directly affect correction spreading */\n boneWeight: number | string;\n /** Number of bones (from the predefined hierarchy) that are corrected by IK */\n chainLength: number | string;\n /** Weight given to the whole aim process, allowing blending in and out */\n chainWeight: number | string;\n /** Bone space forward vector. Default is z axis. */\n forward: Array<number> | string;\n /** Offset position from the aiming bone in local-space, that will aim at target */\n offset: Array<number> | string;\n /** The target that the forward vector will be aimed towards. In world space */\n target: Array<number> | string;\n /** Bone space up vector. Used to keep the bone oriented in the same direction as the pole vector. Default is y axis. */\n up: Array<number> | string;\n }\n >;\n }>;\n /** The transitions coming from the current state */\n transitionIndices?: Array<number>;\n }>;\n /** All transition between all states */\n transitions?: Array<{\n /** A variant of either exit time, data object entry or transition func index (depending on transition type) */\n condition?: number | string | number;\n /** The duration of the transition for blending purposes */\n durationInMs?: number;\n /** The index of the state to transition to */\n nextStateIndex?: number;\n /** The transition type. */\n type?: StrictUnion<0 | 1 | 2 | 3>;\n }>;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Duration of the animation in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** The size in byte of the compiled animation sequence library */\n payloadSize?: number;\n /** The array of track UUIDs at play in this animation sequence */\n trackUUIDs: Array<string>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Parent animation graph */\n animationGraphUUID: string;\n /** The animation set */\n animationSet: Array<{\n /** Key of the animation in the animation graph */\n animationKey: number;\n /** The referenced animation for the specified key */\n animationRef: string;\n }>;\n /** The bone mask set */\n boneMaskSet?: Array<{\n /** The bone mask. An array of floats which corresponds to the weight per bone */\n boneMask: Array<number>;\n /** Key of the bone mask in the animation graph */\n boneMaskKey: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** A map of events and their parameters descriptors */\n events: {\n /** Event name to parameters descriptor */\n [event_name: string]: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Data object following the descriptor of the attached shader */\n dataJson: {\n [_additionalproperties_: string]: any;\n };\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n functions: {\n [function_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** All blend states */\n blendStateDescriptions?: Array<{\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n }>;\n /** Descriptions of all buffers */\n bufferDescriptions?: Array<{\n /** 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 */\n elementCount?: number | Array<number>;\n /** Size in bytes of a single element in the buffer */\n elementSize?: number;\n /** Buffer name */\n name?: string;\n /** How this buffer is going to be used */\n usage?: number;\n }>;\n /** Conditions referenced by conditionIndex */\n conditions?: Array<string>;\n /** The index of the render target to blit into the canvas */\n defaultRenderTargetIndex?: number;\n /** The order in which to interpret the nodes */\n graphOrder: Array<Array<number>>;\n /** Input descriptor used to parse input data */\n inputDescriptor: Array<{\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'texture2d_ref'\n | 'stencil_op'\n | 'render_target_index'\n | 'buffer_reference'\n | 'string'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n /** Parameter type */\n type:\n | 'texture'\n | 'stencil_op'\n | 'render_target'\n | 'buffer'\n | 'string'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n }>;\n /** Name of the asset */\n name: string;\n /** Descriptions of all nodes */\n nodeDataDescriptions: Array<\n (\n | {\n type: 0;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 1;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 2;\n }\n | {\n /** @deprecated Const data type */\n constDataType?: (\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24\n ) &\n number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 3;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 4;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 5;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 6;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 7;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 8;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n type: 9;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n type: 10;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n /** A reference to a shader */\n shaderRef?: string;\n type: 11;\n }\n | {\n /** Clear value */\n clearValue?:\n | Array<number>\n | Array<number>\n | Array<number>\n | {\n depth: number;\n stencil: number;\n };\n /** Type of clearValue */\n clearValueType?: StrictUnion<0 | 1 | 2 | 3>;\n /** Render targets to clear */\n outputRenderTargetIndices?: Array<number>;\n type: 13;\n }\n | {\n /** Name of the buffer */\n bufferName?: string;\n /** Offset in the buffer */\n bufferOffset?: number;\n /** Size of the buffer; 0 for whole size */\n bufferSize?: number;\n /** Value to fill the buffer with */\n bufferValue?: number;\n type: 15;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 16;\n }\n | {\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 17;\n }\n | {\n /** Depth bias clamp */\n depthBiasClamp?: number;\n /** Depth bias constant factor */\n depthBiasConstantFactor?: number;\n /** Depth bias slope factor */\n depthBiasSlopeFactor?: number;\n type: 18;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 19;\n }\n ) & {\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** Node name */\n name?: string;\n /** Node type */\n type: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19) &\n number;\n }\n >;\n /** The index of the render target used for occlusion */\n occlusionInputDepthRenderTargetIndex?: number;\n /** Descriptions of all render passes */\n renderPassDescriptions: Array<{\n /** The attachments clear colors */\n attachmentClearColors?: Array<Array<number>>;\n /** The attachment descriptions */\n attachmentDescriptions?: Array<{\n /** Final layout */\n finalLayout?: number;\n /** Attachment description flags */\n flags?: number;\n /** Format */\n format?: number;\n /** Initial layout */\n initialLayout?: number;\n /** Load op */\n loadOp?: number;\n /** Sample count */\n samples?: number;\n /** Stencil load op */\n stencilLoadOp?: number;\n /** Stencil store op */\n stencilStoreOp?: number;\n /** Store op */\n storeOp?: number;\n }>;\n /** The indices of the render targets used as color attachments for this render pass */\n colorAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as color attachments for this render pass */\n colorAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** The index of the render target used as depth attachment for this render pass */\n depthAttachmentIndex?: number;\n /** The attachment reference of the render target used as depth attachment for this render pass */\n depthAttachmentReference?: {\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n };\n /** Render pass name */\n name?: string;\n /** The indices of the nodes composing this render pass */\n nodeIndices?: Array<number>;\n /** The indices of the render targets used as resolve attachments for this render pass */\n resolveAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as resolve attachments for this render pass */\n resolveAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Multisampling */\n sampleCount?: number;\n }>;\n /** Descriptions of all render targets */\n renderTargetDescriptions: Array<{\n /** The aspect of the image to use, in the graph */\n aspect?: number;\n /** The denoiser target this render target maps to */\n denoiserTarget?: (-1 | 0 | 1 | 2 | 3) & number;\n /** The extent of the render target, leave at 0 to use the canvas extent */\n extent?: Array<number>;\n /** Flags to use on image creation */\n flags?: number;\n /** Format of the render target */\n format?: number;\n /** Memory type */\n memoryType?: (0 | 1 | 2 | 3) & number;\n /** How the image is accessed */\n memoryUsage?: (0 | 1 | 2 | 3) & number;\n /** Minimum mip size, leave at 0 for single mip level */\n minMipSize?: number;\n /** Render target name */\n name?: string;\n /** The picking target this render target maps to */\n pickingTarget?: (-1 | 0 | 1) & number;\n /** Number of samples per pixel */\n sampleCount?: number;\n /** THe sampler to use when accessing this render target */\n samplerType?: number;\n /** Tiling of the image */\n tiling?: number;\n /** How this render target is going to be used */\n usage?: number;\n }>;\n /** Data descriptors for the shader contexts referenced by shaderContextIndex */\n shaderContexts?: Array<\n Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>\n >;\n /** All stencil states */\n stencilOpStateDescriptions?: Array<{\n /** Compare mask */\n compareMask?: number;\n /** Compare operator */\n compareOp?: number;\n /** Depth fail operator */\n depthFailOp?: number;\n /** Fail operator */\n failOp?: number;\n /** Pass operator */\n passOp?: number;\n /** Reference */\n reference?: number;\n /** Write mask */\n writeMask?: number;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** Bounding box in local space */\n aabb: {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n };\n /** Flat list of entities */\n entities: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Total number of direct triangles in the scene */\n triangleCount?: number;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The events that the script listens to, referenced by name */\n eventNames?: Array<string>;\n /** The description of the data object that the caller should provide to the script */\n inputDescriptor?: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n /** Name of the asset */\n name: string;\n /** An optional list of references to other scripts that the current script might call */\n subScripts?: Array<string>;\n /** Unique identifier for the asset */\n uuid: string;\n }\n | {\n /** The blend mode for the shader, used for batching purposes. Only valid for material shaders */\n blendMode?: StrictUnion<0 | 1 | 2 | 3>;\n /** Compute shader settings. Only valid for compute shaders */\n computeSettings?: {\n /** Global group reference */\n sizeReference?: StrictUnion<0 | 1 | 2 | 3>;\n /** Size of the workgroup */\n workgroupSize?: Array<number>;\n /** Scaling factor to apply to the total workgroup count */\n workloadScalingFactor?: Array<number>;\n };\n /** Data descriptor for specialization constants */\n constantDescriptor?: Array<{\n /** Constant default value */\n default: number | boolean;\n /** Description */\n description?: string;\n /** Display name */\n displayName?: string;\n /** Constant name */\n name: string;\n /** Constant type */\n type: 'bool' | 'int' | 'uint' | 'float';\n }>;\n /** GLSL extensions required by this shader, detected from the SPIR-V capabilities declared by its compiled modules */\n glslExtensions?: Array<{\n /** SPIR-V capability id that requires this extension (e.g. 5347 for PhysicalStorageBufferAddresses) */\n capabilityId: number;\n /** GLSL extension name, e.g. \"GL_EXT_buffer_reference\" */\n name: string;\n }>;\n /** Data descriptor for material shaders */\n materialDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Descriptions of all modules that compose this shader */\n moduleDescriptions?: Array<{\n /** Names of the bindings used by this module */\n bindings?: Array<string>;\n /** Constants used by this module */\n constants?: {\n [_additionalproperties_: string]: Array<number>;\n };\n /** Entry point of the shader module */\n entryPoint?: string;\n /** 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 */\n outputs?: Array<{\n /** Output location */\n location: number;\n /** Output variable name */\n name: string;\n /** Output variable type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** Offset in byte in the shader payload buffer */\n payloadOffset: number;\n /** Size in byte of the compiled module */\n payloadSize: number;\n /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */\n pushConstants?: Array<{\n /** Push constant member name */\n name: string;\n /** Offset in byte within the push constant block */\n offset: number;\n /** Size in byte of the push constant member */\n size: number;\n /** Push constant member type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** The shader stage */\n shaderStage: number;\n /** Bit mask of the descriptor bindings used by this module, bit N for binding N */\n usedBindings: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Data descriptor for render graph node shaders */\n nodeDataDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Hash of the node data descriptor, used to detect changes in the descriptor */\n nodeDataDescriptorHash?: number;\n /** The size in byte of the compiled shader code (accumulated size of all modules) */\n payloadSize?: number;\n /** Reference to the shader context associated with this shader. Only present for shaders that use one. */\n shaderContextRef?: string;\n /** Vulkan bit mask of all shader stages present in this shader */\n shaderStages?: number;\n /** Unique identifier for the asset */\n uuid: string;\n /** Vertex description. Only valid when a vertex shader module is present */\n vertexDescriptor?: Array<{\n /** Binding number */\n binding: number;\n /** Format */\n format: number;\n /** Location */\n location: number;\n /** Offset */\n offset: number;\n /** Semantic */\n semantic: (1 | 2 | 4 | 8 | 16 | 32) & number;\n /** Stride between consecutive elements within the buffer */\n stride: number;\n }>;\n }\n | {\n /** The albedo look up table */\n albedoLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The metallic look up table */\n metallicLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** Name of the asset */\n name: string;\n /** The opacity look up table */\n opacityLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The maximum voxel value handled by the material */\n rangeMax: number;\n /** The minimum voxel value handled material */\n rangeMin: number;\n /** The roughness look up table */\n roughnessLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** Unique identifier for the asset */\n uuid: string;\n };\nexport type AssetContainerWithPayload =\n | 'animations'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'collision_geometries'\n | 'meshes'\n | 'point_clouds'\n | 'scripts'\n | 'shaders'\n | 'skeletons'\n | 'sounds'\n | 'textures'\n | 'textures_3d';\nexport type AssetContainerWithGraph = 'animation_graphs' | 'render_graphs' | 'scripts' | 'shaders';\nexport type AssetContainerWithCode = 'animation_sequences' | 'modules' | 'scripts' | 'shaders';\nexport type AssetContainerExportable = 'meshes' | 'sounds';\nexport type Vector3 = Array<number>;\n/** An entity of a scene: its components, by class. */\nexport type Entity = {\n /** Drives skeletal animation using an Animation Graph and Animation Set; animates descendant skinned meshes whose skeletons are compatible with the set. */\n animation_controller?: {\n /** Referenced Animation Graph (UUID). */\n animationGraphRef?: string;\n /** Referenced Animation Set (UUID). */\n animationSetRef?: string;\n /** Autoplay when the session starts. */\n autoPlay?: boolean;\n /** Animation Graph input parameters in JSON format. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Entity containing the Bone component for the skeleton's root bone. */\n rootBoneEntityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable root motion extraction and application to the entity transform. */\n rootMotionEnabled?: boolean;\n };\n /** Controls playback of an Animation Sequence; assigns tracks to entities. */\n animation_sequence_controller?: {\n /** Referenced Animation Sequence (UUID). */\n animationSequenceRef?: string;\n /** Map from track UUID to assigned entity. */\n entities?: {\n /** A reference to an entity: the uuid it was created with, and the uuids of the linkers it was instanced through. */\n [_additionalproperties_: string]: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Loop playback when reaching the stop offset. */\n loop?: boolean;\n /** Playback speed multiplier. Negative values play in reverse. */\n playbackSpeed?: number;\n /** Normalized start offset [0, 1]. */\n startOffset?: number;\n /** Normalized stop offset [0, 1]. When looping, playback wraps to startOffset at this point. */\n stopOffset?: number;\n };\n /** Associates this entity with a bone in a skeleton (for attachments and transforms). */\n bone?: {\n /** Zero-based index of this bone within the bound skeleton. */\n boneIndex?: number;\n };\n /** Box geometry. */\n box_geometry?: {\n /** Box dimensions (width, height, depth) in meters. */\n dimension?: Array<number>;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n };\n /** Virtual camera. */\n camera?: {\n /** Render Graph input parameters in JSON; schema defined by renderGraphRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced render graph to use for rendering from this camera. */\n renderGraphRef?: string;\n /** Index of the render target to blit/output to. -1 indicates the default target. */\n renderTargetIndex?: number;\n };\n /** Capsule geometry. */\n capsule_geometry?: {\n /** Alignment axis of the capsule: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylindrical mid-section (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the hemispherical ends (meters). */\n radius?: number;\n };\n /** Kinematic character controller for collision-constrained movement without a rigid body. Uses tuned collision handling for responsive control. */\n character_controller?: {\n /** Collision skin width (meters). */\n skinWidth?: number;\n /** Maximum walkable slope (degrees). Slopes steeper than this are not walkable. */\n slopeLimit?: number;\n /** Maximum climbable step height. Steps higher than this cannot be climbed automatically. */\n stepOffset?: number;\n };\n /** Reference to a collision geometry asset used by physics. */\n collision_geometry_ref?: {\n /** Referenced collision geometry (UUID). */\n collisionGeometryRef?: string;\n };\n /** 6-DoF constraint built on a Joint. Defaults to fixed; selectively unlock translation and rotation on X/Y/Z and configure limits and springs. */\n constraint?: {\n /** Linear limit spring damping per axis (N\u00B7s/m). */\n motionLimitSpringDamping?: Array<number>;\n /** Linear limit spring stiffness per axis (N/m). >0 makes the limit soft (spring-like). */\n motionLimitSpringStiffness?: Array<number>;\n /** Lower linear limit per axis (meters). */\n motionLowerLimit?: Array<number>;\n /** Upper linear limit per axis (meters). */\n motionUpperLimit?: Array<number>;\n /** 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. */\n swingLimitAngle?: Array<number>;\n /** Swing limit spring damping (N\u00B7m\u00B7s/rad). */\n swingSpringDamping?: number;\n /** Swing limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n swingSpringStiffness?: number;\n /** Twist angle limits (min,max) around the twist axis (degrees). Range (\u2212360, 360). */\n twistLimitAngle?: Array<number>;\n /** Twist limit spring damping (N\u00B7m\u00B7s/rad). */\n twistSpringDamping?: number;\n /** Twist limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n twistSpringStiffness?: number;\n /** Unlock motion along/around the specified axes. */\n unlockedMotion?: number;\n };\n /** Drives a Constraint toward target position/orientation and velocities using configurable stiffness, damping, and force limits. */\n constraint_actuator?: {\n /** Angular drive damping per axis (N\u00B7m\u00B7s/rad). */\n angularDamping?: Array<number>;\n /** Max angular drive torque/impulse per axis (N\u00B7m). \u22121 = unlimited. */\n angularForceLimit?: Array<number>;\n /** Angular drive stiffness per axis (N\u00B7m/rad). >0 applies spring torque toward the goal. */\n angularStiffness?: Array<number>;\n /** Target angular velocity (rad/s). */\n angularVelocity?: Array<number>;\n /** Target angular orientation. */\n goalOrientation?: Array<number>;\n /** Target linear position offset (meters). */\n goalPosition?: Array<number>;\n /** Linear drive damping per axis (N\u00B7s/m). */\n linearDamping?: Array<number>;\n /** Max linear drive force/impulse per axis (N). \u22121 = unlimited. */\n linearForceLimit?: Array<number>;\n /** Linear drive stiffness per axis (N/m). >0 applies spring force toward the goal. */\n linearStiffness?: Array<number>;\n /** Target linear velocity (m/s). */\n linearVelocity?: Array<number>;\n /** Drive type: apply as force or as acceleration. */\n type?: (0 | 1) & number;\n };\n /** Enables culling using a simple analytic shape. Add alongside a geometry component (box, cylinder, plane, sphere). */\n culling_geometry?: {\n /** Additive: show elements inside the geometry. Subtractive: show elements outside the geometry. */\n isAdditive?: boolean;\n };\n /** Custom projection lens using an explicit projection matrix. */\n custom_lens?: {\n /** Projection matrix mapping view-space to clip-space (cs_from_vs). */\n cs_from_vs?: Array<number>;\n };\n /** Cylinder geometry. */\n cylinder_geometry?: {\n /** Alignment axis of the cylinder: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylinder (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the cylinder (meters). */\n radius?: number;\n };\n /** Human-readable name of the entity. */\n debug_name?: {\n /** Entity name. */\n value?: string;\n };\n /** Projects a material onto scene surfaces within the projector's box volume. */\n decal_projector?: {\n /** Z-index ordering for decal rendering; higher values render on top of lower ones. */\n zIndex?: number;\n };\n /** 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. */\n environment?: {\n /** Diffuse irradiance cubemap used for ambient PBR lighting. */\n irradianceUUID?: string;\n /** Specular radiance cubemap (prefiltered) used for PBR reflections. */\n radianceUUID?: string;\n /** Skybox cubemap used as the scene background (no lighting effect). */\n skyboxUUID?: string;\n };\n /** Unique identifier for the entity. */\n euid: {\n /** Unique identifier value. */\n value: string;\n };\n /** Base joint connecting two bodies. By default locks relative position and orientation between constrainer and constrainee. */\n joint?: {\n /** Break force threshold (Newtons). */\n breakForce?: number;\n /** Break torque threshold (N\u00B7m). */\n breakTorque?: number;\n /** Entity with a Rigid Body to be constrained. */\n constrainee?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Entity acting as constrainer (rigid/static) or null to constrain to world origin. */\n constrainer?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable collision between constrainer and constrainee bodies. */\n enableCollision?: boolean;\n };\n /** Displays an editor-only label in the 3D view. */\n label?: {\n /** Camera framing parameters for navigating to the label. */\n camera?: Array<number>;\n /** Label description text. */\n description?: string;\n /** Camera travel speed (meters/second). */\n speed?: number;\n /** Label title text. */\n title?: string;\n };\n /** Records the entity's lineage through linkers and parentage. */\n lineage?: {\n /** Ordinal index among siblings (editor-only). */\n ordinal?: number;\n /** UUID of this entity's parent (default is root). */\n parentUUID?: string;\n };\n /** Local-space axis-aligned bounding box. */\n local_aabb?: {\n /** Local AABB maximum corner (x,y,z). */\n max?: Array<number>;\n /** Local AABB minimum corner (x,y,z). */\n min?: Array<number>;\n };\n /** Local transform of the entity (position, orientation, scale). */\n local_transform?: {\n /** Local orientation as Euler angles (editor-only). */\n eulerOrientation?: Array<number>;\n /** Last global orientation entered by a user as Euler angles (may be invalid; editor-only). */\n globalEulerOrientation?: Array<number>;\n /** Local orientation as a quaternion. */\n orientation?: Array<number>;\n /** Local position (x, y, z) in meters. */\n position?: Array<number>;\n /** Local non-uniform scale (x, y, z). */\n scale?: Array<number>;\n };\n /** Assigns a shader to the entity's mesh and provides its input values and specialization constants. */\n material?: {\n /** Specialization constants (JSON); schema defined by shaderRef. */\n constantsJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Shader input values (JSON); schema defined by shaderRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Render both front and back faces (double-sided). */\n isDoubleSided?: boolean;\n /** Referenced shader (UUID). */\n shaderRef?: string;\n };\n /** Reference to a material to use for rendering. */\n material_ref?: {\n /** Face culling override: 0 = inherit from material, 1 = single-sided, 2 = double-sided. */\n faceCulling?: (0 | 1 | 2) & number;\n /** Referenced material (UUID). */\n value?: string;\n };\n /** Displays editor-only measurement annotations in the 3D view. */\n measure?: {\n /** Display color for the measurement. */\n color?: Array<number>;\n /** Measurement type to display. */\n type?: (0 | 1 | 2 | 3) & number;\n };\n /** Reference to a mesh to render (with submesh selection). */\n mesh_ref?: {\n /** Shadow casting mode for this mesh. */\n shadowCastingMode?: (0 | 1) & number;\n /** Index of the submesh within the mesh's submesh array. */\n submeshIndex?: number;\n /** Referenced mesh (UUID). */\n value?: string;\n };\n /** Contains weights assigned to morph targets of the mesh referred to by the entity's mesh_ref. */\n morph_targets?: {\n /** Map from morph target name to weight (commonly 0..1). */\n weights?: {\n [_additionalproperties_: string]: number;\n };\n };\n /** Orthographic projection lens with configurable zoom and depth range. */\n orthographic_lens?: {\n /** Far clipping plane distance (meters). */\n zFar?: number;\n /** Near clipping plane distance (meters). */\n zNear?: number;\n /** Zoom factor applied to the orthographic extents (X,Y). 1 = no zoom. */\n zoomFactor?: Array<number>;\n };\n /** Overrides an entity from a subscene: mark for deletion, replace components, or detach specific components. */\n overrider?: {\n /** Hashes of components to detach from the overridden entity. */\n componentsToDetach?: Array<number>;\n /** Mark the overridden entity as deleted in the composed scene. */\n deleter?: boolean;\n /** Target entity to override. */\n entityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Perspective projection lens with vertical field of view and near/far clipping planes. */\n perspective_lens?: {\n /** Far clipping plane distance (meters). Set to 0 for an infinite far plane. */\n farPlane?: number;\n /** Vertical field of view angle in degrees. */\n fovy?: number;\n /** Near clipping plane distance (meters). */\n nearPlane?: number;\n /** Projection center offset for stereoscopic rendering (meters). */\n offset?: Array<number>;\n };\n /** Physical surface properties used for contact: friction, restitution, optional contact modification, and trigger mode. */\n physics_material?: {\n /** Applied contact velocity offset when colliding (m/s). Only used if modifyContact is true. */\n contactVelocity?: Array<number>;\n /** 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. */\n dynamicFriction?: number;\n /** Treat associated geometry as a trigger (generates events but no physical response). */\n isTrigger?: boolean;\n /** Enable contact modification (applies contactVelocity on collisions). */\n modifyContact?: boolean;\n /** Restitution (bounciness) in [0,1]. 0 = no bounce; 1 = perfectly elastic. Effective value is averaged with the other surface. */\n restitution?: number;\n /** Static friction coefficient (typically 0..1). 0 feels like ice; higher resists start of motion. Effective value is averaged with the other surface. */\n staticFriction?: number;\n };\n /** Infinite plane geometry. */\n plane_geometry?: {\n /** Signed distance from the origin along the plane normal (meters). */\n distance?: number;\n /** Unit normal vector of the plane (in local space). */\n normal?: Array<number>;\n };\n /** Reference to a point cloud. */\n point_cloud_ref?: {\n /** Referenced point cloud (UUID). */\n value?: string;\n };\n /** 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. */\n point_light?: {\n /** RGB light color in linear space [0-1]. Multiplies intensity. */\n color?: Array<number>;\n /** Luminous intensity in candela (cd) for point and spot lights. Illuminance in lux (lx) when isDirectional, above the atmosphere when isSun. */\n intensity?: number;\n /** Treat this as a directional light using the entity's orientation; position is ignored. */\n isDirectional?: boolean;\n /** Use this light's direction to control the atmosphere sun direction. */\n isSun?: boolean;\n /** Distance in meters at which the inverse-square falloff is windowed to zero. 0 for no cutoff. */\n range?: number;\n };\n /** Omnidirectional reflection probe that captures the local environment into a cubemap for specular reflections (IBL). */\n reflection_probe?: {\n /** Capture far clip distance (meters). */\n farDist?: number;\n /** Capture near clip distance (meters). */\n nearDist?: number;\n /** Offset of the probe capture origin relative to the entity position (meters). */\n offset?: Array<number>;\n /** Reflection cubemap resolution (pixels per face). Higher values increase detail and cost. */\n quality?: number;\n };\n /** Rigid body parameters for dynamic simulation (mass, damping, limits, CCD, and kinematic/gravity behavior). */\n rigid_body?: {\n /** Angular damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n angularDamping?: number;\n /** Center of mass relative to the entity's local transform (meters). */\n centerOfMass?: Array<number>;\n /** Collision detection mode (CCD). Kinematic bodies do not support Linear/Continuous CCD. */\n collisionDetection?: (0 | 1 | 2 | 3) & number;\n /** Treat the rigid body as kinematic (unaffected by forces; driven by animation/app logic). */\n isKinematic?: boolean;\n /** Linear damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n linearDamping?: number;\n /** Lock motion along/around the specified axes. */\n lockedAxis?: number;\n /** Mass (kg). A value of 0 is treated as infinite mass (static). */\n mass?: number;\n /** Maximum angular velocity (rad/s). Must be non-negative. */\n maxAngularVelocity?: number;\n /** Maximum linear velocity (m/s). Must be non-negative. */\n maxLinearVelocity?: number;\n /** Whether the rigid body is affected by gravity. */\n useGravity?: boolean;\n };\n /** Reference to a subscene (linker); used to compose scenes. */\n scene_ref?: {\n /** Maximum recursion depth when a scene references itself. */\n maxRecursionCount?: number;\n /** Referenced scene (UUID). */\n value?: string;\n };\n /** References a script and supplies its input values. */\n script_element?: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n /** Holds a set of script elements keyed by UUID. */\n script_map?: {\n /** Map of script UUID to script element. */\n elements?: {\n /** References a script and supplies its input values. */\n [_additionalproperties_: string]: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n };\n };\n /** Enables a light to cast real-time shadows with configurable map resolution, depth range, and (for directional lights) cascades. */\n shadow_caster?: {\n /** Directional lights only: blend/accumulate all cascades to reduce visible transitions between splits. */\n accumulateShadowCascades?: boolean;\n /** Depth bias applied during shadow tests to reduce self-shadowing (acne). Increase to mitigate artifacts; too high causes peter-panning. */\n bias?: number;\n /** Directional lights only: number of cascades for CSM. 0 = static shadow map, 1\u20134 = increasing cascade count. */\n cascadeCount?: (0 | 1 | 2 | 3 | 4) & number;\n /** 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. */\n cascadeSplitLambda?: number;\n /** Shadow camera far clip distance (meters). Use the smallest range that contains casters/receivers. */\n farDist?: number;\n /** Shadow camera near clip distance (meters). Tighten to improve depth precision. */\n nearDist?: number;\n /** Shadow map resolution (pixels per side). Higher values increase detail at the cost of memory and performance. */\n quality?: (256 | 512 | 1024 | 2048 | 3072 | 4096 | 6144 | 8192) & number;\n };\n /** Reference to a skeleton asset for skinning and animation. */\n skeleton_ref?: {\n /** Referenced skeleton (UUID). */\n value?: string;\n };\n /** Reference to a sound asset with playback and spatialization controls. */\n sound_ref?: {\n /** Distance attenuation model. */\n attenuationModel?: (0 | 1 | 2 | 3) & number;\n /** Rolloff factor for distance attenuation. */\n attenuationRolloffFactor?: number;\n /** Autoplay when the simulation starts. */\n autoPlayOnStart?: boolean;\n /** Scale factor for the Doppler effect. */\n dopplerFactor?: number;\n /** Behavior when the sound becomes inaudible. */\n inaudibleBehavior?: (0 | 1 | 2) & number;\n /** Whether the sound loops. */\n looping?: boolean;\n /** Distance beyond which the sound is inaudible (meters). */\n maxDistance?: number;\n /** Distance at which the sound stays at max volume (meters). */\n minDistance?: number;\n /** Stereo pan. \u22121 = left, 1 = right. */\n pan?: number;\n /** Playback speed multiplier (1.0 = normal). */\n playSpeed?: number;\n /** Referenced sound (UUID). */\n value?: string;\n /** Playback volume [0..1]. */\n volume?: number;\n };\n /** Sphere geometry. */\n sphere_geometry?: {\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the sphere (meters). */\n radius?: number;\n };\n /** Displays an editor-only spline in the 3D view. */\n spline?: {\n /** Display color of the curve. */\n color?: Array<number>;\n /** Catmull-Rom tension (only when type is Catmull-Rom). */\n tension?: number;\n /** Spline interpolation type. */\n type?: (0 | 1 | 2) & number;\n };\n /** Adds a cone cutoff to a light, producing a spotlight. Requires a Point Light component for color/intensity and falloff. */\n spot_light?: {\n /** Optional IES photometric profile (2D texture). Modulates emitted intensity by direction; leave empty for uniform distribution. */\n IESProfile?: string;\n /** Cone half-angle in degrees, from the axis to the edge. Light falls to zero at the cone edge. */\n cutoff?: number;\n };\n /** Free-form tags used to group and filter entities. */\n tags?: {\n /** List of tags applied to this entity. */\n value?: Array<string>;\n };\n /** Vehicle Controller parameters. */\n vehicle_controller?: {\n /** The chassis. */\n chassis?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front left wheel. */\n frontLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front right wheel. */\n frontRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear left wheel. */\n rearLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear right wheel. */\n rearRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** View filtering and display controls applied to the referenced volume. */\n volume_filter?: {\n /** Apply Gaussian smoothing when sampling voxels. */\n applyGaussianFiltering?: boolean;\n /** Whether this volume is visible in the 3D view. */\n enable3D?: boolean;\n /** Whether this volume is visible in the MPR (multi-planar reconstruction) view. */\n enableMPR?: boolean;\n /** Tint applied to this volume's MPR/projection output. */\n mprColor?: Array<number>;\n /** Displayed voxel intensity range [min, max]. Values outside the material's valid range are clamped/ignored. */\n range?: Array<number>;\n /** Sample texels without hardware filtering (nearest). */\n sampleUnfiltered?: boolean;\n };\n /** Reference to the volume material used for shading and transfer functions. */\n volume_material_ref?: {\n /** Referenced volume material (UUID). */\n value?: string;\n };\n /** Reference to a volumetric dataset stored as a 3D texture (voxels). */\n volume_ref?: {\n /** Referenced 3D texture (UUID) containing the volume voxels. */\n texture3dRef?: string;\n };\n};\n/** The settings of a scene: its settings blocks, by class. */\nexport type SceneSettings = {\n /** Settings for debug lines */\n debug_lines?: {\n /** Whether to draw the bouding boxes of entities */\n drawBoundingBoxes?: boolean;\n /** Whether to draw camera frustums */\n drawCameraFrustums?: boolean;\n /** Whether to draw the center of mass of physics bodies */\n drawCenterOfMass?: boolean;\n /** Whether to draw contacts between physics bodies */\n drawContacts?: boolean;\n /** Whether to draw debug lines */\n drawDebugLines?: boolean;\n /** Whether to draw certain IK parameters like the forward and up vector of an IK Aim node, or the pole vector of an IK Two Bone node */\n drawIK?: boolean;\n /** Whether to draw joint-related debug lines */\n drawJoints?: boolean;\n /** Whether to draw light-related debug lines */\n drawLights?: boolean;\n /** Whether to draw geometry of physics bodies */\n drawPhysicsBodies?: boolean;\n /** Whether to draw physics body axes */\n drawPhysicsBodyAxes?: boolean;\n /** Whether to draw reflection probes */\n drawReflectionProbes?: boolean;\n /** Whether to draw the skeletons of rigged characters */\n drawSkeletons?: boolean;\n };\n /** Default camera component of the scene, used to create default cameras. */\n default_camera_component?: {\n /** Input values as described in the referenced render graph in their original JSON format. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Specifies which render graph this camera should use. */\n renderGraphRef?: string;\n /** Index of the render target to blit. */\n renderTargetIndex?: number;\n };\n /** Default camera global transform of the scene, used to create default cameras. */\n default_camera_transform?: {\n /** Orientation of the camera expressed as a quaternion */\n orientation?: Array<number>;\n /** x, y, z position of the camera */\n position?: Array<number>;\n };\n /** Settings for the display */\n display?: {\n /** Draw frame without input events */\n forceRedraw?: boolean;\n /** When 'Force Redraw' is off, this setting controls the number of frames the renderer will draw before going back to idle */\n framePersistence?: number;\n /** Maximum number of Frames Per Second the renderer is allowed to produce */\n maxFPS?: (15 | 30 | 60 | 90) & number;\n /** Maximum resolution of loaded textures */\n maxTextureSize?: (4294967295 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192) & number;\n };\n /** Settings for the encoder */\n encoder?: {\n /** Encoder type. */\n encoderType?: string;\n };\n /** Settings for the environment */\n environment?: {\n /** Color of the spherical gradient at the bottom of the sphere. */\n ambientColorBottom?: Array<number>;\n /** Color of the spherical gradient at the top of the sphere. */\n ambientColorTop?: Array<number>;\n /** Solid color used to clear the screen before drawing. */\n clearColor?: Array<number>;\n };\n /** Miscellaneous settings */\n misc?: {\n /** The maximum number of time a linker can reference itself. */\n maxLinkersRecursionCount?: number;\n /** The maximum time a script can run before getting aborted. */\n maxScriptExecutionTimeInMs?: number;\n /** Plugins to load at startup */\n plugins?: Array<string>;\n };\n /** Settings for the network */\n network?: {\n /** Time to wait in seconds with no client before closing the session. */\n clientConnectionTimeout?: number;\n sendSimulationUpdates?: boolean;\n /** Time to maintain the session alive without any active client in seconds. */\n timeToLiveWithInactiveUsersInSeconds?: number;\n waitForDefaultAssetsTimeoutInSeconds?: number;\n };\n /** Settings for the physics engine. */\n physics?: {\n /** The engine that is powering the physics of the scene. */\n engine?: 'physx' | 'xde';\n /** The epsilon used to mark whether the transform of an entity has changed and so whether to notify the physics engine. */\n epsilon?: number;\n /** Global gravity applied throughout the scene. */\n gravity?: Array<number>;\n /** The bigger LMD Max is, the greater the area that is searched for future contacts, and so the greater time taken per iteration. Note that XDE resolves contacts pre-collision, not once collision has taken place, like the majority of physics engines. Displacement of any object per iteration should not exceed LMD Max. */\n lmdMax?: number;\n /** A frame-rate-independent interval that dictates when physics calculations are performed. */\n timestepInS?: number;\n /** The approximate size of objects in the simulation. This is used to estimate certain length-related tolerances. */\n toleranceLength?: number;\n /** The typical magnitude of velocities of objects in simulation. This is used to estimate whether a contact should be treated as bouncing or resting based on its impact velocity, and a kinetic energy threshold below which the simulation may put objects to sleep. For normal physical environments, a good choice is the approximate speed of an object falling under gravity for one second. */\n toleranceSpeed?: number;\n };\n /** Renderer settings */\n renderer?: {\n /** Enable occlusion culling. */\n cpuOcclusionCulling?: boolean;\n /** Toggle frustum culling */\n enableFrustumCulling?: boolean;\n /** Enables geometry culling. */\n enableGeometryCulling?: boolean;\n /** Enables ray tracing. */\n enableRayTracing?: boolean;\n /** Toggle texture streaming */\n enableTextureStreaming?: boolean;\n /** Time to wait for the GPU in milliseconds. */\n endFrameTimeoutInMilliseconds?: number;\n };\n /** Settings to apply whenever simulation is active */\n simulation?: {\n /** Scripts which the client will be automatically attached */\n clientScripts?: Array<{\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n }>;\n /** Camera used when starting the simulation */\n mainCamera?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Sound settings */\n sound?: {\n /** Enable 3dverse sound. */\n enabled?: boolean;\n };\n /** Settings for the scene streaming */\n streaming?: {\n /** Maximum number of entities that can be loading at the same time. 0 means unlimited. */\n maxInFlightEntities?: number;\n /** Scenes that enter this radius around the camera get loaded. */\n streamingLoadingRadius?: number;\n /** Scenes that exit this radius around the camera get unloaded. */\n streamingUnloadingRadius?: number;\n };\n /** Settings for voxel rendering */\n voxel?: {\n /** Maximum number of color samples used to compute the color LUT. */\n maxNumberAlbedoValues?: number;\n };\n};\nexport type SessionToken = {\n /** The token used to join the requested session */\n session_token: string;\n /** The endpoint to connect to */\n endpoint_info: {\n ip: string;\n port: number;\n ssl_port: number;\n };\n};\nexport type GuestToken = {\n /** The token used to join the requested session as a guest */\n guest_token?: string;\n};\n/** ID of the webhook. */\nexport type WebhookId = string;\n/** Identifier of the target webhook. */\nexport type WebhookID = string;\n/** Event that gets triggered when a pipeline is created. */\nexport type EventPipelineCreated = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a download task is in progress. */\nexport type EventPipelineDownloadProgress = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the download task in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when an extraction task is in progress. */\nexport type EventPipelineExtractionProgress = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the extraction task in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a pipeline status changes. */\nexport type EventPipelineStatusChanged = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the pipeline in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Possible status of a pipeline when it is not yet completed. */\n status: 'created' | 'downloading' | 'extracting' | 'pending-approval' | 'queued' | 'running';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a pipeline is completed. */\nexport type EventPipelineCompleted = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Error message if the pipeline failed. */\n error?: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the pipeline in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Possible status of a pipeline when it has completed. */\n status: 'passed-with-errors' | 'failed' | 'rejected' | 'succeeded';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a job is created. */\nexport type EventJobCreated = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the job. */\n job_name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the job started. */\n started_at?: string;\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a job status changes. */\nexport type EventJobStatusChanged = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the job. */\n job_name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the job in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the job started. */\n started_at?: string;\n /** Possible status of a job when it is not yet completed. */\n status: 'created' | 'queued' | 'running';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\n/** Event that gets triggered when a job is completed. */\nexport type EventJobCompleted = {\n /** Data Pipeline unique identifier. */\n data_pipeline_id: string;\n /** Unique identifier of an environment */\n environment_id: string;\n /** Error message if the job failed. */\n error?: string;\n /** Date and time when the pipeline finished. */\n finished_at?: string;\n /** Folder unique identifier */\n folder_id: string;\n /** Data Pipeline job unique identifier. */\n job_id: string;\n /** Name of the job. */\n job_name: string;\n /** Pipeline unique identifier. A pipeline is an instance of a Data Pipeline. */\n pipeline_id: string;\n /** Progress of the job in percentage. */\n progress: number;\n /** Date and time when the pipeline was queued for processing. */\n queued_at?: string;\n /** Date and time when the job started. */\n started_at?: string;\n /** Possible status of a job when it has completed. */\n status: 'timed-out' | 'failed' | 'succeeded';\n /** Date and time when the pipeline was triggered. */\n triggered_at: string;\n /** User unique identifier */\n user_id: string;\n};\nexport type AssetContainerCreatable =\n | 'action_maps'\n | 'animation_graphs'\n | 'animation_sequences'\n | 'animation_sets'\n | 'cubemaps'\n | 'event_maps'\n | 'materials'\n | 'modules'\n | 'render_graphs'\n | 'scenes'\n | 'scripts'\n | 'shaders'\n | 'volume_materials';\n/** Signature that can be used to verify the authenticity of a request. */\nexport type X3dverseSignature = string;\n/** Unix timestamp of when the signature was generated, in milliseconds. */\nexport type X3dverseSignatureTimestamp = number;\n/** The body of every error response */\nexport type ErrorResponse = {\n error: ServiceError;\n};\n/** The kind of token authenticating a request */\nexport type SessionType = 'ApiKey' | 'UserToken' | 'GuestToken';\n/** What a token lets its holder do, each scope allowing what the ones before it allow */\nexport type SecurityScope = 'read' | 'write' | 'manage';\nexport type UserContribution = {\n user: User;\n contribution_count: number;\n};\n/** The task is awaiting for a worker to be available. */\nexport type PendingStatus = 'pending';\n/** The task is being processed. */\nexport type ConvertingStatus = 'converting';\n/** The task failed to convert the source file. */\nexport type ErrorStatus = 'error';\n/** The task was successfully processed, and the asset is ready to use. */\nexport type SuccessStatus = 'success';\nexport type DuplicationResult = AssetDuplicationResult;\nexport type GroupMemberInput = {\n user_id: UserId;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n};\n/**\n * The folder object contains items that you import into 3dverse.\n * These items can be either a source file or an asset.\n */\nexport type FolderInput = {\n /** Folder name */\n name: string;\n subfolders?: Array<FolderInput>;\n};\nexport type EditableAssetDescriptionInput =\n | {\n actions: {\n [action_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n }\n | {\n /** Inputs used by the graph */\n inputDescriptor: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Animation state machines */\n stateMachines: Array<{\n /** States of the state machine */\n states?: Array<{\n /** The name of the state */\n name?: string;\n /** The nodes of this state's animation graph */\n nodes?: Array<{\n /** Indices of input nodes of the parent animation graph */\n inputs?: Array<number>;\n /** Type of the node */\n nodeType?: StrictUnion<0 | 1 | 2 | 3 | 100 | 101 | 200 | 201>;\n /** Settings associated to this node */\n settings?: StrictUnion<\n | {\n /** The animation to play */\n animationKey: number;\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 1D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: number;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n }\n | {\n /** 2D control points */\n controlPoints: Array<{\n animationKey: number;\n coords: Array<number>;\n }>;\n /** Horizontal axis */\n horizontalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n /** Whether the animation should loop back to the start when done */\n loop?: boolean;\n /** Multiplier factor for the speed */\n playbackSpeed?: number;\n /** Change the animation starting point. Expects a normalized value from 0 to 1 */\n startOffset?: number;\n /** Change the animation ending point. Expects a normalized value from 0 to 1 */\n stopOffset?: number;\n /** Vertical axis */\n verticalAxis: {\n /** The axis name */\n name: string;\n /** Maximum value of the axis */\n rangeMax: number;\n /** Minimum value of the axis */\n rangeMin: number;\n };\n }\n | {\n /** Bone mask keys. Used to find the corresponding bone mask in the animation set */\n boneMasks: Array<number>;\n /** Blend weights */\n weights: Array<number | string>;\n }\n | {\n /** Probabilities of each input animation to be selected */\n probabilities: Array<number>;\n }\n | {\n /** Index of the state machine to run */\n stateMachineIndex: number;\n }\n | {\n /** End bone. This bone will try to reach the target. */\n endBone: number | string;\n /** Mid bone. Must be ancestor of end bone. */\n midBone: number | string;\n /** The pole vector which defines where the direction the middle bone should point to, allowing to control IK chain orientation. In model space of the skeleton. */\n poleVector: Array<number> | string;\n /** Soften ratio, allowing the chain to gradually fall behind the target position. This prevents the bone chain from snapping into the final position, softening the final degrees before the bone chain becomes flat */\n soften: number | string;\n /** Start bone. Must be ancestor of mid bone. */\n startBone: number | string;\n /** The target which the endBone will try to reach. In world space */\n target: Array<number> | string;\n /** Twist angle rotates IK chain around the vector defined by start-to-target vector */\n twistAngle: number | string;\n /** Weight given to the whole IK process, allowing blending in and out */\n weight: number | string;\n }\n | {\n /** This is the bone which will aim at the target */\n aimingBone: number | string;\n /** Weight given to IK for each bone of the chain (except for the last bone which is 1). This directly affect correction spreading */\n boneWeight: number | string;\n /** Number of bones (from the predefined hierarchy) that are corrected by IK */\n chainLength: number | string;\n /** Weight given to the whole aim process, allowing blending in and out */\n chainWeight: number | string;\n /** Bone space forward vector. Default is z axis. */\n forward: Array<number> | string;\n /** Offset position from the aiming bone in local-space, that will aim at target */\n offset: Array<number> | string;\n /** The target that the forward vector will be aimed towards. In world space */\n target: Array<number> | string;\n /** Bone space up vector. Used to keep the bone oriented in the same direction as the pole vector. Default is y axis. */\n up: Array<number> | string;\n }\n >;\n }>;\n /** The transitions coming from the current state */\n transitionIndices?: Array<number>;\n }>;\n /** All transition between all states */\n transitions?: Array<{\n /** A variant of either exit time, data object entry or transition func index (depending on transition type) */\n condition?: number | string | number;\n /** The duration of the transition for blending purposes */\n durationInMs?: number;\n /** The index of the state to transition to */\n nextStateIndex?: number;\n /** The transition type. */\n type?: StrictUnion<0 | 1 | 2 | 3>;\n }>;\n }>;\n }\n | {\n /** Duration of the animation in milliseconds */\n durationInMs: number;\n /** Name of the asset */\n name: string;\n /** The size in byte of the compiled animation sequence library */\n payloadSize?: number;\n /** The array of track UUIDs at play in this animation sequence */\n trackUUIDs: Array<string>;\n }\n | {\n /** Parent animation graph */\n animationGraphUUID: string;\n /** The animation set */\n animationSet: Array<{\n /** Key of the animation in the animation graph */\n animationKey: number;\n /** The referenced animation for the specified key */\n animationRef: string;\n }>;\n /** The bone mask set */\n boneMaskSet?: Array<{\n /** The bone mask. An array of floats which corresponds to the weight per bone */\n boneMask: Array<number>;\n /** Key of the bone mask in the animation graph */\n boneMaskKey: number;\n }>;\n /** Name of the asset */\n name: string;\n }\n | {\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n }\n | {\n /** A map of events and their parameters descriptors */\n events: {\n /** Event name to parameters descriptor */\n [event_name: string]: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n };\n /** Name of the asset */\n name: string;\n }\n | {\n /** Data object following the descriptor of the attached shader */\n dataJson: {\n [_additionalproperties_: string]: any;\n };\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n }\n | {\n functions: {\n [function_name: string]: {\n [_additionalproperties_: string]: any;\n };\n };\n /** Name of the asset */\n name: string;\n }\n | {\n /** All blend states */\n blendStateDescriptions?: Array<{\n /** Selects which blend operation is used to calculate the alpha values to write to the color attachment. */\n alphaBlendOp?: number;\n /** Controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source fragment\u2019s color for that attachment is passed through unmodified. */\n blendEnable?: boolean;\n /** Selects which blend operation is used to calculate the RGB values to write to the color attachment. */\n colorBlendOp?: number;\n /** Bitmask of VkColorComponentFlagBits specifying which of the R, G, B, and/or A components are enabled for writing, as described for the Color Write Mask. */\n colorWriteMask?: number;\n /** Selects which blend factor is used to determine the destination factor Da. */\n dstAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the destination factors (Dr,Dg,Db). */\n dstColorBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factor Sa. */\n srcAlphaBlendFactor?: number;\n /** Selects which blend factor is used to determine the source factors (Sr,Sg,Sb). */\n srcColorBlendFactor?: number;\n }>;\n /** Descriptions of all buffers */\n bufferDescriptions?: Array<{\n /** 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 */\n elementCount?: number | Array<number>;\n /** Size in bytes of a single element in the buffer */\n elementSize?: number;\n /** Buffer name */\n name?: string;\n /** How this buffer is going to be used */\n usage?: number;\n }>;\n /** Conditions referenced by conditionIndex */\n conditions?: Array<string>;\n /** The index of the render target to blit into the canvas */\n defaultRenderTargetIndex?: number;\n /** The order in which to interpret the nodes */\n graphOrder: Array<Array<number>>;\n /** Input descriptor used to parse input data */\n inputDescriptor: Array<{\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'texture2d_ref'\n | 'stencil_op'\n | 'render_target_index'\n | 'buffer_reference'\n | 'string'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n /** Parameter type */\n type:\n | 'texture'\n | 'stencil_op'\n | 'render_target'\n | 'buffer'\n | 'string'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4';\n }>;\n /** Name of the asset */\n name: string;\n /** Descriptions of all nodes */\n nodeDataDescriptions: Array<\n (\n | {\n type: 0;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 1;\n }\n | {\n /** 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 */\n batchType?: number;\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 2;\n }\n | {\n /** @deprecated Const data type */\n constDataType?: (\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24\n ) &\n number;\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 3;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 4;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 5;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 6;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Destination render target */\n outputRenderTargetIndices?: Array<number>;\n type: 7;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 8;\n }\n | {\n filter?: number;\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n type: 9;\n }\n | {\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n type: 10;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Source render target */\n inputRenderTargetIndices?: Array<number>;\n /** Mip generation mode */\n mode?: (0 | 1) & number;\n /** A reference to a shader */\n shaderRef?: string;\n type: 11;\n }\n | {\n /** Clear value */\n clearValue?:\n | Array<number>\n | Array<number>\n | Array<number>\n | {\n depth: number;\n stencil: number;\n };\n /** Type of clearValue */\n clearValueType?: StrictUnion<0 | 1 | 2 | 3>;\n /** Render targets to clear */\n outputRenderTargetIndices?: Array<number>;\n type: 13;\n }\n | {\n /** Name of the buffer */\n bufferName?: string;\n /** Offset in the buffer */\n bufferOffset?: number;\n /** Size of the buffer; 0 for whole size */\n bufferSize?: number;\n /** Value to fill the buffer with */\n bufferValue?: number;\n type: 15;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Description of a shader pipeline */\n pipelineDescription?: {\n /** Index of the stencil state for back face rendering */\n backFaceStencilOpStateIndex?: number;\n /** Color blend attachement states */\n blendStateIndices?: Array<number>;\n /** Cull mode */\n cullMode?: number;\n /** Whether to enable depth bias or not */\n depthBiasEnable?: boolean;\n /** Depth compare operator */\n depthCompareOp?: number;\n /** Wether to enable depth test or not */\n depthTestEnable?: boolean;\n /** Wether to enable depth write or not */\n depthWriteEnable?: boolean;\n /** Front face */\n frontFace?: number;\n /** Index of the stencil state for front face rendering */\n frontFaceStencilOpStateIndex?: number;\n /** Polygon mode */\n polygonMode?: number;\n /** Primitive topology */\n topology?: number;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 16;\n }\n | {\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Index into shaderContexts of the descriptor providing the shader context data for this node */\n shaderContextIndex: number;\n type: 17;\n }\n | {\n /** Depth bias clamp */\n depthBiasClamp?: number;\n /** Depth bias constant factor */\n depthBiasConstantFactor?: number;\n /** Depth bias slope factor */\n depthBiasSlopeFactor?: number;\n type: 18;\n }\n | {\n /** Specialization constants values for the specified shader */\n constantsJson?: {\n [_additionalproperties_: string]: any;\n };\n /** Data provided to the shader through the node data buffer */\n dataJson?: {\n [_additionalproperties_: string]: any;\n };\n /** A reference to a shader */\n shaderRef?: string;\n type: 19;\n }\n ) & {\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** Node name */\n name?: string;\n /** Node type */\n type: (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19) &\n number;\n }\n >;\n /** The index of the render target used for occlusion */\n occlusionInputDepthRenderTargetIndex?: number;\n /** Descriptions of all render passes */\n renderPassDescriptions: Array<{\n /** The attachments clear colors */\n attachmentClearColors?: Array<Array<number>>;\n /** The attachment descriptions */\n attachmentDescriptions?: Array<{\n /** Final layout */\n finalLayout?: number;\n /** Attachment description flags */\n flags?: number;\n /** Format */\n format?: number;\n /** Initial layout */\n initialLayout?: number;\n /** Load op */\n loadOp?: number;\n /** Sample count */\n samples?: number;\n /** Stencil load op */\n stencilLoadOp?: number;\n /** Stencil store op */\n stencilStoreOp?: number;\n /** Store op */\n storeOp?: number;\n }>;\n /** The indices of the render targets used as color attachments for this render pass */\n colorAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as color attachments for this render pass */\n colorAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Index into the conditions array; -1 if unconditional */\n conditionIndex?: number;\n /** The index of the render target used as depth attachment for this render pass */\n depthAttachmentIndex?: number;\n /** The attachment reference of the render target used as depth attachment for this render pass */\n depthAttachmentReference?: {\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n };\n /** Render pass name */\n name?: string;\n /** The indices of the nodes composing this render pass */\n nodeIndices?: Array<number>;\n /** The indices of the render targets used as resolve attachments for this render pass */\n resolveAttachmentIndices?: Array<number>;\n /** The attachment references of the render targets used as resolve attachments for this render pass */\n resolveAttachmentReferences?: Array<{\n /** Attachment */\n attachment?: number;\n /** Layout */\n layout?: number;\n }>;\n /** Multisampling */\n sampleCount?: number;\n }>;\n /** Descriptions of all render targets */\n renderTargetDescriptions: Array<{\n /** The aspect of the image to use, in the graph */\n aspect?: number;\n /** The denoiser target this render target maps to */\n denoiserTarget?: (-1 | 0 | 1 | 2 | 3) & number;\n /** The extent of the render target, leave at 0 to use the canvas extent */\n extent?: Array<number>;\n /** Flags to use on image creation */\n flags?: number;\n /** Format of the render target */\n format?: number;\n /** Memory type */\n memoryType?: (0 | 1 | 2 | 3) & number;\n /** How the image is accessed */\n memoryUsage?: (0 | 1 | 2 | 3) & number;\n /** Minimum mip size, leave at 0 for single mip level */\n minMipSize?: number;\n /** Render target name */\n name?: string;\n /** The picking target this render target maps to */\n pickingTarget?: (-1 | 0 | 1) & number;\n /** Number of samples per pixel */\n sampleCount?: number;\n /** THe sampler to use when accessing this render target */\n samplerType?: number;\n /** Tiling of the image */\n tiling?: number;\n /** How this render target is going to be used */\n usage?: number;\n }>;\n /** Data descriptors for the shader contexts referenced by shaderContextIndex */\n shaderContexts?: Array<\n Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>\n >;\n /** All stencil states */\n stencilOpStateDescriptions?: Array<{\n /** Compare mask */\n compareMask?: number;\n /** Compare operator */\n compareOp?: number;\n /** Depth fail operator */\n depthFailOp?: number;\n /** Fail operator */\n failOp?: number;\n /** Pass operator */\n passOp?: number;\n /** Reference */\n reference?: number;\n /** Write mask */\n writeMask?: number;\n }>;\n }\n | {\n /** Bounding box in local space */\n aabb: {\n /** Maximum point of the box */\n max: Array<number>;\n /** Minimum point of the box */\n min: Array<number>;\n };\n /** Flat list of entities */\n entities: Array<{\n [_additionalproperties_: string]: any;\n }>;\n /** Name of the asset */\n name: string;\n /** Total number of direct triangles in the scene */\n triangleCount?: number;\n }\n | {\n /** The events that the script listens to, referenced by name */\n eventNames?: Array<string>;\n /** The description of the data object that the caller should provide to the script */\n inputDescriptor?: Array<{\n /** Parameter default value */\n default?:\n | number\n | string\n | boolean\n | Array<number>\n | {\n [_additionalproperties_: string]: any;\n };\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'entity_ref'\n | 'int32_t'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n /** Parameter type */\n type:\n | 'entity'\n | 'bool'\n | 'int'\n | 'uint'\n | 'float'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'mat4'\n | 'string';\n }>;\n /** Name of the asset */\n name: string;\n /** An optional list of references to other scripts that the current script might call */\n subScripts?: Array<string>;\n }\n | {\n /** The blend mode for the shader, used for batching purposes. Only valid for material shaders */\n blendMode?: StrictUnion<0 | 1 | 2 | 3>;\n /** Compute shader settings. Only valid for compute shaders */\n computeSettings?: {\n /** Global group reference */\n sizeReference?: StrictUnion<0 | 1 | 2 | 3>;\n /** Size of the workgroup */\n workgroupSize?: Array<number>;\n /** Scaling factor to apply to the total workgroup count */\n workloadScalingFactor?: Array<number>;\n };\n /** Data descriptor for specialization constants */\n constantDescriptor?: Array<{\n /** Constant default value */\n default: number | boolean;\n /** Description */\n description?: string;\n /** Display name */\n displayName?: string;\n /** Constant name */\n name: string;\n /** Constant type */\n type: 'bool' | 'int' | 'uint' | 'float';\n }>;\n /** GLSL extensions required by this shader, detected from the SPIR-V capabilities declared by its compiled modules */\n glslExtensions?: Array<{\n /** SPIR-V capability id that requires this extension (e.g. 5347 for PhysicalStorageBufferAddresses) */\n capabilityId: number;\n /** GLSL extension name, e.g. \"GL_EXT_buffer_reference\" */\n name: string;\n }>;\n /** Data descriptor for material shaders */\n materialDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Descriptions of all modules that compose this shader */\n moduleDescriptions?: Array<{\n /** Names of the bindings used by this module */\n bindings?: Array<string>;\n /** Constants used by this module */\n constants?: {\n [_additionalproperties_: string]: Array<number>;\n };\n /** Entry point of the shader module */\n entryPoint?: string;\n /** 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 */\n outputs?: Array<{\n /** Output location */\n location: number;\n /** Output variable name */\n name: string;\n /** Output variable type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** Offset in byte in the shader payload buffer */\n payloadOffset: number;\n /** Size in byte of the compiled module */\n payloadSize: number;\n /** Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages */\n pushConstants?: Array<{\n /** Push constant member name */\n name: string;\n /** Offset in byte within the push constant block */\n offset: number;\n /** Size in byte of the push constant member */\n size: number;\n /** Push constant member type */\n type:\n | 'bool'\n | 'int8'\n | 'int16'\n | 'int32'\n | 'int64'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'uint64'\n | 'float16'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'pointer';\n }>;\n /** The shader stage */\n shaderStage: number;\n /** Bit mask of the descriptor bindings used by this module, bit N for binding N */\n usedBindings: number;\n }>;\n /** Name of the asset */\n name: string;\n /** Data descriptor for render graph node shaders */\n nodeDataDescriptor?: Array<{\n /** 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 */\n bufferProperties?: {\n /** 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 */\n elementCount: number | Array<number>;\n /** Size in bytes of a single element in the buffer. If the buffer is declared as `T *buffer`, this is sizeof(T) */\n elementSize: number;\n /** How this buffer is going to be used */\n usage: number;\n };\n /** Categories */\n categories?: Array<string>;\n /** Parameter default value */\n default?: number | boolean | Array<number>;\n /** Description of the parameter, shown by tools. Not read by the engine */\n description?: string;\n /** 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 */\n id?: number;\n /** 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) */\n isReferenceResource?: boolean;\n /** For a parameter holding one of a set of values: each value, named and described for tools. Not read by the engine */\n list?: Array<{\n description?: string;\n name: string;\n value: number;\n }>;\n /** Parameter name */\n name: string;\n /** Parameter native type */\n nativeType:\n | 'vec4'\n | 'vec3'\n | 'vec2'\n | 'float'\n | 'int32_t'\n | 'texture2d_ref'\n | 'render_target_index'\n | 'buffer_reference';\n /** Parameter offset in bytes */\n offset: number;\n /** Additional properties gating this parameter's relevance and/or driving how it's interpreted by tooling (e.g. the material editor) */\n properties?: {\n /** For a parameter of type \"texture\" or \"render_target_index\": the underlying pixel type's exact format */\n format?:\n | 'int32'\n | 'uint32'\n | 'int64'\n | 'uint64'\n | 'float32'\n | 'float64'\n | 'vec2'\n | 'ivec2'\n | 'vec3'\n | 'ivec3'\n | 'vec4'\n | 'ivec4'\n | 'color3'\n | 'color4';\n /** For a parameter of type \"buffer\" or \"render_target_index\": how the underlying resource is accessed */\n openMode?: 'read' | 'write' | 'readwrite';\n /** 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) */\n spec?: {\n [_additionalproperties_: string]: number | boolean;\n };\n };\n /** Parameter type */\n type:\n | 'vec4'\n | 'ivec4'\n | 'quat'\n | 'color_alpha'\n | 'vec3'\n | 'ivec3'\n | 'color'\n | 'vec2'\n | 'ivec2'\n | 'float'\n | 'int'\n | 'uint'\n | 'bool'\n | 'texture'\n | 'render_target_index'\n | 'buffer';\n }>;\n /** Hash of the node data descriptor, used to detect changes in the descriptor */\n nodeDataDescriptorHash?: number;\n /** The size in byte of the compiled shader code (accumulated size of all modules) */\n payloadSize?: number;\n /** Reference to the shader context associated with this shader. Only present for shaders that use one. */\n shaderContextRef?: string;\n /** Vulkan bit mask of all shader stages present in this shader */\n shaderStages?: number;\n /** Vertex description. Only valid when a vertex shader module is present */\n vertexDescriptor?: Array<{\n /** Binding number */\n binding: number;\n /** Format */\n format: number;\n /** Location */\n location: number;\n /** Offset */\n offset: number;\n /** Semantic */\n semantic: (1 | 2 | 4 | 8 | 16 | 32) & number;\n /** Stride between consecutive elements within the buffer */\n stride: number;\n }>;\n }\n | {\n /** The albedo look up table */\n albedoLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The metallic look up table */\n metallicLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** Name of the asset */\n name: string;\n /** The opacity look up table */\n opacityLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n /** The maximum voxel value handled by the material */\n rangeMax: number;\n /** The minimum voxel value handled material */\n rangeMin: number;\n /** The roughness look up table */\n roughnessLUT?: Array<{\n /** The normalized key for this entry */\n key?: number;\n /** The value associated to the key */\n value?: Array<number> | number;\n }>;\n };\n\n//--------------------------------------------------------------------------\nexport class AssetSourceFileNotFound extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1018;\n declare readonly asset_id: AssetId;\n constructor(serviceError: Record<string, unknown>) {\n super(1018, 404, 'The asset was imported from no source file', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InsufficientPermissions extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1002;\n /** The permissions the caller misses, per resource */\n declare readonly missing_permissions?: Array<{\n id: string;\n /** The resource type, e.g. folders */\n type: string;\n permissions: Array<string>;\n }>;\n constructor(serviceError: Record<string, unknown>) {\n super(1002, 403, 'Insufficient permissions', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidAuthorization extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1003;\n declare readonly session_type: SessionType;\n constructor(serviceError: Record<string, unknown>) {\n super(1003, 403, 'This operation is not allowed with this kind of token', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InsufficientSecurityScope extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1004;\n declare readonly current_scope: SecurityScope;\n declare readonly required_scope: SecurityScope;\n constructor(serviceError: Record<string, unknown>) {\n super(1004, 403, 'This operation is not permitted with the scope of this token', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class Unauthorized extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1005;\n declare readonly session_type: SessionType;\n constructor(serviceError: Record<string, unknown>) {\n super(1005, 401, 'Invalid or expired token', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class EnvironmentMismatch extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1006;\n declare readonly user_id: UserId;\n constructor(serviceError: Record<string, unknown>) {\n super(1006, 403, 'User is not part of the current environment', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class MissingAuthorizationHeader extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1011;\n\n constructor(serviceError: Record<string, unknown>) {\n super(1011, 401, 'Missing api key or user token', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidApiKey extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1012;\n\n constructor(serviceError: Record<string, unknown>) {\n super(1012, 401, 'Invalid api key', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidGuestToken extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1016;\n\n constructor(serviceError: Record<string, unknown>) {\n super(1016, 403, 'You are not allowed to use this guest token for this session', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidTokenTtl extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1017;\n /** The time to live asked */\n declare readonly ttl: string;\n constructor(serviceError: Record<string, unknown>) {\n super(1017, 400, 'The time to live of a user token is a duration from 1 minute to 14 days', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class UploadedPayloadTooLarge extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1007;\n /** The maximum upload size of the environment, in bytes */\n declare readonly max_size: number;\n constructor(serviceError: Record<string, unknown>) {\n super(1007, 413, 'Upload payload size exceeds the maximum allowed', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class NoFileUploaded extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1008;\n\n constructor(serviceError: Record<string, unknown>) {\n super(1008, 422, 'No file uploaded', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class UploadAborted extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1009;\n\n constructor(serviceError: Record<string, unknown>) {\n super(1009, 422, 'Upload aborted', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class UploadTaskNotFound extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1010;\n declare readonly upload_task_id: UploadTaskId;\n constructor(serviceError: Record<string, unknown>) {\n super(1010, 404, 'Upload task not found', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidMaterial extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1013;\n declare readonly material_ids: Array<AssetId>;\n constructor(serviceError: Record<string, unknown>) {\n super(1013, 400, 'Some of the asset ids are not materials', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class InvalidRequest extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1014;\n declare readonly reason: string;\n constructor(serviceError: Record<string, unknown>) {\n super(1014, 400, 'Invalid request', serviceError);\n Object.assign(this, serviceError);\n }\n}\nexport class ConversionTaskNotFound extends ServiceErrorResponse {\n static readonly ERROR_CODE = 1015;\n declare readonly conversion_task_id: ConversionTaskId;\n constructor(serviceError: Record<string, unknown>) {\n super(1015, 404, 'Conversion task not found', serviceError);\n Object.assign(this, serviceError);\n }\n}\n/** The errors the spec declares. */\nexport type DeclaredError =\n | AssetSourceFileNotFound\n | InsufficientPermissions\n | InvalidAuthorization\n | InsufficientSecurityScope\n | Unauthorized\n | EnvironmentMismatch\n | MissingAuthorizationHeader\n | InvalidApiKey\n | InvalidGuestToken\n | InvalidTokenTtl\n | UploadedPayloadTooLarge\n | NoFileUploaded\n | UploadAborted\n | UploadTaskNotFound\n | InvalidMaterial\n | InvalidRequest\n | ConversionTaskNotFound;\nconst declaredErrors: Record<number, new (serviceError: Record<string, unknown>) => DeclaredError> = {\n 1018: AssetSourceFileNotFound,\n 1002: InsufficientPermissions,\n 1003: InvalidAuthorization,\n 1004: InsufficientSecurityScope,\n 1005: Unauthorized,\n 1006: EnvironmentMismatch,\n 1011: MissingAuthorizationHeader,\n 1012: InvalidApiKey,\n 1016: InvalidGuestToken,\n 1017: InvalidTokenTtl,\n 1007: UploadedPayloadTooLarge,\n 1008: NoFileUploaded,\n 1009: UploadAborted,\n 1010: UploadTaskNotFound,\n 1013: InvalidMaterial,\n 1014: InvalidRequest,\n 1015: ConversionTaskNotFound,\n};\n/**\n * The error declared in the spec that a request failed with, or undefined: read from the error a function of this\n * client rejected with, e.g. `if (errorOf(error) instanceof FolderNotFound)`.\n */\nexport function errorOf(error: unknown): DeclaredError | undefined {\n if (Object.values(declaredErrors).some(declared => error instanceof declared)) {\n return error as DeclaredError;\n }\n const failure = error as { serviceError?: unknown; response?: { data?: { error?: unknown } } } | null | undefined;\n const serviceError = (failure?.serviceError ?? failure?.response?.data?.error) as\n Record<string, unknown> | undefined;\n const errorCode = serviceError?.errorCode;\n const declared = typeof errorCode === 'number' ? declaredErrors[errorCode] : undefined;\n return declared ? new declared(serviceError!) : undefined;\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieve a list of all users in the current application.\n */\nexport function listUsers(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<User>> {\n return axiosInstance({\n method: 'get',\n url: '/users',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Registers the target user in the current application.\n */\nexport function registerUser(\n {\n username,\n }: {\n /** Used only for debug purposes */\n username: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<User> {\n return axiosInstance({\n method: 'post',\n url: '/users',\n data: {\n username: username,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieves details about the current user.\n */\nexport function getCurrentUser(headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<User> {\n return axiosInstance({\n method: 'get',\n url: '/users/me',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieves details about the target user.\n */\nexport function getUser(\n {\n user_id,\n }: {\n user_id: UserId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<User> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + encodeURIComponent(user_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates the details of the target user.\n */\nexport function updateUser(\n {\n user_id,\n username,\n }: {\n user_id: UserId;\n /** Used only for debug purposes */\n username: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/users/' + encodeURIComponent(user_id) + '',\n data: {\n username: username,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes a registered user of the environment. What it created stays, naming it under a placeholder username; its\n * accesses and the public access tokens impersonating it are deleted, and its user tokens are refused from then on.\n * A user cannot delete itself, nor the environment's tenant or an account user be deleted.\n */\nexport function deleteUser(\n {\n user_id,\n }: {\n user_id: UserId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/users/' + encodeURIComponent(user_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Generates a user token. This user token identifies the user when making a request, with the scope it was generated\n * with, until it expires. It cannot be revoked.\n */\nexport function generateUserToken(\n {\n user_id,\n scope,\n ttl = '1h',\n }: {\n user_id: UserId;\n /** Token permission scope */\n scope: 'read' | 'write' | 'manage';\n /**\n * Time to live, from 1 minute to 14 days, e.g. `30m`, `1h`, `7d` or `1h 30m`, a number alone counting\n * seconds\n */\n ttl?: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Token> {\n return axiosInstance({\n method: 'post',\n url: '/users/' + encodeURIComponent(user_id) + '/tokens',\n data: {\n scope: scope,\n ttl: ttl,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all user groups.\n */\nexport function getUserGroups(\n {\n user_id,\n }: {\n user_id: UserId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<Group>> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + encodeURIComponent(user_id) + '/groups',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all upload tasks of the target user.\n */\nexport function getUserUploadTasks(\n {\n user_id,\n offset = 0,\n limit = 10,\n }: {\n user_id: UserId;\n offset?: number;\n limit?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<UploadTask>> {\n return axiosInstance({\n method: 'get',\n url: '/users/' + encodeURIComponent(user_id) + '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a new user group.\n */\nexport function createGroup(\n {\n name,\n description,\n members,\n }: {\n name: string;\n description?: string;\n members: Array<GroupMemberInput>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Group> {\n return axiosInstance({\n method: 'post',\n url: '/groups',\n data: {\n name: name,\n description: description,\n members: members,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets a group details.\n */\nexport function getGroup(\n {\n group_id,\n }: {\n group_id: GroupId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Group> {\n return axiosInstance({\n method: 'get',\n url: '/groups/' + encodeURIComponent(group_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates a group details.\n */\nexport function updateGroupDescription(\n {\n group_id,\n name,\n description,\n }: {\n group_id: GroupId;\n name: string;\n description: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/groups/' + encodeURIComponent(group_id) + '',\n data: {\n name: name,\n description: description,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes a group and all its access rights.\n */\nexport function deleteGroup(\n {\n group_id,\n }: {\n group_id: GroupId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/groups/' + encodeURIComponent(group_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Grants member access to the group.\n */\nexport function grantMemberAccessToGroup(\n {\n group_id,\n member_type,\n member_id,\n group_access,\n folder_access,\n }: {\n group_id: GroupId;\n member_type: 'users' | 'groups';\n member_id: string;\n group_access: 'read' | 'write' | 'manage';\n folder_access: 'read' | 'write' | 'manage';\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url:\n '/groups/' +\n encodeURIComponent(group_id) +\n '/members/' +\n encodeURIComponent(member_type) +\n '/' +\n encodeURIComponent(member_id) +\n '',\n data: {\n group_access: group_access,\n folder_access: folder_access,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Revoke requested user access to group.\n */\nexport function revokeMemberAccessToGroup(\n {\n group_id,\n member_type,\n member_id,\n }: {\n group_id: GroupId;\n member_type: 'users' | 'groups';\n member_id: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url:\n '/groups/' +\n encodeURIComponent(group_id) +\n '/members/' +\n encodeURIComponent(member_type) +\n '/' +\n encodeURIComponent(member_id) +\n '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all accessible folders.\n */\nexport function listFolders(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<FolderList> {\n return axiosInstance({\n method: 'get',\n url: '/folders',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a folder.\n */\nexport function createFolder(\n {\n name,\n subfolders,\n }: {\n /** Folder name */\n name: string;\n subfolders?: Array<FolderInput>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Folder> {\n return axiosInstance({\n method: 'post',\n url: '/folders',\n data: {\n name: name,\n subfolders: subfolders,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the requested folder details.\n */\nexport function getFolderInfo(\n {\n folder_id,\n }: {\n folder_id: FolderId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Folder> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move folders inside the specified folder.\n */\nexport function moveFolders(\n {\n folder_id,\n folder_ids,\n }: {\n folder_id: FolderId;\n folder_ids: Array<FolderId>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + encodeURIComponent(folder_id) + '',\n data: folder_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates the folder details.\n */\nexport function updateFolder(\n {\n folder_id,\n name,\n }: {\n folder_id: FolderId;\n /** Folder name */\n name: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/folders/' + encodeURIComponent(folder_id) + '',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the requested folder. The target folder must be empty.\n */\nexport function deleteFolder(\n {\n folder_id,\n }: {\n folder_id: FolderId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/folders/' + encodeURIComponent(folder_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * List member access to the targeted folder.\n */\nexport function listFolderAccesses(\n {\n folder_id,\n }: {\n folder_id: FolderId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n users?: Array<{\n user_id: UserId;\n /** Used only for debug purposes */\n username: string;\n access: 'read' | 'write' | 'manage';\n }>;\n groups?: Array<{\n group_id: GroupId;\n name: string;\n access: 'read' | 'write' | 'manage';\n }>;\n}> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/access',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Grants member access to the targeted folder.\n */\nexport function grantMemberAccessToFolder(\n {\n folder_id,\n member_type,\n member_id,\n access,\n }: {\n folder_id: FolderId;\n member_type: 'users' | 'groups';\n member_id: string;\n access: 'read' | 'write' | 'manage';\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url:\n '/folders/' +\n encodeURIComponent(folder_id) +\n '/access/' +\n encodeURIComponent(member_type) +\n '/' +\n encodeURIComponent(member_id) +\n '',\n data: {\n access: access,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Revokes member access to a target folder.\n */\nexport function revokeMemberAccessToFolder(\n {\n folder_id,\n member_type,\n member_id,\n }: {\n folder_id: FolderId;\n member_type: 'users' | 'groups';\n member_id: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url:\n '/folders/' +\n encodeURIComponent(folder_id) +\n '/access/' +\n encodeURIComponent(member_type) +\n '/' +\n encodeURIComponent(member_id) +\n '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a subfolder.\n */\nexport function createSubfolder(\n {\n folder_id,\n name,\n subfolders,\n }: {\n folder_id: FolderId;\n /** Folder name */\n name: string;\n subfolders?: Array<FolderInput>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Folder> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + encodeURIComponent(folder_id) + '/folders',\n data: {\n name: name,\n subfolders: subfolders,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all subfolders of requested folder. This request can be recursive.\n */\nexport function listFolderSubFolders(\n {\n folder_id,\n }: {\n folder_id: FolderId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<Folder>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/folders',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Uploads the specified source file(s). The accepted extensions, their conversion type and\n * per-converter options are listed by `GET /source-files/supported-formats` and documented at\n * https://docs.3dverse.com/references/supported-file-formats.\n * ### Importing an asset package\n * With the `package` conversion pipeline, the source files are already converted assets, imported as they are,\n * submitted as zip archives (asset packages) or as the asset files themselves. The asset files are named\n * `<part>.<asset_type>[.<sub resource>].<uuid>`, where the part is `desc` (the asset description, in JSON),\n * `payload`, `graph` or `layout`, for example `desc.mesh.<uuid>`, `payload.mesh.<uuid>` or\n * `payload.texture.mip0.<uuid>`. The assets they reference must be submitted along with them, unless they already\n * exist. The submitted assets that already exist are overwritten only if they are listed in an `overwrite.json`\n * file, a JSON array of asset ids submitted along with them; without it, the import fails if one of them already\n * exists.\n * The import runs asynchronously, as a data pipeline:\n * 1. `GET /pipelines/{pipeline_id}`, with the returned `upload_task_id` as the pipeline id, tells its status and,\n * on failure, the reason, such as the invalid assets or the missing permissions.\n * 2. Once it has succeeded, `GET /conversion_tasks/{conversion_task_id}/metadata/import_result.json`, with the id\n * of the pipeline job as the conversion task id, returns the imported, overwritten and skipped asset ids.\n */\nexport function uploadSourceFiles(\n {\n folder_id,\n files,\n task_name,\n conversion_pipeline = 'auto-detect',\n source_files,\n options,\n }: {\n folder_id: FolderId;\n /** The source files to upload, each with its file name. Files are accepted under any field name. */\n files?: Array<Blob>;\n /** The name of the upload task, the name of the first source file by default. */\n task_name?: string;\n conversion_pipeline: ConversionPipeline;\n /**\n * Instead of submitting a source file as a multipart/form-data field, you can also submit a URL to a source file.\n * This is useful if you want to upload a source file that is already available on a storage service,\n * or upload a source file that is too large to upload via the API.\n */\n source_files?: Array<{\n /** The name of the source file. */\n name: string;\n /** The URL of the source file, it must be publicly accessible, unless an Authorization header is provided. */\n url: string;\n /** Optional Authorization header value used for the download request. */\n authorization?: string;\n }>;\n /** Options for the conversion pipeline. For future use. */\n options?: {\n [_additionalproperties_: string]: any;\n };\n },\n onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n upload_task_id?: UploadTaskId;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + encodeURIComponent(folder_id) + '/source-files',\n data: multipartBody(\n {\n task_name: task_name,\n conversion_pipeline: conversion_pipeline,\n source_files: source_files,\n options: options,\n },\n {\n files: files,\n },\n ),\n onUploadProgress: onUploadProgress,\n headers: {\n 'Content-Type': 'multipart/form-data',\n ...plainHeaders(headers),\n },\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all source files in a folder.\n */\nexport function getSourceFilesInFolder(\n {\n folder_id,\n offset = 0,\n limit = 10,\n filters,\n }: {\n folder_id: FolderId;\n offset?: number;\n limit?: number;\n filters?: {\n source_file_name?: string;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<SourceFile>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/source-files',\n params: {\n offset: offset,\n limit: limit,\n filters: filters,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-source-files-count'] = JSON.parse(response.headers['x-source-files-count']) as number;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move source files inside the specified folder.\n */\nexport function moveSourceFiles(\n {\n folder_id,\n source_file_ids,\n }: {\n folder_id: FolderId;\n source_file_ids: Array<SourceFileId>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + encodeURIComponent(folder_id) + '/source-files',\n data: source_file_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all upload tasks in a folder.\n */\nexport function getUploadTasksInFolder(\n {\n folder_id,\n offset = 0,\n limit = 10,\n }: {\n folder_id: FolderId;\n offset?: number;\n limit?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<UploadTask>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists assets.\n */\nexport function getFolderAssets(\n {\n folder_id,\n offset = 0,\n limit = 10,\n filter,\n recursive = false,\n }: {\n folder_id: FolderId;\n offset?: number;\n limit?: number;\n filter?: AssetListFilters;\n recursive?: boolean;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/assets',\n params: {\n offset: offset,\n limit: limit,\n filter: filter,\n recursive: recursive,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-assets-count'] = JSON.parse(response.headers['x-assets-count']) as AssetsCount;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a new asset.\n */\nexport function createAsset(\n {\n folder_id,\n asset_creation_options,\n }: {\n folder_id: FolderId;\n asset_creation_options: StrictUnion<\n | {\n asset_type: AssetTypeCreatable;\n name: string;\n }\n | {\n asset_type: AssetType;\n copy_from_asset_id: AssetId;\n new_asset_name?: string;\n /** Provide options to recursively duplicate asset dependencies. */\n options?: {\n /** Limits the duplication to the specified asset types */\n asset_types?: Array<AssetType>;\n /** Limits the depth level of the duplication process. */\n max_depth?: number;\n };\n }\n >;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<\n | {\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n /** Map of source asset ids to copied asset ids */\n source_to_copy_asset_id_map?: {\n [source_asset_id: string]: AssetId;\n };\n }\n | {\n /** Asset unique identifier, a version 4 uuid in its canonical lowercase form */\n asset_id: string;\n name: string;\n source_to_copy_asset_id_map?: {\n [_additionalproperties_: string]: AssetId;\n };\n duplication_request_id: DuplicationRequestId;\n }\n> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + encodeURIComponent(folder_id) + '/assets',\n data: asset_creation_options,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Move assets inside the specified folder.\n */\nexport function moveAssets(\n {\n folder_id,\n asset_ids,\n }: {\n folder_id: FolderId;\n asset_ids: Array<AssetId>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/folders/' + encodeURIComponent(folder_id) + '/assets',\n data: asset_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a material.\n */\nexport function createMaterial(\n {\n folder_id,\n dataJson = {},\n isDoubleSided = false,\n name,\n shaderRef = '00000000-0000-0000-0000-000000000000',\n }: {\n folder_id: FolderId;\n /** Data object following the descriptor of the attached shader */\n dataJson: {\n [_additionalproperties_: string]: any;\n };\n /** Whether the faces of the geometry are rendered from both sides or not */\n isDoubleSided: boolean;\n /** Name of the asset */\n name: string;\n /** The implemented shader */\n shaderRef: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n asset_id: AssetId;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + encodeURIComponent(folder_id) + '/assets/materials',\n data: {\n dataJson: dataJson,\n isDoubleSided: isDoubleSided,\n name: name,\n shaderRef: shaderRef,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a cubemap.\n */\nexport function createCubemap(\n {\n folder_id,\n faces = [\n '00000000-0000-0000-0000-000000000000',\n '00000000-0000-0000-0000-000000000000',\n '00000000-0000-0000-0000-000000000000',\n '00000000-0000-0000-0000-000000000000',\n '00000000-0000-0000-0000-000000000000',\n '00000000-0000-0000-0000-000000000000',\n ],\n name,\n }: {\n folder_id: FolderId;\n /** The 6 images forming the cube faces */\n faces: Array<string>;\n /** Name of the asset */\n name: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n asset_id: AssetId;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/folders/' + encodeURIComponent(folder_id) + '/assets/cubemaps',\n data: {\n faces: faces,\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all sessions running on scenes contained in a specified folder.\n */\nexport function getSessionsInFolder(\n {\n folder_id,\n }: {\n folder_id: FolderId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<Session>> {\n return axiosInstance({\n method: 'get',\n url: '/folders/' + encodeURIComponent(folder_id) + '/sessions',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Plans the duplication of assets into folders, with their dependencies up to a depth, as a draft to review: the\n * copies each asset requested pulls in, the folders they go to (the one set for their type, else the asset\n * requested's for its dependencies, else the one of the copy pulling them in), and their names. The draft is then\n * changed, and confirmed, or discarded; unchanged, it expires after an hour. The copies appear in their folders only\n * once the duplication completes. A public dependency is not duplicated.\n */\nexport function createDuplicationRequest(\n {\n assets,\n options,\n }: {\n assets: Array<{\n copy_from_asset_id: AssetId;\n destination_folder_id: FolderId;\n new_name?: string;\n dependencies_folder_id?: FolderId;\n }>;\n options?: {\n depth?: DuplicationDepth;\n asset_types?: Array<AssetType>;\n folders_by_type?: Array<DuplicationFolderByType>;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<DuplicationRequest> {\n return axiosInstance({\n method: 'post',\n url: '/duplication-requests',\n data: {\n assets: assets,\n options: options,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * The duplication requests copying assets from, or into, the caller's environment, the latest first: drafts,\n * duplications in progress, and failed ones. A completed duplication is no longer listed.\n */\nexport function listDuplicationRequests(\n {\n offset = 0,\n limit = 10,\n states,\n mine = false,\n }: {\n offset?: number;\n limit?: number;\n states?: Array<DuplicationRequestState>;\n mine?: boolean;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<DuplicationRequestSummary>> {\n return axiosInstance({\n method: 'get',\n url: '/duplication-requests',\n params: {\n offset: offset,\n limit: limit,\n states: states,\n mine: mine,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * A duplication request of the caller, with its copies. A completed one answers 404: a duplication answered with a\n * 202 is done once its request answers 404.\n */\nexport function getDuplicationRequest(\n {\n duplication_request_id,\n }: {\n duplication_request_id: DuplicationRequestId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<DuplicationRequest> {\n return axiosInstance({\n method: 'get',\n url: '/duplication-requests/' + encodeURIComponent(duplication_request_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Changes a draft of the caller: the folder of a copy (null to resolve it again), of the copies of a type, or of the\n * dependencies an asset requested pulls in, the name of a copy, and which copies are excluded. An excluded copy is\n * not made: the copies depending on it depend on its source instead. An asset requested cannot be excluded.\n */\nexport function updateDuplicationRequest(\n {\n duplication_request_id,\n assets,\n folders_by_type,\n dependencies_folders,\n }: {\n duplication_request_id: DuplicationRequestId;\n assets?: Array<{\n asset_id: AssetId;\n folder_id?: FolderId | null;\n name?: string;\n excluded?: boolean;\n }>;\n folders_by_type?: Array<{\n asset_type: AssetType;\n folder_id: FolderId | null;\n }>;\n dependencies_folders?: Array<{\n asset_id: AssetId;\n folder_id: FolderId | null;\n }>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<DuplicationRequest> {\n return axiosInstance({\n method: 'patch',\n url: '/duplication-requests/' + encodeURIComponent(duplication_request_id) + '',\n data: {\n assets: assets,\n folders_by_type: folders_by_type,\n dependencies_folders: dependencies_folders,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Discards a draft of the caller, or a failed request. A duplication in progress cannot be discarded.\n */\nexport function discardDuplicationRequest(\n {\n duplication_request_id,\n }: {\n duplication_request_id: DuplicationRequestId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/duplication-requests/' + encodeURIComponent(duplication_request_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Confirms a draft of the caller, and duplicates its assets: within the request when their payloads are few and light\n * enough (201), else in the background (202), the duplication request then answering 404 once done.\n */\nexport function confirmDuplicationRequest(\n {\n duplication_request_id,\n }: {\n duplication_request_id: DuplicationRequestId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetDuplicationResult> {\n return axiosInstance({\n method: 'post',\n url: '/duplication-requests/' + encodeURIComponent(duplication_request_id) + '/confirm',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * List source files.\n */\nexport function listSourceFiles(\n {\n offset = 0,\n limit = 10,\n filters,\n }: {\n offset?: number;\n limit?: number;\n filters?: {\n source_file_name?: string;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<SourceFile>> {\n return axiosInstance({\n method: 'get',\n url: '/source-files',\n params: {\n offset: offset,\n limit: limit,\n filters: filters,\n },\n headers: headers,\n }).then(response => {\n response.headers['x-source-files-count'] = JSON.parse(response.headers['x-source-files-count']) as number;\n return response;\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the target source files. Deleting a source file is permanent.\n */\nexport function deleteSourceFiles(\n {\n source_file_ids,\n delete_assets = false,\n }: {\n /** List of source files to delete */\n source_file_ids: Array<SourceFileId>;\n /** If true, delete the assets associated with the source files as well. */\n delete_assets?: boolean;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/source-files',\n data: {\n source_file_ids: source_file_ids,\n delete_assets: delete_assets,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Returns the source file formats accepted for conversion, grouped by conversion type, with the per-converter breakdown and each converter's options schema.\n */\nexport function getSupportedSourceFileFormats(\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<SupportedSourceFileFormats> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/supported-formats',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Get source file details.\n */\nexport function getSourceFileDetails(\n {\n source_file_id,\n }: {\n source_file_id: SourceFileId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<SourceFile> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/' + encodeURIComponent(source_file_id) + '/details',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates details for a specific source file.\n */\nexport function updateSourceFileDetails(\n {\n source_file_id,\n name,\n }: {\n source_file_id: SourceFileId;\n /** Source file display name */\n name: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/source-files/' + encodeURIComponent(source_file_id) + '/details',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all assets generated from the requested source file.\n */\nexport function getSourceFileAssets(\n {\n source_file_id,\n }: {\n source_file_id: SourceFileId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/source-files/' + encodeURIComponent(source_file_id) + '/assets',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all upload tasks. These upload tasks relate to uploaded source files.\n */\nexport function getUploadTasks(\n {\n offset = 0,\n limit = 10,\n }: {\n offset?: number;\n limit?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<UploadTask>> {\n return axiosInstance({\n method: 'get',\n url: '/upload-tasks',\n params: {\n offset: offset,\n limit: limit,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets information related to an upload task. This upload task relates to uploaded source files.\n */\nexport function getUploadTask(\n {\n upload_task_id,\n }: {\n upload_task_id: UploadTaskId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<UploadTask> {\n return axiosInstance({\n method: 'get',\n url: '/upload-tasks/' + encodeURIComponent(upload_task_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets metadata related to a conversion task. This metadata is produced by the conversion task.\n */\nexport function getConversionTaskMetadata<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n conversion_task_id,\n filename,\n }: {\n conversion_task_id: ConversionTaskId;\n filename: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url:\n '/conversion_tasks/' +\n encodeURIComponent(conversion_task_id) +\n '/metadata/' +\n encodeURIComponent(filename) +\n '',\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Schedules a data pipeline to be run.\n */\nexport function schedulePipeline(\n {\n data_pipeline_id,\n pipeline_name,\n folder_id,\n inputs,\n asset_refs,\n }: {\n /** Identifier of the data pipeline to schedule. */\n data_pipeline_id: DataPipelineId;\n /** Optional name for the scheduled pipeline instance. */\n pipeline_name?: string;\n /** Identifier of the folder where the pipeline is scheduled. */\n folder_id: FolderId;\n /** Input parameters for the data pipeline. */\n inputs?: {\n [_additionalproperties_: string]: any;\n };\n /** List of assets required by the pipeline. */\n asset_refs?: Array<{\n asset_type: AssetType;\n asset_id: AssetId;\n }>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n pipeline_id: PipelineId;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/pipelines',\n data: {\n data_pipeline_id: data_pipeline_id,\n pipeline_name: pipeline_name,\n folder_id: folder_id,\n inputs: inputs,\n asset_refs: asset_refs,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieves a specific instantiated Data Pipeline by its ID.\n */\nexport function getPipeline(\n {\n pipeline_id,\n }: {\n pipeline_id: PipelineId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Pipeline> {\n return axiosInstance({\n method: 'get',\n url: '/pipelines/' + encodeURIComponent(pipeline_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists the assets of the caller's environment, at every depth, grouped by type, and with\n * `filter[include_public_assets]` those shared with the platform from any environment too, as asset pickers list\n * them. Filters by types and by name (a uuid, or a case-insensitive substring).\n */\nexport function listAssets(\n {\n offset = 0,\n limit = 10,\n filter,\n }: {\n offset?: number;\n limit?: number;\n filter?: {\n /** @deprecated Deprecated. Use asset_types instead. Look for assets of the given type */\n asset_type?: (Array<AssetType> | AssetType) & any;\n /** Look for assets of the given types */\n asset_types?: Array<AssetType>;\n /** Filter by asset name */\n asset_name?: string;\n /** Include the assets shared with the platform, from any environment */\n include_public_assets?: boolean;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetList> {\n return axiosInstance({\n method: 'get',\n url: '/assets',\n params: {\n offset: offset,\n limit: limit,\n filter: filter,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Batch delete assets. You **MUST NOT** reference assets.\n */\nexport function deleteAssets(\n {\n asset_ids,\n }: {\n asset_ids: Array<AssetId>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets',\n data: asset_ids,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deletes the asset.\n */\nexport function deleteAsset(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the source file the specified asset was imported from.\n * @throws {AssetSourceFileNotFound}\n */\nexport function getAssetSourceFile(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<SourceFile> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/source-file',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset details from the specified asset.\n */\nexport function getAssetDetails(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetDetails> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/details',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset folder from the specified asset.\n */\nexport function getAssetFolder(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Folder> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/folder',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset dependencies from the specified asset.\n */\nexport function getAssetDependencies(\n {\n asset_container,\n asset_id,\n offset = 0,\n limit = 10,\n depth = 'all',\n filters,\n properties,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n offset?: number;\n limit?: number;\n depth?: 'all' | 'direct' | 'all-until-self-dependent' | number;\n filters?: {\n /** Filter dependencies by types */\n with_asset_types?: Array<AssetType>;\n /** Exclude dependencies by types */\n without_asset_types?: Array<AssetType>;\n /** Filter assets by public status */\n public?: 'include' | 'exclude' | 'restrict-to';\n };\n properties?: Array<'name' | 'dependencies' | 'count' | 'public' | 'accessible' | 'payload_info'>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<\n Array<{\n asset_id: AssetId;\n asset_type: AssetType;\n /** Additional properties of the asset */\n properties?: {\n name?: string;\n /** Number of time that the dependency is needed as direct dependency */\n direct_count?: number;\n /** Number of time that the dependency is needed as indirect dependency */\n indirect_count?: number;\n /** Whether the asset is public */\n is_public?: boolean;\n /** Whether the asset is accessible to the user */\n is_accessible?: boolean;\n /** Information about the asset payload */\n payload_info?: {\n /** Hash of the asset payload if it exists */\n hash?: string;\n /** Storage id of the asset payload */\n storage_id?: number;\n };\n /** Direct dependencies of the asset */\n dependencies?: Array<{\n asset_id: AssetId;\n /** Number of time that the dependency is needed */\n count: number;\n }>;\n };\n }>\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/dependencies',\n params: {\n offset: offset,\n limit: limit,\n depth: depth,\n filters: filters,\n properties: properties,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset references from the specified asset.\n */\nexport function getAssetReferences(\n {\n asset_container,\n asset_id,\n offset = 0,\n limit = 10,\n properties,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n offset?: number;\n limit?: number;\n properties?: Array<'name' | 'count' | 'public'>;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<\n Array<{\n asset_id: AssetId;\n asset_type: AssetType;\n /** Additional properties of the asset */\n properties?: {\n name?: string;\n /** Number of time that the dependency is needed as direct dependency */\n direct_count?: number;\n /** Whether the asset is public */\n is_public?: boolean;\n };\n }>\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/references',\n params: {\n offset: offset,\n limit: limit,\n properties: properties,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset description from the specified asset.\n */\nexport function getAssetDescription(\n {\n asset_id,\n asset_container,\n }: {\n asset_id: AssetId;\n asset_container: AssetContainer;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<AssetDescription> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/description',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Updates the description of the specified asset.\n */\nexport function updateAssetDescription(\n {\n asset_id,\n asset_container,\n asset_description,\n }: {\n asset_id: AssetId;\n asset_container: AssetContainerEditable;\n asset_description: EditableAssetDescriptionInput;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/description',\n data: asset_description,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Renames the specified asset.\n */\nexport function renameAsset(\n {\n asset_id,\n asset_container,\n name,\n }: {\n asset_id: AssetId;\n asset_container: AssetContainer;\n name: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/description',\n data: {\n name: name,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset payload from the specified asset.\n */\nexport function getAssetPayload<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container_with_payload,\n asset_id,\n sub_resource,\n }: {\n asset_container_with_payload: AssetContainerWithPayload;\n asset_id: AssetId;\n sub_resource?: string | 'histogram' | 'position' | 'color';\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url:\n '/assets/' +\n encodeURIComponent(asset_container_with_payload) +\n '/' +\n encodeURIComponent(asset_id) +\n '/payload',\n params: {\n sub_resource: sub_resource,\n },\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset graph from the specified asset.\n */\nexport function getAssetGraph(\n {\n asset_container_with_graph,\n asset_id,\n }: {\n asset_container_with_graph: AssetContainerWithGraph;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n /** Unique identifier for the asset graph. */\n uuid: string;\n [_additionalproperties_: string]: any;\n}> {\n return axiosInstance({\n method: 'get',\n url:\n '/assets/' + encodeURIComponent(asset_container_with_graph) + '/' + encodeURIComponent(asset_id) + '/graph',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates or replaces asset graph for the specified asset.\n */\nexport function updateAssetGraph(\n {\n asset_container_with_graph,\n asset_id,\n asset_graph,\n }: {\n asset_container_with_graph: AssetContainerWithGraph;\n asset_id: AssetId;\n asset_graph: {\n [_additionalproperties_: string]: any;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url:\n '/assets/' + encodeURIComponent(asset_container_with_graph) + '/' + encodeURIComponent(asset_id) + '/graph',\n data: asset_graph,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the edit history of the specified asset: the distinct `contributors` (so a consumer can resolve them to display names) and the chronological `timeline` of modifications.\n */\nexport function getAssetHistory(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n /** Distinct contributors to the asset, with their edit counts. */\n contributors: Array<{\n user_id: string;\n contribution_count: number;\n }>;\n /** Chronological list of modifications, oldest first. */\n timeline: Array<{\n user_id: string;\n timestamp: string;\n /** The kind of modification. */\n type?: string;\n /** Modification-specific payload. */\n data?: {\n [_additionalproperties_: string]: any;\n };\n }>;\n}> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/history',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Deprecated. Conversion metadata is no longer served; this endpoint is kept for backward compatibility and always returns an empty object.\n */\nexport function getAssetMeta(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n [_additionalproperties_: string]: any;\n}> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/meta',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the code of the specified asset.\n */\nexport function getAssetCode(\n {\n asset_container_with_code,\n asset_id,\n }: {\n asset_container_with_code: AssetContainerWithCode;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<string> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container_with_code) + '/' + encodeURIComponent(asset_id) + '/code',\n headers: headers,\n responseType: 'text',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Gets the asset thumbnail from the specified asset.\n */\nexport function getAssetThumbnail<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container,\n asset_id,\n size,\n default_url,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n size: 'large' | 'medium' | 'small' | 'tiny';\n default_url?: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/thumbnail',\n params: {\n size: size,\n default_url: default_url,\n },\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Assigns a thumbnail to the specified asset.\n */\nexport function setAssetThumbnail(\n {\n asset_container,\n asset_id,\n body,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n body: ArrayBuffer | ReadableStream;\n },\n contentType: 'image/jpeg' | 'image/jpg' | 'image/png',\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'put',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/thumbnail',\n data: body,\n maxRedirects: 0,\n headers: {\n 'Content-Type': contentType,\n ...plainHeaders(headers),\n },\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Packages and downloads the target asset.\n */\nexport function packageAsset<T extends 'arraybuffer' | 'stream' | 'json' | 'text' = 'arraybuffer'>(\n {\n asset_container,\n asset_id,\n }: {\n asset_container: AssetContainer;\n asset_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n responseType?: T,\n): AxiosPromise<\n T extends 'arraybuffer'\n ? ArrayBuffer\n : T extends 'json'\n ? object\n : T extends 'text'\n ? string\n : T extends 'stream'\n ? ReadableStream\n : never\n> {\n return axiosInstance({\n method: 'get',\n url: '/assets/' + encodeURIComponent(asset_container) + '/' + encodeURIComponent(asset_id) + '/package',\n headers: headers,\n responseType: responseType || 'arraybuffer',\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Downloads an asset payload in a given format. Only mesh is supported for the moment. This endpoint requires special export permission.\n */\nexport function exportAsset(\n {\n asset_container_exportable,\n asset_id,\n format,\n scale = 1,\n sub_mesh_index,\n }: {\n asset_container_exportable: AssetContainerExportable;\n asset_id: AssetId;\n format: 'obj' | 'stl';\n scale?: number;\n sub_mesh_index?: number;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<string | ArrayBuffer | ReadableStream> {\n return axiosInstance({\n method: 'get',\n url:\n '/assets/' +\n encodeURIComponent(asset_container_exportable) +\n '/' +\n encodeURIComponent(asset_id) +\n '/exports/' +\n encodeURIComponent(format) +\n '',\n params: {\n scale: scale,\n sub_mesh_index: sub_mesh_index,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all sessions running a specified scene.\n */\nexport function getSceneSessions(\n {\n scene_id,\n }: {\n scene_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<Session>> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/sessions',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Get the axis aligned bounding box of the specified scene.\n */\nexport function getSceneAABB(\n {\n scene_id,\n }: {\n scene_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n /** Vector3 representing the upper (x, y, z) boundary of the box. */\n max: Vector3;\n /** Vector3 representing the lower (x, y, z) boundary of the box. */\n min: Vector3;\n}> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/aabb',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Create a new entity in a scene.\n */\nexport function createEntity(\n {\n scene_id,\n animation_controller,\n animation_sequence_controller,\n bone,\n box_geometry,\n camera,\n capsule_geometry,\n character_controller,\n collision_geometry_ref,\n constraint,\n constraint_actuator,\n culling_geometry,\n custom_lens,\n cylinder_geometry,\n debug_name,\n decal_projector,\n environment,\n joint,\n label,\n lineage,\n local_aabb,\n local_transform,\n material,\n material_ref,\n measure,\n mesh_ref,\n morph_targets,\n orthographic_lens,\n overrider,\n perspective_lens,\n physics_material,\n plane_geometry,\n point_cloud_ref,\n point_light,\n reflection_probe,\n rigid_body,\n scene_ref,\n script_element,\n script_map,\n shadow_caster,\n skeleton_ref,\n sound_ref,\n sphere_geometry,\n spline,\n spot_light,\n tags,\n vehicle_controller,\n volume_filter,\n volume_material_ref,\n volume_ref,\n }: {\n scene_id: AssetId;\n /** Drives skeletal animation using an Animation Graph and Animation Set; animates descendant skinned meshes whose skeletons are compatible with the set. */\n animation_controller?: {\n /** Referenced Animation Graph (UUID). */\n animationGraphRef?: string;\n /** Referenced Animation Set (UUID). */\n animationSetRef?: string;\n /** Autoplay when the session starts. */\n autoPlay?: boolean;\n /** Animation Graph input parameters in JSON format. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Entity containing the Bone component for the skeleton's root bone. */\n rootBoneEntityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable root motion extraction and application to the entity transform. */\n rootMotionEnabled?: boolean;\n };\n /** Controls playback of an Animation Sequence; assigns tracks to entities. */\n animation_sequence_controller?: {\n /** Referenced Animation Sequence (UUID). */\n animationSequenceRef?: string;\n /** Map from track UUID to assigned entity. */\n entities?: {\n /** A reference to an entity: the uuid it was created with, and the uuids of the linkers it was instanced through. */\n [_additionalproperties_: string]: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Loop playback when reaching the stop offset. */\n loop?: boolean;\n /** Playback speed multiplier. Negative values play in reverse. */\n playbackSpeed?: number;\n /** Normalized start offset [0, 1]. */\n startOffset?: number;\n /** Normalized stop offset [0, 1]. When looping, playback wraps to startOffset at this point. */\n stopOffset?: number;\n };\n /** Associates this entity with a bone in a skeleton (for attachments and transforms). */\n bone?: {\n /** Zero-based index of this bone within the bound skeleton. */\n boneIndex?: number;\n };\n /** Box geometry. */\n box_geometry?: {\n /** Box dimensions (width, height, depth) in meters. */\n dimension?: Array<number>;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n };\n /** Virtual camera. */\n camera?: {\n /** Render Graph input parameters in JSON; schema defined by renderGraphRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced render graph to use for rendering from this camera. */\n renderGraphRef?: string;\n /** Index of the render target to blit/output to. -1 indicates the default target. */\n renderTargetIndex?: number;\n };\n /** Capsule geometry. */\n capsule_geometry?: {\n /** Alignment axis of the capsule: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylindrical mid-section (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the hemispherical ends (meters). */\n radius?: number;\n };\n /** Kinematic character controller for collision-constrained movement without a rigid body. Uses tuned collision handling for responsive control. */\n character_controller?: {\n /** Collision skin width (meters). */\n skinWidth?: number;\n /** Maximum walkable slope (degrees). Slopes steeper than this are not walkable. */\n slopeLimit?: number;\n /** Maximum climbable step height. Steps higher than this cannot be climbed automatically. */\n stepOffset?: number;\n };\n /** Reference to a collision geometry asset used by physics. */\n collision_geometry_ref?: {\n /** Referenced collision geometry (UUID). */\n collisionGeometryRef?: string;\n };\n /** 6-DoF constraint built on a Joint. Defaults to fixed; selectively unlock translation and rotation on X/Y/Z and configure limits and springs. */\n constraint?: {\n /** Linear limit spring damping per axis (N\u00B7s/m). */\n motionLimitSpringDamping?: Array<number>;\n /** Linear limit spring stiffness per axis (N/m). >0 makes the limit soft (spring-like). */\n motionLimitSpringStiffness?: Array<number>;\n /** Lower linear limit per axis (meters). */\n motionLowerLimit?: Array<number>;\n /** Upper linear limit per axis (meters). */\n motionUpperLimit?: Array<number>;\n /** 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. */\n swingLimitAngle?: Array<number>;\n /** Swing limit spring damping (N\u00B7m\u00B7s/rad). */\n swingSpringDamping?: number;\n /** Swing limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n swingSpringStiffness?: number;\n /** Twist angle limits (min,max) around the twist axis (degrees). Range (\u2212360, 360). */\n twistLimitAngle?: Array<number>;\n /** Twist limit spring damping (N\u00B7m\u00B7s/rad). */\n twistSpringDamping?: number;\n /** Twist limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n twistSpringStiffness?: number;\n /** Unlock motion along/around the specified axes. */\n unlockedMotion?: number;\n };\n /** Drives a Constraint toward target position/orientation and velocities using configurable stiffness, damping, and force limits. */\n constraint_actuator?: {\n /** Angular drive damping per axis (N\u00B7m\u00B7s/rad). */\n angularDamping?: Array<number>;\n /** Max angular drive torque/impulse per axis (N\u00B7m). \u22121 = unlimited. */\n angularForceLimit?: Array<number>;\n /** Angular drive stiffness per axis (N\u00B7m/rad). >0 applies spring torque toward the goal. */\n angularStiffness?: Array<number>;\n /** Target angular velocity (rad/s). */\n angularVelocity?: Array<number>;\n /** Target angular orientation. */\n goalOrientation?: Array<number>;\n /** Target linear position offset (meters). */\n goalPosition?: Array<number>;\n /** Linear drive damping per axis (N\u00B7s/m). */\n linearDamping?: Array<number>;\n /** Max linear drive force/impulse per axis (N). \u22121 = unlimited. */\n linearForceLimit?: Array<number>;\n /** Linear drive stiffness per axis (N/m). >0 applies spring force toward the goal. */\n linearStiffness?: Array<number>;\n /** Target linear velocity (m/s). */\n linearVelocity?: Array<number>;\n /** Drive type: apply as force or as acceleration. */\n type?: (0 | 1) & number;\n };\n /** Enables culling using a simple analytic shape. Add alongside a geometry component (box, cylinder, plane, sphere). */\n culling_geometry?: {\n /** Additive: show elements inside the geometry. Subtractive: show elements outside the geometry. */\n isAdditive?: boolean;\n };\n /** Custom projection lens using an explicit projection matrix. */\n custom_lens?: {\n /** Projection matrix mapping view-space to clip-space (cs_from_vs). */\n cs_from_vs?: Array<number>;\n };\n /** Cylinder geometry. */\n cylinder_geometry?: {\n /** Alignment axis of the cylinder: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylinder (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the cylinder (meters). */\n radius?: number;\n };\n /** Human-readable name of the entity. */\n debug_name?: {\n /** Entity name. */\n value?: string;\n };\n /** Projects a material onto scene surfaces within the projector's box volume. */\n decal_projector?: {\n /** Z-index ordering for decal rendering; higher values render on top of lower ones. */\n zIndex?: number;\n };\n /** 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. */\n environment?: {\n /** Diffuse irradiance cubemap used for ambient PBR lighting. */\n irradianceUUID?: string;\n /** Specular radiance cubemap (prefiltered) used for PBR reflections. */\n radianceUUID?: string;\n /** Skybox cubemap used as the scene background (no lighting effect). */\n skyboxUUID?: string;\n };\n /** Base joint connecting two bodies. By default locks relative position and orientation between constrainer and constrainee. */\n joint?: {\n /** Break force threshold (Newtons). */\n breakForce?: number;\n /** Break torque threshold (N\u00B7m). */\n breakTorque?: number;\n /** Entity with a Rigid Body to be constrained. */\n constrainee?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Entity acting as constrainer (rigid/static) or null to constrain to world origin. */\n constrainer?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable collision between constrainer and constrainee bodies. */\n enableCollision?: boolean;\n };\n /** Displays an editor-only label in the 3D view. */\n label?: {\n /** Camera framing parameters for navigating to the label. */\n camera?: Array<number>;\n /** Label description text. */\n description?: string;\n /** Camera travel speed (meters/second). */\n speed?: number;\n /** Label title text. */\n title?: string;\n };\n /** Records the entity's lineage through linkers and parentage. */\n lineage?: {\n /** Ordinal index among siblings (editor-only). */\n ordinal?: number;\n /** UUID of this entity's parent (default is root). */\n parentUUID?: string;\n };\n /** Local-space axis-aligned bounding box. */\n local_aabb?: {\n /** Local AABB maximum corner (x,y,z). */\n max?: Array<number>;\n /** Local AABB minimum corner (x,y,z). */\n min?: Array<number>;\n };\n /** Local transform of the entity (position, orientation, scale). */\n local_transform?: {\n /** Local orientation as Euler angles (editor-only). */\n eulerOrientation?: Array<number>;\n /** Last global orientation entered by a user as Euler angles (may be invalid; editor-only). */\n globalEulerOrientation?: Array<number>;\n /** Local orientation as a quaternion. */\n orientation?: Array<number>;\n /** Local position (x, y, z) in meters. */\n position?: Array<number>;\n /** Local non-uniform scale (x, y, z). */\n scale?: Array<number>;\n };\n /** Assigns a shader to the entity's mesh and provides its input values and specialization constants. */\n material?: {\n /** Specialization constants (JSON); schema defined by shaderRef. */\n constantsJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Shader input values (JSON); schema defined by shaderRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Render both front and back faces (double-sided). */\n isDoubleSided?: boolean;\n /** Referenced shader (UUID). */\n shaderRef?: string;\n };\n /** Reference to a material to use for rendering. */\n material_ref?: {\n /** Face culling override: 0 = inherit from material, 1 = single-sided, 2 = double-sided. */\n faceCulling?: (0 | 1 | 2) & number;\n /** Referenced material (UUID). */\n value?: string;\n };\n /** Displays editor-only measurement annotations in the 3D view. */\n measure?: {\n /** Display color for the measurement. */\n color?: Array<number>;\n /** Measurement type to display. */\n type?: (0 | 1 | 2 | 3) & number;\n };\n /** Reference to a mesh to render (with submesh selection). */\n mesh_ref?: {\n /** Shadow casting mode for this mesh. */\n shadowCastingMode?: (0 | 1) & number;\n /** Index of the submesh within the mesh's submesh array. */\n submeshIndex?: number;\n /** Referenced mesh (UUID). */\n value?: string;\n };\n /** Contains weights assigned to morph targets of the mesh referred to by the entity's mesh_ref. */\n morph_targets?: {\n /** Map from morph target name to weight (commonly 0..1). */\n weights?: {\n [_additionalproperties_: string]: number;\n };\n };\n /** Orthographic projection lens with configurable zoom and depth range. */\n orthographic_lens?: {\n /** Far clipping plane distance (meters). */\n zFar?: number;\n /** Near clipping plane distance (meters). */\n zNear?: number;\n /** Zoom factor applied to the orthographic extents (X,Y). 1 = no zoom. */\n zoomFactor?: Array<number>;\n };\n /** Overrides an entity from a subscene: mark for deletion, replace components, or detach specific components. */\n overrider?: {\n /** Hashes of components to detach from the overridden entity. */\n componentsToDetach?: Array<number>;\n /** Mark the overridden entity as deleted in the composed scene. */\n deleter?: boolean;\n /** Target entity to override. */\n entityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Perspective projection lens with vertical field of view and near/far clipping planes. */\n perspective_lens?: {\n /** Far clipping plane distance (meters). Set to 0 for an infinite far plane. */\n farPlane?: number;\n /** Vertical field of view angle in degrees. */\n fovy?: number;\n /** Near clipping plane distance (meters). */\n nearPlane?: number;\n /** Projection center offset for stereoscopic rendering (meters). */\n offset?: Array<number>;\n };\n /** Physical surface properties used for contact: friction, restitution, optional contact modification, and trigger mode. */\n physics_material?: {\n /** Applied contact velocity offset when colliding (m/s). Only used if modifyContact is true. */\n contactVelocity?: Array<number>;\n /** 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. */\n dynamicFriction?: number;\n /** Treat associated geometry as a trigger (generates events but no physical response). */\n isTrigger?: boolean;\n /** Enable contact modification (applies contactVelocity on collisions). */\n modifyContact?: boolean;\n /** Restitution (bounciness) in [0,1]. 0 = no bounce; 1 = perfectly elastic. Effective value is averaged with the other surface. */\n restitution?: number;\n /** Static friction coefficient (typically 0..1). 0 feels like ice; higher resists start of motion. Effective value is averaged with the other surface. */\n staticFriction?: number;\n };\n /** Infinite plane geometry. */\n plane_geometry?: {\n /** Signed distance from the origin along the plane normal (meters). */\n distance?: number;\n /** Unit normal vector of the plane (in local space). */\n normal?: Array<number>;\n };\n /** Reference to a point cloud. */\n point_cloud_ref?: {\n /** Referenced point cloud (UUID). */\n value?: string;\n };\n /** 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. */\n point_light?: {\n /** RGB light color in linear space [0-1]. Multiplies intensity. */\n color?: Array<number>;\n /** Luminous intensity in candela (cd) for point and spot lights. Illuminance in lux (lx) when isDirectional, above the atmosphere when isSun. */\n intensity?: number;\n /** Treat this as a directional light using the entity's orientation; position is ignored. */\n isDirectional?: boolean;\n /** Use this light's direction to control the atmosphere sun direction. */\n isSun?: boolean;\n /** Distance in meters at which the inverse-square falloff is windowed to zero. 0 for no cutoff. */\n range?: number;\n };\n /** Omnidirectional reflection probe that captures the local environment into a cubemap for specular reflections (IBL). */\n reflection_probe?: {\n /** Capture far clip distance (meters). */\n farDist?: number;\n /** Capture near clip distance (meters). */\n nearDist?: number;\n /** Offset of the probe capture origin relative to the entity position (meters). */\n offset?: Array<number>;\n /** Reflection cubemap resolution (pixels per face). Higher values increase detail and cost. */\n quality?: number;\n };\n /** Rigid body parameters for dynamic simulation (mass, damping, limits, CCD, and kinematic/gravity behavior). */\n rigid_body?: {\n /** Angular damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n angularDamping?: number;\n /** Center of mass relative to the entity's local transform (meters). */\n centerOfMass?: Array<number>;\n /** Collision detection mode (CCD). Kinematic bodies do not support Linear/Continuous CCD. */\n collisionDetection?: (0 | 1 | 2 | 3) & number;\n /** Treat the rigid body as kinematic (unaffected by forces; driven by animation/app logic). */\n isKinematic?: boolean;\n /** Linear damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n linearDamping?: number;\n /** Lock motion along/around the specified axes. */\n lockedAxis?: number;\n /** Mass (kg). A value of 0 is treated as infinite mass (static). */\n mass?: number;\n /** Maximum angular velocity (rad/s). Must be non-negative. */\n maxAngularVelocity?: number;\n /** Maximum linear velocity (m/s). Must be non-negative. */\n maxLinearVelocity?: number;\n /** Whether the rigid body is affected by gravity. */\n useGravity?: boolean;\n };\n /** Reference to a subscene (linker); used to compose scenes. */\n scene_ref?: {\n /** Maximum recursion depth when a scene references itself. */\n maxRecursionCount?: number;\n /** Referenced scene (UUID). */\n value?: string;\n };\n /** References a script and supplies its input values. */\n script_element?: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n /** Holds a set of script elements keyed by UUID. */\n script_map?: {\n /** Map of script UUID to script element. */\n elements?: {\n /** References a script and supplies its input values. */\n [_additionalproperties_: string]: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n };\n };\n /** Enables a light to cast real-time shadows with configurable map resolution, depth range, and (for directional lights) cascades. */\n shadow_caster?: {\n /** Directional lights only: blend/accumulate all cascades to reduce visible transitions between splits. */\n accumulateShadowCascades?: boolean;\n /** Depth bias applied during shadow tests to reduce self-shadowing (acne). Increase to mitigate artifacts; too high causes peter-panning. */\n bias?: number;\n /** Directional lights only: number of cascades for CSM. 0 = static shadow map, 1\u20134 = increasing cascade count. */\n cascadeCount?: (0 | 1 | 2 | 3 | 4) & number;\n /** 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. */\n cascadeSplitLambda?: number;\n /** Shadow camera far clip distance (meters). Use the smallest range that contains casters/receivers. */\n farDist?: number;\n /** Shadow camera near clip distance (meters). Tighten to improve depth precision. */\n nearDist?: number;\n /** Shadow map resolution (pixels per side). Higher values increase detail at the cost of memory and performance. */\n quality?: (256 | 512 | 1024 | 2048 | 3072 | 4096 | 6144 | 8192) & number;\n };\n /** Reference to a skeleton asset for skinning and animation. */\n skeleton_ref?: {\n /** Referenced skeleton (UUID). */\n value?: string;\n };\n /** Reference to a sound asset with playback and spatialization controls. */\n sound_ref?: {\n /** Distance attenuation model. */\n attenuationModel?: (0 | 1 | 2 | 3) & number;\n /** Rolloff factor for distance attenuation. */\n attenuationRolloffFactor?: number;\n /** Autoplay when the simulation starts. */\n autoPlayOnStart?: boolean;\n /** Scale factor for the Doppler effect. */\n dopplerFactor?: number;\n /** Behavior when the sound becomes inaudible. */\n inaudibleBehavior?: (0 | 1 | 2) & number;\n /** Whether the sound loops. */\n looping?: boolean;\n /** Distance beyond which the sound is inaudible (meters). */\n maxDistance?: number;\n /** Distance at which the sound stays at max volume (meters). */\n minDistance?: number;\n /** Stereo pan. \u22121 = left, 1 = right. */\n pan?: number;\n /** Playback speed multiplier (1.0 = normal). */\n playSpeed?: number;\n /** Referenced sound (UUID). */\n value?: string;\n /** Playback volume [0..1]. */\n volume?: number;\n };\n /** Sphere geometry. */\n sphere_geometry?: {\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the sphere (meters). */\n radius?: number;\n };\n /** Displays an editor-only spline in the 3D view. */\n spline?: {\n /** Display color of the curve. */\n color?: Array<number>;\n /** Catmull-Rom tension (only when type is Catmull-Rom). */\n tension?: number;\n /** Spline interpolation type. */\n type?: (0 | 1 | 2) & number;\n };\n /** Adds a cone cutoff to a light, producing a spotlight. Requires a Point Light component for color/intensity and falloff. */\n spot_light?: {\n /** Optional IES photometric profile (2D texture). Modulates emitted intensity by direction; leave empty for uniform distribution. */\n IESProfile?: string;\n /** Cone half-angle in degrees, from the axis to the edge. Light falls to zero at the cone edge. */\n cutoff?: number;\n };\n /** Free-form tags used to group and filter entities. */\n tags?: {\n /** List of tags applied to this entity. */\n value?: Array<string>;\n };\n /** Vehicle Controller parameters. */\n vehicle_controller?: {\n /** The chassis. */\n chassis?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front left wheel. */\n frontLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front right wheel. */\n frontRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear left wheel. */\n rearLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear right wheel. */\n rearRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** View filtering and display controls applied to the referenced volume. */\n volume_filter?: {\n /** Apply Gaussian smoothing when sampling voxels. */\n applyGaussianFiltering?: boolean;\n /** Whether this volume is visible in the 3D view. */\n enable3D?: boolean;\n /** Whether this volume is visible in the MPR (multi-planar reconstruction) view. */\n enableMPR?: boolean;\n /** Tint applied to this volume's MPR/projection output. */\n mprColor?: Array<number>;\n /** Displayed voxel intensity range [min, max]. Values outside the material's valid range are clamped/ignored. */\n range?: Array<number>;\n /** Sample texels without hardware filtering (nearest). */\n sampleUnfiltered?: boolean;\n };\n /** Reference to the volume material used for shading and transfer functions. */\n volume_material_ref?: {\n /** Referenced volume material (UUID). */\n value?: string;\n };\n /** Reference to a volumetric dataset stored as a 3D texture (voxels). */\n volume_ref?: {\n /** Referenced 3D texture (UUID) containing the volume voxels. */\n texture3dRef?: string;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n /** Entity unique identifier */\n entity_id: string;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/entities',\n data: {\n animation_controller: animation_controller,\n animation_sequence_controller: animation_sequence_controller,\n bone: bone,\n box_geometry: box_geometry,\n camera: camera,\n capsule_geometry: capsule_geometry,\n character_controller: character_controller,\n collision_geometry_ref: collision_geometry_ref,\n constraint: constraint,\n constraint_actuator: constraint_actuator,\n culling_geometry: culling_geometry,\n custom_lens: custom_lens,\n cylinder_geometry: cylinder_geometry,\n debug_name: debug_name,\n decal_projector: decal_projector,\n environment: environment,\n joint: joint,\n label: label,\n lineage: lineage,\n local_aabb: local_aabb,\n local_transform: local_transform,\n material: material,\n material_ref: material_ref,\n measure: measure,\n mesh_ref: mesh_ref,\n morph_targets: morph_targets,\n orthographic_lens: orthographic_lens,\n overrider: overrider,\n perspective_lens: perspective_lens,\n physics_material: physics_material,\n plane_geometry: plane_geometry,\n point_cloud_ref: point_cloud_ref,\n point_light: point_light,\n reflection_probe: reflection_probe,\n rigid_body: rigid_body,\n scene_ref: scene_ref,\n script_element: script_element,\n script_map: script_map,\n shadow_caster: shadow_caster,\n skeleton_ref: skeleton_ref,\n sound_ref: sound_ref,\n sphere_geometry: sphere_geometry,\n spline: spline,\n spot_light: spot_light,\n tags: tags,\n vehicle_controller: vehicle_controller,\n volume_filter: volume_filter,\n volume_material_ref: volume_material_ref,\n volume_ref: volume_ref,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Get a specific entity from a scene.\n */\nexport function getEntity(\n {\n scene_id,\n entity_id,\n compute_global_transform = false,\n }: {\n scene_id: AssetId;\n entity_id: string;\n compute_global_transform?: boolean;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Entity> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/entities/' + encodeURIComponent(entity_id) + '',\n params: {\n compute_global_transform: compute_global_transform,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Update a specific entity from a scene.\n */\nexport function updateEntity(\n {\n scene_id,\n entity_id,\n animation_controller,\n animation_sequence_controller,\n bone,\n box_geometry,\n camera,\n capsule_geometry,\n character_controller,\n collision_geometry_ref,\n constraint,\n constraint_actuator,\n culling_geometry,\n custom_lens,\n cylinder_geometry,\n debug_name,\n decal_projector,\n environment,\n joint,\n label,\n lineage,\n local_aabb,\n local_transform,\n material,\n material_ref,\n measure,\n mesh_ref,\n morph_targets,\n orthographic_lens,\n overrider,\n perspective_lens,\n physics_material,\n plane_geometry,\n point_cloud_ref,\n point_light,\n reflection_probe,\n rigid_body,\n scene_ref,\n script_element,\n script_map,\n shadow_caster,\n skeleton_ref,\n sound_ref,\n sphere_geometry,\n spline,\n spot_light,\n tags,\n vehicle_controller,\n volume_filter,\n volume_material_ref,\n volume_ref,\n }: {\n scene_id: AssetId;\n entity_id: string;\n /** Drives skeletal animation using an Animation Graph and Animation Set; animates descendant skinned meshes whose skeletons are compatible with the set. */\n animation_controller?: {\n /** Referenced Animation Graph (UUID). */\n animationGraphRef?: string;\n /** Referenced Animation Set (UUID). */\n animationSetRef?: string;\n /** Autoplay when the session starts. */\n autoPlay?: boolean;\n /** Animation Graph input parameters in JSON format. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Entity containing the Bone component for the skeleton's root bone. */\n rootBoneEntityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable root motion extraction and application to the entity transform. */\n rootMotionEnabled?: boolean;\n };\n /** Controls playback of an Animation Sequence; assigns tracks to entities. */\n animation_sequence_controller?: {\n /** Referenced Animation Sequence (UUID). */\n animationSequenceRef?: string;\n /** Map from track UUID to assigned entity. */\n entities?: {\n /** A reference to an entity: the uuid it was created with, and the uuids of the linkers it was instanced through. */\n [_additionalproperties_: string]: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Loop playback when reaching the stop offset. */\n loop?: boolean;\n /** Playback speed multiplier. Negative values play in reverse. */\n playbackSpeed?: number;\n /** Normalized start offset [0, 1]. */\n startOffset?: number;\n /** Normalized stop offset [0, 1]. When looping, playback wraps to startOffset at this point. */\n stopOffset?: number;\n };\n /** Associates this entity with a bone in a skeleton (for attachments and transforms). */\n bone?: {\n /** Zero-based index of this bone within the bound skeleton. */\n boneIndex?: number;\n };\n /** Box geometry. */\n box_geometry?: {\n /** Box dimensions (width, height, depth) in meters. */\n dimension?: Array<number>;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n };\n /** Virtual camera. */\n camera?: {\n /** Render Graph input parameters in JSON; schema defined by renderGraphRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced render graph to use for rendering from this camera. */\n renderGraphRef?: string;\n /** Index of the render target to blit/output to. -1 indicates the default target. */\n renderTargetIndex?: number;\n };\n /** Capsule geometry. */\n capsule_geometry?: {\n /** Alignment axis of the capsule: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylindrical mid-section (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the hemispherical ends (meters). */\n radius?: number;\n };\n /** Kinematic character controller for collision-constrained movement without a rigid body. Uses tuned collision handling for responsive control. */\n character_controller?: {\n /** Collision skin width (meters). */\n skinWidth?: number;\n /** Maximum walkable slope (degrees). Slopes steeper than this are not walkable. */\n slopeLimit?: number;\n /** Maximum climbable step height. Steps higher than this cannot be climbed automatically. */\n stepOffset?: number;\n };\n /** Reference to a collision geometry asset used by physics. */\n collision_geometry_ref?: {\n /** Referenced collision geometry (UUID). */\n collisionGeometryRef?: string;\n };\n /** 6-DoF constraint built on a Joint. Defaults to fixed; selectively unlock translation and rotation on X/Y/Z and configure limits and springs. */\n constraint?: {\n /** Linear limit spring damping per axis (N\u00B7s/m). */\n motionLimitSpringDamping?: Array<number>;\n /** Linear limit spring stiffness per axis (N/m). >0 makes the limit soft (spring-like). */\n motionLimitSpringStiffness?: Array<number>;\n /** Lower linear limit per axis (meters). */\n motionLowerLimit?: Array<number>;\n /** Upper linear limit per axis (meters). */\n motionUpperLimit?: Array<number>;\n /** 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. */\n swingLimitAngle?: Array<number>;\n /** Swing limit spring damping (N\u00B7m\u00B7s/rad). */\n swingSpringDamping?: number;\n /** Swing limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n swingSpringStiffness?: number;\n /** Twist angle limits (min,max) around the twist axis (degrees). Range (\u2212360, 360). */\n twistLimitAngle?: Array<number>;\n /** Twist limit spring damping (N\u00B7m\u00B7s/rad). */\n twistSpringDamping?: number;\n /** Twist limit spring stiffness (N\u00B7m/rad). >0 makes the limit soft. */\n twistSpringStiffness?: number;\n /** Unlock motion along/around the specified axes. */\n unlockedMotion?: number;\n };\n /** Drives a Constraint toward target position/orientation and velocities using configurable stiffness, damping, and force limits. */\n constraint_actuator?: {\n /** Angular drive damping per axis (N\u00B7m\u00B7s/rad). */\n angularDamping?: Array<number>;\n /** Max angular drive torque/impulse per axis (N\u00B7m). \u22121 = unlimited. */\n angularForceLimit?: Array<number>;\n /** Angular drive stiffness per axis (N\u00B7m/rad). >0 applies spring torque toward the goal. */\n angularStiffness?: Array<number>;\n /** Target angular velocity (rad/s). */\n angularVelocity?: Array<number>;\n /** Target angular orientation. */\n goalOrientation?: Array<number>;\n /** Target linear position offset (meters). */\n goalPosition?: Array<number>;\n /** Linear drive damping per axis (N\u00B7s/m). */\n linearDamping?: Array<number>;\n /** Max linear drive force/impulse per axis (N). \u22121 = unlimited. */\n linearForceLimit?: Array<number>;\n /** Linear drive stiffness per axis (N/m). >0 applies spring force toward the goal. */\n linearStiffness?: Array<number>;\n /** Target linear velocity (m/s). */\n linearVelocity?: Array<number>;\n /** Drive type: apply as force or as acceleration. */\n type?: (0 | 1) & number;\n };\n /** Enables culling using a simple analytic shape. Add alongside a geometry component (box, cylinder, plane, sphere). */\n culling_geometry?: {\n /** Additive: show elements inside the geometry. Subtractive: show elements outside the geometry. */\n isAdditive?: boolean;\n };\n /** Custom projection lens using an explicit projection matrix. */\n custom_lens?: {\n /** Projection matrix mapping view-space to clip-space (cs_from_vs). */\n cs_from_vs?: Array<number>;\n };\n /** Cylinder geometry. */\n cylinder_geometry?: {\n /** Alignment axis of the cylinder: 0=X, 1=Y, 2=Z. */\n axis?: (0 | 1 | 2) & number;\n /** Height of the cylinder (meters). */\n height?: number;\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the cylinder (meters). */\n radius?: number;\n };\n /** Human-readable name of the entity. */\n debug_name?: {\n /** Entity name. */\n value?: string;\n };\n /** Projects a material onto scene surfaces within the projector's box volume. */\n decal_projector?: {\n /** Z-index ordering for decal rendering; higher values render on top of lower ones. */\n zIndex?: number;\n };\n /** 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. */\n environment?: {\n /** Diffuse irradiance cubemap used for ambient PBR lighting. */\n irradianceUUID?: string;\n /** Specular radiance cubemap (prefiltered) used for PBR reflections. */\n radianceUUID?: string;\n /** Skybox cubemap used as the scene background (no lighting effect). */\n skyboxUUID?: string;\n };\n /** Base joint connecting two bodies. By default locks relative position and orientation between constrainer and constrainee. */\n joint?: {\n /** Break force threshold (Newtons). */\n breakForce?: number;\n /** Break torque threshold (N\u00B7m). */\n breakTorque?: number;\n /** Entity with a Rigid Body to be constrained. */\n constrainee?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Entity acting as constrainer (rigid/static) or null to constrain to world origin. */\n constrainer?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** Enable collision between constrainer and constrainee bodies. */\n enableCollision?: boolean;\n };\n /** Displays an editor-only label in the 3D view. */\n label?: {\n /** Camera framing parameters for navigating to the label. */\n camera?: Array<number>;\n /** Label description text. */\n description?: string;\n /** Camera travel speed (meters/second). */\n speed?: number;\n /** Label title text. */\n title?: string;\n };\n /** Records the entity's lineage through linkers and parentage. */\n lineage?: {\n /** Ordinal index among siblings (editor-only). */\n ordinal?: number;\n /** UUID of this entity's parent (default is root). */\n parentUUID?: string;\n };\n /** Local-space axis-aligned bounding box. */\n local_aabb?: {\n /** Local AABB maximum corner (x,y,z). */\n max?: Array<number>;\n /** Local AABB minimum corner (x,y,z). */\n min?: Array<number>;\n };\n /** Local transform of the entity (position, orientation, scale). */\n local_transform?: {\n /** Local orientation as Euler angles (editor-only). */\n eulerOrientation?: Array<number>;\n /** Last global orientation entered by a user as Euler angles (may be invalid; editor-only). */\n globalEulerOrientation?: Array<number>;\n /** Local orientation as a quaternion. */\n orientation?: Array<number>;\n /** Local position (x, y, z) in meters. */\n position?: Array<number>;\n /** Local non-uniform scale (x, y, z). */\n scale?: Array<number>;\n };\n /** Assigns a shader to the entity's mesh and provides its input values and specialization constants. */\n material?: {\n /** Specialization constants (JSON); schema defined by shaderRef. */\n constantsJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Shader input values (JSON); schema defined by shaderRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Render both front and back faces (double-sided). */\n isDoubleSided?: boolean;\n /** Referenced shader (UUID). */\n shaderRef?: string;\n };\n /** Reference to a material to use for rendering. */\n material_ref?: {\n /** Face culling override: 0 = inherit from material, 1 = single-sided, 2 = double-sided. */\n faceCulling?: (0 | 1 | 2) & number;\n /** Referenced material (UUID). */\n value?: string;\n };\n /** Displays editor-only measurement annotations in the 3D view. */\n measure?: {\n /** Display color for the measurement. */\n color?: Array<number>;\n /** Measurement type to display. */\n type?: (0 | 1 | 2 | 3) & number;\n };\n /** Reference to a mesh to render (with submesh selection). */\n mesh_ref?: {\n /** Shadow casting mode for this mesh. */\n shadowCastingMode?: (0 | 1) & number;\n /** Index of the submesh within the mesh's submesh array. */\n submeshIndex?: number;\n /** Referenced mesh (UUID). */\n value?: string;\n };\n /** Contains weights assigned to morph targets of the mesh referred to by the entity's mesh_ref. */\n morph_targets?: {\n /** Map from morph target name to weight (commonly 0..1). */\n weights?: {\n [_additionalproperties_: string]: number;\n };\n };\n /** Orthographic projection lens with configurable zoom and depth range. */\n orthographic_lens?: {\n /** Far clipping plane distance (meters). */\n zFar?: number;\n /** Near clipping plane distance (meters). */\n zNear?: number;\n /** Zoom factor applied to the orthographic extents (X,Y). 1 = no zoom. */\n zoomFactor?: Array<number>;\n };\n /** Overrides an entity from a subscene: mark for deletion, replace components, or detach specific components. */\n overrider?: {\n /** Hashes of components to detach from the overridden entity. */\n componentsToDetach?: Array<number>;\n /** Mark the overridden entity as deleted in the composed scene. */\n deleter?: boolean;\n /** Target entity to override. */\n entityRef?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** Perspective projection lens with vertical field of view and near/far clipping planes. */\n perspective_lens?: {\n /** Far clipping plane distance (meters). Set to 0 for an infinite far plane. */\n farPlane?: number;\n /** Vertical field of view angle in degrees. */\n fovy?: number;\n /** Near clipping plane distance (meters). */\n nearPlane?: number;\n /** Projection center offset for stereoscopic rendering (meters). */\n offset?: Array<number>;\n };\n /** Physical surface properties used for contact: friction, restitution, optional contact modification, and trigger mode. */\n physics_material?: {\n /** Applied contact velocity offset when colliding (m/s). Only used if modifyContact is true. */\n contactVelocity?: Array<number>;\n /** 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. */\n dynamicFriction?: number;\n /** Treat associated geometry as a trigger (generates events but no physical response). */\n isTrigger?: boolean;\n /** Enable contact modification (applies contactVelocity on collisions). */\n modifyContact?: boolean;\n /** Restitution (bounciness) in [0,1]. 0 = no bounce; 1 = perfectly elastic. Effective value is averaged with the other surface. */\n restitution?: number;\n /** Static friction coefficient (typically 0..1). 0 feels like ice; higher resists start of motion. Effective value is averaged with the other surface. */\n staticFriction?: number;\n };\n /** Infinite plane geometry. */\n plane_geometry?: {\n /** Signed distance from the origin along the plane normal (meters). */\n distance?: number;\n /** Unit normal vector of the plane (in local space). */\n normal?: Array<number>;\n };\n /** Reference to a point cloud. */\n point_cloud_ref?: {\n /** Referenced point cloud (UUID). */\n value?: string;\n };\n /** 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. */\n point_light?: {\n /** RGB light color in linear space [0-1]. Multiplies intensity. */\n color?: Array<number>;\n /** Luminous intensity in candela (cd) for point and spot lights. Illuminance in lux (lx) when isDirectional, above the atmosphere when isSun. */\n intensity?: number;\n /** Treat this as a directional light using the entity's orientation; position is ignored. */\n isDirectional?: boolean;\n /** Use this light's direction to control the atmosphere sun direction. */\n isSun?: boolean;\n /** Distance in meters at which the inverse-square falloff is windowed to zero. 0 for no cutoff. */\n range?: number;\n };\n /** Omnidirectional reflection probe that captures the local environment into a cubemap for specular reflections (IBL). */\n reflection_probe?: {\n /** Capture far clip distance (meters). */\n farDist?: number;\n /** Capture near clip distance (meters). */\n nearDist?: number;\n /** Offset of the probe capture origin relative to the entity position (meters). */\n offset?: Array<number>;\n /** Reflection cubemap resolution (pixels per face). Higher values increase detail and cost. */\n quality?: number;\n };\n /** Rigid body parameters for dynamic simulation (mass, damping, limits, CCD, and kinematic/gravity behavior). */\n rigid_body?: {\n /** Angular damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n angularDamping?: number;\n /** Center of mass relative to the entity's local transform (meters). */\n centerOfMass?: Array<number>;\n /** Collision detection mode (CCD). Kinematic bodies do not support Linear/Continuous CCD. */\n collisionDetection?: (0 | 1 | 2 | 3) & number;\n /** Treat the rigid body as kinematic (unaffected by forces; driven by animation/app logic). */\n isKinematic?: boolean;\n /** Linear damping coefficient (s^-1). 0 = no damping; must be non-negative. */\n linearDamping?: number;\n /** Lock motion along/around the specified axes. */\n lockedAxis?: number;\n /** Mass (kg). A value of 0 is treated as infinite mass (static). */\n mass?: number;\n /** Maximum angular velocity (rad/s). Must be non-negative. */\n maxAngularVelocity?: number;\n /** Maximum linear velocity (m/s). Must be non-negative. */\n maxLinearVelocity?: number;\n /** Whether the rigid body is affected by gravity. */\n useGravity?: boolean;\n };\n /** Reference to a subscene (linker); used to compose scenes. */\n scene_ref?: {\n /** Maximum recursion depth when a scene references itself. */\n maxRecursionCount?: number;\n /** Referenced scene (UUID). */\n value?: string;\n };\n /** References a script and supplies its input values. */\n script_element?: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n /** Holds a set of script elements keyed by UUID. */\n script_map?: {\n /** Map of script UUID to script element. */\n elements?: {\n /** References a script and supplies its input values. */\n [_additionalproperties_: string]: {\n /** Script input values in JSON; schema defined by scriptRef. */\n dataJSON?: {\n [_additionalproperties_: string]: any;\n };\n /** Referenced script (UUID). */\n scriptRef?: string;\n };\n };\n };\n /** Enables a light to cast real-time shadows with configurable map resolution, depth range, and (for directional lights) cascades. */\n shadow_caster?: {\n /** Directional lights only: blend/accumulate all cascades to reduce visible transitions between splits. */\n accumulateShadowCascades?: boolean;\n /** Depth bias applied during shadow tests to reduce self-shadowing (acne). Increase to mitigate artifacts; too high causes peter-panning. */\n bias?: number;\n /** Directional lights only: number of cascades for CSM. 0 = static shadow map, 1\u20134 = increasing cascade count. */\n cascadeCount?: (0 | 1 | 2 | 3 | 4) & number;\n /** 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. */\n cascadeSplitLambda?: number;\n /** Shadow camera far clip distance (meters). Use the smallest range that contains casters/receivers. */\n farDist?: number;\n /** Shadow camera near clip distance (meters). Tighten to improve depth precision. */\n nearDist?: number;\n /** Shadow map resolution (pixels per side). Higher values increase detail at the cost of memory and performance. */\n quality?: (256 | 512 | 1024 | 2048 | 3072 | 4096 | 6144 | 8192) & number;\n };\n /** Reference to a skeleton asset for skinning and animation. */\n skeleton_ref?: {\n /** Referenced skeleton (UUID). */\n value?: string;\n };\n /** Reference to a sound asset with playback and spatialization controls. */\n sound_ref?: {\n /** Distance attenuation model. */\n attenuationModel?: (0 | 1 | 2 | 3) & number;\n /** Rolloff factor for distance attenuation. */\n attenuationRolloffFactor?: number;\n /** Autoplay when the simulation starts. */\n autoPlayOnStart?: boolean;\n /** Scale factor for the Doppler effect. */\n dopplerFactor?: number;\n /** Behavior when the sound becomes inaudible. */\n inaudibleBehavior?: (0 | 1 | 2) & number;\n /** Whether the sound loops. */\n looping?: boolean;\n /** Distance beyond which the sound is inaudible (meters). */\n maxDistance?: number;\n /** Distance at which the sound stays at max volume (meters). */\n minDistance?: number;\n /** Stereo pan. \u22121 = left, 1 = right. */\n pan?: number;\n /** Playback speed multiplier (1.0 = normal). */\n playSpeed?: number;\n /** Referenced sound (UUID). */\n value?: string;\n /** Playback volume [0..1]. */\n volume?: number;\n };\n /** Sphere geometry. */\n sphere_geometry?: {\n /** Local offset of the geometry origin (meters). */\n offset?: Array<number>;\n /** Radius of the sphere (meters). */\n radius?: number;\n };\n /** Displays an editor-only spline in the 3D view. */\n spline?: {\n /** Display color of the curve. */\n color?: Array<number>;\n /** Catmull-Rom tension (only when type is Catmull-Rom). */\n tension?: number;\n /** Spline interpolation type. */\n type?: (0 | 1 | 2) & number;\n };\n /** Adds a cone cutoff to a light, producing a spotlight. Requires a Point Light component for color/intensity and falloff. */\n spot_light?: {\n /** Optional IES photometric profile (2D texture). Modulates emitted intensity by direction; leave empty for uniform distribution. */\n IESProfile?: string;\n /** Cone half-angle in degrees, from the axis to the edge. Light falls to zero at the cone edge. */\n cutoff?: number;\n };\n /** Free-form tags used to group and filter entities. */\n tags?: {\n /** List of tags applied to this entity. */\n value?: Array<string>;\n };\n /** Vehicle Controller parameters. */\n vehicle_controller?: {\n /** The chassis. */\n chassis?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front left wheel. */\n frontLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The front right wheel. */\n frontRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear left wheel. */\n rearLeftWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n /** The rear right wheel. */\n rearRightWheel?: {\n linkage: Array<string>;\n /** A unique identifier, such as an entity's, or the nil uuid for none. */\n originalEUID: string;\n };\n };\n /** View filtering and display controls applied to the referenced volume. */\n volume_filter?: {\n /** Apply Gaussian smoothing when sampling voxels. */\n applyGaussianFiltering?: boolean;\n /** Whether this volume is visible in the 3D view. */\n enable3D?: boolean;\n /** Whether this volume is visible in the MPR (multi-planar reconstruction) view. */\n enableMPR?: boolean;\n /** Tint applied to this volume's MPR/projection output. */\n mprColor?: Array<number>;\n /** Displayed voxel intensity range [min, max]. Values outside the material's valid range are clamped/ignored. */\n range?: Array<number>;\n /** Sample texels without hardware filtering (nearest). */\n sampleUnfiltered?: boolean;\n };\n /** Reference to the volume material used for shading and transfer functions. */\n volume_material_ref?: {\n /** Referenced volume material (UUID). */\n value?: string;\n };\n /** Reference to a volumetric dataset stored as a 3D texture (voxels). */\n volume_ref?: {\n /** Referenced 3D texture (UUID) containing the volume voxels. */\n texture3dRef?: string;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/entities/' + encodeURIComponent(entity_id) + '',\n data: {\n animation_controller: animation_controller,\n animation_sequence_controller: animation_sequence_controller,\n bone: bone,\n box_geometry: box_geometry,\n camera: camera,\n capsule_geometry: capsule_geometry,\n character_controller: character_controller,\n collision_geometry_ref: collision_geometry_ref,\n constraint: constraint,\n constraint_actuator: constraint_actuator,\n culling_geometry: culling_geometry,\n custom_lens: custom_lens,\n cylinder_geometry: cylinder_geometry,\n debug_name: debug_name,\n decal_projector: decal_projector,\n environment: environment,\n joint: joint,\n label: label,\n lineage: lineage,\n local_aabb: local_aabb,\n local_transform: local_transform,\n material: material,\n material_ref: material_ref,\n measure: measure,\n mesh_ref: mesh_ref,\n morph_targets: morph_targets,\n orthographic_lens: orthographic_lens,\n overrider: overrider,\n perspective_lens: perspective_lens,\n physics_material: physics_material,\n plane_geometry: plane_geometry,\n point_cloud_ref: point_cloud_ref,\n point_light: point_light,\n reflection_probe: reflection_probe,\n rigid_body: rigid_body,\n scene_ref: scene_ref,\n script_element: script_element,\n script_map: script_map,\n shadow_caster: shadow_caster,\n skeleton_ref: skeleton_ref,\n sound_ref: sound_ref,\n sphere_geometry: sphere_geometry,\n spline: spline,\n spot_light: spot_light,\n tags: tags,\n vehicle_controller: vehicle_controller,\n volume_filter: volume_filter,\n volume_material_ref: volume_material_ref,\n volume_ref: volume_ref,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Delete a specific entity from a scene.\n */\nexport function deleteEntity(\n {\n scene_id,\n entity_id,\n }: {\n scene_id: AssetId;\n entity_id: string;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/entities/' + encodeURIComponent(entity_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Get the settings of a scene.\n */\nexport function getSceneSettings(\n {\n scene_id,\n }: {\n scene_id: AssetId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<SceneSettings> {\n return axiosInstance({\n method: 'get',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/settings',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Update the settings of a scene.\n */\nexport function updateSceneSettings(\n {\n scene_id,\n body,\n }: {\n scene_id: AssetId;\n body: SceneSettings;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'patch',\n url: '/assets/scenes/' + encodeURIComponent(scene_id) + '/settings',\n data: body,\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Lists all running rendering sessions.\n */\nexport function getRunningSessions(\n {\n filters,\n }: {\n filters?: {\n /** Filter sessions created by the specified user. Only available while using an api key. */\n user_id?: string;\n /** Filter sessions running a specified scene. */\n scene_id?: string;\n /** Filter sessions running scenes located in the specified folder. */\n folder_id?: string;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Array<Session>> {\n return axiosInstance({\n method: 'get',\n url: '/sessions',\n params: {\n filters: filters,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Create a new rendering session.\n */\nexport function createSession(\n {\n scene_id,\n renderer_version,\n is_transient = false,\n options,\n }: {\n /** The unique identifier of the scene to launch. */\n scene_id: AssetId;\n /** The version of the renderer to use. */\n renderer_version?: string;\n /** Whether the session should be created as transient or not. */\n is_transient?: boolean;\n /** Additional options for the session. For internal use. */\n options?: {\n [_additionalproperties_: string]: any;\n };\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<{\n session_id: SessionId;\n}> {\n return axiosInstance({\n method: 'post',\n url: '/sessions',\n data: {\n scene_id: scene_id,\n renderer_version: renderer_version,\n is_transient: is_transient,\n options: options,\n },\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieves details about the target session.\n */\nexport function getSession(\n {\n session_id,\n }: {\n session_id: SessionId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Session> {\n return axiosInstance({\n method: 'get',\n url: '/sessions/' + encodeURIComponent(session_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Terminates a session: its renderer is stopped, its clients disconnected. Only the session's creator can terminate\n * it. The session is closing until its renderer stopped, joined no more.\n */\nexport function killSession(\n {\n session_id,\n }: {\n session_id: SessionId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/sessions/' + encodeURIComponent(session_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Creates a new client for the user and returns a token to join the session.\n */\nexport function joinSession(\n {\n session_id,\n is_headless = false,\n }: {\n session_id: SessionId;\n /** Declare that the client is headless and will not receive any frames. Useful for clients running on servers or in the background. */\n is_headless?: boolean;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<SessionToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/' + encodeURIComponent(session_id) + '/clients',\n data: optionalBody({\n is_headless: is_headless,\n }),\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Retrieves details about the target client.\n */\nexport function getClient(\n {\n session_id,\n client_id,\n }: {\n session_id: SessionId;\n client_id: ClientId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<Client> {\n return axiosInstance({\n method: 'get',\n url: '/sessions/' + encodeURIComponent(session_id) + '/clients/' + encodeURIComponent(client_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Kicks a client from a running session: it is disconnected, and leaves the session. Only the session's creator can\n * kick a client.\n */\nexport function kickClientFromSession(\n {\n session_id,\n client_id,\n }: {\n session_id: SessionId;\n client_id: ClientId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n) {\n return axiosInstance({\n method: 'delete',\n url: '/sessions/' + encodeURIComponent(session_id) + '/clients/' + encodeURIComponent(client_id) + '',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Join a session as guest.\n */\nexport function joinSessionAsGuest(headers?: RawAxiosRequestHeaders | AxiosRequestHeaders): AxiosPromise<SessionToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/guests',\n headers: headers,\n });\n}\n\n//--------------------------------------------------------------------------\n/**\n * Generates a token to join the session as a guest.\n */\nexport function generateGuestToken(\n {\n session_id,\n }: {\n session_id: SessionId;\n },\n headers?: RawAxiosRequestHeaders | AxiosRequestHeaders,\n): AxiosPromise<GuestToken> {\n return axiosInstance({\n method: 'post',\n url: '/sessions/' + encodeURIComponent(session_id) + '/guests',\n headers: headers,\n });\n}\n"],
|
|
5
|
+
"mappings": ";AAEA,OAAO,cAAc,gBAAgB,gCAAgC;;;ACyBrE,OAAO;AAAA,EACH;AAAA,OAMG;AAUA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAmB,UAAkB,SAAiB,cAAuB;AACrF,UAAM,OAAO;AAEb,WAAO,eAAe,MAAM,WAAW;AAAA,MACnC,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,cAAc;AAAA,IAClB,CAAC;AACD,SAAK,YAAY;AACjB,SAAK,WAAW;AAChB,SAAK,eAAe;AAAA,EACxB;AACJ;AAIA,SAAS,aAA+B,MAAwB;AAC5D,SAAO,OAAO,OAAO,IAAI,EAAE,KAAK,WAAS,UAAU,MAAS,IAAI,OAAO;AAC3E;AAKA,SAAS,cAAc,QAAiC,OAA4D;AAChH,QAAM,OAAO,IAAI,SAAS;AAC1B,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAChD,QAAI,UAAU,QAAW;AACrB,WAAK,OAAO,MAAM,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK,CAAC;AAAA,IAC/E;AAAA,EACJ;AACA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAC/C,eAAW,QAAQ,UAAU,SAAY,CAAC,IAAI,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG;AAClF,WAAK,OAAO,MAAM,IAAI;AAAA,IAC1B;AAAA,EACJ;AACA,SAAO;AACX;AAIA,SAAS,aAAa,SAAgF;AAClG,SAAO,mBAAmB,eAAe,QAAQ,OAAO,IAAI,EAAE,GAAG,QAAQ;AAC7E;AAGO,IAAM,gBAAgB,MAAM,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,kBAAkB,EAAE,SAAS,KAAK;AACtC,CAAC;AAGM,SAAS,WAAW,SAAiB;AACxC,gBAAc,SAAS,UAAU;AACrC;AAi2MO,IAAM,0BAAN,cAAsC,qBAAqB;AAAA,EAC9D,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,8CAA8C,YAAY;AAC3E,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,0BAAN,cAAsC,qBAAqB;AAAA,EAC9D,OAAgB,aAAa;AAAA,EAQ7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,4BAA4B,YAAY;AACzD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,uBAAN,cAAmC,qBAAqB;AAAA,EAC3D,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,yDAAyD,YAAY;AACtF,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,4BAAN,cAAwC,qBAAqB;AAAA,EAChE,OAAgB,aAAa;AAAA,EAG7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,gEAAgE,YAAY;AAC7F,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,eAAN,cAA2B,qBAAqB;AAAA,EACnD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,4BAA4B,YAAY;AACzD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,sBAAN,cAAkC,qBAAqB;AAAA,EAC1D,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,+CAA+C,YAAY;AAC5E,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,6BAAN,cAAyC,qBAAqB;AAAA,EACjE,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,iCAAiC,YAAY;AAC9D,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,gBAAN,cAA4B,qBAAqB;AAAA,EACpD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,mBAAmB,YAAY;AAChD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,oBAAN,cAAgC,qBAAqB;AAAA,EACxD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,gEAAgE,YAAY;AAC7F,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,kBAAN,cAA8B,qBAAqB;AAAA,EACtD,OAAgB,aAAa;AAAA,EAG7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,2EAA2E,YAAY;AACxG,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,0BAAN,cAAsC,qBAAqB;AAAA,EAC9D,OAAgB,aAAa;AAAA,EAG7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,mDAAmD,YAAY;AAChF,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,iBAAN,cAA6B,qBAAqB;AAAA,EACrD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,oBAAoB,YAAY;AACjD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,gBAAN,cAA4B,qBAAqB;AAAA,EACpD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,kBAAkB,YAAY;AAC/C,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,qBAAN,cAAiC,qBAAqB;AAAA,EACzD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,yBAAyB,YAAY;AACtD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,kBAAN,cAA8B,qBAAqB;AAAA,EACtD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,2CAA2C,YAAY;AACxE,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,iBAAN,cAA6B,qBAAqB;AAAA,EACrD,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,mBAAmB,YAAY;AAChD,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AACO,IAAM,yBAAN,cAAqC,qBAAqB;AAAA,EAC7D,OAAgB,aAAa;AAAA,EAE7B,YAAY,cAAuC;AAC/C,UAAM,MAAM,KAAK,6BAA6B,YAAY;AAC1D,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC;AACJ;AAoBA,IAAM,iBAA+F;AAAA,EACjG,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACV;AAKO,SAAS,QAAQ,OAA2C;AAC/D,MAAI,OAAO,OAAO,cAAc,EAAE,KAAK,CAAAA,cAAY,iBAAiBA,SAAQ,GAAG;AAC3E,WAAO;AAAA,EACX;AACA,QAAM,UAAU;AAChB,QAAM,eAAgB,SAAS,gBAAgB,SAAS,UAAU,MAAM;AAExE,QAAM,YAAY,cAAc;AAChC,QAAM,WAAW,OAAO,cAAc,WAAW,eAAe,SAAS,IAAI;AAC7E,SAAO,WAAW,IAAI,SAAS,YAAa,IAAI;AACpD;AAMO,SAAS,UACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AACZ,GAIA,SACyB;AACzB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AACJ,GAIA,SACkB;AAClB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,eAAe,SAA4E;AACvG,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,QACZ;AAAA,EACI;AACJ,GAGA,SACkB;AAClB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO;AAAA,IAC3C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,WACZ;AAAA,EACI;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO;AAAA,IAC3C,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAQO,SAAS,WACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO;AAAA,IAC3C;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,kBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA,MAAM;AACV,GAUA,SACmB;AACnB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO,IAAI;AAAA,IAC/C,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AACJ,GAGA,SAC0B;AAC1B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO,IAAI;AAAA,IAC/C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBACZ;AAAA,EACI;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AACZ,GAKA,SAC+B;AAC/B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,YAAY,mBAAmB,OAAO,IAAI;AAAA,IAC/C,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACmB;AACnB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,SACZ;AAAA,EACI;AACJ,GAGA,SACmB;AACnB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,QAAQ;AAAA,IAC7C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,uBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,QAAQ;AAAA,IAC7C,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,QAAQ;AAAA,IAC7C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,yBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAOA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aACA,mBAAmB,QAAQ,IAC3B,cACA,mBAAmB,WAAW,IAC9B,MACA,mBAAmB,SAAS;AAAA,IAEhC,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,0BACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aACA,mBAAmB,QAAQ,IAC3B,cACA,mBAAmB,WAAW,IAC9B,MACA,mBAAmB,SAAS;AAAA,IAEhC;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AACZ,GAIA,SACwB;AACxB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAKA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AACJ,GAGA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS;AAAA,IAC/C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS;AAAA,IAC/C,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS;AAAA,IAC/C,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS;AAAA,IAC/C;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBACZ;AAAA,EACI;AACJ,GAGA,SAaD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,0BACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAMA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,cACA,mBAAmB,SAAS,IAC5B,aACA,mBAAmB,WAAW,IAC9B,MACA,mBAAmB,SAAS;AAAA,IAEhC,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,2BACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,cACA,mBAAmB,SAAS,IAC5B,aACA,mBAAmB,WAAW,IAC9B,MACA,mBAAmB,SAAS;AAAA,IAEhC;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAMA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,qBACZ;AAAA,EACI;AACJ,GAGA,SAC2B;AAC3B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD;AAAA,EACJ,CAAC;AACL;AAsBO,SAAS,kBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,EACtB;AAAA,EACA;AACJ,GAyBA,kBACA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,MACF;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI;AAAA,MACJ;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,MACL,gBAAgB;AAAA,MAChB,GAAG,aAAa,OAAO;AAAA,IAC3B;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,uBACZ;AAAA,EACI;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACJ,GAQA,SAC+B;AAC/B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC,EAAE,KAAK,cAAY;AAChB,aAAS,QAAQ,sBAAsB,IAAI,KAAK,MAAM,SAAS,QAAQ,sBAAsB,CAAC;AAC9F,WAAO;AAAA,EACX,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,uBACZ;AAAA,EACI;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AACZ,GAKA,SAC+B;AAC/B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA,YAAY;AAChB,GAOA,SACuB;AACvB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC,EAAE,KAAK,cAAY;AAChB,aAAS,QAAQ,gBAAgB,IAAI,KAAK,MAAM,SAAS,QAAQ,gBAAgB,CAAC;AAClF,WAAO;AAAA,EACX,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AACJ,GAqBA,SAoBF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,WACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,eACZ;AAAA,EACI;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,gBAAgB;AAAA,EAChB;AAAA,EACA,YAAY;AAChB,GAaA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AAAA,EACA,QAAQ;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA;AACJ,GAOA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,oBACZ;AAAA,EACI;AACJ,GAGA,SAC4B;AAC5B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,cAAc,mBAAmB,SAAS,IAAI;AAAA,IACnD;AAAA,EACJ,CAAC;AACL;AAUO,SAAS,yBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAaA,SACgC;AAChC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,wBACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA,OAAO;AACX,GAMA,SAC8C;AAC9C,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,sBACZ;AAAA,EACI;AACJ,GAGA,SACgC;AAChC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,2BAA2B,mBAAmB,sBAAsB;AAAA,IACzE;AAAA,EACJ,CAAC;AACL;AAQO,SAAS,yBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAiBA,SACgC;AAChC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,2BAA2B,mBAAmB,sBAAsB;AAAA,IACzE,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,0BACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,2BAA2B,mBAAmB,sBAAsB;AAAA,IACzE;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,0BACZ;AAAA,EACI;AACJ,GAGA,SACoC;AACpC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,2BAA2B,mBAAmB,sBAAsB,IAAI;AAAA,IAC7E;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACJ,GAOA,SAC+B;AAC/B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC,EAAE,KAAK,cAAY;AAChB,aAAS,QAAQ,sBAAsB,IAAI,KAAK,MAAM,SAAS,QAAQ,sBAAsB,CAAC;AAC9F,WAAO;AAAA,EACX,CAAC;AACL;AAMO,SAAS,kBACZ;AAAA,EACI;AAAA,EACA,gBAAgB;AACpB,GAMA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,8BACZ,SACwC;AACxC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,qBACZ;AAAA,EACI;AACJ,GAGA,SACwB;AACxB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,mBAAmB,mBAAmB,cAAc,IAAI;AAAA,IAC7D;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,wBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,mBAAmB,mBAAmB,cAAc,IAAI;AAAA,IAC7D,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,oBACZ;AAAA,EACI;AACJ,GAGA,SACuB;AACvB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,mBAAmB,mBAAmB,cAAc,IAAI;AAAA,IAC7D;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,eACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AACZ,GAIA,SAC+B;AAC/B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AACJ,GAGA,SACwB;AACxB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,mBAAmB,mBAAmB,cAAc;AAAA,IACzD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,0BACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACA,cAWF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,uBACA,mBAAmB,kBAAkB,IACrC,eACA,mBAAmB,QAAQ;AAAA,IAE/B;AAAA,IACA,cAAc,gBAAgB;AAAA,EAClC,CAAC;AACL;AAMO,SAAS,iBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAiBA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AACJ,GAGA,SACsB;AACtB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,gBAAgB,mBAAmB,WAAW;AAAA,IACnD;AAAA,EACJ,CAAC;AACL;AAQO,SAAS,WACZ;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACJ,GAcA,SACuB;AACvB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ;AAAA,IACzF;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,mBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACwB;AACxB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SAC0B;AAC1B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,eACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,qBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR;AAAA,EACA;AACJ,GAgBA,SA+BF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACJ,GAOA,SAcF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,oBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SAC8B;AAC9B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,uBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,MAAM;AAAA,MACF;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,SACA,cAWF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aACA,mBAAmB,4BAA4B,IAC/C,MACA,mBAAmB,QAAQ,IAC3B;AAAA,IACJ,QAAQ;AAAA,MACJ;AAAA,IACJ;AAAA,IACA;AAAA,IACA,cAAc,gBAAgB;AAAA,EAClC,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SAKD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aAAa,mBAAmB,0BAA0B,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IACvG;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,iBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAOA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aAAa,mBAAmB,0BAA0B,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IACvG,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,gBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SAkBD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,yBAAyB,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IACvG;AAAA,IACA,cAAc;AAAA,EAClB,CAAC;AACL;AAMO,SAAS,kBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAMA,SACA,cAWF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,cAAc,gBAAgB;AAAA,EAClC,CAAC;AACL;AAMO,SAAS,kBACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,GAKA,aACA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F,MAAM;AAAA,IACN,cAAc;AAAA,IACd,SAAS;AAAA,MACL,gBAAgB;AAAA,MAChB,GAAG,aAAa,OAAO;AAAA,IAC3B;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACA,cAWF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,aAAa,mBAAmB,eAAe,IAAI,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IAC7F;AAAA,IACA,cAAc,gBAAgB;AAAA,EAClC,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AACJ,GAOA,SACmD;AACnD,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KACI,aACA,mBAAmB,0BAA0B,IAC7C,MACA,mBAAmB,QAAQ,IAC3B,cACA,mBAAmB,MAAM;AAAA,IAE7B,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,iBACZ;AAAA,EACI;AACJ,GAGA,SAC4B;AAC5B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI;AAAA,IACxD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AACJ,GAGA,SAMD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI;AAAA,IACxD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAijBA,SAID;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI;AAAA,IACxD,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,UACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA,2BAA2B;AAC/B,GAKA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI,eAAe,mBAAmB,SAAS;AAAA,IACnG,QAAQ;AAAA,MACJ;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAkjBA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI,eAAe,mBAAmB,SAAS;AAAA,IACnG,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,aACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI,eAAe,mBAAmB,SAAS;AAAA,IACnG;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,iBACZ;AAAA,EACI;AACJ,GAGA,SAC2B;AAC3B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI;AAAA,IACxD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,oBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,oBAAoB,mBAAmB,QAAQ,IAAI;AAAA,IACxD,MAAM;AAAA,IACN;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBACZ;AAAA,EACI;AACJ,GAUA,SAC4B;AAC5B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,QAAQ;AAAA,MACJ;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,cACZ;AAAA,EACI;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AACJ,GAYA,SAGD;AACC,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,WACZ;AAAA,EACI;AACJ,GAGA,SACqB;AACrB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU;AAAA,IACjD;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,YACZ;AAAA,EACI;AACJ,GAGA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU;AAAA,IACjD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,YACZ;AAAA,EACI;AAAA,EACA,cAAc;AAClB,GAKA,SAC0B;AAC1B,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU,IAAI;AAAA,IACrD,MAAM,aAAa;AAAA,MACf;AAAA,IACJ,CAAC;AAAA,IACD;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,UACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACoB;AACpB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU,IAAI,cAAc,mBAAmB,SAAS;AAAA,IAC/F;AAAA,EACJ,CAAC;AACL;AAOO,SAAS,sBACZ;AAAA,EACI;AAAA,EACA;AACJ,GAIA,SACF;AACE,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU,IAAI,cAAc,mBAAmB,SAAS;AAAA,IAC/F;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBAAmB,SAAoF;AACnH,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL;AAAA,EACJ,CAAC;AACL;AAMO,SAAS,mBACZ;AAAA,EACI;AACJ,GAGA,SACwB;AACxB,SAAO,cAAc;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK,eAAe,mBAAmB,UAAU,IAAI;AAAA,IACrD;AAAA,EACJ,CAAC;AACL;;;AD13UO,SAAS,UAAU,QAAgB;AACtC,gBAAc,SAAS,QAAQ,OAAO,SAAS,IAAI;AACnD,SAAO,cAAc,SAAS,QAAQ,OAAO,YAAY;AAC7D;AAGO,SAAS,aAAa,WAAmB;AAC5C,gBAAc,SAAS,QAAQ,OAAO,YAAY,IAAI;AACtD,SAAO,cAAc,SAAS,QAAQ,OAAO,SAAS;AAC1D;AAGA,IAAe,eAAf,cAAoC,MAAM;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA,YAAY,WAAmB,UAAkB,SAAiB;AAC9D,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAW;AAChB,SAAK,UAAU;AAAA,EACnB;AACJ;AAGO,IAAM,WAAN,cAAuB,aAAa;AAAA,EACvC;AAAA,EAEA,YAAY,WAAmB,QAAgB,SAAiB,cAAuB;AACnF,UAAM,WAAW,QAAQ,OAAO;AAChC,SAAK,eAAe;AAAA,EACxB;AACJ;AAGO,IAAM,yBAAN,cAAqC,aAAa;AAAA,EACrD;AAAA,EAEA,YAAY,QAAgB,iBAA0B;AAClD,UAAM,GAAG,QAAQ,gCAAgC;AACjD,SAAK,kBAAkB;AAAA,EAC3B;AACJ;AAGA,SAAS,sBAAsB;AAC3B,QAAM,eAAe;AACrB,QAAM,wBAAwB;AAE9B,aAAW,eAAe;AAAA,IACtB,SAAS;AAAA,IACT,YAAY,WAAW;AAAA,IACvB,gBAAgB;AAAA,EACpB,CAAC;AAED,gBAAc,aAAa,SAAS;AAAA,IAChC,wBAAsB;AAClB,UAAI,mBAAmB,OAAO,iBAAiB,UAAU;AACrD,2BAAmB,KAAK,MAAM;AAAA,MAClC;AAEA,aAAO;AAAA,IACX;AAAA,IACA,WAAS;AACL,UAAI,CAAC,MAAM,UAAU;AACjB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC/B;AAEA,YAAM,aAAa;AACnB,YAAM,SAAS,WAAW,UAAU,UAAU;AAC9C,YAAM,YAAY,WAAW,UAAU;AAEvC,UACI,CAAC,aACD,WAAW,QAAQ,WAAW,UAC9B,UAAU,gBACV,SAAS,uBACX;AACE,eAAO,WAAW;AAAA,MACtB;AAEA,UAAI,CAAC,aAAa,OAAO,cAAc,UAAU;AAC7C,eAAO,QAAQ,OAAO,IAAI,uBAAuB,QAAQ,SAAS,CAAC;AAAA,MACvE;AAEA,YAAM,eAAe;AACrB,aAAO,QAAQ,OAAO,IAAI,SAAS,aAAa,WAAW,QAAQ,aAAa,SAAS,YAAY,CAAC;AAAA,IAC1G;AAAA,EACJ;AACJ;AAGA,SAAS,mBAAmB,OAAmB;AAC3C,QAAM,SAAS,MAAM,UAAU;AAE/B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AACD,aAAO;AAAA,IAEX;AACI,aAAO,eAAe,KAAK,KAAK,yBAAyB,KAAK;AAAA,EACtE;AACJ;AAGA,oBAAoB;",
|
|
6
|
+
"names": ["declared"]
|
|
7
7
|
}
|