    

 ## On this page

  

 

 # Reference documentation

 Last update: 09.03.2026 

## asset\_preparation\_api/common/chunk.proto

This file describes the messages used for import/export.

### Chunk

A block of data.

Note: The recommended size is in the range 256kB to 1MB.

No data higher than 2GB can be handled.

FieldTypeLabelDescription`metadata`[map Chunk-MetadataEntry](#chunk-metadataentry)repeated`bytes`bytes### Chunk-MetadataEntry

FieldTypeLabelDescription`key`string`value`string## asset\_preparation\_api/common/common.proto

This file describes the messages used in several proto files.

### ColorHsv

Hsv value of a color.

FieldTypeLabelDescription`hue`google.protobuf.DoubleValueHue   
Unit: Degree  
Range: \[0,360\]`saturation`google.protobuf.DoubleValueIntensity   
Range: \[0,100\]`value`google.protobuf.DoubleValueValue   
Range: \[0,100\]### ColorRgb

RGB value of a color.

FieldTypeLabelDescription`red`google.protobuf.Int32ValueValue for the red component.  
Range: \[0,255\]`green`google.protobuf.Int32ValueValue for the green component.  
Range: \[0,255\]`blue`google.protobuf.Int32ValueValue for the blue component.  
Range: \[0,255\]### Empty

An empty message used for none type.

### ConflictPolicy

The conflict policy to define what should be imported when there is any name conflict detected between objects from the environment or scene tree to import and the objects already existing on the server.

Note: Scene trees, light instances, nodes and material parts cannot have name conflicts.

NameNumberDescriptionCONFLICT\_POLICY\_UNSPECIFIED0Unspecified conflict policy.CONFLICT\_POLICY\_STOP1The import operation is canceled when there is a conflict with the server's objects.  
Note: This is the default behavior when no policy is specified.CONFLICT\_POLICY\_KEEP\_EXISTING2When there is a conflict with the server's objects, the import operation continues without importing the conflicting objects. The already existing objects are used in the imported environment/scene tree.CONFLICT\_POLICY\_OVERRIDE3When there is a conflict with the server's objects, the import operation continues and the objects from the imported environment/scene tree override the already existing objects.CONFLICT\_POLICY\_KEEP\_BOTH4When there is a conflict with the server's objects, the import operation continues and both conflicting objects are kept: the objects already existing remains on the server and the objects coming from the import operation are automatically renamed and used in the imported environment/scene tree.## asset\_preparation\_api/common/protection.proto

### Protection

Protection Service

This service is used to protect existing track or asset files.

Method NameRequest TypeResponse TypeDescriptionProtect[ProtectRequest](#protectrequest)[ProtectResponse](#protectresponse)Protects an existing track or asset file.## asset\_preparation\_api/common/protection\_description.proto

### ProtectRequest

The information required to protect an existing track or asset file.

FieldTypeLabelDescription`path`stringThe path to the existing track or asset file to protect.  
Note: The file extension must be either .track or .asset. `output_path`stringoptionalThe optional output path for the protected file.  
If the output path is not defined, the protected file is placed next to the original file, with the same name and the .protected.track or   
.protected.asset extension.  
Note: The extension must be either .track or .asset. The path must point to a different location than the input path.`overwrite_existing_output`boolDefines whether existing output file, if any, should be overwritten or not.### ProtectResponse

The response returned after protecting an existing track or asset file.

## asset\_preparation\_api/common/reset.proto

This file describes the service used to reset the server.

### Reset

Reset Preparation Service

This service is used to clear the server.

Note: Resetting the server removes from the server all the "in-memory" data, namely all the data imported or created, collections and identifiers.

Method NameRequest TypeResponse TypeDescriptionReset.google.protobuf.Empty[ResetResponse](#resetresponse)Reset server, all collections and identifiers.## asset\_preparation\_api/common/reset\_description.proto

This file describes the messages used to reset the server.

### ResetResponse

The information required to reset the server.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reset operation.## asset\_preparation\_api/common/status.proto

This file describes the status messages used in several proto files.

### Status

A status message informing about the success of a request.

FieldTypeLabelDescription`code`int32The status code.`feedback_message`stringThe feedback message.`level`[Level](#level)The severity level.### Level

The severity of the feedback on an operation.

NameNumberDescriptionLEVEL\_UNSPECIFIED0The severity is unspecified.LEVEL\_ERROR1The operation returned an error.LEVEL\_WARNING2The operation succeeded with warnings.LEVEL\_INFORMATION3The operation fully succeeded.## asset\_preparation\_api/common/tag.proto

This file describes the messages used to define tags.

### Properties

The properties of a tag.

FieldTypeLabelDescription`label`google.protobuf.StringValueOptional label.  
Note: It can be added only for the tags with the following types:  
 BASIC\_TYPE\_PEDESTRIAN   
 BASIC\_TYPE\_VEHICLE   
 BASIC\_TYPE\_ANIMAL   
 BASIC\_TYPE\_STREET\_LIGHT   
 BASIC\_TYPE\_ROAD\_SIGN   
 BASIC\_TYPE\_SIMULATION\_OBJECT   
 BASIC\_TYPE\_CUSTOM\_OBJECT   
 BASIC\_TYPE\_ILLUMINANCE\_SENSOR`name`google.protobuf.StringValueThe name of the custom tag.  
Note: Needed only for the tags with the `BASIC_TYPE_CUSTOM_OBJECT` type.`identifier`google.protobuf.Int32ValueThe identifier of the wheel tag.  
Note: Needed only for the tags with the `BASIC_TYPE_WHEEL` type.  
Here is a convention for wheel identifier in AVX, when the vehicle has four wheels:  
The front left wheel identifier must be 0.  
The front right wheel identifier must be 1.  
The rear left wheel identifier must be 2.  
The rear right wheel identifier must be 3.`position`[SidePosition](#sideposition)The position of the lighting element.  
Note: Needed only for the tags with the `LIGHTING_TYPE_TURN_INDICATOR` and `LIGHTING_TYPE_DAYTIME_RUNNING_LIGHT` types.`irradiance_map_identifier`google.protobuf.Int32ValueOptional identifier of the irradiance map.  
Note: It can be added only for the tags with the `BASIC_TYPE_VEHICLE` type.### Tag

The definition of a tag.

FieldTypeLabelDescription**oneof** `tag_type` `basic_type`[BasicType](#basictype)Basic tag type.**oneof** `tag_type` `lighting_type`[LightingType](#lightingtype)Lighting tag type.`properties`[Properties](#properties)Properties of the tag.### TagIdentity

The identity of a tag.

FieldTypeLabelDescription**oneof** `tag_type` `basic_type`[BasicType](#basictype)Basic tag type.**oneof** `tag_type` `lighting_type`[LightingType](#lightingtype)Lighting tag type.`name`google.protobuf.StringValueThe name of the tag.  
Note: Needed only for the tags with the `BASIC_TYPE_CUSTOM_OBJECT` type.### BasicType

Types for a basic element tag.

NameNumberDescriptionBASIC\_TYPE\_UNSPECIFIED0The basic tag type is unspecified.BASIC\_TYPE\_PEDESTRIAN1The element is tagged as a pedestrian.BASIC\_TYPE\_VEHICLE2The element is tagged as a vehicle.BASIC\_TYPE\_ANIMAL3The element is tagged as an animal.BASIC\_TYPE\_STREET\_LIGHT4The element is tagged as a street light.BASIC\_TYPE\_ROAD\_SIGN5The element is tagged as a road sign.BASIC\_TYPE\_SIMULATION\_OBJECT6The element is tagged as a simulation object.BASIC\_TYPE\_CUSTOM\_OBJECT7The element is tagged as a custom simulation object.  
Note: If you want to tag a dynamic asset as a custom simulation object, you must add the custom tag first, then add a second asset tag, `BASIC_TYPE_VEHICLE`, `BASIC_TYPE_PEDESTRIAN` or `BASIC_TYPE_ANIMAL`, in this specific order.BASIC\_TYPE\_VEHICLE\_BODY8The element is tagged as a vehicle body.BASIC\_TYPE\_SENSOR\_REFERENTIAL9The element is tagged as the sensor referential of a vehicle.BASIC\_TYPE\_LIGHTING\_SYSTEM\_REFERENTIAL10The element is tagged as the lighting system referential of a vehicle.BASIC\_TYPE\_WHEEL11The element is tagged as a wheel of a vehicle.BASIC\_TYPE\_STEERING\_WHEEL12The element is tagged as the steering wheel of a vehicle.BASIC\_TYPE\_ILLUMINANCE\_SENSOR13The element is tagged as the illuminance sensor anchor node of a vehicle.### LightingType

Types for a lighting element tag.

NameNumberDescriptionLIGHTING\_TYPE\_UNSPECIFIED0The lighting tag type is unspecified.LIGHTING\_TYPE\_BRAKE\_LIGHT1The lighting element is tagged as a brake light.LIGHTING\_TYPE\_LOW\_BEAM2The lighting element is tagged as a low beam.LIGHTING\_TYPE\_HIGH\_BEAM3The lighting element is tagged as a high beam.LIGHTING\_TYPE\_TURN\_INDICATOR4The lighting element is tagged as a turn indicator.LIGHTING\_TYPE\_REAR\_FOG\_LIGHT5The lighting element is tagged as a rear fog light.LIGHTING\_TYPE\_FRONT\_FOG\_LIGHT6The lighting element is tagged as a front fog light.LIGHTING\_TYPE\_SIDE\_LIGHT7The lighting element is tagged as a side light.LIGHTING\_TYPE\_REAR\_POSITION\_LIGHT8The lighting element is tagged as a rear position light.LIGHTING\_TYPE\_REVERSE\_LIGHT9The lighting element is tagged as a reverse light.LIGHTING\_TYPE\_LICENSE\_PLATE\_LIGHT10The lighting element is tagged as a license plate light.LIGHTING\_TYPE\_DAYTIME\_RUNNING\_LIGHT11The lighting element is tagged as a daytime running light.### SidePosition

The position of the lighting element.

Note: Needed only for the tags with the `LIGHTING_TYPE_TURN_INDICATOR` and `LIGHTING_TYPE_DAYTIME_RUNNING_LIGHT` types.

NameNumberDescriptionSIDE\_POSITION\_UNSPECIFIED0The position of the lighting element is unspecified.SIDE\_POSITION\_LEFT1The lighting element is on the left side of the vehicle.SIDE\_POSITION\_RIGHT2The lighting element is on the right side of the vehicle.## asset\_preparation\_api/directionalLight/directional\_light.proto

This file describes the service used to create, edit and manage directional lights.

### DirectionalLightPreparation

Directional Light Preparation Service

This service is used to create, edit and manage directional lights.

Method NameRequest TypeResponse TypeDescriptionCreateDirectionalLight[CreateDirectionalLightRequest](#createdirectionallightrequest)[CreateDirectionalLightResponse](#createdirectionallightresponse)Creates a new directional light with an optional name, type and shadows.  
Note: Names must be unique amongst directional lights.  
Note: If unspecified, default values are used.  
Returns the identifier of the created directional light.GetDirectionalLight[GetDirectionalLightRequest](#getdirectionallightrequest)[GetDirectionalLightResponse](#getdirectionallightresponse)Gets the properties of a directional light, given its identifier.   
Returns the directional light properties.ListDirectionalLights.google.protobuf.Empty[ListDirectionalLightsResponse](#listdirectionallightsresponse)Lists all the created directional lights.  
Returns the identifiers and names of the directional lights.UpdateDirectionalLight[UpdateDirectionalLightRequest](#updatedirectionallightrequest)[UpdateDirectionalLightResponse](#updatedirectionallightresponse)Edits the properties of a directional light, given its identifier.  
Note: Names must be unique amongst directional lights.DeleteDirectionalLight[DeleteDirectionalLightRequest](#deletedirectionallightrequest)[DeleteDirectionalLightResponse](#deletedirectionallightresponse)Deletes a directional light, given its identifier.CreateDirectionalLightState[CreateDirectionalLightStateRequest](#createdirectionallightstaterequest)[CreateDirectionalLightStateResponse](#createdirectionallightstateresponse)Creates a new directional light state with optional properties.  
Note: Names must be unique amongst sibling directional light states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used.   
Returns the information about the created directional light state.GetDirectionalLightState[GetDirectionalLightStateRequest](#getdirectionallightstaterequest)[GetDirectionalLightStateResponse](#getdirectionallightstateresponse)Gets the properties of a directional light state, given the parent directional light identifier and the state name.  
Returns the directional light state properties.UpdateDirectionalLightState[UpdateDirectionalLightStateRequest](#updatedirectionallightstaterequest)[UpdateDirectionalLightStateResponse](#updatedirectionallightstateresponse)Edits the properties of a state, given the parent directional light identifier and the state name.  
Note: Names must be unique amongst sibling directional light states.  
Note: "Default" name is reserved.DeleteDirectionalLightState[DeleteDirectionalLightStateRequest](#deletedirectionallightstaterequest)[DeleteDirectionalLightStateResponse](#deletedirectionallightstateresponse)Deletes a directional light state, given the parent directional light identifier and the state name.## asset\_preparation\_api/directionalLight/directional\_light\_description.proto

This file describes the messages used to create, edit and manage directional lights.

### BlackBody

Spectrum based on a black body.

FieldTypeLabelDescription`temperature`google.protobuf.DoubleValueThe temperature of the black body.  
Unit: Kelvin (K)  
Range: \[0,30000\]  
Default value: 5500### CreateDirectionalLightRequest

The information required to create a directional light.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe directional light name.  
Note: Names must be unique amongst directional lights.  
Note: If no name is defined, a default unique name is automatically set.`properties`[DirectionalLightProperties](#directionallightproperties)The directional light properties.### CreateDirectionalLightResponse

The identifier of the created directional light.

FieldTypeLabelDescription`identity`[DirectionalLightIdentity](#directionallightidentity)The identity of the directional light.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateDirectionalLightStateRequest

The information required to create a directional light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe directional light identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling directional light states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the directional light properties are used.`state_properties`[DirectionalLightProperties](#directionallightproperties)The state properties.### CreateDirectionalLightStateResponse

The response returned when creating a directional light state.

FieldTypeLabelDescription`identifier`int32The directional light identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### Custom

The properties of a custom directional light.

FieldTypeLabelDescription`exitance`google.protobuf.DoubleValueThe directional light exitance.  
Unit: lm/m2  
Note: Must be positive.  
Default value: 40000**oneof** `spectrum` `spectrum_library`[SpectrumLibrary](#spectrumlibrary)Spectrum based on a spectrum file.  
Note: This is the default type of spectrum.**oneof** `spectrum` `black_body`[BlackBody](#blackbody)Spectrum based on a black body.**oneof** `spectrum` `monochromatic`[Monochromatic](#monochromatic)Monochromatic spectrum.**oneof** `spectrum` `color_rgb`[asset\_preparation.v3.common.ColorRgb](#colorrgb)Spectrum based on a RGB color.   
Default value: (255,255,255)**oneof** `spectrum` `color_hsv`[asset\_preparation.v3.common.ColorHsv](#colorhsv)Spectrum based on an HSV color.   
Default value: (0,0,100)### DeleteDirectionalLightRequest

The information required to delete a directional light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the directional light to delete.### DeleteDirectionalLightResponse

The response returned when deleting a directional light.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteDirectionalLightStateRequest

The information required to delete a directional light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe directional light identifier.`state_name`stringThe name of the state to delete.### DeleteDirectionalLightStateResponse

The response returned when deleting a directional light state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DirectionalLightIdentity

The full identity of a directional light, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The directional light identifier.`name`stringThe directional light name.### DirectionalLightProperties

The properties of a directional light.

FieldTypeLabelDescription**oneof** `light` `sun`[Sun](#sun)Sun directional light.  
Note: This is the default type of directional light.**oneof** `light` `custom`[Custom](#custom)Custom directional light.**oneof** `shadows` `no_shadow`[asset\_preparation.v3.common.Empty](#empty)The directional light does not cast shadows.**oneof** `shadows` `dynamic_accurate_shadows`[DynamicAccurateShadows](#dynamicaccurateshadows)The directional light produces shadows with Parallel-Split Shadow Maps with adaptive details.  
Note: This is the default type of shadows.### DynamicAccurateShadows

The properties of dynamic accurate shadows.

FieldTypeLabelDescription`shadow_offset_ratio`google.protobuf.DoubleValueThe shadow offset ratio.  
Note: Must be above 0.00001.  
Default value: 0.01`shadow_radius`google.protobuf.DoubleValueThe shadow radius.  
Note: Must be equal or superior to 0.  
Default value: 0`softness`google.protobuf.DoubleValueThe softness.  
Range: \[0,2\]  
Default value: 0`resolution`google.protobuf.Int32ValueThe resolution.  
Range: \[1,8\]  
Default value: 0`near_field_precision`google.protobuf.DoubleValueThe near field precision.  
Range: \[0,1\]  
Default value: 0.99### GetDirectionalLightRequest

The information required to examine a directional light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the directional light to examine.### GetDirectionalLightResponse

The information about a directional light.

FieldTypeLabelDescription`identity`[DirectionalLightIdentity](#directionallightidentity)The directional light identity.`properties`[DirectionalLightProperties](#directionallightproperties)The directional light properties.`state_names`stringrepeatedThe names of the directional light states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetDirectionalLightStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the directional light.`state_name`stringThe name of the state to examine.### GetDirectionalLightStateResponse

The information about a directional light state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined directional light.`state_name`stringThe state name.`state_properties`[DirectionalLightProperties](#directionallightproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### ListDirectionalLightsResponse

The identities of all directional lights in the collection.

FieldTypeLabelDescription`directional_lights`[DirectionalLightIdentity](#directionallightidentity)repeatedDirectional light identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### Monochromatic

Monochromatic spectrum.

FieldTypeLabelDescription`wavelength`google.protobuf.DoubleValueThe emission wavelength of the Spectrum.  
Unit: nanometer (nm)  
Range: \[360,813\]  
Default value: 580### SpectrumLibrary

Spectrum based on a spectrum file.

FieldTypeLabelDescription`spectrum_identifier`google.protobuf.Int32ValueThe identifier of the spectrum (created using the Resource service) referenced in the directional light.  
Note: The spectrum reference can be removed by setting the value '-1'.### Sun

The properties of a sun directional light.

FieldTypeLabelDescription`turbidity`google.protobuf.DoubleValueThe sun turbidity.  
Range: \[2,9\]  
Default value: 3### UpdateDirectionalLightRequest

The information required to update a directional light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the directional light to update.`name`google.protobuf.StringValueThe directional light name.  
Note: Names must be unique amongst directional lights.  
Note: If no name is defined, the name is not updated.`properties`[DirectionalLightProperties](#directionallightproperties)The directional light properties.  
Note: All the properties are optional.### UpdateDirectionalLightResponse

The response returned when updating a directional light.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateDirectionalLightStateRequest

The information required to update a directional light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe directional light identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling directional light states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[DirectionalLightProperties](#directionallightproperties)The new state properties.### UpdateDirectionalLightStateResponse

The response returned when updating a directional light state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.## asset\_preparation\_api/environment/environment.proto

This file describes the service used to create, edit and manage environments.

### EnvironmentPreparation

Environment Preparation Service

This service is used to create, edit and manage environments.

Method NameRequest TypeResponse TypeDescriptionCreateEnvironment[CreateEnvironmentRequest](#createenvironmentrequest)[CreateEnvironmentResponse](#createenvironmentresponse)Creates a new environment with an optional given name.  
Note: Names must be unique amongst environments.  
Returns the identifier of the created environment.GetEnvironment[GetEnvironmentRequest](#getenvironmentrequest)[GetEnvironmentResponse](#getenvironmentresponse)Gets an environment properties, given its identifier.  
Returns the environment properties.ListEnvironments.google.protobuf.Empty[ListEnvironmentsResponse](#listenvironmentsresponse)Lists all the created environments.  
Returns the identifiers and names of the environments.UpdateEnvironment[UpdateEnvironmentRequest](#updateenvironmentrequest)[UpdateEnvironmentResponse](#updateenvironmentresponse)Edits the properties of an environment, given its identifier.  
Note: Names must be unique amongst environments.DeleteEnvironment[DeleteEnvironmentRequest](#deleteenvironmentrequest)[DeleteEnvironmentResponse](#deleteenvironmentresponse)Deletes an environment, given its identifier.PutEnvironmentFromTrackChunks[.asset\_preparation.v3.common.Chunk](#chunk) stream[PutEnvironmentFromTrackResponse](#putenvironmentfromtrackresponse)Creates a new environment on the server by uploading a track as a given stream of chunks containing the "AVX ConflictPolicy" metadata.   
All dependencies are uploaded into corresponding services, depending on the given conflict policy.  
Note: It is not possible to upload a track including an object in which several states have the same name, or including a geometry with several material parts with the same name.PutEnvironmentFromTrackFile[PutEnvironmentFromTrackFileRequest](#putenvironmentfromtrackfilerequest)[PutEnvironmentFromTrackResponse](#putenvironmentfromtrackresponse)Creates a new environment on the server by uploading a given track file.   
All dependencies are uploaded into corresponding services, depending on the given conflict policy.  
Note: It is not possible to upload a track including an object in which several states have the same name, or including a geometry with several material parts with the same name.GetTrackChunks[GetTrackChunksRequest](#gettrackchunksrequest)[.asset\_preparation.v3.common.Chunk](#chunk) streamPackages the environment as a track and exports it as a byte stream.  
Note: The last chunk of the stream provides the metadata "AVX Status Error" if an error occurred, "AVX Status Warning" or "AVX Status Info" if the export succeeded.GetTrackFile[GetTrackFileRequest](#gettrackfilerequest)[GetTrackFileResponse](#gettrackfileresponse)Packages the environment as a track and exports it as a .track file.## asset\_preparation\_api/environment/environment\_description.proto

This file describes the messages used to create, edit and manage environments.

### CreateEnvironmentRequest

The information required to create an environment.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe environment name.  
Note: Names must be unique amongst environments.  
Note: If no name is defined, a default unique name is automatically set.`properties`[EnvironmentProperties](#environmentproperties)The environment properties.### CreateEnvironmentResponse

The identifier of the created environment.

FieldTypeLabelDescription`identity`[EnvironmentIdentity](#environmentidentity)The environment identity.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeleteEnvironmentRequest

The information required to delete an environment.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the environment to delete.### DeleteEnvironmentResponse

The response returned when deleting an environment.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### EnvironmentIdentity

The full identity of an environment, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The environment identifier.`name`stringThe environment name.### EnvironmentProperties

The properties of an environment.

FieldTypeLabelDescription`scene_tree`google.protobuf.Int32ValueThe identifier of the scene tree referenced in the environment.  
Note: The scene tree reference can be removed by setting the value '-1'.  
Note: A scene tree reference must be provided before exporting the track.`added_skies`[SkyLists](#skylists)The identifiers of the skies to add to the environment.`removed_skies`[SkyLists](#skylists)The identifiers of the skies to remove from the environment.**oneof** `active_sky` `no_active_sky`[asset\_preparation.v3.common.Empty](#empty)No active sky.   
Note: If the active sky is not defined, the first sky added to the environment will be set as active.   
If there is no sky in the environment, a default natural sky is created at export and set as active.**oneof** `active_sky` `active_natural_sky`int32The natural sky to set as active.**oneof** `active_sky` `active_hdri_sky`int32The HDRI sky to set as active.### GetEnvironmentRequest

The information required to examine an environment.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the environment to examine.### GetEnvironmentResponse

The information about an environment.

FieldTypeLabelDescription`identity`[EnvironmentIdentity](#environmentidentity)The environment identity.`properties`[EnvironmentProperties](#environmentproperties)The environment properties.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetTrackChunksRequest

The information required to export an environment as a stream of track chunks.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the environment to export.`protect`boolDefines whether the generated track should be protected from import or not.  
Note: Protection is irreversible.  
Default value: `false`### GetTrackFileRequest

The information required to export an environment as a track file.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the environment to export.`file_path`stringThe path of the exported file.`overwrite`google.protobuf.BoolValueDefines whether the file should be overwritten or not.  
Default value: `true``protect`boolDefines whether the generated track should be protected from import or not.  
Note: Protection is irreversible.  
Default value: `false`### GetTrackFileResponse

The response returned when exporting an environment as a track file.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the export operation.### ListEnvironmentsResponse

The identities of all environments in the collection.

FieldTypeLabelDescription`environments`[EnvironmentIdentity](#environmentidentity)repeatedEnvironment identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### PutEnvironmentFromTrackFileRequest

The information required to create an environment from an uploaded track file.

FieldTypeLabelDescription`file_path`stringThe path of the .track file to upload.`name_conflict_policy`[asset\_preparation.v3.common.ConflictPolicy](#conflictpolicy)The policy to follow in case of name conflict with server's objects.### PutEnvironmentFromTrackResponse

The response returned when uploading a track.

FieldTypeLabelDescription`identifier`int32The imported environment identifier.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the upload operation.### SkyLists

Lists of identifiers for natural skies and HDRI skies.

FieldTypeLabelDescription`hdri_skies`int32repeatedThe identifiers of HDRI skies.`natural_skies`int32repeatedThe identifiers of natural skies.### UpdateEnvironmentRequest

The information required to update an environment.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the environment to update.`name`google.protobuf.StringValueThe environment name.  
Note: Names must be unique amongst environments.  
Note: If no name is defined, the name is not updated.`properties`[EnvironmentProperties](#environmentproperties)The environment properties.  
Note: All the properties are optional.### UpdateEnvironmentResponse

The response returned when updating an environment.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.## asset\_preparation\_api/geometry/geometry.proto

This file describes the service used to create, edit and manage geometries.

### GeometryPreparation

Geometry Preparation Service

This service is used to create, edit and manage geometries.

Method NameRequest TypeResponse TypeDescriptionCreateGeometry[CreateGeometryRequest](#creategeometryrequest)[CreateGeometryResponse](#creategeometryresponse)Creates a new geometry with an optional given name and winding order.  
Note: Names must be unique amongst geometries.  
Returns the identifier of the created geometry.GetGeometry[GetGeometryRequest](#getgeometryrequest)[GetGeometryResponse](#getgeometryresponse)Gets the properties of a geometry, given its identifier.  
Returns the geometry properties.ListGeometries.google.protobuf.Empty[ListGeometriesResponse](#listgeometriesresponse)Lists all the created geometries.  
Returns the identifiers and names of the geometries.UpdateGeometry[UpdateGeometryRequest](#updategeometryrequest)[UpdateGeometryResponse](#updategeometryresponse)Edits the properties of a geometry, given its identifier.  
Note: Names must be unique amongst geometries.DeleteGeometry[DeleteGeometryRequest](#deletegeometryrequest)[DeleteGeometryResponse](#deletegeometryresponse)Deletes a geometry, given its identifier.CreateMaterialPart[CreateMaterialPartRequest](#creatematerialpartrequest)[CreateMaterialPartResponse](#creatematerialpartresponse)Creates a material part as a child of a geometry, given the parent geometry identifier, with optional material part parameters.  
Note: Names must be unique amongst sibling material parts.  
Returns the identifier of the created material part.GetMaterialPart[GetMaterialPartRequest](#getmaterialpartrequest)[GetMaterialPartResponse](#getmaterialpartresponse)Gets the properties of a material part, given its identifier.  
Returns the material part properties.UpdateMaterialPart[UpdateMaterialPartRequest](#updatematerialpartrequest)[UpdateMaterialPartResponse](#updatematerialpartresponse)Edits the properties of a material part, given its identifier.  
Note: Names must be unique amongst sibling material parts.DeleteMaterialPart[DeleteMaterialPartRequest](#deletematerialpartrequest)[DeleteMaterialPartResponse](#deletematerialpartresponse)Deletes a material part, given its identifier.PushVertices[PushVerticesRequest](#pushverticesrequest) stream[PushVerticesResponse](#pushverticesresponse)Pushes vertices to a geometry, given a stream of geometry identifiers and vertices to push.PushIndices[PushIndicesRequest](#pushindicesrequest) stream[PushIndicesResponse](#pushindicesresponse)Pushes indices to a geometry, given a stream of geometry identifiers and indices to push.  
Note: Indices must reference already pushed vertices.GetGeometryVertices[GetGeometryVerticesRequest](#getgeometryverticesrequest)[GetGeometryVerticesResponse](#getgeometryverticesresponse) streamGets the vertices of a geometry, given its identifier.GetGeometryIndices[GetGeometryIndicesRequest](#getgeometryindicesrequest)[GetGeometryIndicesResponse](#getgeometryindicesresponse) streamGets the indices of a geometry, given its identifier.## asset\_preparation\_api/geometry/geometry\_description.proto

This file describes the messages used to create, edit and manage geometries.

### CreateGeometryRequest

The information required to create a geometry.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe geometry name.  
Note: Names must be unique amongst geometries.  
Note: If no name is defined, a default unique name is automatically set.`properties`[GeometryProperties](#geometryproperties)The properties of a geometry.### CreateGeometryResponse

The identity of the created geometry.

FieldTypeLabelDescription`identity`[GeometryIdentity](#geometryidentity)The identity of the geometry.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateMaterialPartRequest

The information required to create a material part under a geometry.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the parent geometry.`name`google.protobuf.StringValueThe material part name.  
Note: Names must be unique amongst sibling material parts.  
Note: If no name is defined, a default unique name is automatically set.`properties`[MaterialPartProperties](#materialpartproperties)The properties of the material part.### CreateMaterialPartResponse

The identifier of the created material part.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the parent geometry.`material_part_identity`[MaterialPartIdentity](#materialpartidentity)The identity of the material part.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeleteGeometryRequest

The information required to delete a geometry.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry to delete.### DeleteGeometryResponse

The response returned when deleting a geometry.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteMaterialPartRequest

The information required to delete a material part.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the parent geometry.`material_part_identifier`google.protobuf.Int32ValueThe identifier of the material part.### DeleteMaterialPartResponse

The response returned when deleting a material part.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### GeometryIdentity

The full identity of a geometry, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The geometry identifier.`name`stringThe geometry name.### GeometryProperties

The properties of a geometry.

FieldTypeLabelDescription`winding_order`[WindingOrder](#windingorder)The geometry winding order.`has_binormals`google.protobuf.BoolValueDefines whether the vertices should have binormals defined or not.  
Default value: `false``has_tangents`google.protobuf.BoolValueDefines whether the vertices should have tangents defined or not.  
Default value: `false``uv_count`google.protobuf.Int32ValueThe number of UV coordinates that the vertices should have defined.  
Range: \[0, 4\].  
Default value: 0### GetGeometryIndicesRequest

The information required to get the geometry indices.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry.### GetGeometryIndicesResponse

The information about the geometry indices.

FieldTypeLabelDescription`indices`int32repeatedThe indices of the geometry.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the get indices operation.### GetGeometryRequest

The information required to examine a geometry.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry to examine.### GetGeometryResponse

The information about a geometry.

FieldTypeLabelDescription`identity`[GeometryIdentity](#geometryidentity)The identity of the geometry.`properties`[GeometryProperties](#geometryproperties)The geometry properties.`material_parts`[MaterialPartIdentity](#materialpartidentity)repeatedThe identities of the material parts composing the geometry.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetGeometryVerticesRequest

The information required to get the geometry vertices.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry.### GetGeometryVerticesResponse

The information about the geometry vertices.

FieldTypeLabelDescription`vertices`[Vertex](#vertex)repeatedThe vertices of the geometry.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the get vertices operation.### GetMaterialPartRequest

The information required to examine a material part.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the material part to examine.### GetMaterialPartResponse

The information about a material part.

FieldTypeLabelDescription`identity`[MaterialPartIdentity](#materialpartidentity)The identity of the material part.`properties`[MaterialPartProperties](#materialpartproperties)The material part properties.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### ListGeometriesResponse

The identities of all geometries in the collection.

FieldTypeLabelDescription`geometries`[GeometryIdentity](#geometryidentity)repeatedGeometry identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### MaterialPartIdentity

The full identity of a material part, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The material part identifier.`name`stringThe material part name.### MaterialPartProperties

The properties of the material part.

FieldTypeLabelDescription`transparency_mode`[TransparencyMode](#transparencymode)The material part transparency mode.`surface_source_identifier`google.protobuf.Int32ValueThe identifier of the surface source.  
Note: Optional field.   
Note: The surface source reference can be removed by setting the value '-1'.`material_identifier`google.protobuf.Int32ValueThe identifier of the material.  
Note: The material reference can be removed by setting the value '-1' and the default material is applied in this case.`start_index`google.protobuf.Int32ValueThe position of the first index from the indices array to reference vertices where the associated material should be applied.`indices_count`google.protobuf.Int32ValueThe number of indices from the indices array to reference vertices where the associated material should be applied.`temperature_variation_texture_identifier`google.protobuf.Int32ValueThe identifier of the temperature variation texture.  
Note: Optional field.  
Note: The temperature variation texture reference can be removed by setting the value '-1'.`temperature_variation_uv_channel`google.protobuf.Int32ValueThe temperature variation UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`temperature_variation_amplitude`google.protobuf.DoubleValueThe temperature variation amplitude.  
Unit: Degree  
Range: \[0,2000\]  
Default value: 0  
Note: If the temperature variation texture is not defined, the amplitude will be ignored.`removed_tags`[asset\_preparation.v3.common.TagIdentity](#tagidentity)repeatedTag(s) to remove from the material part.`added_tags`[asset\_preparation.v3.common.Tag](#tag)repeatedTag(s) to add to the material part.   
Note: Only LightingType Tags are allowed.### PushIndicesRequest

The information required to push indices to a geometry. The recommended size of the request is in range 256kB to 1MB.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the geometry.`indices`int32repeatedThe indices to push in the geometry.### PushIndicesResponse

The response returned when pushing indices to a geometry.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the push operation.### PushVerticesRequest

The information required to push vertices to a geometry. The recommended size of the request is in range 256kB to 1MB.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the geometry.`vertices`[Vertex](#vertex)repeatedThe vertices to push in the geometry.### PushVerticesResponse

The response returned when pushing vertices to a geometry.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the push operation.### UpdateGeometryRequest

The information required to update a geometry.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry to update.`name`google.protobuf.StringValueThe geometry name.  
Note: Names must be unique amongst geometries.  
Note: If no name is defined, the name is not updated.`properties`[GeometryProperties](#geometryproperties)The geometry properties.  
Note: All the properties are optional.### UpdateGeometryResponse

The response returned when updating a geometry.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateMaterialPartRequest

The information required to update a material part.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the parent geometry.`material_part_identifier`google.protobuf.Int32ValueThe identifier of the material part.`name`google.protobuf.StringValueThe material part name.  
Note: Names must be unique amongst sibling material parts.  
Note: If no name is defined, the name is not updated.`properties`[MaterialPartProperties](#materialpartproperties)The material part properties.  
Note: All the properties are optional.### UpdateMaterialPartResponse

The response returned when updating a material part.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UvCoordinates

The UV coordinates.

FieldTypeLabelDescription`x`google.protobuf.DoubleValueCoordinate along the X axis.`y`google.protobuf.DoubleValueCoordinate along the Y axis.### Vertex

The properties of a vertex.

Note: The X, Y and Z coordinates of the binormals are required only when `has_binormals` is set to `true`.

Note: The X, Y and Z coordinates of the tangents are required only when `has_tangents` is set to `true`.

FieldTypeLabelDescription`x_position`google.protobuf.DoubleValueThe position of the vertex along the X axis.  
Unit: Meter`y_position`google.protobuf.DoubleValueThe position of the vertex along the Y axis.  
Unit: Meter`z_position`google.protobuf.DoubleValueThe position of the vertex along the Z axis.  
Unit: Meter`x_normal`google.protobuf.DoubleValueThe X-coordinate of the normal of the vertex.  
Unit: Meter`y_normal`google.protobuf.DoubleValueThe Y-coordinate of the normal of the vertex.  
Unit: Meter`z_normal`google.protobuf.DoubleValueThe Z-coordinate of the normal of the vertex.  
Unit: Meter`x_binormal`google.protobuf.DoubleValueThe X-coordinate of the binormal of the vertex.  
Unit: Meter  
Note: Required only when `has_binormals` is set to `true`.`y_binormal`google.protobuf.DoubleValueThe Y-coordinate of the binormal of the vertex.  
Unit: Meter  
Note: Required only when `has_binormals` is set to `true`.`z_binormal`google.protobuf.DoubleValueThe Z-coordinate of the binormal of the vertex.  
Unit: Meter  
Note: Required only when `has_binormals` is set to `true`.`x_tangent`google.protobuf.DoubleValueThe X-coordinate of the tangent of the vertex.  
Unit: Meter  
Note: Required only when `has_tangents` is set to `true`.`y_tangent`google.protobuf.DoubleValueThe Y-coordinate of the tangent of the vertex.  
Unit: Meter  
Note: Required only when `has_tangents` is set to `true`.`z_tangent`google.protobuf.DoubleValueThe Z-coordinate of the tangent of the vertex.  
Unit: Meter  
Note: Required only when `has_tangents` is set to `true`.`uv_coordinates`[UvCoordinates](#uvcoordinates)repeatedThe UV coordinates for each UV layer defined for the vertex.`ambient_occlusion`google.protobuf.DoubleValueThe ambient occlusion of the vertex.### TransparencyMode

Transparency mode of a material part.

NameNumberDescriptionTRANSPARENCY\_MODE\_UNSPECIFIED0Unspecified transparency mode.TRANSPARENCY\_MODE\_OPAQUE1The material part is opaque.TRANSPARENCY\_MODE\_WITH\_HOLES2The material part contains holes.TRANSPARENCY\_MODE\_SEMI\_TRANSPARENT3The material part is semi-transparent.### WindingOrder

Winding order of the vertices inside a geometry.

NameNumberDescriptionWINDING\_ORDER\_UNSPECIFIED0Unspecified winding order.WINDING\_ORDER\_DOUBLE\_SIDED1For double-sided meshes.WINDING\_ORDER\_CLOCKWISE2Vertices are ordered clockwise.WINDING\_ORDER\_COUNTER\_CLOCKWISE3Vertices are ordered counter-clockwise.## asset\_preparation\_api/hdriSky/hdri\_sky.proto

This file describes the service used to create, edit and manage HDRI skies.

### HdriSkyPreparation

HDRI Sky Preparation Service

This service is used to create, edit and manage HDRI skies.

Method NameRequest TypeResponse TypeDescriptionCreateHdriSky[CreateHdriSkyRequest](#createhdriskyrequest)[CreateHdriSkyResponse](#createhdriskyresponse)Creates a new HDRI sky with an optional name.  
Note: Names must be unique amongst skies.  
Note: If unspecified, default values are used.  
Returns the identifier of the created HDRI sky.GetHdriSky[GetHdriSkyRequest](#gethdriskyrequest)[GetHdriSkyResponse](#gethdriskyresponse)Gets the properties of an HDRI sky, given its identifier.  
Returns the HDRI sky properties.ListHdriSkies.google.protobuf.Empty[ListHdriSkiesResponse](#listhdriskiesresponse)Lists all the created HDRI skies.  
Returns the identifiers and names of the HDRI skies.UpdateHdriSky[UpdateHdriSkyRequest](#updatehdriskyrequest)[UpdateHdriSkyResponse](#updatehdriskyresponse)Edits the properties of an HDRI sky, given its identifier.  
Note: Names must be unique amongst skies.DeleteHdriSky[DeleteHdriSkyRequest](#deletehdriskyrequest)[DeleteHdriSkyResponse](#deletehdriskyresponse)Deletes an HDRI sky, given its identifier.  
Note: If you delete an HDRI sky that is set as the `active_sky` in an environment, the environment is updated with the default sky set as the active sky.CreateHdriSkyState[CreateHdriSkyStateRequest](#createhdriskystaterequest)[CreateHdriSkyStateResponse](#createhdriskystateresponse)Creates a new HDRI sky state with optional properties.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used.   
Returns the information about the created HDRI sky state.GetHdriSkyState[GetHdriSkyStateRequest](#gethdriskystaterequest)[GetHdriSkyStateResponse](#gethdriskystateresponse)Gets the properties of an HDRI sky state, given the parent HDRI sky identifier and the state name.  
Returns the HDRI sky state properties.UpdateHdriSkyState[UpdateHdriSkyStateRequest](#updatehdriskystaterequest)[UpdateHdriSkyStateResponse](#updatehdriskystateresponse)Edits the properties of a state, given the parent HDRI sky identifier and the state name.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.DeleteHdriSkyState[DeleteHdriSkyStateRequest](#deletehdriskystaterequest)[DeleteHdriSkyStateResponse](#deletehdriskystateresponse)Deletes an HDRI sky state, given the parent HDRI sky identifier and the state name.## asset\_preparation\_api/hdriSky/hdri\_sky\_description.proto

This file describes the messages used to create, edit and manage HDRI skies.

### CreateHdriSkyRequest

The information required to create an HDRI sky.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe HDRI sky name.  
Note: Names must be unique amongst skies.  
Note: If no name is defined, a default unique name is automatically set.`properties`[HdriSkyProperties](#hdriskyproperties)The HDRI sky properties.### CreateHdriSkyResponse

The identifier of the created HDRI sky.

FieldTypeLabelDescription`identity`[HdriSkyIdentity](#hdriskyidentity)The identity of an HDRI sky.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateHdriSkyStateRequest

The information required to create an HDRI sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe HDRI sky identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling HDRI sky states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the HDRI sky properties are used.`state_properties`[HdriSkyProperties](#hdriskyproperties)The state properties.### CreateHdriSkyStateResponse

The response returned when creating an HDRI sky state.

FieldTypeLabelDescription`identifier`int32The HDRI sky identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeleteHdriSkyRequest

The information required to delete an HDRI sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the HDRI sky to delete.### DeleteHdriSkyResponse

The response returned when deleting an HDRI sky.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteHdriSkyStateRequest

The information required to delete an HDRI sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe HDRI sky identifier.`state_name`stringThe name of the state to delete.### DeleteHdriSkyStateResponse

The response returned when deleting an HDRI sky state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### GetHdriSkyRequest

The information required to examine an HDRI sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the HDRI sky to examine.### GetHdriSkyResponse

The information about an HDRI sky.

FieldTypeLabelDescription`identity`[HdriSkyIdentity](#hdriskyidentity)The HDRI sky identity.`properties`[HdriSkyProperties](#hdriskyproperties)The HDRI sky properties.`state_names`stringrepeatedThe names of the HDRI sky states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetHdriSkyStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the HDRI sky.`state_name`stringThe name of the state to examine.### GetHdriSkyStateResponse

The information about an HDRI sky state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined HDRI sky.`state_name`stringThe state name.`state_properties`[HdriSkyProperties](#hdriskyproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### HdriSkyIdentity

The full identity of an HDRI sky, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The HDRI sky identifier.`name`stringThe HDRI sky name.### HdriSkyProperties

The properties of an HDRI sky.

FieldTypeLabelDescription`texture_identifier`google.protobuf.Int32ValueThe identifier of the texture (created using the Resource service) referenced in the HDRI sky.  
Note: The texture reference can be removed by setting the value '-1'.  
Note: The identifier must reference a texture with ".hdr" extension.`projection_type`[ProjectionType](#projectiontype)The type of projection.  
 Default value: `SPHERE``ground_radius`google.protobuf.DoubleValueThe radius of the virtual ground.  
Note: Must be equal or superior to 0.  
Default value: 0`orientation`google.protobuf.DoubleValueThe HDRI sky orientation.  
Unit: Degree  
Range: \[0,359\]  
Default value: 0`luminance_factor`google.protobuf.DoubleValueThe luminance factor applied to the HDRI texture.  
Note: Must be equal or superior to 0.  
Default value: 1`ambient_factor`google.protobuf.DoubleValueThe ambient factor for opaque objects in Shadics rendering engine.  
Note: Must be equal or superior to 0.  
Default value: 1### ListHdriSkiesResponse

The identities of all HDRI skies in the collection.

FieldTypeLabelDescription`skies`[HdriSkyIdentity](#hdriskyidentity)repeatedHDRI sky identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### UpdateHdriSkyRequest

The information required to update an HDRI sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the HDRI sky to update.`name`google.protobuf.StringValueThe new HDRI sky name.  
Note: Names must be unique amongst skies.  
Note: If no name is defined, the name is not updated.`properties`[HdriSkyProperties](#hdriskyproperties)The HDRI sky properties.  
Note: All the properties are optional.### UpdateHdriSkyResponse

The response returned when updating an HDRI sky.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateHdriSkyStateRequest

The information required to update an HDRI sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe HDRI sky identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling HDRI sky states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[HdriSkyProperties](#hdriskyproperties)The new state properties.### UpdateHdriSkyStateResponse

The response returned when updating an HDRI sky state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### ProjectionType

The type of projection.

NameNumberDescriptionPROJECTION\_TYPE\_UNSPECIFIED0Unspecified projection type.PROJECTION\_TYPE\_SPHERE1The sphere projection.PROJECTION\_TYPE\_DOME2The dome projection.## asset\_preparation\_api/information/health.proto

This file describes the Asset Preparation API services' health.

### GetHealthResponse

This message describes the health response.

FieldTypeLabelDescription`is_healthy`boolDefines whether the server is healthy or not.## asset\_preparation\_api/information/information.proto

This file describes the service used to check the Asset Preparation API services' health.

### Information

Information Service

This service is used to get information about the API services.

Method NameRequest TypeResponse TypeDescriptionGetHealth.google.protobuf.Empty[GetHealthResponse](#gethealthresponse)Tests if the server is healthy.  
Note: Checks that all repositories are available for all services to work correctly.## asset\_preparation\_api/material/material.proto

This file describes the service used to create, edit and manage materials.

### MaterialPreparation

Material Preparation Service

This service is used to create, edit and manage materials.

Method NameRequest TypeResponse TypeDescriptionCreateMaterial[CreateMaterialRequest](#creatematerialrequest)[CreateMaterialResponse](#creatematerialresponse)Creates a new material with optional properties.  
Note: Names must be unique amongst materials.  
Note: If some properties are not specified, default values are used and no dielectric properties are defined.   
Returns the information about the created material.GetMaterial[GetMaterialRequest](#getmaterialrequest)[GetMaterialResponse](#getmaterialresponse)Gets the properties of a material, given its identifier.   
Returns the material properties.ListMaterials.google.protobuf.Empty[ListMaterialsResponse](#listmaterialsresponse)Lists all the stored materials.  
Returns the identifiers and names of the stored materials.UpdateMaterial[UpdateMaterialRequest](#updatematerialrequest)[UpdateMaterialResponse](#updatematerialresponse)Edits the properties of a material, given its identifier.  
Note: Names must be unique amongst materials.DeleteMaterial[DeleteMaterialRequest](#deletematerialrequest)[DeleteMaterialResponse](#deletematerialresponse)Deletes a material, given its identifier.CreateMaterialState[CreateMaterialStateRequest](#creatematerialstaterequest)[CreateMaterialStateResponse](#creatematerialstateresponse)Creates a new material state with optional properties.  
Note: Names must be unique amongst sibling material states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used and no dielectric properties are defined.   
Returns the information about the created material state.GetMaterialState[GetMaterialStateRequest](#getmaterialstaterequest)[GetMaterialStateResponse](#getmaterialstateresponse)Gets the properties of a material state, given the parent material identifier and the state name.  
Returns the material state properties.UpdateMaterialState[UpdateMaterialStateRequest](#updatematerialstaterequest)[UpdateMaterialStateResponse](#updatematerialstateresponse)Edits the properties of a state, given the parent material identifier and the state name.  
Note: Names must be unique amongst sibling material states.  
Note: "Default" name is reserved.DeleteMaterialState[DeleteMaterialStateRequest](#deletematerialstaterequest)[DeleteMaterialStateResponse](#deletematerialstateresponse)Deletes a material state, given the parent material identifier and the state name.## asset\_preparation\_api/material/material\_description.proto

This file describes the messages used to create, edit and manage materials.

### AnisotropyProperties

The anisotropy properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `no_anisotropy`[asset\_preparation.v3.common.Empty](#empty)No anisotropy.  
Note: This is the default anisotropy contribution type.**oneof** `contribution` `texture`[AnisotropyTexture](#anisotropytexture)Anisotropy based on an anisotropic tangent map file.**oneof** `contribution` `color`[GreyLevel](#greylevel)Anisotropy based on a color, in grey level.### AnisotropyTexture

The texture properties of an anisotropy.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the anisotropy map referenced in the material.  
Note: The anisotropy map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe anisotropy map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1### CreateMaterialRequest

The information required to create a material.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe material name.  
Note: Names must be unique amongst materials.  
Note: If no name is defined, a default unique name is automatically set.`properties`[MaterialProperties](#materialproperties)The properties of a material.  
Note: If no properties are defined, the default properties are automatically set.### CreateMaterialResponse

The identifier of the created material.

FieldTypeLabelDescription`identity`[MaterialIdentity](#materialidentity)The new material identity.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateMaterialStateRequest

The information required to create a material state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe material identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling material states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the material properties are used.`state_properties`[MaterialProperties](#materialproperties)The state properties.### CreateMaterialStateResponse

The response returned when creating a material state.

FieldTypeLabelDescription`identifier`int32The material identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeleteMaterialRequest

The information required to delete a material.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the material to delete.### DeleteMaterialResponse

The response returned when deleting a material.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteMaterialStateRequest

The information required to delete a material state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe material identifier.`state_name`stringThe name of the state to delete.### DeleteMaterialStateResponse

The response returned when deleting a material state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DielectricProperties

The dielectric properties of a material.

FieldTypeLabelDescription`dielectric_material_identifier`google.protobuf.Int32ValueThe identifier of the dielectric material referenced in the material.  
Note: The dielectric material reference can be removed by setting the value '-1'.### DiffuseProperties

The diffuse properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `color_rgb`[Rgb](#rgb)Diffuse based on a RGB color.**oneof** `contribution` `color_hsv`[Hsv](#hsv)Diffuse based on an HSV color.**oneof** `contribution` `texture`[DiffuseTexture](#diffusetexture)Diffuse based on a diffuse map file.   
Note: This is the default diffuse contribution type.### DiffuseTexture

Texture properties for diffuse contribution.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the diffuse map referenced in the material.  
Note: The diffuse map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe diffuse map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`alpha_uv_channel`google.protobuf.Int32ValueThe diffuse alpha map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1  
Note: It can be set only for layer 1.### GetMaterialRequest

The information required to examine a material.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the material to examine.### GetMaterialResponse

The information about a material.

FieldTypeLabelDescription`identity`[MaterialIdentity](#materialidentity)The material identity.`properties`[MaterialProperties](#materialproperties)The material properties.`state_names`stringrepeatedThe names of the material states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetMaterialStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the material.`state_name`stringThe name of the state to examine.### GetMaterialStateResponse

The information about a material state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined material.`state_name`stringThe state name.`state_properties`[MaterialProperties](#materialproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### GreyLevel

Grey level value.

Note: Default value is 128.

FieldTypeLabelDescription`level`int32Range \[0,255\]### Hsv

HSV value of a color.

Note: Default value is (0,0,50).

FieldTypeLabelDescription`hue`doubleHue   
Unit: Degree  
Range: \[0,360\]`saturation`doubleIntensity   
Range: \[0,100\]`value`doubleValue   
Range: \[0,100\]### LambertianLayer

The properties of the lambertian layer.

FieldTypeLabelDescription`absorption`google.protobuf.DoubleValueThe Lambertian absorption.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 0`diffuse_properties`[DiffuseProperties](#diffuseproperties)The diffuse properties.`normal_properties`[NormalProperties](#normalproperties)The normal properties.`anisotropy_properties`[AnisotropyProperties](#anisotropyproperties)The anisotropy properties.`mask_properties`[MaskProperties](#maskproperties)The Mask properties.  
Note: Layer 1 must not contain a Mask.### Layer

The layer properties of a material.

FieldTypeLabelDescription**oneof** `layer` `no_layer`[asset\_preparation.v3.common.Empty](#empty)No layer.  
Note: This is the default type for layer 2 and layer 3.**oneof** `layer` `lambertian_layer`[LambertianLayer](#lambertianlayer)Lambertian layer type.  
Note: This is the default type for layer 1.**oneof** `layer` `mirror_layer`[MirrorLayer](#mirrorlayer)Mirror layer type.**oneof** `layer` `optical_polish_layer`[OpticalPolishLayer](#opticalpolishlayer)Optical polish layer type.**oneof** `layer` `library_layer`[LibraryLayer](#librarylayer)Library layer type.**oneof** `layer` `rendering_layer`[RenderingLayer](#renderinglayer)Rendering layer type.### LibraryLayer

The properties of the library layer.

FieldTypeLabelDescription`surface_state_identifier`google.protobuf.Int32ValueThe identifier of the surface state referenced in the material.  
Note: The surface state reference can be removed by setting the value '-1'.`diffuse_properties`[DiffuseProperties](#diffuseproperties)The diffuse properties.`normal_properties`[NormalProperties](#normalproperties)The normal properties.`anisotropy_properties`[AnisotropyProperties](#anisotropyproperties)The anisotropy properties.`mask_properties`[MaskProperties](#maskproperties)The Mask properties.  
Note: Layer 1 must not contain a Mask.### LibraryVolumeOpticalProperties

The library volume optical properties of a material.

FieldTypeLabelDescription`volume_material_identifier`google.protobuf.Int32ValueThe identifier of the volume material referenced in the material.  
Note: The volume material reference can be removed by setting the value '-1'.### ListMaterialsResponse

The identities of all materials in the collection.

FieldTypeLabelDescription`materials`[MaterialIdentity](#materialidentity)repeatedMaterial identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### MaskProperties

The mask properties of a material.

Note: No mask properties should be set for layer 1.

FieldTypeLabelDescription**oneof** `contribution` `color`[GreyLevel](#greylevel)Mask based on a color in grey level.**oneof** `contribution` `texture`[MaskTexture](#masktexture)Mask based on a texture file.  
Note: This is the default mask contribution type.### MaskTexture

Texture properties for mask.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the mask map referenced in the material.  
Note: The mask map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe mask map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1### MaterialIdentity

The full identity of a material, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The material identifier.`name`stringThe material name.### MaterialProperties

The properties of a material.

FieldTypeLabelDescription`surface_optical_properties`[SurfaceOpticalProperties](#surfaceopticalproperties)The surface optical properties.`volume_optical_properties`[VolumeOpticalProperties](#volumeopticalproperties)The volume optical properties.`thermal_properties`[ThermalProperties](#thermalproperties)The thermal properties.`dielectric_properties`[DielectricProperties](#dielectricproperties)The dielectric properties.  
Note: Optional field.`reflection_effect`[ReflectionEffectProperties](#reflectioneffectproperties)The reflection effect properties.### MirrorLayer

The properties of the mirror layer.

FieldTypeLabelDescription`reflectivity`google.protobuf.DoubleValueThe mirror reflectivity.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 100`diffuse_properties`[DiffuseProperties](#diffuseproperties)The diffuse properties.`normal_properties`[NormalProperties](#normalproperties)The normal properties.`anisotropy_properties`[AnisotropyProperties](#anisotropyproperties)The anisotropy properties.`mask_properties`[MaskProperties](#maskproperties)The Mask properties.  
Note: Layer 1 must not contain a Mask.### NormalProperties

The normal properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `no_normal`[asset\_preparation.v3.common.Empty](#empty)No normal.**oneof** `contribution` `texture`[NormalTexture](#normaltexture)Normal properties based on a normal map.  
Note: This is the default normal contribution type.### NormalTexture

Texture properties for normal contribution.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the normal map referenced in the material.  
Note: The normal map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe normal map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`intensity`google.protobuf.DoubleValueThe normal intensity.  
Unit: Percentage (%)  
Range: \[-100,100\]  
Default value: 100  
Note: If the normal map is not defined, the intensity will be ignored.### Opaque

The opaque volume optical type.

### OpticVolumeOpticalProperties

The optic volume optical properties of a material.

FieldTypeLabelDescription`absorption`google.protobuf.DoubleValueThe optical absorption.  
Unit: Inverse millimeter (mm-1)  
Note: Must be equal or superior to 0.  
Default value: 0`refractive_index`google.protobuf.DoubleValueThe refractive index.  
Default value: 1.52`constringency`google.protobuf.DoubleValueThe constringency.  
Range: \[20,90\]  
Default value: 40### OpticalPolishLayer

The properties of the optical polish layer.

FieldTypeLabelDescription`diffuse_properties`[DiffuseProperties](#diffuseproperties)The diffuse properties.`normal_properties`[NormalProperties](#normalproperties)The normal properties.`anisotropy_properties`[AnisotropyProperties](#anisotropyproperties)The anisotropy properties.`mask_properties`[MaskProperties](#maskproperties)The Mask properties.  
Note: Layer 1 must not contain a Mask.### ReflectionEffect

The reflection effect properties of a material.

FieldTypeLabelDescription`reflectivity`google.protobuf.DoubleValueThe reflection effect reflectivity.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 100`size`google.protobuf.DoubleValueThe reflection effect size.  
Unit: meter (m)  
Default value: 0`index_of_refraction`google.protobuf.DoubleValueThe index of refraction.  
Range: \[1,100\]  
Default value: 1.45### ReflectionEffectProperties

The reflection effect properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `no_reflection_effect`[asset\_preparation.v3.common.Empty](#empty)No reflection effect on material.  
Note: This is the default reflection effect contribution type.**oneof** `contribution` `scene_hdri`[ReflectionEffect](#reflectioneffect)Apply a reflection effect that projects an HDRI Sky on the material.### RenderingLayer

The properties of the rendering layer.

FieldTypeLabelDescription`specular_properties`[SpecularProperties](#specularproperties)The specular properties.`roughness_properties`[RoughnessProperties](#roughnessproperties)The roughness properties.`diffuse_properties`[DiffuseProperties](#diffuseproperties)The diffuse properties.`normal_properties`[NormalProperties](#normalproperties)The normal properties.`anisotropy_properties`[AnisotropyProperties](#anisotropyproperties)The anisotropy properties.`mask_properties`[MaskProperties](#maskproperties)The Mask properties.  
Note: Layer 1 must not contain a Mask.### Rgb

RGB value of a color.

Note: Default value is (128,128,128).

FieldTypeLabelDescription`red`int32Value for the red component.  
Range: \[0,255\]`green`int32Value for the green component.  
Range: \[0,255\]`blue`int32Value for the blue component.  
Range: \[0,255\]### RoughnessProperties

The roughness properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `texture`[RoughnessTexture](#roughnesstexture)Roughness texture type.  
Note: This is the default roughness contribution type.**oneof** `contribution` `color`[GreyLevel](#greylevel)Color roughness type, in grey level.### RoughnessTexture

The roughness texture properties.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the roughness map referenced in the material.  
Note: The roughness map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe roughness map UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`intensity`google.protobuf.DoubleValueThe roughness intensity.  
Range: \[0,200\]  
Default value: 100  
Note: If the roughness map is not defined, the intensity will be ignored.### SpecularProperties

The specular properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `color_rgb`[Rgb](#rgb)Specular based on a RGB color.**oneof** `contribution` `color_hsv`[Hsv](#hsv)Specular based on an HSV color.**oneof** `contribution` `texture`[SpecularTexture](#speculartexture)Specular based on a specular map file.   
Note: This is the default specular contribution type.### SpecularTexture

Texture properties for specular contribution.

FieldTypeLabelDescription`map_identifier`google.protobuf.Int32ValueThe identifier of the specular map referenced in the material.  
Note: The specular map reference can be removed by setting the value '-1'.`map_uv_channel`google.protobuf.Int32ValueThe UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`intensity`google.protobuf.DoubleValueThe specular intensity.  
Range: \[0,200\]  
Default value: 100  
Note: If the specular map is not defined, the intensity will be ignored.### SurfaceOpticalProperties

The surface optical properties of a material.

FieldTypeLabelDescription`texture_normalization`[TextureNormalization](#texturenormalization)Texture normalization type for layer 1.  
Default value: `None``layer_1`[Layer](#layer)The surface optical layers.  
Note: Layer 1 is mandatory. Layers 2 and 3 are optional.  
Note: Layer 3 must not be set without layer 2.`layer_2`[Layer](#layer)`layer_3`[Layer](#layer) `texture_normalization_2`[TextureNormalization](#texturenormalization)optionalTexture normalization type for layer 2.  
Note: If not defined, the type of texture normalization for layer 2 defaults to that of layer 1 set in `TextureNormalization`. `texture_normalization_3`[TextureNormalization](#texturenormalization)optionalTexture normalization type for layer 3.  
Note: If not defined, the type of texture normalization for layer 3 defaults to that of layer 1 set in `TextureNormalization`.### ThermalProperties

The thermal properties of a material.

FieldTypeLabelDescription`emissivity`google.protobuf.DoubleValueThe emissivity.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 0`emissivity_variation_texture_identifier`google.protobuf.Int32ValueThe identifier of the emissivity variation texture referenced in the material.  
Note: Optional field.   
Note: The emissivity variation texture reference can be removed by setting the value '-1'.`emissivity_variation_uv_channel`google.protobuf.Int32ValueThe emissivity variation UV channel.  
Note: Must be 1, 2, 3 or 4.  
Default value: 1`emissivity_variation_amplitude`google.protobuf.DoubleValueThe emissivity variation amplitude.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 0  
Note: If the emissivity variation texture is not defined, the amplitude will be ignored.`reflection_coefficient`google.protobuf.DoubleValueThe reflection coefficient.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 0`shininess`google.protobuf.DoubleValueThe shininess.  
Range: \[1,10\]  
Default value: 1`thermal_coefficient`google.protobuf.DoubleValueThe thermal coefficient.  
Range: \[0,1\]  
Default value: 1### UpdateMaterialRequest

The information required to update a material.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the material to update.`name`google.protobuf.StringValueThe material name.  
Note: Names must be unique amongst materials.  
Note: If no name is defined, the name is not updated.`properties`[MaterialProperties](#materialproperties)The material properties.  
Note: All the properties are optional.### UpdateMaterialResponse

The response returned when updating a material.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateMaterialStateRequest

The information required to update a material state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe material identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling material states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[MaterialProperties](#materialproperties)The new state properties.### UpdateMaterialStateResponse

The response returned when updating a material state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### VolumeOpticalProperties

The volume optical properties of a material.

FieldTypeLabelDescription**oneof** `contribution` `opaque`[Opaque](#opaque)Opaque for non transparent material.  
Note: This is the default volume optical properties contribution type.**oneof** `contribution` `optic`[OpticVolumeOpticalProperties](#opticvolumeopticalproperties)Optic for transparent colorless material without bulk scattering.**oneof** `contribution` `volume_optical_library`[LibraryVolumeOpticalProperties](#libraryvolumeopticalproperties)Volume optical property based on a VOP file.`fast_transmission_gathering`google.protobuf.BoolValueActivation of fast transmission gathering.  
Default value: `false`### TextureNormalization

The possible types of texture normalization method.

NameNumberDescriptionTEXTURE\_NORMALIZATION\_UNSPECIFIED0Unspecified texture normalization type.TEXTURE\_NORMALIZATION\_NONE1No texture normalization.  
Note: The BRDF is blended with the texture not preserving the color and luminance.TEXTURE\_NORMALIZATION\_COLOR\_FROM\_TEXTURE2Blend using the Color from texture mode.TEXTURE\_NORMALIZATION\_COLOR\_FROM\_BRDF3Blend using the Color from BRDF mode.## asset\_preparation\_api/naturalSky/natural\_sky.proto

This file describes the service used to create, edit and manage natural skies.

### NaturalSkyPreparation

Natural Sky Preparation Service

This service is used to create, edit and manage natural skies.

Method NameRequest TypeResponse TypeDescriptionCreateNaturalSky[CreateNaturalSkyRequest](#createnaturalskyrequest)[CreateNaturalSkyResponse](#createnaturalskyresponse)Creates a new natural sky with an optional name.  
Note: Names must be unique amongst skies.  
Note: If unspecified, default values are used.  
Returns the identifier of the created natural sky.GetNaturalSky[GetNaturalSkyRequest](#getnaturalskyrequest)[GetNaturalSkyResponse](#getnaturalskyresponse)Gets the properties of a natural sky, given its identifier.  
Returns the natural sky properties.ListNaturalSkies.google.protobuf.Empty[ListNaturalSkiesResponse](#listnaturalskiesresponse)Lists all the created natural skies.  
Returns the identifiers and names of the natural skies.UpdateNaturalSky[UpdateNaturalSkyRequest](#updatenaturalskyrequest)[UpdateNaturalSkyResponse](#updatenaturalskyresponse)Edits the properties of a natural sky, given its identifier.  
Note: Names must be unique amongst skies.DeleteNaturalSky[DeleteNaturalSkyRequest](#deletenaturalskyrequest)[DeleteNaturalSkyResponse](#deletenaturalskyresponse)Deletes a natural sky, given its identifier.  
Note: If you delete a natural sky that is set as the active\_sky in an environment, the environment is updated with the default sky set as the active sky.CreateNaturalSkyState[CreateNaturalSkyStateRequest](#createnaturalskystaterequest)[CreateNaturalSkyStateResponse](#createnaturalskystateresponse)Creates a new natural sky state with optional properties.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used.   
Returns the information about the created natural sky state.GetNaturalSkyState[GetNaturalSkyStateRequest](#getnaturalskystaterequest)[GetNaturalSkyStateResponse](#getnaturalskystateresponse)Gets the properties of a natural sky state, given the parent natural sky identifier and the state name.  
Returns the natural sky state properties.UpdateNaturalSkyState[UpdateNaturalSkyStateRequest](#updatenaturalskystaterequest)[UpdateNaturalSkyStateResponse](#updatenaturalskystateresponse)Edits the properties of a state, given the parent natural sky identifier and the state name.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.DeleteNaturalSkyState[DeleteNaturalSkyStateRequest](#deletenaturalskystaterequest)[DeleteNaturalSkyStateResponse](#deletenaturalskystateresponse)Deletes a natural sky state, given the parent natural sky identifier and the state name.## asset\_preparation\_api/naturalSky/natural\_sky\_description.proto

This file describes the messages used to create, edit and manage natural skies.

### AmbientConditions

The ambient conditions properties.

FieldTypeLabelDescription`turbidity`google.protobuf.DoubleValueThe sky turbidity.  
Range: \[2,9\]  
Default value: 3`ambient_temperature`google.protobuf.DoubleValueThe ambient temperature.  
Unit: Degree Celsius  
Range: \[-25,65\]  
Default value: 25`relative_humidity`google.protobuf.DoubleValueThe relative humidity.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 50**oneof** `override_max_solar_warming` `no_override`[asset\_preparation.v3.common.Empty](#empty)The maximum solar warming is not overridden.  
Note: This is the default mode.  
Note: With this mode, the max\_solar\_warming is automatically computed.**oneof** `override_max_solar_warming` `max_solar_warming`google.protobuf.DoubleValueThe maximum solar warming, describing the maximal temperature difference between shadowed and sun-exposed road.  
Unit: Degree Celsius  
Range: \[0,100\]  
Default value: 0`mean_road_emissivity`google.protobuf.DoubleValueMean road emissivity.  
Unit: Percentage (%)  
Range: \[0,100\]  
Default value: 10### CreateNaturalSkyRequest

The information required to create a natural sky.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe natural sky name.  
Note: Names must be unique amongst skies.  
Note: If no name is defined, a default unique name is automatically set.`properties`[NaturalSkyProperties](#naturalskyproperties)The natural sky properties.### CreateNaturalSkyResponse

The identifier of the created natural sky.

FieldTypeLabelDescription`identity`[NaturalSkyIdentity](#naturalskyidentity)The identity of a natural sky.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateNaturalSkyStateRequest

The information required to create a natural sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe natural sky identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the natural sky properties are used.`state_properties`[NaturalSkyProperties](#naturalskyproperties)The state properties.### CreateNaturalSkyStateResponse

The response returned when creating a natural sky state.

FieldTypeLabelDescription`identifier`int32The natural sky identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### Date

The date of a natural sky.

FieldTypeLabelDescription`day`int32`month`int32`year`int32### DeleteNaturalSkyRequest

The information required to delete a natural sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the natural sky to delete.### DeleteNaturalSkyResponse

The response returned when deleting a natural sky.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteNaturalSkyStateRequest

The information required to delete a natural sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe natural sky identifier.`state_name`stringThe name of the state to delete.### DeleteNaturalSkyStateResponse

The response returned when deleting a natural sky state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DynamicAccurateShadows

The properties of dynamic accurate shadows.

FieldTypeLabelDescription`shadow_offset_ratio`google.protobuf.DoubleValueThe shadow offset ratio.  
Note: Must be above 0.00001.  
Default value: 0.01.`shadow_radius`google.protobuf.DoubleValueThe shadow radius.  
Note: Must be equal or superior to 0.  
Default value: 0`softness`google.protobuf.DoubleValueThe softness.  
Range: \[0,2\]  
Default value: 0`resolution`google.protobuf.Int32ValueThe resolution.  
Range: \[1,8\]  
Default value: 4`near_field_precision`google.protobuf.DoubleValueThe near field precision.  
Range: \[0,1\]  
Default value: 0.99.### GetNaturalSkyRequest

The information required to examine a natural sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the natural sky to examine.### GetNaturalSkyResponse

The information about a natural sky.

FieldTypeLabelDescription`identity`[NaturalSkyIdentity](#naturalskyidentity)The natural sky identity.`properties`[NaturalSkyProperties](#naturalskyproperties)The natural sky properties.`state_names`stringrepeatedThe names of the natural sky states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetNaturalSkyStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the natural sky.`state_name`stringThe name of the state to examine.### GetNaturalSkyStateResponse

The information about a natural sky state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined natural sky.`state_name`stringThe state name.`state_properties`[NaturalSkyProperties](#naturalskyproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### ListNaturalSkiesResponse

The identities of all the natural skies in the collection.

FieldTypeLabelDescription`skies`[NaturalSkyIdentity](#naturalskyidentity)repeatedNatural sky identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### Location

The location properties.

FieldTypeLabelDescription`latitude`google.protobuf.DoubleValueThe latitude describing the south-north position.   
Unit: Degree  
Range: \[-90,90\]  
Default value: 48`longitude`google.protobuf.DoubleValueThe longitude describing the east-west position.   
Unit: Degree  
Range: \[-180,180\]  
Default value: 2`cardinal_direction`google.protobuf.DoubleValueThe cardinal direction for the X axis of the environment.   
Unit: Degree  
Range: \[0,359\]  
Default value: 0### NaturalSkyIdentity

The full identity of a natural sky, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The natural sky identifier.`name`stringThe natural sky name.### NaturalSkyProperties

The properties of a natural sky.

FieldTypeLabelDescription`time`[Time](#time)The time of the day.  
Default value: 12:00`date`[Date](#date)The date.  
Default value: 02-15-2018 (mm-dd-yyyy)`location`[Location](#location)The location.`ambient_conditions`[AmbientConditions](#ambientconditions)The ambient conditions.**oneof** `shadows` `no_shadow`[asset\_preparation.v3.common.Empty](#empty)The sky does not cast shadows.**oneof** `shadows` `dynamic_accurate_shadows`[DynamicAccurateShadows](#dynamicaccurateshadows)The sky produces shadows with Parallel-Split Shadow Maps with adaptive detailed.  
Note: this is the default type of shadows.### Time

The time of a natural sky.

FieldTypeLabelDescription`hours`int32`minutes`int32### UpdateNaturalSkyRequest

The information required to update a natural sky.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the natural sky to update.`name`google.protobuf.StringValueThe new natural sky name.  
Note: Names must be unique amongst skies.  
Note: If no name is defined, the name is not updated.`properties`[NaturalSkyProperties](#naturalskyproperties)The natural sky properties.  
Note: All the properties are optional.### UpdateNaturalSkyResponse

The response returned when updating a natural sky.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateNaturalSkyStateRequest

The information required to update a natural sky state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe natural sky identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[NaturalSkyProperties](#naturalskyproperties)The new state properties.### UpdateNaturalSkyStateResponse

The response returned when updating a natural sky state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.## asset\_preparation\_api/pointLight/point\_light.proto

This file describes the service used to create, edit and manage point lights.

### PointLightPreparation

Point Light Preparation Service

This service is used to create, edit and manage point lights.

Method NameRequest TypeResponse TypeDescriptionCreatePointLight[CreatePointLightRequest](#createpointlightrequest)[CreatePointLightResponse](#createpointlightresponse)Creates a new point light with optional properties.  
Note: Names must be unique amongst point lights.  
Note: If unspecified, default values are used.  
Returns the identifier of the created point light.GetPointLight[GetPointLightRequest](#getpointlightrequest)[GetPointLightResponse](#getpointlightresponse)Gets the properties of a point light, given its identifier.   
Returns the point light properties.ListPointLights.google.protobuf.Empty[ListPointLightsResponse](#listpointlightsresponse)Lists all the created point lights.  
Returns the identifiers and names of the point lights.UpdatePointLight[UpdatePointLightRequest](#updatepointlightrequest)[UpdatePointLightResponse](#updatepointlightresponse)Edits the properties of a point light, given its identifier.  
Note: Names must be unique amongst point lights.DeletePointLight[DeletePointLightRequest](#deletepointlightrequest)[DeletePointLightResponse](#deletepointlightresponse)Deletes a point light, given its identifier.CreatePointLightState[CreatePointLightStateRequest](#createpointlightstaterequest)[CreatePointLightStateResponse](#createpointlightstateresponse)Creates a new point light state with optional properties.  
Note: Names must be unique amongst sibling point light states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used.   
Returns the information about the created point light state.GetPointLightState[GetPointLightStateRequest](#getpointlightstaterequest)[GetPointLightStateResponse](#getpointlightstateresponse)Gets the properties of a point light state, given the parent point light identifier and the state name.  
Returns the point light state properties.UpdatePointLightState[UpdatePointLightStateRequest](#updatepointlightstaterequest)[UpdatePointLightStateResponse](#updatepointlightstateresponse)Edits the properties of a state, given the parent point light identifier and the state name.  
Note: Names must be unique amongst sibling point light states.  
Note: "Default" name is reserved.DeletePointLightState[DeletePointLightStateRequest](#deletepointlightstaterequest)[DeletePointLightStateResponse](#deletepointlightstateresponse)Deletes a point light state, given the parent point light identifier and the state name.## asset\_preparation\_api/pointLight/point\_light\_description.proto

This file describes the messages used to create, edit and manage point lights.

### BlackBody

Spectrum based on a black body.

FieldTypeLabelDescription`temperature`google.protobuf.DoubleValueThe temperature of the black body.  
Unit: Kelvin (K)  
Range: \[0,30000\]  
Default value: 5500### CreatePointLightRequest

The information required to create a point light.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe point light name.  
Note: Names must be unique amongst point lights.  
Note: If no name is defined, a default unique name is automatically set.`properties`[PointLightProperties](#pointlightproperties)The point light properties.### CreatePointLightResponse

The identifier of the created point light.

FieldTypeLabelDescription`identity`[PointLightIdentity](#pointlightidentity)The identity of a point light.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreatePointLightStateRequest

The information required to create a point light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe point light identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling point light states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the point light properties are used.`state_properties`[PointLightProperties](#pointlightproperties)The state properties.### CreatePointLightStateResponse

The response returned when creating a point light state.

FieldTypeLabelDescription`identifier`int32The point light identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeletePointLightRequest

The information required to delete a point light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the point light to delete.### DeletePointLightResponse

The response returned when deleting a point light.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeletePointLightStateRequest

The information required to delete a point light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe point light identifier.`state_name`stringThe name of the state to delete.### DeletePointLightStateResponse

The response returned when deleting a point light state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### GaussianDiagram

The properties of gaussian angular diagram.

FieldTypeLabelDescription`x`google.protobuf.DoubleValueValue along the X axis.  
Unit: Degree  
Range: \[0,180\]  
Default value: 45`y`google.protobuf.DoubleValueValue along the Y axis.  
Unit: Degree  
Range: \[0,180\]  
Default value: 45### GetPointLightRequest

The information required to examine a point light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the point light to examine.### GetPointLightResponse

The information about a point light.

FieldTypeLabelDescription`identity`[PointLightIdentity](#pointlightidentity)The point light identity.`properties`[PointLightProperties](#pointlightproperties)The point light properties.`state_names`stringrepeatedThe names of the point light states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetPointLightStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the point light.`state_name`stringThe name of the state to examine.### GetPointLightStateResponse

The information about a point light state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined point light.`state_name`stringThe state name.`state_properties`[PointLightProperties](#pointlightproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### Intensity

The properties of a custom point light.

FieldTypeLabelDescription`flux`google.protobuf.DoubleValueThe flux.  
Unit: lm  
Note: Must be positive.  
Default value: 1000`angular_precision`google.protobuf.DoubleValueThe angular precision.  
Unit: Degree  
Range: \[0,57\]  
Default value: 0**oneof** `angular_diagram` `diagram_library`[LibraryDiagram](#librarydiagram)Intensity based on a library angular diagram.**oneof** `angular_diagram` `lambertian`[LambertianDiagram](#lambertiandiagram)Intensity based on a lambertian angular diagram.**oneof** `angular_diagram` `gaussian`[GaussianDiagram](#gaussiandiagram)Intensity based on a gaussian angular diagram.**oneof** `angular_diagram` `isotropic`[IsotropicDiagram](#isotropicdiagram)Intensity based on an isotropic angular diagram.  
Note: This is the default type of angular diagram.### IsotropicDiagram

Isotropic angular diagram.

### LambertianDiagram

Lambertian angular diagram.

### LibraryDiagram

The properties of library angular diagram.

FieldTypeLabelDescription`diagram_identifier`google.protobuf.Int32ValueThe identifier of the intensity diagram (created using the   
Resource service) referenced in the point light.  
Note: The intensity diagram reference can be removed by setting the value '-1'.### ListPointLightsResponse

The identities of all point lights in the collection.

FieldTypeLabelDescription`point_lights`[PointLightIdentity](#pointlightidentity)repeatedPoint light identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### Monochromatic

Monochromatic spectrum.

FieldTypeLabelDescription`wavelength`google.protobuf.DoubleValueThe emission wavelength of the Spectrum.  
Unit: nanometer (nm)  
Range: \[360,813\]  
Default value: 580### PointLightIdentity

The full identity of a point light, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The point light identifier.`name`stringThe point light name.### PointLightProperties

The properties of a point light.

FieldTypeLabelDescription`intensity`[Intensity](#intensity)The intensity.**oneof** `spectrum` `spectrum_library`[SpectrumLibrary](#spectrumlibrary)Spectrum based on a spectrum file.**oneof** `spectrum` `black_body`[BlackBody](#blackbody)Spectrum based on a black body.  
Note: This is the default type of spectrum.**oneof** `spectrum` `monochromatic`[Monochromatic](#monochromatic)Monochromatic spectrum.**oneof** `spectrum` `color_rgb`[asset\_preparation.v3.common.ColorRgb](#colorrgb)Spectrum based on a RGB color.   
Default value: (255,255,255)**oneof** `spectrum` `color_hsv`[asset\_preparation.v3.common.ColorHsv](#colorhsv)Spectrum based on an HSV color.   
Default value: (0,0,100)**oneof** `shadows` `no_shadow`[asset\_preparation.v3.common.Empty](#empty)The point light does not cast shadows.**oneof** `shadows` `static_shadows`[Shadows](#shadows)The point light produces static shadows.**oneof** `shadows` `dynamic_shadows`[Shadows](#shadows)The point light produces dynamic shadows.  
Note: This is the default type of shadows.`rendering`[Rendering](#rendering)The rendering properties.### Rendering

The rendering properties.

FieldTypeLabelDescription`range`google.protobuf.DoubleValueThe range describing the maximum distance of the light radiation.  
Unit: Meter (m)  
Note: Must be positive.  
Default value: 128### Shadows

The properties of shadows.

FieldTypeLabelDescription`near_clip`google.protobuf.DoubleValueThe near clip.  
Unit: Meter (m)  
Note: Must be positive.  
Default value: 0.1.`shadows_offset_ratio`google.protobuf.DoubleValueThe shadow offset ratio.  
Note: Must be above 0.00001.  
Default value: 0.01.`softness`google.protobuf.DoubleValueThe softness.  
Range: \[0,2\]  
Default value: 0### SpectrumLibrary

Spectrum based on a spectrum file.

FieldTypeLabelDescription`spectrum_identifier`google.protobuf.Int32ValueThe identifier of the spectrum (created using the Resource service) referenced in the point light.  
Note: The spectrum reference can be removed by setting the value '-1'.### UpdatePointLightRequest

The information required to update a point light.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the point light to update.`name`google.protobuf.StringValueThe point light name.  
Note: Names must be unique amongst point lights.  
Note: If no name is defined, the name is not updated.`properties`[PointLightProperties](#pointlightproperties)The point light properties.  
Note: All the properties are optional.### UpdatePointLightResponse

The response returned when updating a point light.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdatePointLightStateRequest

The information required to update a point light state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe point light identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling point light states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[PointLightProperties](#pointlightproperties)The new state properties.### UpdatePointLightStateResponse

The response returned when updating a point light state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.## asset\_preparation\_api/resource/resource.proto

This file describes the service used to manage resources.

### ResourcePreparation

Resource Preparation Service

This service is used to manage resources.

Method NameRequest TypeResponse TypeDescriptionUploadResource[.asset\_preparation.v3.common.Chunk](#chunk) stream[UploadResourceResponse](#uploadresourceresponse)Uploads a new resource with a given stream of chunks containing the "AVX MIMEType" metadata.  
Note: A resource name can be provided using the "AVX DataName" key in the metadata.  
Note: Importing an irradiance map may take several minutes.   
The server response may be "freezing" during the import time.  
Returns the identity of the created resource.DownloadResourceAsChunks[DownloadResourceAsChunksRequest](#downloadresourceaschunksrequest)[.asset\_preparation.v3.common.Chunk](#chunk) streamDownloads a resource binary content as a stream of chunks with a given identifier and type.  
Note: The first chunk of the stream provides the metadata "AVX MIMEType" and "AVX DataName". The last chunk of the stream provides the metadata "AVX Status Error" if an error occurred, "AVX Status Warning" or "AVX Status Info" if the export succeeded.  
Note: Irradiance maps cannot be downloaded.DownloadResourceAsFile[DownloadResourceAsFileRequest](#downloadresourceasfilerequest)[DownloadResourceAsFileResponse](#downloadresourceasfileresponse)Downloads a resource file with a given identifier, type and destination path.  
Note: Irradiance maps cannot be downloaded.ListResources[ListResourcesRequest](#listresourcesrequest)[ListResourcesResponse](#listresourcesresponse)Lists the identity of each resource of the given type.  
Note: If no type is provided, all the resources are listed.DeleteResource[DeleteResourceRequest](#deleteresourcerequest)[DeleteResourceResponse](#deleteresourceresponse)Deletes a resource, given its identifier and type.   
Note: If no identifier and type are provided, all the resources are released.  
Note: If only the type is provided, all the resources of the given type are released.## asset\_preparation\_api/resource/resource\_description.proto

This file describes the messages used to manage resources.

### DeleteResourceRequest

The information required to delete a resource from the collection.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the resource to delete.`type`google.protobuf.StringValueThe type of the resource to delete.### DeleteResourceResponse

The response returned when deleting a resource.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DownloadResourceAsChunksRequest

The request to export a resource as a stream.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the resource to download.`type`stringThe type of the resource to download.### DownloadResourceAsFileRequest

The request to export a resource as a file.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the resource to download.`type`stringThe type of the resource to download.`file_path`stringThe path of the exported file.  
Note: The file extension must be correct according to the resource type.  
If extension is missing, it will be added automatically according to the resource type.`overwrite`google.protobuf.BoolValueDescribes whether the file should be overwritten or not.  
Default value: `true`### DownloadResourceAsFileResponse

The response returned when downloading a resource as a file.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the download operation.### ListResourcesRequest

The request to list all the uploaded resources of a specific type, if defined.

FieldTypeLabelDescription`type`google.protobuf.StringValueThe type of resources to list.### ListResourcesResponse

The identities of all resources in the collection.

FieldTypeLabelDescription`identifiers`[ResourceIdentity](#resourceidentity)repeatedResource identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### ResourceIdentity

The full identity of a resource, consisting of an identifier, a type, a name and an extension.

FieldTypeLabelDescription`identifier`int32The identifier of the resource.`type`stringThe type of the resource.`name`stringThe name of the resource.`extension`stringThe resource extension.### UploadResourceResponse

The identity of the uploaded resource.

FieldTypeLabelDescription`identity`[ResourceIdentity](#resourceidentity)The resource identity.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the upload operation.## asset\_preparation\_api/scenetree/scenetree.proto

This file describes the service used to define, edit and manage scene trees.

### SceneTreePreparation

Scene Tree Preparation Service

This service is used to create, edit and manage scene trees.

Method NameRequest TypeResponse TypeDescriptionCreateSceneTree[CreateSceneTreeRequest](#createscenetreerequest)[CreateSceneTreeResponse](#createscenetreeresponse)Creates a new scene tree with an optional given name.  
Returns the identifier of the created scene tree.GetSceneTree[GetSceneTreeRequest](#getscenetreerequest)[GetSceneTreeResponse](#getscenetreeresponse)Gets the properties of a scene tree, given its identifier.   
Returns the scene tree properties.ListSceneTrees.google.protobuf.Empty[ListSceneTreesResponse](#listscenetreesresponse)Lists all the created scene trees.   
Returns the identifiers and names of the scene trees.UpdateSceneTree[UpdateSceneTreeRequest](#updatescenetreerequest)[UpdateSceneTreeResponse](#updatescenetreeresponse)Edits the properties of a scene tree, given its identifier.DeleteSceneTree[DeleteSceneTreeRequest](#deletescenetreerequest)[DeleteSceneTreeResponse](#deletescenetreeresponse)Deletes a scene tree, given its identifier.CreateNode[CreateNodeRequest](#createnoderequest)[CreateNodeResponse](#createnoderesponse)Creates a node given the parent scene tree or node identifier, with optional node parameters.  
Note: Names must be unique amongst sibling nodes.  
Note: The node is visible by default.  
Returns the identifier of the created node.GetNode[GetNodeRequest](#getnoderequest)[GetNodeResponse](#getnoderesponse)Gets the properties of a node, given its identifier.  
Returns the node properties.UpdateNode[UpdateNodeRequest](#updatenoderequest)[UpdateNodeResponse](#updatenoderesponse)Edits the properties of a node, given its identifier.  
Note: Names must be unique amongst sibling nodes.DeleteNode[DeleteNodeRequest](#deletenoderequest)[DeleteNodeResponse](#deletenoderesponse)Deletes a node, given its identifier.CreateGeometryInstance[CreateGeometryInstanceRequest](#creategeometryinstancerequest)[CreateGeometryInstanceResponse](#creategeometryinstanceresponse)Creates a geometry instance under a node, given the node identifier and geometry instance parameters.  
Note: The geometry instance is visible by default.  
Returns the identifier of the created geometry instance.GetGeometryInstance[GetGeometryInstanceRequest](#getgeometryinstancerequest)[GetGeometryInstanceResponse](#getgeometryinstanceresponse)Gets the properties of a geometry instance, given its identifier.  
Returns the geometry instances properties.UpdateGeometryInstance[UpdateGeometryInstanceRequest](#updategeometryinstancerequest)[UpdateGeometryInstanceResponse](#updategeometryinstanceresponse)Edits the properties of a geometry instance, given its identifier.DeleteGeometryInstance[DeleteGeometryInstanceRequest](#deletegeometryinstancerequest)[DeleteGeometryInstanceResponse](#deletegeometryinstanceresponse)Deletes a geometry instance, given its identifier.CreateDirectionalLightInstance[CreateDirectionalLightInstanceRequest](#createdirectionallightinstancerequest)[CreateDirectionalLightInstanceResponse](#createdirectionallightinstanceresponse)Creates a directional light instance under a node, given the node identifier and directional light instance parameters.  
Note: The directional light instance is visible by default.  
Returns the identifier of the created directional light instance.GetDirectionalLightInstance[GetDirectionalLightInstanceRequest](#getdirectionallightinstancerequest)[GetDirectionalLightInstanceResponse](#getdirectionallightinstanceresponse)Gets the properties of a directional light instance, given its identifier.  
Returns the directional light instance properties.UpdateDirectionalLightInstance[UpdateDirectionalLightInstanceRequest](#updatedirectionallightinstancerequest)[UpdateDirectionalLightInstanceResponse](#updatedirectionallightinstanceresponse)Edits the properties of a directional light instance, given its identifier.DeleteDirectionalLightInstance[DeleteDirectionalLightInstanceRequest](#deletedirectionallightinstancerequest)[DeleteDirectionalLightInstanceResponse](#deletedirectionallightinstanceresponse)Deletes a directional light instance, given its identifier.CreatePointLightInstance[CreatePointLightInstanceRequest](#createpointlightinstancerequest)[CreatePointLightInstanceResponse](#createpointlightinstanceresponse)Creates a point light instance under a node, given the node identifier and point light instance parameters.  
Note: The point light instance is visible by default.  
Returns the identifier of the created point light instance.GetPointLightInstance[GetPointLightInstanceRequest](#getpointlightinstancerequest)[GetPointLightInstanceResponse](#getpointlightinstanceresponse)Gets the properties of a point light instance, given its identifier.  
Returns the point light instance properties.UpdatePointLightInstance[UpdatePointLightInstanceRequest](#updatepointlightinstancerequest)[UpdatePointLightInstanceResponse](#updatepointlightinstanceresponse)Edits the properties of a point light instance, given its identifier.DeletePointLightInstance[DeletePointLightInstanceRequest](#deletepointlightinstancerequest)[DeletePointLightInstanceResponse](#deletepointlightinstanceresponse)Deletes a point light instance, given its identifier.PutSceneTreeFromAssetChunks[.asset\_preparation.v3.common.Chunk](#chunk) stream[PutSceneTreeFromAssetResponse](#putscenetreefromassetresponse)Creates a new scene tree on the server by uploading an asset as a given stream of chunks containing the "AVX ConflictPolicy" metadata.   
All dependencies are uploaded into corresponding services, depending on the given conflict policy.  
Note: It is not possible to upload an asset including an object in which several states have the same name, or including a geometry with several material parts with the same name.PutSceneTreeFromAssetFile[PutSceneTreeFromAssetFileRequest](#putscenetreefromassetfilerequest)[PutSceneTreeFromAssetResponse](#putscenetreefromassetresponse)Creates a new scene tree on the server by uploading a given asset file.   
All dependencies are uploaded into corresponding services, depending on the given conflict policy.  
Note: It is not possible to upload an asset including an object in which several states have the same name, or including a geometry with several material parts with the same name.GetAssetChunks[GetAssetChunksRequest](#getassetchunksrequest)[.asset\_preparation.v3.common.Chunk](#chunk) streamPackages the scene tree as an asset and exports it as a byte stream.  
Note: The last chunk of the stream provides the metadata "AVX Status Error" if an error occurred, "AVX Status Warning" or "AVX Status Info" if the export succeeded.GetAssetFile[GetAssetFileRequest](#getassetfilerequest)[GetAssetFileResponse](#getassetfileresponse)Packages the scene tree as an asset and exports it as a .asset file.## asset\_preparation\_api/scenetree/scenetree\_description.proto

This file describes the messages used to define, edit and manage scene trees.

### CreateDirectionalLightInstanceRequest

The information required to create a directional light instance under a node.

Note: The directional light instance is visible by default.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`name`google.protobuf.StringValueThe name of the directional light instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, a default unique name is automatically set.`properties`[DirectionalLightInstanceProperties](#directionallightinstanceproperties)The directional light instance properties.### CreateDirectionalLightInstanceResponse

The identifier of the created directional light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identity`[DirectionalLightInstanceIdentity](#directionallightinstanceidentity)The identifier of the directional light instance.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateGeometryInstanceRequest

The information required to create a geometry instance under a node.

Note: The geometry instance is visible by default.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`name`google.protobuf.StringValueThe name of the geometry instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, a default unique name is automatically set.`properties`[GeometryInstanceProperties](#geometryinstanceproperties)The geometry instance properties.### CreateGeometryInstanceResponse

The identifier of the created geometry instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identity`[GeometryInstanceIdentity](#geometryinstanceidentity)The identity of the geometry instance.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateNodeRequest

The information required to create a node under a scene tree or a node.

Note: The node is visible by default.

FieldTypeLabelDescription**oneof** `parent` `scene_tree_identifier`int32The identifier of the parent scene tree.**oneof** `parent` `node_identifier`int32The identifier of the parent node.`name`google.protobuf.StringValueThe node name.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, a default unique name is automatically set.`properties`[NodeProperties](#nodeproperties)The node properties.### CreateNodeResponse

The identifier of the created node.

FieldTypeLabelDescription**oneof** `parent` `scene_tree_identifier`int32The identifier of the parent scene tree.**oneof** `parent` `node_identifier`int32The identifier of the parent node.`identity`[NodeIdentity](#nodeidentity)The identity of the node.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreatePointLightInstanceRequest

The information required to create a point light instance under a node.

Note: The point light instance is visible by default.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`name`google.protobuf.StringValueThe name of the point light instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, a default unique name is automatically set.`properties`[PointLightInstanceProperties](#pointlightinstanceproperties)The point light instance properties.### CreatePointLightInstanceResponse

The identifier of the created point light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identity`[PointLightInstanceIdentity](#pointlightinstanceidentity)The identity of the point light instance.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateSceneTreeRequest

The information required to create a scene tree.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe scene tree name.  
Note: If no name is defined, a default unique name is automatically set.### CreateSceneTreeResponse

The identity of the created scene tree.

FieldTypeLabelDescription`identity`[SceneTreeIdentity](#scenetreeidentity)The scene tree identity.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CustomTemperature

The custom temperature.

Unit: Degree Celsius

Range: \[-40,100\]

Default value: 0

FieldTypeLabelDescription`value`google.protobuf.DoubleValueThe temperature value.### DeleteDirectionalLightInstanceRequest

The information required to delete a directional light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the directional light instance.### DeleteDirectionalLightInstanceResponse

The response returned when deleting a directional light instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteGeometryInstanceRequest

The information required to delete a geometry instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the geometry instance.### DeleteGeometryInstanceResponse

The response returned when deleting a geometry instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteNodeRequest

The information required to delete a node.

FieldTypeLabelDescription**oneof** `parent` `scene_tree_identifier`int32The identifier of the parent scene tree.**oneof** `parent` `node_identifier`int32The identifier of the parent node.`identifier`google.protobuf.Int32ValueThe identifier of the node.### DeleteNodeResponse

The response returned when deleting a node.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeletePointLightInstanceRequest

The information required to delete a point light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the point light instance.### DeletePointLightInstanceResponse

The response returned when deleting a point light instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteSceneTreeRequest

The information required to delete a scene tree.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the scene tree to delete.### DeleteSceneTreeResponse

The response returned when deleting a scene tree.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DirectionalLightInstanceIdentity

The full identity of a directional light instance, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The directional light instance identifier.`name`stringThe directional light instance name.### DirectionalLightInstanceProperties

The properties of a directional light instance.

FieldTypeLabelDescription`directional_light_identifier`google.protobuf.Int32ValueThe identifier of the referenced directional light.  
Note: Mandatory for creation. Ignored during edition.`transform`[Transform](#transform)The directional light instance transformation.  
Note: The scale should not be set for light instances.   
If defined, it will be ignored.`visibility`google.protobuf.BoolValueThe directional light instance visibility.  
Note: The directional light instance is visible by default.### GeometryInstanceIdentity

The full identity of a geometry instance, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The geometry instance identifier.`name`stringThe geometry instance name.### GeometryInstanceProperties

The properties of a geometry instance.

FieldTypeLabelDescription`geometry_identifier`google.protobuf.Int32ValueThe identifier of the referenced geometry.  
Note: Mandatory for creation. Ignored during edition.`transform`[Transform](#transform)The geometry instance transformation.`visibility`google.protobuf.BoolValueThe geometry instance visibility.  
Note: The geometry instance is visible by default.`thermal_properties`[ThermalProperties](#thermalproperties)The thermal properties of the instance.  
Note: The thermal properties are not set by default.`removed_tags`[asset\_preparation.v3.common.TagIdentity](#tagidentity)repeatedTags to remove from the geometry instance.`added_tags`[asset\_preparation.v3.common.Tag](#tag)repeatedTag(s) to add to the geometry instance.  
Note: If you want to tag a dynamic asset as a custom simulation object, you must add the custom tag first, then add a second asset tag:   
BASIC\_TYPE\_VEHICLE, BASIC\_TYPE\_PEDESTRIAN or BASIC\_TYPE\_ANIMAL, in this specific order.### GetAssetChunksRequest

The information required to export a scene tree as a stream of asset chunks.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the scene tree to export.`protect`boolDefines whether the generated asset should be protected from import or not.  
Note: Protection is irreversible.  
Default value: `false`### GetAssetFileRequest

The information required to export a scene tree as an asset file.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the scene tree to export.`file_path`stringThe path of the exported file.`overwrite`google.protobuf.BoolValueDefines whether the file should be overwritten or not.  
Default value: `true``protect`boolDefines whether the generated asset should be protected from import or not.  
Note: Protection is irreversible.  
Default value: `false`### GetAssetFileResponse

The response returned when exporting a scene tree as an asset file.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the export operation.### GetDirectionalLightInstanceRequest

The information required to examine a directional light instance.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the directional light instance to examine.### GetDirectionalLightInstanceResponse

The information about a directional light instance.

FieldTypeLabelDescription`identity`[DirectionalLightInstanceIdentity](#directionallightinstanceidentity)The identity of the directional light instance.`properties`[DirectionalLightInstanceProperties](#directionallightinstanceproperties)The directional light instance properties.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetGeometryInstanceRequest

The information required to examine a geometry instance.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the geometry instance to examine.### GetGeometryInstanceResponse

The information about a geometry instance.

FieldTypeLabelDescription`identity`[GeometryInstanceIdentity](#geometryinstanceidentity)The identity of the geometry instance.`properties`[GeometryInstanceProperties](#geometryinstanceproperties)The geometry instance properties.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetNodeRequest

The information required to examine a node.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the node to examine.### GetNodeResponse

The information about a node.

FieldTypeLabelDescription`identity`[NodeIdentity](#nodeidentity)The identity of the node.`properties`[NodeProperties](#nodeproperties)The node properties.`nodes`[NodeIdentity](#nodeidentity)repeatedThe identities of all the direct child nodes.`geometry_instances`[GeometryInstanceIdentity](#geometryinstanceidentity)repeatedThe identities of all the geometries instantiated under the current node.`directional_light_instances`[DirectionalLightInstanceIdentity](#directionallightinstanceidentity)repeatedThe identities of all the directional lights instantiated under the current node.`point_light_instances`[PointLightInstanceIdentity](#pointlightinstanceidentity)repeatedThe identities of all the point lights instantiated under the current node.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetPointLightInstanceRequest

The information required to examine a point light instance.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the point light instance to examine.### GetPointLightInstanceResponse

The information about a point light instance.

FieldTypeLabelDescription`identity`[PointLightInstanceIdentity](#pointlightinstanceidentity)The identity of the point light instance.`properties`[PointLightInstanceProperties](#pointlightinstanceproperties)The point light instance properties.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetSceneTreeRequest

The information required to examine a scene tree.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the scene tree to examine.### GetSceneTreeResponse

The information about a scene tree.

FieldTypeLabelDescription`identity`[SceneTreeIdentity](#scenetreeidentity)The scene tree identity.`nodes`[NodeIdentity](#nodeidentity)repeatedThe identities of all the nodes in the scene tree (direct children only).`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### ListSceneTreesResponse

The identities of all scene trees in the collection.

FieldTypeLabelDescription`scene_trees`[SceneTreeIdentity](#scenetreeidentity)repeatedScene tree identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### NodeIdentity

The full identity of a node, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The node identifier.`name`stringThe node name.### NodeProperties

The properties of a node.

FieldTypeLabelDescription`transform`[Transform](#transform)The node transformation.`visibility`google.protobuf.BoolValueThe node visibility.  
Note: The node is visible by default.`removed_tags`[asset\_preparation.v3.common.TagIdentity](#tagidentity)repeatedTag(s) to remove from the node.`added_tags`[asset\_preparation.v3.common.Tag](#tag)repeatedTag(s) to add to the node.  
Note: If you want to tag a dynamic asset as a custom simulation object, you must add the custom tag first, then add a second asset tag:   
BASIC\_TYPE\_VEHICLE, BASIC\_TYPE\_PEDESTRIAN or BASIC\_TYPE\_ANIMAL, in this specific order.### PointLightInstanceIdentity

The full identity of a point light instance, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The point light instance identifier.`name`stringThe point light instance name.### PointLightInstanceProperties

The properties of a point light instance.

FieldTypeLabelDescription`point_light_identifier`google.protobuf.Int32ValueThe identifier of the referenced point light.  
Note: Mandatory for creation. Ignored during edition.`transform`[Transform](#transform)The point light instance transformation.  
Note: The scale should not be set for light instances.   
If defined, it will be ignored.`visibility`google.protobuf.BoolValueThe point light instance visibility.  
Note: The point light instance is visible by default.`removed_tags`[asset\_preparation.v3.common.TagIdentity](#tagidentity)repeatedTags to remove from the point light instance.`added_tags`[asset\_preparation.v3.common.Tag](#tag)repeatedTag(s) to add to the point light instance.  
Note: Only LightingType Tags are allowed.### PutSceneTreeFromAssetFileRequest

The information required to create a scene tree from an uploaded asset file.

FieldTypeLabelDescription`file_path`stringThe path of the .asset file to upload.`name_conflict_policy`[asset\_preparation.v3.common.ConflictPolicy](#conflictpolicy)The policy to follow in case of name conflict with server's objects.### PutSceneTreeFromAssetResponse

The response returned when uploading an asset.

FieldTypeLabelDescription`identifier`int32The imported scene tree identifier.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the upload operation.### SceneTreeIdentity

The full identity of a scene tree, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The scene tree identifier.`name`stringThe scene tree name.### ThermalProperties

The thermal properties.

FieldTypeLabelDescription**oneof** `temperature` `no_custom_temperature`[asset\_preparation.v3.common.Empty](#empty)No custom temperature.  
Note: This is the default mode.  
With this mode, if a natural sky is set in the environment, the temperature of the geometry instance will be the Ambient Temperature set in the sky properties.**oneof** `temperature` `custom_temperature`[CustomTemperature](#customtemperature)The custom temperature.### UpdateDirectionalLightInstanceRequest

The information required to edit the properties of a directional light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the directional light instance.`name`google.protobuf.StringValueThe name of the directional light instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, the name is not updated.`properties`[DirectionalLightInstanceProperties](#directionallightinstanceproperties)The new directional light instance properties.  
Note: All the properties are optional.### UpdateDirectionalLightInstanceResponse

The response returned when updating a directional light instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateGeometryInstanceRequest

The information required to update a geometry instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the geometry instance.`name`google.protobuf.StringValueThe name of the geometry instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, the name is not updated.`properties`[GeometryInstanceProperties](#geometryinstanceproperties)The geometry instance properties.  
Note: All the properties are optional.### UpdateGeometryInstanceResponse

The response returned when updating a geometry instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateNodeRequest

The information required to update a node.

FieldTypeLabelDescription**oneof** `parent` `scene_tree_identifier`int32The identifier of the parent scene tree.**oneof** `parent` `node_identifier`int32The identifier of the parent node.`identifier`google.protobuf.Int32ValueThe identifier of the node.`name`google.protobuf.StringValueThe node name.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, the name is not updated.`properties`[NodeProperties](#nodeproperties)The node properties.  
Note: All the properties are optional.### UpdateNodeResponse

The response returned when updating a node.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdatePointLightInstanceRequest

The information required to update a point light instance.

FieldTypeLabelDescription`node_identifier`google.protobuf.Int32ValueThe identifier of the parent node.`instance_identifier`google.protobuf.Int32ValueThe identifier of the point light instance.`name`google.protobuf.StringValueThe name of the point light instance.  
Note: Names must be unique amongst siblings (nodes, geometries and light instances).  
Note: If no name is defined, the name is not updated.`properties`[PointLightInstanceProperties](#pointlightinstanceproperties)The new point light instance properties.  
Note: All the properties are optional.### UpdatePointLightInstanceResponse

The response returned when updating a point light instance.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateSceneTreeRequest

The information required to update a scene tree.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the scene tree to update.`name`google.protobuf.StringValueThe scene tree name.  
Note: If no name is defined, the name is not updated.### UpdateSceneTreeResponse

The response returned when updating a scene tree.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.## asset\_preparation\_api/scenetree/transform.proto

This file describes the messages used to transform objects in the scene tree hierarchy.

### EulerAngles

Euler angles.

Unit: Degree

Note: Rotations expressed in Euler Angles are applied following the intrinsic sequence: pitch (X), yaw (Y), roll (Z). When a rotation is set around 2 axes or more, the vertex is rotated first around the X axis. Then, the rotation around the Y axis is applied to the vertex rotated on X. Finally, the rotation around the Z axis is applied to the vertex rotated on X and Y.

FieldTypeLabelDescription`x`doubleRotation along the X axis.`y`doubleRotation along the Y axis.`z`doubleRotation along the Z axis.### Quaternion

A quaternion.

FieldTypeLabelDescription`x`doubleX value of the quaternion.`y`doubleY value of the quaternion.`z`doubleZ value of the quaternion.`w`doubleW value of the quaternion.### Transform

The transformation of an object in the scene tree hierarchy.

FieldTypeLabelDescription`x_position`google.protobuf.DoubleValuePosition along the X axis.  
Unit: meter (m)`y_position`google.protobuf.DoubleValuePosition along the Y axis.  
Unit: meter (m)`z_position`google.protobuf.DoubleValuePosition along the Z axis.  
Unit: meter (m)**oneof** `rotation` `quaternion`[Quaternion](#quaternion)Rotation expressed as a quaternion.**oneof** `rotation` `euler_angles`[EulerAngles](#eulerangles)Rotation expressed as Euler angles.`x_scale`google.protobuf.DoubleValueScale along the X axis.`y_scale`google.protobuf.DoubleValueScale along the Y axis.`z_scale`google.protobuf.DoubleValueScale along the Z axis.`relativity`[Relativity](#relativity)Relativity.### Relativity

Relativity of a transformation.

NameNumberDescriptionRELATIVITY\_UNSPECIFIED0The transformation relativity is unspecified.RELATIVITY\_RELATIVE1The transformation is relative to the object's parent.RELATIVITY\_ABSOLUTE2The transformation is in world coordinates.## asset\_preparation\_api/surfaceSource/surface\_source.proto

This file describes the service used to create, edit and manage surface sources.

### SurfaceSourcePreparation

Surface Source Preparation Service

This service is used to create, edit and manage surface sources.

Method NameRequest TypeResponse TypeDescriptionCreateSurfaceSource[CreateSurfaceSourceRequest](#createsurfacesourcerequest)[CreateSurfaceSourceResponse](#createsurfacesourceresponse)Creates a new surface source with an optional name and properties.  
Note: If unspecified, default values are used.  
Returns the identifier of the created surface source.GetSurfaceSource[GetSurfaceSourceRequest](#getsurfacesourcerequest)[GetSurfaceSourceResponse](#getsurfacesourceresponse)Gets the properties of a surface source, given its identifier.   
Returns the surface source or display source properties.ListSurfaceSources.google.protobuf.Empty[ListSurfaceSourcesResponse](#listsurfacesourcesresponse)Lists all the created surface sources.  
Returns the identifiers and names of the surface sources.UpdateSurfaceSource[UpdateSurfaceSourceRequest](#updatesurfacesourcerequest)[UpdateSurfaceSourceResponse](#updatesurfacesourceresponse)Edits the properties of a surface source, given its identifier.  
Note: Names must be unique amongst surface sources.DeleteSurfaceSource[DeleteSurfaceSourceRequest](#deletesurfacesourcerequest)[DeleteSurfaceSourceResponse](#deletesurfacesourceresponse)Deletes a surface source, given its identifier.CreateSurfaceSourceState[CreateSurfaceSourceStateRequest](#createsurfacesourcestaterequest)[CreateSurfaceSourceStateResponse](#createsurfacesourcestateresponse)Creates a new surface source state with optional properties.  
Note: Names must be unique amongst sibling surface source states.  
Note: "Default" name is reserved.  
Note: If some properties are not specified, default values are used.   
Returns the information about the created surface source state.GetSurfaceSourceState[GetSurfaceSourceStateRequest](#getsurfacesourcestaterequest)[GetSurfaceSourceStateResponse](#getsurfacesourcestateresponse)Gets the properties of a surface source state, given the parent surface source identifier and the state name.  
Returns the surface source state properties.UpdateSurfaceSourceState[UpdateSurfaceSourceStateRequest](#updatesurfacesourcestaterequest)[UpdateSurfaceSourceStateResponse](#updatesurfacesourcestateresponse)Edits the properties of a state, given the parent surface source identifier and the state name.  
Note: Names must be unique amongst sibling surface source states.  
Note: "Default" name is reserved.DeleteSurfaceSourceState[DeleteSurfaceSourceStateRequest](#deletesurfacesourcestaterequest)[DeleteSurfaceSourceStateResponse](#deletesurfacesourcestateresponse)Deletes a surface source state, given the parent surface source identifier and the state name.## asset\_preparation\_api/surfaceSource/surface\_source\_description.proto

This file describes the messages used to create, edit and manage surface sources.

### BlackBody

Spectrum based on a black body.

FieldTypeLabelDescription`temperature`google.protobuf.DoubleValueThe temperature of the black body.  
Unit: Kelvin (K)  
Range: \[0,30000\]  
Default value: 5500### CreateSurfaceSourceRequest

The information required to create a surface source.

FieldTypeLabelDescription`name`google.protobuf.StringValueThe surface source name.  
Note: Names must be unique amongst surface sources.  
Note: If no name is defined, a default unique name is automatically set.`properties`[SourceProperties](#sourceproperties)The source properties.### CreateSurfaceSourceResponse

The identity of the created surface source.

FieldTypeLabelDescription`identity`[SurfaceSourceIdentity](#surfacesourceidentity)The identity of a surface source.  
Returns null in case of failure.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### CreateSurfaceSourceStateRequest

The information required to create a surface source state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe surface source identifier.`state_name`stringThe state name.  
Note: Names must be unique amongst sibling surface source states.  
Note: "Default" name is reserved.`base_state_name`google.protobuf.StringValueThe name of an already existing state on which will be based the state to create.  
Note: If not defined, the surface source properties are used.`state_properties`[SourceProperties](#sourceproperties)The state properties.### CreateSurfaceSourceStateResponse

The response returned when creating a surface source state.

FieldTypeLabelDescription`identifier`int32The surface source identifier.`state_name`stringThe new state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the creation operation.### DeleteSurfaceSourceRequest

The information required to delete a surface source.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the surface source to delete.### DeleteSurfaceSourceResponse

The response returned when deleting a surface source.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DeleteSurfaceSourceStateRequest

The information required to delete a surface source state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe surface source identifier.`state_name`stringThe name of the state to delete.### DeleteSurfaceSourceStateResponse

The response returned when deleting a surface source state.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the delete operation.### DisplaySourceProperties

The properties of a display source.

Note: For display sources, the spectrum is only needed if the display source contributes to lighting.

FieldTypeLabelDescription`luminance`google.protobuf.DoubleValueThe display source luminance.  
Unit: candela/sq. meter (cd/m2)  
Note: Must be positive.  
Default value: 0`angular_precision`google.protobuf.DoubleValueThe angular precision.  
Unit: Degree  
Range: \[0,57\]  
Default value: 0**oneof** `angular_diagram` `lambertian`[LambertianDiagram](#lambertiandiagram)Intensity based on a Lambertian angular diagram.  
Note: This is the default type of angular diagram.**oneof** `angular_diagram` `diagram_library`[LibraryDiagram](#librarydiagram)Intensity based on a library angular diagram.**oneof** `angular_diagram` `gaussian`[GaussianDiagram](#gaussiandiagram)Intensity based on a gaussian angular diagram.`reverse_direction`google.protobuf.BoolValueDefines whether the direction of the display source is reversed.  
Default value: `false`**oneof** `contribution` `no_contribution`[asset\_preparation.v3.common.Empty](#empty)The display source does not contribute to lighting.  
Note: This is the default value.**oneof** `contribution` `lighting_contribution`[LightingContribution](#lightingcontribution)The lighting contribution of the display source.**oneof** `spectrum` `spectrum_library`[SpectrumLibrary](#spectrumlibrary)Spectrum based on a spectrum file.  
Note: This is the default spectrum type.**oneof** `spectrum` `black_body`[BlackBody](#blackbody)Spectrum based on a black body.**oneof** `spectrum` `monochromatic`[Monochromatic](#monochromatic)Monochromatic spectrum.**oneof** `spectrum` `color_rgb`[asset\_preparation.v3.common.ColorRgb](#colorrgb)Spectrum based on a RGB color.   
Default value: (255,255,255)**oneof** `spectrum` `color_hsv`[asset\_preparation.v3.common.ColorHsv](#colorhsv)Spectrum based on an HSV color.   
Default value: (0,0,100)`texture_identifier`google.protobuf.Int32ValueThe identifier of the display texture (created using the Resource service) referenced in the display source.  
Note: The texture reference can be removed by setting the value '-1'.`uv_channel`google.protobuf.Int32ValueThe UV channel used to map the texture.  
Range: \[1,4\]  
Default value: 1### GaussianDiagram

The properties of gaussian angular diagram.

FieldTypeLabelDescription`x`google.protobuf.DoubleValueValue along the X axis.  
Unit: Degree  
Range: \[0,180\]  
Default value: 45`y`google.protobuf.DoubleValueValue along the Y axis.  
Unit: Degree  
Range: \[0,180\]  
Default value: 45### GetSurfaceSourceRequest

The information required to examine a surface source.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the surface source to examine.### GetSurfaceSourceResponse

The properties of a surface source.

FieldTypeLabelDescription`identity`[SurfaceSourceIdentity](#surfacesourceidentity)The identifier of the surface source.`properties`[SourceProperties](#sourceproperties)The surface source properties.`state_names`stringrepeatedThe names of the surface source states.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the examination operation.### GetSurfaceSourceStateRequest

The information required to examine a state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe identifier of the surface source.`state_name`stringThe name of the state to examine.### GetSurfaceSourceStateResponse

The information about a surface source state.

FieldTypeLabelDescription`identifier`int32The identifier of the examined surface source.`state_name`stringThe state name.`state_properties`[SourceProperties](#sourceproperties)The properties of the examined state.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the reading operation.### LambertianDiagram

Lambertian angular diagram.

### LibraryDiagram

The properties of library angular diagram.

FieldTypeLabelDescription`diagram_identifier`google.protobuf.Int32ValueThe identifier of the intensity diagram (created using the   
Resource service) referenced in the surface source.  
Note: The intensity diagram reference can be removed by setting the value '-1'.`offset`[Vector3](#vector3)The intensity diagram offset.  
Unit: Degree### LightingContribution

Describes how a surface or display source contributes to the scene lighting, including whether the different surfaces composing the geometry must be joint or disjoint.

FieldTypeLabelDescription**oneof** `disjoint_surfaces` `joint`[asset\_preparation.v3.common.Empty](#empty)With joint surfaces, the surface or display source acts as a single point light for contribution to the scene lighting.  
Note: This is the default value.**oneof** `disjoint_surfaces` `disjoint_flux_distribution`[DisjointFluxDistributionType](#disjointfluxdistributiontype)With disjoint surfaces, the surface or display source acts as several point lights (as many point lights as there are surfaces in the geometry) for contribution to the scene lighting.`orientation_offset`[Vector3](#vector3)The orientation offset.  
Unit: Degree`position_offset`google.protobuf.DoubleValueThe position offset.  
Unit: Millimeter (mm)  
Default value: 0`rendering`[Rendering](#rendering)The rendering properties.**oneof** `shadows` `no_shadow`[asset\_preparation.v3.common.Empty](#empty)The surface source does not cast shadows.  
Note: This is the default value.**oneof** `shadows` `static_shadows`[Shadows](#shadows)The surface source produces static shadows.**oneof** `shadows` `dynamic_shadows`[Shadows](#shadows)The surface source produces dynamic shadows.### ListSurfaceSourcesResponse

The identities of all surface sources in the collection.

FieldTypeLabelDescription`surface_sources`[SurfaceSourceIdentity](#surfacesourceidentity)repeatedSurface source identities.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the listing operation.### Monochromatic

Monochromatic spectrum.

FieldTypeLabelDescription`wavelength`google.protobuf.DoubleValueThe emission wavelength of the Spectrum.  
Unit: nanometer (nm)  
Range: \[360,813\]  
Default value: 580### Rendering

The rendering properties.

FieldTypeLabelDescription`range`google.protobuf.DoubleValueThe range describing the maximum distance of the light radiation.  
Unit: Meter (m)  
Note: Must be positive.  
Default value: 128### Shadows

The properties of shadows.

FieldTypeLabelDescription`near_clip`google.protobuf.DoubleValueThe near clip.  
Unit: Meter (m)  
Note: Must be positive.  
Default value: 0.1.`shadows_offset_ratio`google.protobuf.DoubleValueThe shadow offset ratio.  
Note: Must be above 0.00001.  
Default value: 0.01.`softness`google.protobuf.DoubleValueThe softness.  
Range: \[0,2\]  
Default value: 0### SourceProperties

The source properties.

FieldTypeLabelDescription**oneof** `source` `surface_source`[SurfaceSourceProperties](#surfacesourceproperties)Surface source.  
Note: This is the default type.**oneof** `source` `display_source`[DisplaySourceProperties](#displaysourceproperties)Display source.### SpectrumLibrary

Spectrum based on a spectrum file.

FieldTypeLabelDescription`spectrum_identifier`google.protobuf.Int32ValueThe identifier of the spectrum (created using the Resource service) referenced in the surface source.  
Note: The spectrum reference can be removed by setting the value '-1'.### SurfaceSourceIdentity

The full identity of a surface source, consisting of an identifier and a name.

FieldTypeLabelDescription`identifier`int32The surface source identifier.`name`stringThe surface source name.### SurfaceSourceProperties

The properties of a surface source.

FieldTypeLabelDescription`flux`google.protobuf.DoubleValueThe surface source flux.  
Unit: lumen (lm)  
Note: Must be positive.  
Default value: 500`angular_precision`google.protobuf.DoubleValueThe angular precision.  
Unit: Degree  
Range: \[0,57\]  
Default value: 0**oneof** `angular_diagram` `lambertian`[LambertianDiagram](#lambertiandiagram)Intensity based on a lambertian angular diagram.**oneof** `angular_diagram` `diagram_library`[LibraryDiagram](#librarydiagram)Intensity based on a library angular diagram.  
Note: This is the default type of angular diagram.**oneof** `angular_diagram` `gaussian`[GaussianDiagram](#gaussiandiagram)Intensity based on a gaussian angular diagram.`reverse_direction`google.protobuf.BoolValueDefines whether the direction of the surface source is reversed or not.  
Default value: `false`**oneof** `contribution` `no_contribution`[asset\_preparation.v3.common.Empty](#empty)The surface source does not contribute to lighting.  
Note: This is the default value.**oneof** `contribution` `lighting_contribution`[LightingContribution](#lightingcontribution)The lighting contribution of the surface source.**oneof** `spectrum` `spectrum_library`[SpectrumLibrary](#spectrumlibrary)Spectrum based on a spectrum file.  
Note: This is the default spectrum type.**oneof** `spectrum` `black_body`[BlackBody](#blackbody)Spectrum based on a black body.**oneof** `spectrum` `monochromatic`[Monochromatic](#monochromatic)Monochromatic spectrum.**oneof** `spectrum` `color_rgb`[asset\_preparation.v3.common.ColorRgb](#colorrgb)Spectrum based on a RGB color.**oneof** `spectrum` `color_hsv`[asset\_preparation.v3.common.ColorHsv](#colorhsv)Spectrum based on an HSV color.### UpdateSurfaceSourceRequest

The information required to update a surface source.

Note: All the properties are optional so you can modify only one property.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe surface source identifier.`name`google.protobuf.StringValueThe surface source name.  
Note: Names must be unique amongst surface sources.  
Note: If no name is defined, the name is not updated.`properties`[SourceProperties](#sourceproperties)The surface source properties.### UpdateSurfaceSourceResponse

The response returned when updating a surface source.

FieldTypeLabelDescription`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### UpdateSurfaceSourceStateRequest

The information required to update a surface source state.

FieldTypeLabelDescription`identifier`google.protobuf.Int32ValueThe surface source identifier.`state_name`stringThe current name of the state.`state_new_name`google.protobuf.StringValueThe new name of the state.  
Note: Names must be unique amongst sibling surface source states.  
Note: "Default" name is reserved.  
Note: If no name is defined, the name is not updated.`state_properties`[SourceProperties](#sourceproperties)The new state properties.### UpdateSurfaceSourceStateResponse

The response returned when updating a surface source state.

FieldTypeLabelDescription`state_name`stringThe state name.`status`[asset\_preparation.v3.common.Status](#status)The feedback status of the update operation.### Vector3

Vector in a 3D referential.

Note: The default value is 0.

FieldTypeLabelDescription`x`google.protobuf.DoubleValueValue along the X axis.`y`google.protobuf.DoubleValueValue along the Y axis.`z`google.protobuf.DoubleValueValue along the Z axis.### DisjointFluxDistributionType

The type of disjoint flux distribution.

NameNumberDescriptionDISTRIBUTION\_TYPE\_UNSPECIFIED0Unspecified disjoint flux distribution type.DISTRIBUTION\_TYPE\_PROPORTIONAL1Flux distributed proportionally to the area of each disjoint surface.  
Note: With this distribution type, the power emitted by one disjoint surface is equal to the power defined in the surface source properties multiplied by the ratio of area of the disjoint surface to the total area.DISTRIBUTION\_TYPE\_EVEN2Flux distributed evenly among the disjoint surfaces.   
Note: With this distribution type, each disjoint surface emits the same power. The power of each disjoint surface is equal to the power defined in the surface source properties divided by the number of surfaces.