# Overview of Truth Types The following list provides a overview of all Truth Types the Engines is aware of. ## Index
plugin_assets.h
`TM_TT_TYPE__PLUGIN`
the_truth.h
`TM_TT_TYPE__ANYTHING`
the_truth_assets.h
`TM_TT_TYPE__ASSET_ROOT`
`TM_TT_TYPE__ASSET`
`TM_TT_TYPE__ASSET_DIRECTORY`
`TM_TT_TYPE__ASSET_LABEL`
the_truth_types.h
`TM_TT_TYPE__BOOL`
`TM_TT_TYPE__UINT32_T`
`TM_TT_TYPE__UINT64_T`
`TM_TT_TYPE__FLOAT`
`TM_TT_TYPE__DOUBLE`
`TM_TT_TYPE__STRING`
`TM_TT_TYPE__VEC2`
`TM_TT_TYPE__VEC3`
`TM_TT_TYPE__VEC4`
`TM_TT_TYPE__POSITION`
`TM_TT_TYPE__ROTATION`
`TM_TT_TYPE__SCALE`
`TM_TT_TYPE__COLOR_RGB`
`TM_TT_TYPE__COLOR_RGBA`
`TM_TT_TYPE__RECT`
visibility_flags.h
`TM_TT_TYPE__VISIBILITY_FLAG`
animation_clip.h
`TM_TT_TYPE__ANIMATION_CLIP`
`TM_TT_TYPE__ANIMATION_CLIP_TRIGGER`
animation_compression.h
`TM_TT_TYPE__COMPRESSED_ANIMATION`
`TM_TT_TYPE__ANIMATION_COMPRESSION_SETTINGS`
animation_simple_player_component.h
`TM_TT_TYPE__ANIMATION_SIMPLE_PLAYER_COMPONENT`
animation_state_machine.h
`TM_TT_TYPE__ASM_REGULAR_STATE`
`TM_TT_TYPE__ASM_RANDOM_STATE`
`TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION`
`TM_TT_TYPE__ASM_BLEND_STATE`
`TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION`
`TM_TT_TYPE__ASM_EMPTY_STATE`
`TM_TT_TYPE__ASM_REGULAR_TRANSITION`
`TM_TT_TYPE__ASM_LAYER`
`TM_TT_TYPE__ASM_EVENT`
`TM_TT_TYPE__ASM_VARIABLE`
`TM_TT_TYPE__ASM_BLEND_SET_WEIGHT`
`TM_TT_TYPE__ASM_BLEND_SET`
`TM_TT_TYPE__ASM_MOTION_MIXER`
`TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER`
`TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON`
`TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY`
`TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY`
`TM_TT_TYPE__ANIMATION_STATE_MACHINE`
animation_state_machine_component.h
`TM_TT_TYPE__ANIMATION_STATE_MACHINE_COMPONENT`
atmospheric_sky_component.h
`TM_TT_TYPE__ATMOSPHERIC_SKY_COMPONENT`
sound_source_component.h
`TM_TT_TYPE__SOUND_SOURCE_COMPONENT`
wav.h
`TM_TT_TYPE__WAV`
color_spaces.h
`TM_TT_TYPE__COLOR_SPACE_SETTINGS`
creation_graph.h
`TM_TT_TYPE__CREATION_GRAPH`
`TM_TT_TYPE__CREATION_GRAPH__RESOURCE_REFERENCE`
creation_graph_node_type.h
`TM_TT_TYPE_HASH__STRING_HASH`
image_nodes.h
`TM_TT_TYPE__IMAGE_MIPMAP_SETTINGS`
`TM_TT_TYPE__IMAGE_DESCRIPTION`
`TM_TT_TYPE__IMAGE_ARCHIVE`
dcc_asset_component.h
`TM_TT_TYPE__DCC_ASSET_COMPONENT`
dcc_asset_creation_graph.h
`TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS`
`TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS`
`TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS`
dcc_asset_truth.h
`TM_TT_TYPE__DCC_ASSET_POSITION`
`TM_TT_TYPE__DCC_ASSET_ROTATION`
`TM_TT_TYPE__DCC_ASSET_SCALE`
`TM_TT_TYPE__DCC_ASSET_COLOR_RGB`
`TM_TT_TYPE__DCC_ASSET_COLOR_RGBA`
`TM_TT_TYPE__DCC_ASSET_BUFFER`
`TM_TT_TYPE__DCC_ASSET_CAMERA`
`TM_TT_TYPE__DCC_ASSET_LIGHT`
`TM_TT_TYPE__DCC_ASSET_ACCESSOR`
`TM_TT_TYPE__DCC_ASSET_ATTRIBUTE`
`TM_TT_TYPE__DCC_ASSET_IMAGE`
`TM_TT_TYPE__DCC_ASSET_TEXTURE`
`TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR`
`TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG`
`TM_TT_TYPE__DCC_ASSET_MATERIAL`
`TM_TT_TYPE__DCC_ASSET_BONE`
`TM_TT_TYPE__DCC_ASSET_MESH`
`TM_TT_TYPE__DCC_ASSET_NODE`
`TM_TT_TYPE__DCC_ASSET_SCENE`
`TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION`
`TM_TT_TYPE__DCC_ASSET_ANIMATION`
`TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE`
`TM_TT_TYPE__DCC_ASSET_SOURCE_IMPORT_SETTINGS`
`TM_TT_TYPE__DCC_ASSET_SETTINGS`
`TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE`
`TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY`
`TM_TT_TYPE__DCC_ASSET`
import_settings.h
`TM_TT_TYPE__DCC_IMPORT_SETTINGS`
light_component.h
`TM_TT_TYPE__LIGHT_COMPONENT`
light_probes.h
`TM_TT_TYPE__LIGHT_PROBES_COMPONENT`
ssao_component.h
`TM_TT_TYPE__SSAO_COMPONENT`
volume_component.h
`TM_TT_TYPE__VOLUME_COMPONENT`
bloom_component.h
`TM_TT_TYPE__BLOOM_COMPONENT`
exposure_component.h
`TM_TT_TYPE__EXPOSURE_COMPONENT`
asset_browser.h
`TM_TT_TYPE__ASSET_BROWSER`
graph.h
`TM_TT_TYPE__GRAPH`
`TM_TT_TYPE__GRAPH_NODE`
`TM_TT_TYPE__GRAPH_CONNECTION`
`TM_TT_TYPE__GRAPH_DATA`
`TM_TT_TYPE__GRAPH_COMMENT`
`TM_TT_TYPE__GRAPH_INTERFACE`
`TM_TT_TYPE__GRAPH_INPUT`
`TM_TT_TYPE__GRAPH_OUTPUT`
`TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT`
`TM_TT_TYPE__GRAPH_EVENT`
`TM_TT_TYPE__GRAPH_SETTINGS`
properties.h
`TM_TT_TYPE__PROPERTIES_SETTINGS`
camera_component.h
`TM_TT_TYPE__CAMERA_COMPONENT`
entity.h
`TM_TT_TYPE__ENTITY_SORT_VALUE`
`TM_TT_TYPE__ENTITY`
owner_component.h
`TM_TT_TYPE__OWNER_COMPONENT`
scene_tree_component.h
`TM_TT_TYPE__SCENE_TREE_COMPONENT`
tag_component.h
`TM_TT_TYPE__TAG_COMPONENT`
`TM_TT_TYPE__TAG`
transform_component.h
`TM_TT_TYPE__TRANSFORM_COMPONENT`
entity_spawner_component.h
`TM_TT_TYPE__ENTITY_SPAWNER_COMPONENT`
`TM_TT_TYPE__ENTITY_SPAWNER_CHANNEL`
graph_component.h
`TM_TT_TYPE__GRAPH_COMPONENT`
`TM_TT_TYPE__ENTITY_GRAPH`
graph_component_node_type.h
`TM_TT_TYPE_HASH__STRING_HASH`
`TM_TT_TYPE__KEYBOARD_ITEM`
`TM_TT_TYPE__MOUSE_BUTTON`
`TM_TT_TYPE_HASH__ENTITY_T`
`TM_TT_TYPE__ENTITY_ASSET_REFERENCE`
`TM_TT_TYPE__LOCAL_ENTITY_ASSET_REFERENCE`
`TM_TT_TYPE__TAG_REFERENCE`
`TM_TT_TYPE__CREATION_GRAPH_ASSET_REFERENCE`
physics_body_component.h
`TM_TT_TYPE__PHYSICS_BODY_COMPONENT`
physics_collision.h
`TM_TT_TYPE__PHYSICS_COLLISION`
physics_joint_component.h
`TM_TT_TYPE__PHYSICS_JOINT_COMPONENT`
`TM_TT_TYPE__PHYSICS_JOINT__FIXED`
`TM_TT_TYPE__PHYSICS_JOINT__DISTANCE`
`TM_TT_TYPE__PHYSICS_JOINT__SPHERICAL`
`TM_TT_TYPE__PHYSICS_JOINT__REVOLUTE`
`TM_TT_TYPE__PHYSICS_JOINT__PRISMATIC`
`TM_TT_TYPE__PHYSICS_JOINT__D6`
physics_material.h
`TM_TT_TYPE__PHYSICS_MATERIAL`
physics_mover_component.h
`TM_TT_TYPE__PHYSICS_MOVER_COMPONENT`
physics_scene_settings.h
`TM_TT_TYPE__PHYSICS_SCENE_SETTINGS`
physics_shape_component.h
`TM_TT_TYPE__PHYSICS_SHAPE_COMPONENT`
`TM_TT_TYPE__PHYSICS_SHAPE__SPHERE`
`TM_TT_TYPE__PHYSICS_SHAPE__CAPSULE`
`TM_TT_TYPE__PHYSICS_SHAPE__BOX`
`TM_TT_TYPE__PHYSICS_SHAPE__CONVEX`
`TM_TT_TYPE__PHYSICS_SHAPE__MESH`
velocity_component.h
`TM_TT_TYPE__VELOCITY_COMPONENT`
physx_scene.h
`TM_TT_TYPE__PHYSX_RIGID_STATIC_COMPONENT`
`TM_TT_TYPE__PHYSX_RIGID_BODY_COMPONENT`
`TM_TT_TYPE__PHYSX_RIGID_BODY_SHAPE_COMPONENT`
`TM_TT_TYPE__PHYSX_JOINT_COMPONENT`
`TM_TT_TYPE__PHYSX_MOVER_COMPONENT`
`TM_TT_TYPE__PHYSX_VISUALIZATION_PARAMETERS`
cubemap_capture_component.h
`TM_TT_TYPE__CUBEMAP_CAPTURE_COMPONENT`
grid.h
`TM_TT_TYPE__GRID_SETTINGS`
render_component.h
`TM_TT_TYPE__RENDER_COMPONENT`
`TM_TT_TYPE_HASH__RENDER_COMPONENT__REQUEST_ACCELERATION_STRUCTURES`
skinning_component.h
`TM_TT_TYPE__SKINNING_COMPONENT`
sculpt_component.h
`TM_TT_TYPE__SCULPT_COMPONENT`
`TM_TT_TYPE__SCULPT_COMPONENT_SELECTION`
shader_system_truth.h
`TM_TT_TYPE__SHADER_SYSTEM_REPOSITORY`
`TM_TT_TYPE__SHADER_SYSTEM_STAGE_DECLARATION`
`TM_TT_TYPE__SHADER_SYSTEM_DECLARATION`
`TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK`
`TM_TT_TYPE__SHADER_SYSTEM_SAMPLER_STATE_BLOCK`
`TM_TT_TYPE__SHADER_SYSTEM_REQUEST`
`TM_TT_TYPE__SHADER_SYSTEM_CONSTANT`
`TM_TT_TYPE__SHADER_SYSTEM_RESOURCE`
`TM_TT_TYPE__SHADER_SYSTEM_PAYLOAD`
`TM_TT_TYPE__SHADER_SYSTEM_EXPORT`
`TM_TT_TYPE__SHADER_SYSTEM_INCLUDE`
`TM_TT_TYPE__SHADER_SYSTEM_VARIATION`
`TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM`
`TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION`
`TM_TT_TYPE__SHADER_SYSTEM_COMPILE_BRANCH`
`TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION`
`TM_TT_TYPE__SHADER_SYSTEM_PASS`
`TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONTEXT`
`TM_TT_TYPE__SHADER_SYSTEM_COMPILED_RESULT`
`TM_TT_TYPE__SHADER_SYSTEM__CONSTANT_NODE__SETTINGS`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF`
`TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE`
simulate_entry.h
`TM_TT_TYPE__SIMULATE_ENTRY`
runner_settings.h
`TM_TT_TYPE__RUNNER_SETTINGS`
statistics_graph.h
`TM_TT_TYPE__STATISTICS_GRAPH`
`TM_TT_TYPE__STATISTICS_GRAPH_SOURCE`
clipboard.h
`TM_TT_TYPE__CLIPBOARD`
docking.h
`TM_TT_TYPE__DOCKING_SETTINGS`
toolbar.h
`TM_TT_TYPE__TOOLBAR_SETTINGS`
ui.h
`TM_TT_TYPE__UI_THEME`
`TM_TT_TYPE__UI_THEME_COLOR`
canvas_component.h
`TM_TT_TYPE__UI_CANVAS_COMPONENT`
ui_element.h
`TM_TT_TYPE__UI_ELEMENT_COMPONENT`
`TM_TT_TYPE__UI_COMPONENT_UNIT_TYPES`
`TM_TT_TYPE__UI_CONTROL_SCROLLBAR`
`TM_TT_TYPE__UI_CONTROL_LABEL`
`TM_TT_TYPE__UI_CONTROL_TEXT`
`TM_TT_TYPE__UI_CONTROL_LINK`
`TM_TT_TYPE__UI_CONTROL_BUTTON`
`TM_TT_TYPE__UI_CONTROL_CHECKBOX`
`TM_TT_TYPE__UI_CONTROL_RADIO`
`TM_TT_TYPE__UI_CONTROL_PROGRESS`
`TM_TT_TYPE__UI_CONTROL_SLIDER`
`TM_TT_TYPE__UI_CONTROL_SPINNER`
`TM_TT_TYPE__UI_CONTROL_DROPDOWN_ITEM`
`TM_TT_TYPE__UI_CONTROL_DROPDOWN`
`TM_TT_TYPE__UI_CONTROL_TEXTEDIT`
vox_asset.h
`TM_TT_TYPE__VOX_MODEL`
`TM_TT_TYPE__VOX_ASSET_NODE`
`TM_TT_TYPE__VOX_ASSET`
vox_component.h
`TM_TT_TYPE__VOX_COMPONENT`

plugin_assets.h


### `TM_TT_TYPE__PLUGIN` ~~~c #define TM_TT_TYPE__PLUGIN "tm_plugin" #define TM_TT_TYPE_HASH__PLUGIN TM_STATIC_HASH("tm_plugin", 0xcec5ee6470fb8609ULL) ~~~ Type for plugin assets. ### `Properties` Properties of `TM_TT_TYPE__PLUGIN`. ~~~c enum TM_TT_PROP__PLUGIN { // If `true`, the plugin will automatically be loaded from the `IMPORT_PATH` whenever a change // on disk is detected. This can be used for a hot-reload workflow for plugins. The reload is // done by the [[update_truth()]] function. TM_TT_PROP__PLUGIN__IMPORT_ON_CHANGE, // bool // Path that the Windows DLL was loaded from. If [[TM_TT_PROP__PLUGIN__IMPORT_ON_CHANGE]] is // `true`, the DLL will be reloaded from this path when changed. TM_TT_PROP__PLUGIN__WINDOWS_DLL_IMPORT_PATH, // string // Buffer that contains the full data of the Windows DLL file. TM_TT_PROP__PLUGIN__WINDOWS_DLL, // buffer // Path that the Linux shared library was loaded form. If // [[TM_TT_PROP__PLUGIN__IMPORT_ON_CHANGE]] is `true`, the shared library will be reloaded from // this path when changed. TM_TT_PROP__PLUGIN__LINUX_DLL_IMPORT_PATH, // string // Buffer that contains the full data of the Linux shared library. TM_TT_PROP__PLUGIN__LINUX_DLL, // buffer // True if this is a helper DLL. Helper DLLs are not The Machinery plugins, but DLLs that are // needed by The Machinery plugins to implement their functionality. TM_TT_PROP__PLUGIN__IS_HELPER, // bool }; ~~~

the_truth.h


### `TM_TT_TYPE__ANYTHING` ~~~c #define TM_TT_TYPE__ANYTHING "tm_anything" #define TM_TT_TYPE_HASH__ANYTHING TM_STATIC_HASH("tm_anything", 0x8944e0b1cefd4756ULL) ~~~ Type hash used for references that can refer to anything.

the_truth_assets.h


### `TM_TT_TYPE__ASSET_ROOT` ~~~c #define TM_TT_TYPE__ASSET_ROOT "tm_asset_root" #define TM_TT_TYPE_HASH__ASSET_ROOT TM_STATIC_HASH("tm_asset_root", 0xac77a365b39e6253ULL) ~~~ Most projects using The Machinery store their data as a collection of individual *Assets* that can be explored using the *Asset Browser* UI. The *Asset Root* serves as the root object for all these assets. The asset root has two subobject sets, one with all the project assets and one with all the project directories. Note that these sets are "flat". I.e., the directory objects do not in turn have sub-assets and sub-directories. Instead, the directory hierarchy is inferred from the `DIRECTORY` property of assets and the `PARENT` property of directories. ### `Properties` ~~~c enum { TM_TT_PROP__ASSET_ROOT__ASSETS, // subobject_set [[TM_TT_TYPE__ASSET]] TM_TT_PROP__ASSET_ROOT__DIRECTORIES // subobject_set [[TM_TT_TYPE__ASSET_DIRECTORY]] }; ~~~ ### `TM_TT_TYPE__ASSET` ~~~c #define TM_TT_TYPE__ASSET "tm_asset" #define TM_TT_TYPE_HASH__ASSET TM_STATIC_HASH("tm_asset", 0xca71127abbb72960ULL) ~~~ Truth type for assets. ### `Properties` ~~~c enum { // Name of the asset. TM_TT_PROP__ASSET__NAME, // string // Directory where the asset resides. For top-level assets, this is `NULL`. TM_TT_PROP__ASSET__DIRECTORY, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] // Labels applied to this asset. TM_TT_PROP__ASSET__UUID_LABELS, // subobject_set(UINT64_T) storing the UUID of the associated label. // Subobject with the actual data of the asset. The type of this subobject depends on the type // of data storedin this asset. TM_TT_PROP__ASSET__OBJECT, // subobject(*) }; ~~~ ### `TM_TT_TYPE__ASSET_DIRECTORY` ~~~c #define TM_TT_TYPE__ASSET_DIRECTORY "tm_asset_directory" #define TM_TT_TYPE_HASH__ASSET_DIRECTORY TM_STATIC_HASH("tm_asset_directory", 0x9723e0133dc6620aULL) ~~~ Truth type for directories in the asset tree. ### `Properties` ~~~c enum { // Name of directory. TM_TT_PROP__ASSET_DIRECTORY__NAME, // string // Parent directory. This is `NULL` for a top-level directory. TM_TT_PROP__ASSET_DIRECTORY__PARENT, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] }; ~~~ ### `TM_TT_TYPE__ASSET_LABEL` ~~~c #define TM_TT_TYPE__ASSET_LABEL "tm_asset_label" #define TM_TT_TYPE_HASH__ASSET_LABEL TM_STATIC_HASH("tm_asset_label", 0x5ef82874980dc347ULL) ~~~ Truth type for user-created *Asset Labels*. Asset Labels can be used to tag assets using the `TM_TT_PROP__ASSET__UUID_LABELS` property. `TM_TT_PROP__ASSET__UUID_LABELS` stores unique `uint64_t` identifiers, which can either refer to a label defined in the code (exposed under the interface name `TM_ASSET_LABEL_INTERFACE_NAME`) or a user-created asset of type `TM_TT_TYPE__ASSET_LABEL`. ### `Properties` ~~~c enum { TM_TT_PROP__ASSET_LABEL__UUID = 0, // uint64_t }; ~~~

the_truth_types.h


### `TM_TT_TYPE__BOOL` ~~~c #define TM_TT_TYPE__BOOL "tm_bool" #define TM_TT_TYPE_HASH__BOOL TM_STATIC_HASH("tm_bool", 0xaed3caa5c516d191ULL) ~~~ ### `TM_TT_TYPE__UINT32_T` ~~~c #define TM_TT_TYPE__UINT32_T "tm_uint32_t" #define TM_TT_TYPE_HASH__UINT32_T TM_STATIC_HASH("tm_uint32_t", 0xeaf325d06c5cb568ULL) ~~~ ### `TM_TT_TYPE__UINT64_T` ~~~c #define TM_TT_TYPE__UINT64_T "tm_uint64_t" #define TM_TT_TYPE_HASH__UINT64_T TM_STATIC_HASH("tm_uint64_t", 0xb11aa2e510ce635eULL) ~~~ ### `TM_TT_TYPE__FLOAT` ~~~c #define TM_TT_TYPE__FLOAT "tm_float" #define TM_TT_TYPE_HASH__FLOAT TM_STATIC_HASH("tm_float", 0x6d0a4e744c45523bULL) ~~~ ### `TM_TT_TYPE__DOUBLE` ~~~c #define TM_TT_TYPE__DOUBLE "tm_double" #define TM_TT_TYPE_HASH__DOUBLE TM_STATIC_HASH("tm_double", 0xef2dd9a55accbe4ULL) ~~~ ### `TM_TT_TYPE__STRING` ~~~c #define TM_TT_TYPE__STRING "tm_string" #define TM_TT_TYPE_HASH__STRING TM_STATIC_HASH("tm_string", 0xa84ae1fca1a3e0cbULL) ~~~ ### `TM_TT_TYPE__VEC2` ~~~c #define TM_TT_TYPE__VEC2 "tm_vec2_t" #define TM_TT_TYPE_HASH__VEC2 TM_STATIC_HASH("tm_vec2_t", 0x5ea1bb7b6537de46ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VEC2__X, // float TM_TT_PROP__VEC2__Y, // float }; ~~~ ### `TM_TT_TYPE__VEC3` ~~~c #define TM_TT_TYPE__VEC3 "tm_vec3_t" #define TM_TT_TYPE_HASH__VEC3 TM_STATIC_HASH("tm_vec3_t", 0x8d1487af36b1e3e1ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VEC3__X, // float TM_TT_PROP__VEC3__Y, // float TM_TT_PROP__VEC3__Z, // float }; ~~~ ### `TM_TT_TYPE__VEC4` ~~~c #define TM_TT_TYPE__VEC4 "tm_vec4_t" #define TM_TT_TYPE_HASH__VEC4 TM_STATIC_HASH("tm_vec4_t", 0xdf81286b1233bab6ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VEC4__X, // float TM_TT_PROP__VEC4__Y, // float TM_TT_PROP__VEC4__Z, // float TM_TT_PROP__VEC4__W, // float }; ~~~ ### `TM_TT_TYPE__POSITION` ~~~c #define TM_TT_TYPE__POSITION "tm_position" #define TM_TT_TYPE_HASH__POSITION TM_STATIC_HASH("tm_position", 0x7a29b8f6b1ca42ecULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__POSITION__X, // float TM_TT_PROP__POSITION__Y, // float TM_TT_PROP__POSITION__Z, // float }; ~~~ ### `TM_TT_TYPE__ROTATION` ~~~c #define TM_TT_TYPE__ROTATION "tm_rotation" #define TM_TT_TYPE_HASH__ROTATION TM_STATIC_HASH("tm_rotation", 0xa4d2f46b41c9d717ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__ROTATION__X, // float TM_TT_PROP__ROTATION__Y, // float TM_TT_PROP__ROTATION__Z, // float TM_TT_PROP__ROTATION__W, // float }; ~~~ ### `TM_TT_TYPE__SCALE` ~~~c #define TM_TT_TYPE__SCALE "tm_scale" #define TM_TT_TYPE_HASH__SCALE TM_STATIC_HASH("tm_scale", 0x20ef513a9606cc30ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SCALE__X, // float TM_TT_PROP__SCALE__Y, // float TM_TT_PROP__SCALE__Z, // float }; ~~~ ### `TM_TT_TYPE__COLOR_RGB` ~~~c #define TM_TT_TYPE__COLOR_RGB "tm_color_rgb" #define TM_TT_TYPE_HASH__COLOR_RGB TM_STATIC_HASH("tm_color_rgb", 0xd0c8704d11c0c0f1ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COLOR_RGB__R, // float TM_TT_PROP__COLOR_RGB__G, // float TM_TT_PROP__COLOR_RGB__B, // float }; ~~~ ### `TM_TT_TYPE__COLOR_RGBA` ~~~c #define TM_TT_TYPE__COLOR_RGBA "tm_color_rgba" #define TM_TT_TYPE_HASH__COLOR_RGBA TM_STATIC_HASH("tm_color_rgba", 0x11e53fa0440a07e4ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COLOR_RGBA__R, // float TM_TT_PROP__COLOR_RGBA__G, // float TM_TT_PROP__COLOR_RGBA__B, // float TM_TT_PROP__COLOR_RGBA__A, // float }; ~~~ ### `TM_TT_TYPE__RECT` ~~~c #define TM_TT_TYPE__RECT "tm_rect_t" #define TM_TT_TYPE_HASH__RECT TM_STATIC_HASH("tm_rect_t", 0xa6e9c5f4ec093df1ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__RECT__X, // float TM_TT_PROP__RECT__Y, // float TM_TT_PROP__RECT__W, // float TM_TT_PROP__RECT__H, // float }; ~~~

visibility_flags.h


### `TM_TT_TYPE__VISIBILITY_FLAG` ~~~c #define TM_TT_TYPE__VISIBILITY_FLAG "tm_visibility_flag" #define TM_TT_TYPE_HASH__VISIBILITY_FLAG TM_STATIC_HASH("tm_visibility_flag", 0x4f4a05b229f12ac9ULL) ~~~ Truth type for visibility flags. ### `Properties` ~~~c enum { TM_TT_PROP__VISIBILITY_FLAG__UUID, // uint32_t }; ~~~

animation_clip.h


### `TM_TT_TYPE__ANIMATION_CLIP` ~~~c #define TM_TT_TYPE__ANIMATION_CLIP "tm_animation_clip" #define TM_TT_TYPE_HASH__ANIMATION_CLIP TM_STATIC_HASH("tm_animation_clip", 0xb6e5de67c7549505ULL) ~~~ Represents an *Animation Clip*. An *Animation Clip* is a certain range of animation data from a raw animation file. !!! note: TODO * Beats (for beat blending) ### `Properties` Animation clip properties. !!! TODO: API-REVIEW BEGIN and END should be in frames instead of in seconds. ~~~c enum { // Name of the clip. TM_TT_PROP__ANIMATION_CLIP__NAME, // string // Source animation for the clip. TM_TT_PROP__ANIMATION_CLIP__ANIMATION, // reference [[TM_TT_TYPE__DCC_ASSET_ANIMATION]] or [[TM_TT_TYPE__COMPRESSED_ANIMATION]] // If *true* the animation should loop. TM_TT_PROP__ANIMATION_CLIP__LOOP, // bool // Playback speed. This can be negative for reverse playback. TM_TT_PROP__ANIMATION_CLIP__SPEED, // float // If *true*, the `BEGIN` and `END` properties specify a custom range for the clip, otherwise, // the range is the full length of the clip. TM_TT_PROP__ANIMATION_CLIP__CUSTOM_RANGE, // bool // Range of animation to use for the clip if `CUSTOM_RANGE` is true. The range is specified in // frame numbers. TM_TT_PROP__ANIMATION_CLIP__BEGIN, // double TM_TT_PROP__ANIMATION_CLIP__END, // double // Name of bone that controls the locomotion node. TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION_NODE_NAME, // string // Type of locomotion to extract from the locomotion node. TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION, // uint32_t(tm_tt_value__animation_clip__locomotion) // Triggers in the animation clip. TM_TT_PROP__ANIMATION_CLIP__TRIGGERS, // subobject_set [[TM_TT_TYPE__ANIMATION_CLIP_TRIGGER]] }; ~~~ ### `TM_TT_TYPE__ANIMATION_CLIP_TRIGGER` ~~~c #define TM_TT_TYPE__ANIMATION_CLIP_TRIGGER "tm_animation_clip_trigger" #define TM_TT_TYPE_HASH__ANIMATION_CLIP_TRIGGER TM_STATIC_HASH("tm_animation_clip_trigger", 0x796b8cc8cc5baac2ULL) ~~~ Represents a *Trigger* in an animation clip. A *Trigger* is an event that occurs at a certain time in the clip. A typical use case is to use it to trigger things that should happen at certain times in the animation, such as footstep sounds, etc. ### `Properties` ~~~c enum { // Name of the trigger. TM_TT_PROP__ANIMATION_CLIP_TRIGGER__NAME, // string // Frame in the animation when this trigger occurs. TM_TT_PROP__ANIMATION_CLIP_TRIGGER__FRAME, // double // Value associated with this trigger. TM_TT_PROP__ANIMATION_CLIP_TRIGGER__VALUE, // float }; ~~~

animation_compression.h


### `TM_TT_TYPE__COMPRESSED_ANIMATION` ~~~c #define TM_TT_TYPE__COMPRESSED_ANIMATION "tm_compressed_animation" #define TM_TT_TYPE_HASH__COMPRESSED_ANIMATION TM_STATIC_HASH("tm_compressed_animation", 0x6c28b8455e74146dULL) ~~~ Truth type for compressed animation data. ### `Properties` Properties of `TM_TT_TYPE__COMPRESSED_ANIMATION`. ~~~c enum { // String that identifies the type of compression used (determines the format of the buffer // data). TM_TT_PROP__COMPRESSED_ANIMATION__FORMAT, // string // Version of the compressed data. This can be used in case the compression format changes. TM_TT_PROP__COMPRESSED_ANIMATION__VERSION, // uint32_t // Compressed binary animation data. This will typically consist of a header, followed by a // stream of data. The format of the data is determined by // [[TM_TT_PROP__COMPRESSED_ANIMATION__FORMAT]] and // [[TM_TT_PROP__COMPRESSED_ANIMATION__VERSION]]. TM_TT_PROP__COMPRESSED_ANIMATION__DATA, // buffer // Source DCC animation that this compressed animation was generated from. TM_TT_PROP__COMPRESSED_ANIMATION__DCC_ANIMATION, // reference [[TM_TT_TYPE__DCC_ASSET_ANIMATION]] }; ~~~ ### `TM_TT_TYPE__ANIMATION_COMPRESSION_SETTINGS` ~~~c #define TM_TT_TYPE__ANIMATION_COMPRESSION_SETTINGS "tm_animation_compression_settings" #define TM_TT_TYPE_HASH__ANIMATION_COMPRESSION_SETTINGS TM_STATIC_HASH("tm_animation_compression_settings", 0x3383c4a1cd65fe2bULL) ~~~ Truth type for animation compression settings. ### `Properties` Properties of `TM_TT_TYPE__ANIMATION_COMPRESSION_SETTINGS`. !!! TODO: Possible extensions * Allow user to specify skin size per-bone. * Allow for settings that are specific to a particular animation format. ~~~c enum { // Maximum allowed error in animation units. Default is 0.001, 1 mm. TM_TT_PROP__ANIMATION_COMPRESSION_SETTINGS__MAX_ERROR, // float // Deafult skin size in animation units. Default is 0.1, 10 cm. TM_TT_PROP__ANIMATION_COMPRESSION_SETTINGS__SKIN_SIZE, // float }; ~~~

animation_simple_player_component.h


### `TM_TT_TYPE__ANIMATION_SIMPLE_PLAYER_COMPONENT` ~~~c #define TM_TT_TYPE__ANIMATION_SIMPLE_PLAYER_COMPONENT "tm_animation_simple_player_component" #define TM_TT_TYPE_HASH__ANIMATION_SIMPLE_PLAYER_COMPONENT TM_STATIC_HASH("tm_animation_simple_player_component", 0x33c5f6e6c255a6b5ULL) ~~~ Truth type for the Simple Player Component. ### `Properties` The Truth representation of the component has a single property that holds the played animation. ~~~c enum { // reference [[TM_TT_TYPE__DCC_ASSET_ANIMATION]] or reference [[TM_TT_TYPE__ANIMATION_CLIP]] TM_TT_PROP__ANIMATION_SIMPLE_PLAYER__ANIMATION, }; ~~~

animation_state_machine.h


### `TM_TT_TYPE__ASM_REGULAR_STATE` ~~~c #define TM_TT_TYPE__ASM_REGULAR_STATE "tm_asm_regular_state" #define TM_TT_TYPE_HASH__ASM_REGULAR_STATE TM_STATIC_HASH("tm_asm_regular_state", 0x59fee4d09be9ff70ULL) ~~~ State for Regular animations. ### `Properties` Properties for the Regular state. ~~~c enum { // Animation that should be played in this state. TM_TT_PROP__ASM_REGULAR_STATE__ANIMATION = TM_TT_PROP__ASM_STATE__FIRST_CUSTOM, // reference [[TM_TT_TYPE__ANIMATION_CLIP]] }; ~~~ ### `TM_TT_TYPE__ASM_RANDOM_STATE` ~~~c #define TM_TT_TYPE__ASM_RANDOM_STATE "tm_asm_random_state" #define TM_TT_TYPE_HASH__ASM_RANDOM_STATE TM_STATIC_HASH("tm_asm_random_state", 0x3449e1af19be66fcULL) ~~~ State that plays a random animation clip out of a weighted selection. Each time the animation loops a new random clip is picked. ### `Properties` Properties for the Random state. ~~~c enum { // Strategy to use for randomizing animations. // uint32_t(enum TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__*) TM_TT_PROP__ASM_RANDOM_STATE__STRATEGY = TM_TT_PROP__ASM_STATE__FIRST_CUSTOM, // When animation loops, crossfade it with itself over this amount of time. Default is zero // which means no crossfade -- the animation will hard transition to the next random clip. This // only works if the start and end states of the animation are identical. TM_TT_PROP__ASM_RANDOM_STATE__LOOP_CROSSFADE_TIME, // float // Animation that should be played in this state. TM_TT_PROP__ASM_RANDOM_STATE__ANIMATIONS, // subobject [[TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION]] }; ~~~ ### `TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION` ~~~c #define TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION "tm_asm_random_state_animation" #define TM_TT_TYPE_HASH__ASM_RANDOM_STATE_ANIMATION TM_STATIC_HASH("tm_asm_random_state_animation", 0x305e388654972dcaULL) ~~~ Type for an individual animation in a Random state. ### `Properties` Properties for an invididual animation in a Random state. ~~~c enum { // Animation to play. TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__ANIMATION, // reference [[TM_TT_TYPE__ANIMATION_CLIP]] // Weight for the random pick. When we make a random pick, each animation will be picked with // likelihood corresponding to its weight value. TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__WEIGHT, // float }; ~~~ ### `TM_TT_TYPE__ASM_BLEND_STATE` ~~~c #define TM_TT_TYPE__ASM_BLEND_STATE "tm_asm_blend_state" #define TM_TT_TYPE_HASH__ASM_BLEND_STATE TM_STATIC_HASH("tm_asm_blend_state", 0x92fcc955018db6e3ULL) ~~~ State that blends together a number of animations based on a 1D or 2D blend map. ### `Properties` Properties for the Blend state. ~~~c enum { // Specifies one- or two-dimensional blend. TM_TT_PROP__ASM_BLEND_STATE__DIMENSIONS = TM_TT_PROP__ASM_STATE__FIRST_CUSTOM, // uint32_t(enum tm_tt_value__asm_blend_state__dimensions) // Variables that control the blend. [[TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_Y]] is only used // if the blend is a 2D blend. TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_X, // reference [[TM_TT_TYPE__ASM_VARIABLE]] TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_Y, // reference [[TM_TT_TYPE__ASM_VARIABLE]] // Animations to blend between. TM_TT_PROP__ASM_BLEND_STATE__ANIMATIONS, // subobject [[TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION]] }; ~~~ ### `TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION` ~~~c #define TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION "tm_asm_blend_state_animation" #define TM_TT_TYPE_HASH__ASM_BLEND_STATE_ANIMATION TM_STATIC_HASH("tm_asm_blend_state_animation", 0x2f252b77cdb79071ULL) ~~~ Represents an animation in a Blend State. ### `Properties` Properties for an animation in a Blend state. ~~~c enum { // Animation to play. TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__ANIMATION, // reference [[TM_TT_TYPE__ANIMATION_CLIP]] // Position of the animation in the blend map. [[TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__Y]] is // only used by 2D blends. TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__X, // float TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__Y, // float }; ~~~ ### `TM_TT_TYPE__ASM_EMPTY_STATE` ~~~c #define TM_TT_TYPE__ASM_EMPTY_STATE "tm_asm_empty_state" #define TM_TT_TYPE_HASH__ASM_EMPTY_STATE TM_STATIC_HASH("tm_asm_empty_state", 0x7f41f0f438535b36ULL) ~~~ A state that plays no animations. ### `TM_TT_TYPE__ASM_REGULAR_TRANSITION` ~~~c #define TM_TT_TYPE__ASM_REGULAR_TRANSITION "tm_asm_regular_transition" #define TM_TT_TYPE_HASH__ASM_REGULAR_TRANSITION TM_STATIC_HASH("tm_asm_regular_transition", 0xc09e9acbcae250b4ULL) ~~~ Type for Regular transitions. ### `Properties` Properties for Regular transitions. ~~~c enum { // Indicates when the transition happens. TM_TT_PROP__ASM_REGULAR_TRANSITION__ON = TM_TT_PROP__ASM_TRANSITION__FIRST_CUSTOM, // uint32_t(tm_tt_value__asm_regular_transition__on) // For [[TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__EVENT]], the event that triggers the // transition. TM_TT_PROP__ASM_REGULAR_TRANSITION__EVENT, // reference [[TM_TT_TYPE__ASM_EVENT]] // For [[TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__CONDITION]], an [[expression_language.h]] // expression that is evaluated to determine if the transition should trigger or not. TM_TT_PROP__ASM_REGULAR_TRANSITION__CONDITION, // string // Time to crossfade to the destination state if the transition is taken. Note that logically, // the transition happens immediately, the crossfade only applies to the animation visuals. TM_TT_PROP__ASM_REGULAR_TRANSITION__CROSSFADE_TIME, // float }; ~~~ ### `TM_TT_TYPE__ASM_LAYER` ~~~c #define TM_TT_TYPE__ASM_LAYER "tm_asm_layer " #define TM_TT_TYPE_HASH__ASM_LAYER TM_STATIC_HASH("tm_asm_layer ", 0x5d696c56f7fa796dULL) ~~~ Type for a Layer in the Animation State Machine. The ASM can have multiple layers with higher layers overriding lower layers based on bone opacity. Each layer has its own state transition graph. !!! NOTE: API-REVIEW There is a superfluous space in the type name of this and the other types below. We should consider fixing it. Note that fixing it requires migrating Truth data, since the type name is used in serialization. ### `Properties` Properties for Layers. ~~~c enum { // Name of the layer. TM_TT_PROP__ASM_LAYER__NAME, // string // Sort order in the list of layers. TM_TT_PROP__ASM_LAYER__SORT_ORDER, // double // Default state. When a State Machine is first created, the layer will be in this state. TM_TT_PROP__ASM_LAYER__DEFAULT_STATE, // reference(ASM_*_STATE) // List of states for this layer. TM_TT_PROP__ASM_LAYER__STATES, // subobject_set(ASM_*_STATE) // List of transitions for this layer. TM_TT_PROP__ASM_LAYER__TRANSITIONS, // subobject_set(ASM_*_TRANSITION) }; ~~~ ### `TM_TT_TYPE__ASM_EVENT` ~~~c #define TM_TT_TYPE__ASM_EVENT "tm_asm_event " #define TM_TT_TYPE_HASH__ASM_EVENT TM_STATIC_HASH("tm_asm_event ", 0x52847af34d7153f0ULL) ~~~ Type for an Event in the Animation State Machine. Events are objects that can be externally triggered to cause transitions in the state machine. ### `Properties` Properties for Events. ~~~c enum { // Name of the event. TM_TT_PROP__ASM_EVENT__NAME, // string // Sort order in the list of events. TM_TT_PROP__ASM_EVENT__SORT_ORDER, // double }; ~~~ ### `TM_TT_TYPE__ASM_VARIABLE` ~~~c #define TM_TT_TYPE__ASM_VARIABLE "tm_asm_variable " #define TM_TT_TYPE_HASH__ASM_VARIABLE TM_STATIC_HASH("tm_asm_variable ", 0xda1955a46ea322beULL) ~~~ Type for a Variable in the Animation State Machine. Variables can be assigned values externally and these values control how the state machine behaves. ### `Properties` Properties for Variables. ~~~c enum { // Name of the variable. TM_TT_PROP__ASM_VARIABLE__NAME, // string // Sort order in the list of variables. TM_TT_PROP__ASM_VARIABLE__SORT_ORDER, // double // Default value of the variable when the state machine is first created. TM_TT_PROP__ASM_VARIABLE__DEFAULT, // float // Minimum allowed value for the variable. TM_TT_PROP__ASM_VARIABLE__MIN, // float // Maximum allowed value for the variable. TM_TT_PROP__ASM_VARIABLE__MAX, // float // If `true`, this variable's value is computed from [[TM_TT_PROP__ASM_VARIABLE__EXPRESSION]]. TM_TT_PROP__ASM_VARAIBLE__COMPUTED, // bool // [[expression_language.h]] expression for dynamically computing the variable's value if // [[TM_TT_PROP__ASM_VARAIBLE__COMPUTED]] is set. TM_TT_PROP__ASM_VARIABLE__EXPRESSION, // string }; ~~~ ### `TM_TT_TYPE__ASM_BLEND_SET_WEIGHT` ~~~c #define TM_TT_TYPE__ASM_BLEND_SET_WEIGHT "tm_asm_blend_set_weight" #define TM_TT_TYPE_HASH__ASM_BLEND_SET_WEIGHT TM_STATIC_HASH("tm_asm_blend_set_weight", 0x64ca3695fbbbc1f7ULL) ~~~ Type that holds the weight of a bone in a `TM_TT_TYPE__ASM_BLEND_SET`. ### `Properties` Properties for bone weights. ~~~c enum { // Name of the bone that we control the weight of. TM_TT_PROP__ASM_BLEND_SET_WEIGHT__NAME, // string // Weight of the bone. TM_TT_PROP__ASM_BLEND_SET_WEIGHT__WEIGHT, // float }; ~~~ ### `TM_TT_TYPE__ASM_BLEND_SET` ~~~c #define TM_TT_TYPE__ASM_BLEND_SET "tm_asm_blend_set" #define TM_TT_TYPE_HASH__ASM_BLEND_SET TM_STATIC_HASH("tm_asm_blend_set", 0x92f9e2914f038512ULL) ~~~ Type for Blend Sets. A blend set controls weight (or opacity) for a number of bones in the character. Blend Sets can be assigned to animations to have them play on only a subset of the character's bones (for example, only the upper body). ### `Properties` Properties for Blend Sets. ~~~c enum { // Name of the set. TM_TT_PROP__ASM_BLEND_SET__NAME, // string // Sort order in the list of sets. TM_TT_PROP__ASM_BLEND_SET__SORT_ORDER, // double // Default weight for any bone not mentioned in [[TM_TT_PROP__ASM_BLEND_SET__WEIGHTS]]. // Typically either 1 or 0. TM_TT_PROP__ASM_BLEND_SET__DEFAULT_WEIGHT, // float // List of bones that have weights explicitly set in the Blend Set. TM_TT_PROP__ASM_BLEND_SET__WEIGHTS, // subobject_set [[TM_TT_TYPE__ASM_BLEND_SET_WEIGHT]] }; ~~~ ### `TM_TT_TYPE__ASM_MOTION_MIXER` ~~~c #define TM_TT_TYPE__ASM_MOTION_MIXER "tm_asm_motion_mixer" #define TM_TT_TYPE_HASH__ASM_MOTION_MIXER TM_STATIC_HASH("tm_asm_motion_mixer", 0x2d1bc22a3c7cfcebULL) ~~~ Type for the Motion Mixer. The Motion Mixer is a UI object that lets you preview an Animation State Machine by triggering events, changing variables, etc. ### `Properties` ~~~c enum { // Sliders in the Motion Mixer UI. TM_TT_PROP__ASM_MOTION_MIXER__SLIDERS, // subobject_set [[TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER]] // Buttons in the Motion Mixer UI. TM_TT_PROP__ASM_MOTION_MIXER__BUTTONS, // subobject_set [[TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON]] // Keys to set Variables in the Motion Mixer UI. TM_TT_PROP__ASM_MOTION_MIXER__VARIABLE_KEYS, // subobject_set [[TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY]] // Keys to trigger Events in the Motion Mixer UI. TM_TT_PROP__ASM_MOTION_MIXER__EVENT_KEYS, // subobject_set [[TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY]], }; ~~~ ### `TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER` ~~~c #define TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER "tm_asm_motion_mixer_slider" #define TM_TT_TYPE_HASH__ASM_MOTION_MIXER_SLIDER TM_STATIC_HASH("tm_asm_motion_mixer_slider", 0xc8158058953e8257ULL) ~~~ Type for Motion Mixer sliders. ### `Properties` Properties for Motion Mixer sliders. ~~~c enum { // Variable controlled by this slider. TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__VARIABLE, // reference [[TM_TT_TYPE__ASM_VARIABLE]] // Sort order in the list of sliders. TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__SORT_ORDER, // double }; ~~~ ### `TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON` ~~~c #define TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON "tm_asm_motion_mixer_button" #define TM_TT_TYPE_HASH__ASM_MOTION_MIXER_BUTTON TM_STATIC_HASH("tm_asm_motion_mixer_button", 0x1d174065e7d0db8aULL) ~~~ Type for Motion Mixer buttons. ### `Properties` Properties for Motion Mixer buttons. ~~~c enum { // Event triggered by this button. TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__EVENT, // reference [[TM_TT_TYPE__ASM_EVENT]] // Sort order in the list of buttons. TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__SORT_ORDER, // double }; ~~~ ### `TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY` ~~~c #define TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY "tm_asm_motion_mixer_variable_key" #define TM_TT_TYPE_HASH__ASM_MOTION_MIXER_VARIABLE_KEY TM_STATIC_HASH("tm_asm_motion_mixer_variable_key", 0x88c1e2333ac733c3ULL) ~~~ Type for Motion Mixer variable keys. ### `Properties` Properties for Motion Mixer variable keys. ~~~c enum { // Sort order in the list of variable keys. TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__SORT_ORDER, // double // Input key that will affect this variable of type [[enum tm_input_keyboard_item]]. TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__KEY, // uint32_t // Variable that is effected by the key. TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__VARIABLE, // reference [[TM_TT_TYPE__ASM_VARIABLE]] // Time over which the variable value will lerp towards the key value (1 for pressed, 0 for // lifted). TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__LERP_TIME, // float }; ~~~ ### `TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY` ~~~c #define TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY "tm_asm_motion_mixer_event_key" #define TM_TT_TYPE_HASH__ASM_MOTION_MIXER_EVENT_KEY TM_STATIC_HASH("tm_asm_motion_mixer_event_key", 0x8d34c9aa682dbc87ULL) ~~~ Type for motion mixer event keys. ### `Properties` Properties for motion mixer event keys. ~~~c enum { // Sort order in the list of event keys. TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__SORT_ORDER, // double // Input key that will trigger the event of type [[enum tm_input_keyboard_item]]. TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__KEY, // uint32_t // Event to trigger when the key is pressed. TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__EVENT, // reference [[TM_TT_TYPE__ASM_EVENT]] }; ~~~ ### `TM_TT_TYPE__ANIMATION_STATE_MACHINE` ~~~c #define TM_TT_TYPE__ANIMATION_STATE_MACHINE "tm_animation_state_machine" #define TM_TT_TYPE_HASH__ANIMATION_STATE_MACHINE TM_STATIC_HASH("tm_animation_state_machine", 0x49e17e57f4e4ea47ULL) ~~~ Type for the Animation State Machine. ### `Properties` Properties of the Animation State Machine. ~~~c enum { // Name. TM_TT_PROP__ANIMATION_STATE_MACHINE__NAME, // string // Entity that will be used to preview the ASM. TM_TT_PROP__ANIMATION_STATE_MACHINE__PREVIEW_ENTITY, // reference [[TM_TT_TYPE__ENTITY]] // Layers. TM_TT_PROP__ANIMATION_STATE_MACHINE__LAYERS, // subobject_set [[TM_TT_TYPE__ASM_LAYER]] // Events. TM_TT_PROP__ANIMATION_STATE_MACHINE__EVENTS, // subobject_set [[TM_TT_TYPE__ASM_EVENT]] // Variables. TM_TT_PROP__ANIMATION_STATE_MACHINE__VARIABLES, // subobject_set [[TM_TT_TYPE__ASM_VARIABLE]] // Blend sets. TM_TT_PROP__ANIMATION_STATE_MACHINE__BLEND_SETS, // subobject_set [[TM_TT_TYPE__ASM_BLEND_SET]] // Motion Mixer. TM_TT_PROP__ANIMATION_STATE_MACHINE__MOTION_MIXER, // subobject [[TM_TT_TYPE__ASM_MOTION_MIXER]] }; ~~~

animation_state_machine_component.h


### `TM_TT_TYPE__ANIMATION_STATE_MACHINE_COMPONENT` ~~~c #define TM_TT_TYPE__ANIMATION_STATE_MACHINE_COMPONENT "tm_animation_state_machine_component" #define TM_TT_TYPE_HASH__ANIMATION_STATE_MACHINE_COMPONENT TM_STATIC_HASH("tm_animation_state_machine_component", 0x2e32bdc96e3d85daULL) ~~~ Type of the Animation State Machine component. ### `Properties` Properties of the Animation State Machine Component. ~~~c enum { // [[TM_TT_TYPE__ANIMATION_STATE_MACHINE]] to use. TM_TT_PROP__ANIMATION_STATE_MACHINE_COMPONENT__STATE_MACHINE, // reference [[TM_TT_TYPE__ANIMATION_STATE_MACHINE]] }; ~~~

atmospheric_sky_component.h


### `TM_TT_TYPE__ATMOSPHERIC_SKY_COMPONENT` ~~~c #define TM_TT_TYPE__ATMOSPHERIC_SKY_COMPONENT "tm_atmospheric_sky_component" #define TM_TT_TYPE_HASH__ATMOSPHERIC_SKY_COMPONENT TM_STATIC_HASH("tm_atmospheric_sky_component", 0xfb5b98241d6f7939ULL) ~~~ ### `Properties` ~~~c enum { // Entity reference for the sun. Sun will have its center projected // from the positive Z axis of the sun entity transform. TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__SUN_ENTITY, // reference [[TM_TT_TYPE__ENTITY]] // Angular diameter (in arcseconds) of the sun viewed from the surface of the planet. // Defaults to 1920" (or 0.53 degrees). TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__SUN_ANGULAR_DIAMETER, // float // Celestian position of planet. Defaults to [0,0,0]. TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__CELESTIAL_BODY_CENTER, // SUBOBJECT(TM_TT_TYPE__VEC3) // Radius of planet in km. TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__PLANET_RADIUS, // float // Altitude of Karman Line, i.e the atmosphere thickness from planet surface to space, in km. TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__KARMAN_LINE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__RAYLEIGH_DENSITY_HEIGHT_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__RAYLEIGH_SCATTERING, // subobject [[TM_TT_TYPE__COLOR_RGB]] TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__RAYLEIGH_SCATTERING_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_DENSITY_HEIGHT_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_SCATTERING, // subobject [[TM_TT_TYPE__COLOR_RGB]] TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_SCATTERING_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_ABSORPTION, // subobject [[TM_TT_TYPE__COLOR_RGB]] TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_ABSORPTION_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__MIE_PHASE_FUNCTION_G, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__ABSORPTION_HEIGHT_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__OZONE_ABSORPTION, // subobject [[TM_TT_TYPE__COLOR_RGB]] TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__OZONE_ABSORPTION_SCALE, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__OZONE_ENABLED, // bool TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__GROUND_ALBEDO, // SUBOBJECT(TM_TT_TYPE__VEC3) TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__FOG_DENSITY, // float TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__AP_SCALE, // float // If true and the owning entity also has a cubemap capture component it will automatically refresh // if any of the skydome properties changes. TM_TT_PROP__ATMOSPHERIC_SKY_COMPONENT__AUTOMATIC_CUBEMAP_CAPTURE, // bool }; ~~~

sound_source_component.h


### `TM_TT_TYPE__SOUND_SOURCE_COMPONENT` ~~~c #define TM_TT_TYPE__SOUND_SOURCE_COMPONENT "tm_sound_source_component" #define TM_TT_TYPE_HASH__SOUND_SOURCE_COMPONENT TM_STATIC_HASH("tm_sound_source_component", 0x313fd8780633eb6bULL) ~~~ Truth type representing a Sound Source Component. ### `Properties` Properties of Sound Source Components. ~~~c enum { // Sound being played. TM_TT_PROP__SOUND_SOURCE_COMPONENT__SOUND, // reference [[TM_TT_TYPE__WAV]] // Corresponds to [[tm_mixer_settings_t]] parameters. TM_TT_PROP__SOUND_SOURCE_COMPONENT__VOLUME, // float (dB) TM_TT_PROP__SOUND_SOURCE_COMPONENT__PITCH, // float (octaves) // Corresponds to [[tm_mixer_positioning_3d_t]] parameters. TM_TT_PROP__SOUND_SOURCE_COMPONENT__MIN_DISTANCE, // float (meters) TM_TT_PROP__SOUND_SOURCE_COMPONENT__MAX_DISTANCE, // float (meters) TM_TT_PROP__SOUND_SOURCE_COMPONENT__SPREAD, // float (meters) }; ~~~

wav.h


### `TM_TT_TYPE__WAV` ~~~c #define TM_TT_TYPE__WAV "tm_wav" #define TM_TT_TYPE_HASH__WAV TM_STATIC_HASH("tm_wav", 0x63ce9e2592304d8fULL) ~~~ Truth type for WAV objects. ### `Properties` Properties for WAV objects. ~~~c enum { TM_TT_PROP__WAV__FREQUENCY, // uint32_t TM_TT_PROP__WAV__NUM_CHANNELS, // uint32_t TM_TT_PROP__WAV__FORMAT, // uint32_t [[enum tm_tt_value__wav__format]] TM_TT_PROP__WAV__CHANNEL_MASK, // uint32_t [[enum tm_speakers]] TM_TT_PROP__WAV__DATA, // buffer }; ~~~

color_spaces.h


### `TM_TT_TYPE__COLOR_SPACE_SETTINGS` ~~~c #define TM_TT_TYPE__COLOR_SPACE_SETTINGS "tm_color_space_settings" #define TM_TT_TYPE_HASH__COLOR_SPACE_SETTINGS TM_STATIC_HASH("tm_color_space_settings", 0x511b2e38b4d186a8ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COLOR_SPACE_SETTINGS__COLOR_PRIMARY, // tm_color_space_color_primary TM_TT_PROP__COLOR_SPACE_SETTINGS__TRANSFER_FUNCTION, // tm_color_space_transfer_function TM_TT_PROP__COLOR_SPACE_SETTINGS__COLOR_MODEL // tm_color_space_color_model }; ~~~

creation_graph.h


### `TM_TT_TYPE__CREATION_GRAPH` ~~~c #define TM_TT_TYPE__CREATION_GRAPH "tm_creation_graph" #define TM_TT_TYPE_HASH__CREATION_GRAPH TM_STATIC_HASH("tm_creation_graph", 0xc5f12f23d4534d76ULL) ~~~ Truth type for Creation Graphs. ### `Properties` Properties of Creation Graphs. ~~~c enum { TM_TT_PROP__CREATION_GRAPH__GRAPH, // suboject(TM_TT_TYPE__GRAPH) }; ~~~ ### `TM_TT_TYPE__CREATION_GRAPH__RESOURCE_REFERENCE` ~~~c #define TM_TT_TYPE__CREATION_GRAPH__RESOURCE_REFERENCE "tm_creation_graph_resource_reference" #define TM_TT_TYPE_HASH__CREATION_GRAPH__RESOURCE_REFERENCE \ ~~~ Truth type for resource references in the Creation Graph. ### `Properties` Properties for resource references. ~~~c enum { TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__CREATION_GRAPH, // reference TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_TYPE_HASH, // uint64 TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_NAME, // string }; ~~~

creation_graph_node_type.h


### `TM_TT_TYPE_HASH__STRING_HASH` ~~~c #define TM_TT_TYPE_HASH__STRING_HASH TM_STATIC_HASH("tm_string_hash", 0xed35f02cc91a9dbaULL) ~~~ Wire type, used to indicate that the data on the wire is a string hash. (The data is edited as a regular string in the property editor.)

image_nodes.h


### `TM_TT_TYPE__IMAGE_MIPMAP_SETTINGS` ~~~c #define TM_TT_TYPE__IMAGE_MIPMAP_SETTINGS "tm_mipmap_settings" #define TM_TT_TYPE_HASH__IMAGE_MIPMAP_SETTINGS TM_STATIC_HASH("tm_mipmap_settings", 0x9df53aa9cf613c9bULL) ~~~ Type representing mipmap settings. ### `Properties` Properties for mipmap settings. ~~~c enum { TM_TT_PROP__IMAGE_FILTER_SETTINGS__COLOR_SPACE, // uint32_t TM_TT_PROP__IMAGE_FILTER_SETTINGS__FILTER, // uint32_t TM_TT_PROP__IMAGE_FILTER_SETTINGS__OVERRIDE_EXISTING_MIPS, // bool TM_TT_PROP__IMAGE_FILTER_SETTINGS__STORAGE_POLICY, // uint32_t }; ~~~ ### `TM_TT_TYPE__IMAGE_DESCRIPTION` ~~~c #define TM_TT_TYPE__IMAGE_DESCRIPTION "tm_image_description" #define TM_TT_TYPE_HASH__IMAGE_DESCRIPTION TM_STATIC_HASH("tm_image_description", 0x6f7d4648bbb5ffbfULL) ~~~ Type representing an image description. ### `Properties` Properties for image descriptions. ~~~c enum { TM_TT_PROP__IMAGE_DESCRIPTION__TYPE, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__PIXEL_FORMAT, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__WIDTH, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__HEIGHT, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__DEPTH, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__MIP_LEVELS, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__LAYER_COUNT, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__SAMPLE_COUNT, // uint32 TM_TT_PROP__IMAGE_DESCRIPTION__DEBUG_TAG, // string }; ~~~ ### `TM_TT_TYPE__IMAGE_ARCHIVE` ~~~c #define TM_TT_TYPE__IMAGE_ARCHIVE "tm_image_archive" #define TM_TT_TYPE_HASH__IMAGE_ARCHIVE TM_STATIC_HASH("tm_image_archive", 0xc0e73f6b9d047b45ULL) ~~~ Type representing an image archive. ### `Properties` Properties for image archives. ~~~c enum { TM_TT_PROP__IMAGE_ARCHIVE__FILENAME, // string TM_TT_PROP__IMAGE_ARCHIVE__VALIDITY_HASH, // uint64 TM_TT_PROP__IMAGE_ARCHIVE__DESCRIPTION, // subobject TM_TT_PROP__IMAGE_ARCHIVE__BUFFER, // buffer TM_TT_PROP__IMAGE_ARCHIVE__RAW, // bool }; ~~~

dcc_asset_component.h


### `TM_TT_TYPE__DCC_ASSET_COMPONENT` ~~~c #define TM_TT_TYPE__DCC_ASSET_COMPONENT "tm_dcc_asset_component" #define TM_TT_TYPE_HASH__DCC_ASSET_COMPONENT TM_STATIC_HASH("tm_dcc_asset_component", 0xf9f4e3d6ab11e26cULL) ~~~ Truth type for DCC Asset Component. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_COMPONENT`. ~~~c enum { TM_TT_PROP__DCC_ASSET_COMPONENT__DCC_ASSET, // reference [[TM_TT_TYPE__DCC_ASSET]] TM_TT_PROP__DCC_ASSET_COMPONENT__VISIBILITY_FLAGS, // suboject_set(TM_TT_TYPE_HASH__VISIBILITY_FLAG) }; ~~~

dcc_asset_creation_graph.h


### `TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS "tm_dcc_asset_mesh_node_settings" #define TM_TT_TYPE_HASH___DCC_ASSET_MESH__NODE_SETTINGS TM_STATIC_HASH("tm_dcc_asset_mesh_node_settings", 0xfe918d0abd8aa1adULL) ~~~ Truth type storing settings for a DCC Asset Mesh node. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MESH__DCC_ASSET, // reference TM_TT_PROP__DCC_ASSET_MESH__MESH, // reference }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS "tm_dcc_asset_image_node_settings" #define TM_TT_TYPE_HASH___DCC_ASSET_IMAGE__NODE_SETTINGS TM_STATIC_HASH("tm_dcc_asset_image_node_settings", 0xfd12fed9694b96bcULL) ~~~ Truth type storing settings for a DCC Asset Image node. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS`. ~~~c enum { TM_TT_PROP__DCC_ASSET_IMAGE__DCC_ASSET, // reference TM_TT_PROP__DCC_ASSET_IMAGE__IMAGE, // reference }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS "tm_dcc_asset_material_node_settings" #define TM_TT_TYPE_HASH___DCC_ASSET_MATERIAL__NODE_SETTINGS TM_STATIC_HASH("tm_dcc_asset_material_node_settings", 0x95c72c2221a22411ULL) ~~~ Truth type storing settings for a DCC Asset Material node. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MATERIAL__DCC_ASSET, // reference TM_TT_PROP__DCC_ASSET_MATERIAL__MATERIAL, // reference }; ~~~

dcc_asset_truth.h


### `TM_TT_TYPE__DCC_ASSET_POSITION` ~~~c #define TM_TT_TYPE__DCC_ASSET_POSITION "tm_dcc_asset_position" #define TM_TT_TYPE_HASH__DCC_ASSET_POSITION TM_STATIC_HASH("tm_dcc_asset_position", 0x1f36b481c7a30c45ULL) ~~~ Represents a position in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_POSITION`. ~~~c enum { TM_TT_PROP__DCC_ASSET_POSITION__X, // float TM_TT_PROP__DCC_ASSET_POSITION__Y, // float TM_TT_PROP__DCC_ASSET_POSITION__Z, // float }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_ROTATION` ~~~c #define TM_TT_TYPE__DCC_ASSET_ROTATION "tm_dcc_asset_rotation" #define TM_TT_TYPE_HASH__DCC_ASSET_ROTATION TM_STATIC_HASH("tm_dcc_asset_rotation", 0x8bcb03256974ab79ULL) ~~~ Represents a rotation (quaternion) in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_ROTATION`. ~~~c enum { TM_TT_PROP__DCC_ASSET_ROTATION__X, // float TM_TT_PROP__DCC_ASSET_ROTATION__Y, // float TM_TT_PROP__DCC_ASSET_ROTATION__Z, // float TM_TT_PROP__DCC_ASSET_ROTATION__W, // float }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_SCALE` ~~~c #define TM_TT_TYPE__DCC_ASSET_SCALE "tm_dcc_asset_scale" #define TM_TT_TYPE_HASH__DCC_ASSET_SCALE TM_STATIC_HASH("tm_dcc_asset_scale", 0x4e604b5de5720471ULL) ~~~ Represents scale in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_SCALE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_SCALE__X, // float TM_TT_PROP__DCC_ASSET_SCALE__Y, // float TM_TT_PROP__DCC_ASSET_SCALE__Z, // float }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_COLOR_RGB` ~~~c #define TM_TT_TYPE__DCC_ASSET_COLOR_RGB "tm_dcc_asset_color_rgb" #define TM_TT_TYPE_HASH__DCC_ASSET_COLOR_RGB TM_STATIC_HASH("tm_dcc_asset_color_rgb", 0xb9ec51be3a00f3a2ULL) ~~~ Represents a RGB color in a DCC Asset. ### `TM_TT_TYPE__DCC_ASSET_COLOR_RGBA` ~~~c #define TM_TT_TYPE__DCC_ASSET_COLOR_RGBA "tm_dcc_asset_color_rgba" #define TM_TT_TYPE_HASH__DCC_ASSET_COLOR_RGBA TM_STATIC_HASH("tm_dcc_asset_color_rgba", 0x3eb324e96eed7292ULL) ~~~ Represets a RGBA color in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_COLOR_RGB` and `TM_TT_TYPE__DCC_ASSET_COLOR_RGBA`. !!! NOTE The `TM_TT_PROP__DCC_ASSET_COLOR__A` property is only used by `TM_TT_TYPE__DCC_ASSET_COLOR_RGBA`. ~~~c enum { TM_TT_PROP__DCC_ASSET_COLOR__R, // float TM_TT_PROP__DCC_ASSET_COLOR__G, // float TM_TT_PROP__DCC_ASSET_COLOR__B, // float TM_TT_PROP__DCC_ASSET_COLOR__A, // float }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_BUFFER` ~~~c #define TM_TT_TYPE__DCC_ASSET_BUFFER "tm_dcc_asset_buffer" #define TM_TT_TYPE_HASH__DCC_ASSET_BUFFER TM_STATIC_HASH("tm_dcc_asset_buffer", 0x471e224723f36b55ULL) ~~~ Represents a buffer in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_BUFFER`. ~~~c enum { TM_TT_PROP__DCC_ASSET_BUFFER__NAME, // string TM_TT_PROP__DCC_ASSET_BUFFER__DATA, // buffer TM_TT_PROP__DCC_ASSET_BUFFER__STRIDE, // uint32_t }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_CAMERA` ~~~c #define TM_TT_TYPE__DCC_ASSET_CAMERA "tm_dcc_asset_camera" #define TM_TT_TYPE_HASH__DCC_ASSET_CAMERA TM_STATIC_HASH("tm_dcc_asset_camera", 0x459fa8ef89def0b2ULL) ~~~ Represents a camera in a DCC Asset. ### `Properties` Properties of a `TM_TT_TYPE__DCC_ASSET_CAMERA`. ~~~c enum { TM_TT_PROP__DCC_ASSET_CAMERA__NAME, // string TM_TT_PROP__DCC_ASSET_CAMERA__TYPE, // uint32_t [[enum TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE]] TM_TT_PROP__DCC_ASSET_CAMERA__ASPECT_RATIO, // float TM_TT_PROP__DCC_ASSET_CAMERA__YFOV, // float TM_TT_PROP__DCC_ASSET_CAMERA__ZNEAR, // float TM_TT_PROP__DCC_ASSET_CAMERA__ZFAR, // float }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_LIGHT` ~~~c #define TM_TT_TYPE__DCC_ASSET_LIGHT "tm_dcc_asset_light" #define TM_TT_TYPE_HASH__DCC_ASSET_LIGHT TM_STATIC_HASH("tm_dcc_asset_light", 0x3f3d593c3cf88976ULL) ~~~ Represents a light in a DCC Asset. ### `Properties` Properties for `TM_TT_TYPE__DCC_ASSET_LIGHT`. !!! TODO: TODO Add additional properties for light representation. ~~~c enum { TM_TT_PROP__DCC_ASSET_LIGHT__NAME, // string }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_ACCESSOR` ~~~c #define TM_TT_TYPE__DCC_ASSET_ACCESSOR "tm_dcc_asset_accessor" #define TM_TT_TYPE_HASH__DCC_ASSET_ACCESSOR TM_STATIC_HASH("tm_dcc_asset_accessor", 0x6c1baaa8d09cb56dULL) ~~~ Represents a buffer accessor in a DCC Asset. Used to describe how to access and interpret a particular channel of data from a `TM_TT_TYPE__DCC_ASSET_BUFFER`. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_ACCESSOR`. ~~~c enum { TM_TT_PROP__DCC_ASSET_ACCESSOR__BUFFER, // reference [[TM_TT_TYPE__DCC_ASSET_BUFFER]] TM_TT_PROP__DCC_ASSET_ACCESSOR__OFFSET, // uint32_t TM_TT_PROP__DCC_ASSET_ACCESSOR__COUNT, // uint32_t TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_FLOAT, // bool TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_SIGNED, // bool TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_NORMALIZED, // bool TM_TT_PROP__DCC_ASSET_ACCESSOR__BITS, // uint32_t TM_TT_PROP__DCC_ASSET_ACCESSOR__COMPONENT_COUNT, // uint32_t }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_ATTRIBUTE` ~~~c #define TM_TT_TYPE__DCC_ASSET_ATTRIBUTE "tm_dcc_asset_attribute" #define TM_TT_TYPE_HASH__DCC_ASSET_ATTRIBUTE TM_STATIC_HASH("tm_dcc_asset_attribute", 0xfb4884fc7f253682ULL) ~~~ Represents a specific attribute of a `TM_TT_TYPE__DCC_ASSET_MESH`. Attributes are things such as positions, normals, texture coordinates, etc. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_ATTRIBUTE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SEMANTIC, // uint32_t TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SET, // uint32_t TM_TT_PROP__DCC_ASSET_ATTRIBUTE__ACCESSOR, // reference [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_IMAGE` ~~~c #define TM_TT_TYPE__DCC_ASSET_IMAGE "tm_dcc_asset_image" #define TM_TT_TYPE_HASH__DCC_ASSET_IMAGE TM_STATIC_HASH("tm_dcc_asset_image", 0x28bb2a8e5de368f2ULL) ~~~ Represents an image in the DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_IMAGE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_IMAGE__NAME, // string TM_TT_PROP__DCC_ASSET_IMAGE__BUFFER, // reference [[TM_TT_TYPE__DCC_ASSET_BUFFER]] TM_TT_PROP__DCC_ASSET_IMAGE__TYPE, // uint32_t [[enum TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_TEXTURE` ~~~c #define TM_TT_TYPE__DCC_ASSET_TEXTURE "tm_dcc_asset_texture" #define TM_TT_TYPE_HASH__DCC_ASSET_TEXTURE TM_STATIC_HASH("tm_dcc_asset_texture", 0xff6a66c9766db679ULL) ~~~ Represents a texture in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_TEXTURE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_TEXTURE__IMAGE, // reference [[TM_TT_TYPE__DCC_ASSET_IMAGE]] TM_TT_PROP__DCC_ASSET_TEXTURE__MAPPING, // uint32 [[enum TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING]] TM_TT_PROP__DCC_ASSET_TEXTURE__UV_SET, // uint32 TM_TT_PROP__DCC_ASSET_TEXTURE__ADDRESS_MODE, // uint32 [[enum TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR` ~~~c #define TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR "tm_dcc_asset_material_pbr_mr" #define TM_TT_TYPE_HASH__DCC_ASSET_MATERIAL_PBR_MR TM_STATIC_HASH("tm_dcc_asset_material_pbr_mr", 0xf674c545c4c95bddULL) ~~~ Represents a PBR metallic/roughness (MR) material. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_FACTOR, // float TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__ROUGHNESS_FACTOR, // float TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_ROUGHNESS_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG` ~~~c #define TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG "tm_dcc_asset_material_pbr_sg" #define TM_TT_TYPE_HASH__DCC_ASSET_MATERIAL_PBR_SG TM_STATIC_HASH("tm_dcc_asset_material_pbr_sg", 0x27dd1a464d4ba2b8ULL) ~~~ Represents a PBR specular/glossiness (SG) material. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__GLOSSINESS_FACTOR, // float TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_FACTOR, // subobject [[TM_TT_TYPE__DCC_ASSET_COLOR_RGB]] TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_GLOSSINESS_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_MATERIAL` ~~~c #define TM_TT_TYPE__DCC_ASSET_MATERIAL "tm_dcc_asset_material" #define TM_TT_TYPE_HASH__DCC_ASSET_MATERIAL TM_STATIC_HASH("tm_dcc_asset_material", 0x4b827fd564e9c48cULL) ~~~ Static material definition that can represent both a metallic/roughness (MR) workflow as well as a specular/glossiness (SG) workflow. Importer plugins can freely decide which one to use. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MATERIAL`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MATERIAL__NAME, // string TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_FACTOR, // subobject [[TM_TT_TYPE__DCC_ASSET_COLOR_RGBA]] TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] TM_TT_PROP__DCC_ASSET_MATERIAL__NORMAL_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] TM_TT_PROP__DCC_ASSET_MATERIAL__OCCLUSION_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_FACTOR, // subobject [[TM_TT_TYPE__DCC_ASSET_COLOR_RGB]] TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_TEXTURE, // subobject [[TM_TT_TYPE__DCC_ASSET_TEXTURE]] TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_METALLIC_ROUGHNESS, // subobject [[TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR]] TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_SPECULAR_GLOSSINESS, // subobject [[TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG]] TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_MODE, // uint32_t [[enum TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE]] TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_CUTOFF, // float TM_TT_PROP__DCC_ASSET_MATERIAL__DOUBLE_SIDED, // bool }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_BONE` ~~~c #define TM_TT_TYPE__DCC_ASSET_BONE "tm_dcc_asset_bone" #define TM_TT_TYPE_HASH__DCC_ASSET_BONE TM_STATIC_HASH("tm_dcc_asset_bone", 0x525af634f69df56bULL) ~~~ Represents a bone in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_BONE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_BONE__INDEX, // uint32_t TM_TT_PROP__DCC_ASSET_BONE__NODE_NAME, // string TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_POSITION, // subobject [[TM_TT_TYPE__DCC_ASSET_POSITION]] TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_ROTATION, // subobject [[TM_TT_TYPE__DCC_ASSET_ROTATION]] TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_SCALE, // subobject [[TM_TT_TYPE__DCC_ASSET_SCALE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_MESH` ~~~c #define TM_TT_TYPE__DCC_ASSET_MESH "tm_dcc_asset_mesh" #define TM_TT_TYPE_HASH__DCC_ASSET_MESH TM_STATIC_HASH("tm_dcc_asset_mesh", 0xa9168368aeb45aedULL) ~~~ Represents a mesh in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_MESH`. ~~~c enum { TM_TT_PROP__DCC_ASSET_MESH__NAME, // string TM_TT_PROP__DCC_ASSET_MESH__PRIMITIVE_TYPE, // uint32_t [[enum TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE]] TM_TT_PROP__DCC_ASSET_MESH__MATERIAL, // reference [[TM_TT_TYPE__DCC_ASSET_MATERIAL]] TM_TT_PROP__DCC_ASSET_MESH__ATTRIBUTES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_ATTRIBUTE]] TM_TT_PROP__DCC_ASSET_MESH__INDICES, // reference [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MIN, // subobject(VEC3) TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MAX, // subobject(VEC3) TM_TT_PROP__DCC_ASSET_MESH__BONES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_BONE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_NODE` ~~~c #define TM_TT_TYPE__DCC_ASSET_NODE "tm_dcc_asset_node" #define TM_TT_TYPE_HASH__DCC_ASSET_NODE TM_STATIC_HASH("tm_dcc_asset_node", 0xe58fcf207dc017caULL) ~~~ Represents a node in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_NODE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_NODE__NAME, // string TM_TT_PROP__DCC_ASSET_NODE__POSITION, // subobject [[TM_TT_TYPE__DCC_ASSET_POSITION]] TM_TT_PROP__DCC_ASSET_NODE__ROTATION, // subobject [[TM_TT_TYPE__DCC_ASSET_ROTATION]] TM_TT_PROP__DCC_ASSET_NODE__SCALE, // subobject [[TM_TT_TYPE__DCC_ASSET_SCALE]] TM_TT_PROP__DCC_ASSET_NODE__CHILDREN, // reference_set [[TM_TT_TYPE__DCC_ASSET_NODE]] TM_TT_PROP__DCC_ASSET_NODE__MESHES, // reference_set [[TM_TT_TYPE__DCC_ASSET_MESH]] TM_TT_PROP__DCC_ASSET_NODE__CAMERAS, // reference_set [[TM_TT_TYPE__DCC_ASSET_CAMERA]] TM_TT_PROP__DCC_ASSET_NODE__LIGHTS, // reference_set [[TM_TT_TYPE__DCC_ASSET_LIGHT]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_SCENE` ~~~c #define TM_TT_TYPE__DCC_ASSET_SCENE "tm_dcc_asset_scene" #define TM_TT_TYPE_HASH__DCC_ASSET_SCENE TM_STATIC_HASH("tm_dcc_asset_scene", 0xbd5c01859f484c6ULL) ~~~ Represents a scene in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_SCENE`. ~~~c enum { TM_TT_PROP__DCC_ASSET_SCENE__NAME, // string TM_TT_PROP__DCC_ASSET_SCENE__ROOT_NODES, // reference_set [[TM_TT_TYPE__DCC_ASSET_NODE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION` ~~~c #define TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION "tm_dcc_asset_node_animation" #define TM_TT_TYPE_HASH__DCC_ASSET_NODE_ANIMATION TM_STATIC_HASH("tm_dcc_asset_node_animation", 0x1ed02afba4e23875ULL) ~~~ Represents the animation of a scene graph node in a DCC Asset. !!! note: ??? How are animations that do not reference bones stored (such as animating the color of a light)? Is that not supported by assimp, or is it treated as some kind of "virtual bone". ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION`. ~~~c enum { // Stores the name of the node as recorded in the file, if it resolves to an actual node in // the file, the `NODE` parameter will store that. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NAME, // string // Reference to the node that is animated. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NODE, // reference [[TM_TT_TYPE__DCC_ASSET_NODE]] // A [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] for accessing the position keys of the animation. THe // position keys are of type [[tm_tt_prop__dcc_asset_node_animation__vec3_key_t]]. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POSITION_KEYS, // reference [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] // A [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] for accessing the rotation keys of the animation. THe // position keys are of type [[tm_tt_prop__dcc_asset_node_animation__quat_key_t]]. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__ROTATION_KEYS, // reference [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] // A [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] for accessing the scale keys of the animation. THe // position keys are of type [[tm_tt_prop__dcc_asset_node_animation__vec3_key_t]]. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__SCALING_KEYS, // reference [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] // Specifies the extrapolation method used to evaluate values before the start of the key range. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__PRE_STATE, // uint32_t(DCC_NODE_ANIMATION__PRE_POST_STATE__*) // Specifies the extrapolation method used to evaluate values after the end of the key range. TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POST_STATE, // uint32_t(DCC_NODE_ANIMATION__PRE_POST_STATE__*) }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_ANIMATION` ~~~c #define TM_TT_TYPE__DCC_ASSET_ANIMATION "tm_dcc_asset_animation" #define TM_TT_TYPE_HASH__DCC_ASSET_ANIMATION TM_STATIC_HASH("tm_dcc_asset_animation", 0xb4f2c5822cde57dbULL) ~~~ Represents an animation in a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_ANIMATION`. ~~~c enum { TM_TT_PROP__DCC_ASSET_ANIMATION__NAME, // string TM_TT_PROP__DCC_ASSET_ANIMATION__DURATION, // float TM_TT_PROP__DCC_ASSET_ANIMATION__TICKS_PER_SECOND, // float TM_TT_PROP__DCC_ASSET_ANIMATION__NODE_ANIMATIONS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION]] // Not yet supported: Mesh animations // Not yet supported: Morph animations }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE` ~~~c #define TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE "tm_dcc_asset_extracted_resource" #define TM_TT_TYPE_HASH__DCC_ASSET_EXTRACTED_RESOURCE TM_STATIC_HASH("tm_dcc_asset_extracted_resource", 0x6afaa9f50456cb1bULL) ~~~ Represents an extracted resource/asset from the DCC Asset, such as an image or a material. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE`. ~~~c enum { // Object in the DCC Asset that the asset was extracted from. TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__OBJECT, // reference [[TM_TT_TYPE__ANYTHING]] // Object that represents the extracted asset. This maybe an asset object, i.e. the property // `TM_TT_PROP__ASSET__OBJECT` of an asset, but not always. Exceptions are resources associated // with preview entities of TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__RESOURCE, // reference [[TM_TT_TYPE__ANYTHING]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_SOURCE_IMPORT_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_ASSET_SOURCE_IMPORT_SETTINGS "tm_dcc_asset_source_import_settings" #define TM_TT_TYPE_HASH__DCC_ASSET_SOURCE_IMPORT_SETTINGS TM_STATIC_HASH("tm_dcc_asset_source_import_settings", 0x547ea358e1329c8cULL) ~~~ Settings that control how to import a particular DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_SOURCE_IMPORT_SETTINGS`. ~~~c enum { // Source path that the DCC Asset was imported from (on the machine where it was originally // imported). TM_TT_PROP__DCC_ASSET_SOURCE_IMPORT_SETTINGS__SOURCE_PATH, // string // Rotation applied to asset at import. TM_TT_PROP__DCC_ASSET_SOURCE_IMPORT_SETTINGS__ROTATION, // subobject [[TM_TT_TYPE__ROTATION]] // Scaled applied to asset at import. TM_TT_PROP__DCC_ASSET_SOURCE_IMPORT_SETTINGS__SCALE, // subobject [[TM_TT_TYPE__SCALE]] // If `true`, the unit scale from the source file is applied to the asset at import. E.g., if // the source file says the unit is in cm, the asset will be scaled by 0.01 at import. If // `false`, the unit scale from the source file is ignored. TM_TT_PROP__DCC_ASSET_SOURCE_IMPORT_SETTINGS__APPLY_UNIT_SCALE, // bool }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_ASSET_SETTINGS "tm_dcc_asset_settings" #define TM_TT_TYPE_HASH__DCC_ASSET_SETTINGS TM_STATIC_HASH("tm_dcc_asset_settings", 0xbee36020d022cc51ULL) ~~~ Settings for a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_SETTINGS`. ~~~c enum { TM_TT_PROP__DCC_ASSET_SETTINGS__IMPORT_SETTINGS, // subobject [[TM_TT_TYPE__DCC_IMPORT_SETTINGS]] TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_IMAGES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE]] TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_MATERIALS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE]] TM_TT_PROP__DCC_ASSET_SETTINGS__ENTITY, // reference [[TM_TT_TYPE__ASSET]] TM_TT_PROP__DCC_ASSET_SETTINGS__SOURCE_IMPORT_SETTINGS, // subobject [[TM_TT_TYPE__DCC_ASSET_SOURCE_IMPORT_SETTINGS]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE` ~~~c #define TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE "tm_dcc_asset_preview_entity_extracted_resource" #define TM_TT_TYPE_HASH__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE TM_STATIC_HASH("tm_dcc_asset_preview_entity_extracted_resource", 0xa6efabc21bbed077ULL) ~~~ Preview Entity extracted material ### `Properties` ~~~c enum { TM_TT_PROP__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_MATERIAL__RESOURCE, // subobject [[TM_TT_TYPE__ANYTHING]] TM_TT_PROP__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_MATERIAL__NAME, // string }; ~~~ ### `TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY` ~~~c #define TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY "tm_dcc_asset_preview_entity" #define TM_TT_TYPE_HASH__DCC_ASSET_PREVIEW_ENTITY TM_STATIC_HASH("tm_dcc_asset_preview_entity", 0x5e0fd59434dda1deULL) ~~~ Preview Entity ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY` ~~~c enum { TM_TT_PROP__DCC_ASSET_PREVIEW_ENTITY__ENTITY, // subobject [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__DCC_ASSET_PREVIEW_ENTITY__EXTRACTED_IMAGES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE]] TM_TT_PROP__DCC_ASSET_PREVIEW_ENTITY__EXTRACTED_MATERIALS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY_EXTRACTED_RESOURCE]] }; ~~~ ### `TM_TT_TYPE__DCC_ASSET` ~~~c #define TM_TT_TYPE__DCC_ASSET "tm_dcc_asset" #define TM_TT_TYPE_HASH__DCC_ASSET TM_STATIC_HASH("tm_dcc_asset", 0x871719108d287cb9ULL) ~~~ Represents a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_ASSET`. ~~~c enum { TM_TT_PROP__DCC_ASSET__SCENE, // reference [[TM_TT_TYPE__DCC_ASSET_SCENE]] TM_TT_PROP__DCC_ASSET__ACCESSORS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_ACCESSOR]] TM_TT_PROP__DCC_ASSET__BUFFERS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_BUFFER]] TM_TT_PROP__DCC_ASSET__CAMERAS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_CAMERA]] TM_TT_PROP__DCC_ASSET__LIGHTS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_LIGHT]] TM_TT_PROP__DCC_ASSET__IMAGES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_IMAGE]] TM_TT_PROP__DCC_ASSET__MATERIALS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_MATERIAL]] TM_TT_PROP__DCC_ASSET__MESHES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_MESH]] TM_TT_PROP__DCC_ASSET__NODES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_NODE]] TM_TT_PROP__DCC_ASSET__SCENES, // subobject_set [[TM_TT_TYPE__DCC_ASSET_SCENE]] TM_TT_PROP__DCC_ASSET__ANIMATIONS, // subobject_set [[TM_TT_TYPE__DCC_ASSET_ANIMATION]] TM_TT_PROP__DCC_ASSET__SETTINGS, // subobject [[TM_TT_TYPE__DCC_ASSET_SETTINGS]] TM_TT_PROP__DCC_ASSET__PREVIEW_ENTITY, // subobject [[TM_TT_TYPE__DCC_ASSET_PREVIEW_ENTITY]] }; ~~~

import_settings.h


### `TM_TT_TYPE__DCC_IMPORT_SETTINGS` ~~~c #define TM_TT_TYPE__DCC_IMPORT_SETTINGS "tm_dcc_import_settings" #define TM_TT_TYPE_HASH__DCC_IMPORT_SETTINGS TM_STATIC_HASH("tm_dcc_import_settings", 0xa8eaa514c96b3d32ULL) ~~~ Represents the Import Settings for a DCC Asset. ### `Properties` Properties of `TM_TT_TYPE__DCC_IMPORT_SETTINGS`. ~~~c enum { // DCC asset prototype creation graphs [[TM_DRAW_IMPORT_SETTINGS_GROUP_DCC_PROTOTYPES]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_CG, // reference [[TM_TT_TYPE__CREATION_GRAPH]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_CG, // reference [[TM_TT_TYPE__CREATION_GRAPH]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MESH_CG, // reference [[TM_TT_TYPE__CREATION_GRAPH]] // DCC asset directories [[TM_DRAW_IMPORT_SETTINGS_GROUP_DCC_DIRECTORIES]] TM_TT_PROP__IMPORT_SETIINGS__DCC_ASSET__OUTPUT_DIRECTORY, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_DIRECTORY, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_DIRECTORY, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] // General DCC asset settings [[TM_DRAW_IMPORT_SETTINGS_GROUP_DCC_GENERAL]] TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__CREATE_PROTOTYPE_ON_DROP, // bool TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__EXTRACT_INTO_SUBDIRECTORY, // bool TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__EXTRACT_IMAGES, // bool TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__EXTRACT_MATERIALS, // bool TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__RIG_ENTITY, // bool // Import Image -> Asset CG [[TM_DRAW_IMPORT_SETTINGS_GROUP_IMAGE_IMPORT]] TM_TT_PROP__IMPORT_SETTINGS__IMPORT__IMAGE_CG, // reference [[TM_TT_TYPE__CREATION_GRAPH]] // CG to use when dropping image in scene [[TM_DRAW_IMPORT_SETTINGS_GROUP_IMAGE_DROP]] TM_TT_PROP__IMPORT_SETTINGS__DROP__IMAGE_CG, // reference [[TM_TT_TYPE__CREATION_GRAPH]] }; ~~~

light_component.h


### `TM_TT_TYPE__LIGHT_COMPONENT` ~~~c #define TM_TT_TYPE__LIGHT_COMPONENT "tm_default_render_pipe_light_component" #define TM_TT_TYPE_HASH__LIGHT_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_light_component", 0x8d6a64def492965aULL) ~~~ Truth type for Light component. ### `Properties` Properties of `TM_TT_TYPE__LIGHT_COMPONENT`. ~~~c enum { TM_TT_PROP__LIGHT_COMPONENT__TYPE, // [[enum tm_light_component_type]] TM_TT_PROP__LIGHT_COMPONENT__UNIT_TYPE, // [[enum tm_light_component_unit_type]] TM_TT_PROP__LIGHT_COMPONENT__COLOR_TYPE, // [[enum tm_light_component_color_type]] TM_TT_PROP__LIGHT_COMPONENT__COLOR, // subobject [[TM_TT_TYPE__COLOR_RGB]] TM_TT_PROP__LIGHT_COMPONENT__INTENSITY, // float TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_INNER, // float TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_OUTER, // float TM_TT_PROP__LIGHT_COMPONENT__CAST_SHADOWS, // bool TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DEPTH_BIAS, // float TM_TT_PROP__LIGHT_COMPONENT__NUM_CASCADES, // uint32 TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DISTANCE, // float TM_TT_PROP__LIGHT_COMPONENT__UNIFORM_LOG_WEIGHT, // float TM_TT_PROP__LIGHT_COMPONENT__IBL_DIFFUSE, // reference [[TM_TT_TYPE__ASSET]] TM_TT_PROP__LIGHT_COMPONENT__IBL_SPECULAR, // reference [[TM_TT_TYPE__ASSET]] TM_TT_PROP__LIGHT_COMPONENT__AREA_EXTENT, // subobject [[TM_TT_TYPE__VEC2]] TM_TT_PROP__LIGHT_COMPONENT__AREA_RADIUS // float }; ~~~

light_probes.h


### `TM_TT_TYPE__LIGHT_PROBES_COMPONENT` ~~~c #define TM_TT_TYPE__LIGHT_PROBES_COMPONENT "tm_default_render_pipe_light_probes_component" #define TM_TT_TYPE_HASH__LIGHT_PROBES_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_light_probes_component", 0xd56951e048c914d6ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__LIGHT_PROBES_COMPONENT__ENABLED, // bool TM_TT_PROP__LIGHT_PROBES_COMPONENT__UPDATE_FREQUENCY, // tm_light_probes_update_frequency TM_TT_PROP__LIGHT_PROBES_COMPONENT__DENSITY // float }; ~~~

ssao_component.h


### `TM_TT_TYPE__SSAO_COMPONENT` ~~~c #define TM_TT_TYPE__SSAO_COMPONENT "tm_default_render_pipe_ssao_component" #define TM_TT_TYPE_HASH__SSAO_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_ssao_component", 0x5f40579bf3560d6ULL) ~~~ Represents a ssao component. ### `Properties` Properties of `TM_TT_TYPE__SSAO_COMPONENT`. ~~~c enum { TM_TT_PROP__SSAO_COMPONENT__ENABLED, // bool TM_TT_PROP__SSAO_COMPONENT__RADIUS, // float TM_TT_PROP__SSAO_COMPONENT__POWER, // float TM_TT_PROP__SSAO_COMPONENT__BIAS, // float TM_TT_PROP__SSAO_COMPONENT__STEP_COUNT // uint32 }; ~~~

volume_component.h


### `TM_TT_TYPE__VOLUME_COMPONENT` ~~~c #define TM_TT_TYPE__VOLUME_COMPONENT "tm_default_render_pipe_volume_component" #define TM_TT_TYPE_HASH__VOLUME_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_volume_component", 0x63eba60969122797ULL) ~~~ Truth type of the Volume component. ### `Properties` ~~~c enum { // Type of volume. TM_TT_PROP__VOLUME_COMPONENT__TYPE, // tm_tt_volume_type // Distance over which volume is blended to full opacity. (Applies to volume effects that can be // partially applied.) Note that the blending happens *inside* the volume. I.e., the sphere // reaches full opacity at [[TM_TT_PROP__VOLUME_COMPONENT__SPHERE_RADIUS]] - // [[TM_TT_PROP__VOLUME_COMPONENT__BLEND_DISTANCE]]. TM_TT_PROP__VOLUME_COMPONENT__BLEND_DISTANCE, // float // Radius of sphere for [[TM_TT_VOLUME_TYPE_SPHERE]]. TM_TT_PROP__VOLUME_COMPONENT__SPHERE_RADIUS, // float // Box lower bound for [[TM_TT_VOLUME_TYPE_BOX]]. TM_TT_PROP__VOLUME_COMPONENT__BOX_LOWER_BOUND, // subobject [[TM_TT_TYPE__VEC3]] // Box upper bound for [[TM_TT_VOLUME_TYPE_BOX]] and [[TM_TT_VOLUME_TYPE_BOX_EXTENT]]. TM_TT_PROP__VOLUME_COMPONENT__BOX_UPPER_BOUND // subobject [[TM_TT_TYPE__VEC3]] }; ~~~

bloom_component.h


### `TM_TT_TYPE__BLOOM_COMPONENT` ~~~c #define TM_TT_TYPE__BLOOM_COMPONENT "tm_default_render_pipe_bloom_component" #define TM_TT_TYPE_HASH__BLOOM_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_bloom_component", 0x9f2670bf79e39089ULL) ~~~ Represents a bloom component. ### `Properties` Properties of `TM_TT_TYPE__BLOOM_COMPONENT`. ~~~c enum { TM_TT_PROP__BLOOM_COMPONENT__ENABLED, // bool TM_TT_PROP__BLOOM_COMPONENT__THRESHOLD, // float TM_TT_PROP__BLOOM_COMPONENT__FALLOFF, // float TM_TT_PROP__BLOOM_COMPONENT__TINT, // subobject [[TM_TT_TYPE__COLOR_RGB]] }; ~~~

exposure_component.h


### `TM_TT_TYPE__EXPOSURE_COMPONENT` ~~~c #define TM_TT_TYPE__EXPOSURE_COMPONENT "tm_default_render_pipe_exposure_component" #define TM_TT_TYPE_HASH__EXPOSURE_COMPONENT TM_STATIC_HASH("tm_default_render_pipe_exposure_component", 0x8177c3ce8bec1948ULL) ~~~ Truth type for the Exposure component. ### `Properties` Properties of `TM_TT_TYPE__EXPOSURE_COMPONENT`. ~~~c enum { TM_TT_PROP__EXPOSURE_COMPONENT__ENABLED, // bool TM_TT_PROP__EXPOSURE_COMPONENT__METERING, // [[enum tm_exposure_metering_mode]] TM_TT_PROP__EXPOSURE_COMPONENT__EXPOSURE_COMPENSATION, // float TM_TT_PROP__EXPOSURE_COMPONENT__MASK, // [[enum tm_exposure_mask_mode]] TM_TT_PROP__EXPOSURE_COMPONENT__MIN_EV100, // float TM_TT_PROP__EXPOSURE_COMPONENT__MAX_EV100, // float TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_UP, // float TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_DOWN // float }; ~~~

asset_browser.h


### `TM_TT_TYPE__ASSET_BROWSER` ~~~c #define TM_TT_TYPE__ASSET_BROWSER "tm_asset_browser" #define TM_TT_TYPE_HASH__ASSET_BROWSER TM_STATIC_HASH("tm_asset_browser", 0xa77c74e6207f94dbULL) ~~~ Truth type for Asset Browser settings. This type is used at runtime to hold the view settings for the asset browser. It is also serialized as part of the project settings so that the asset browser view can be restored when a project is loaded. ### `Properties` Properties of `TM_TT_TYPE__ASSET_BROWSER`. ~~~c enum { // Selected assets. TM_TT_PROP__ASSET_BROWSER__SELECTION, // reference_set [[TM_TT_TYPE__ASSET]] / [[TM_TT_TYPE__ASSET_DIRECTORY]] // Current directory. TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY, // reference [[TM_TT_TYPE__ASSET_DIRECTORY]] // Focused asset (last selected). TM_TT_PROP__ASSET_BROWSER__FOCUS, // reference [[TM_TT_TYPE__ASSET]] / [[TM_TT_TYPE__ASSET_DIRECTORY]] // Sort mode: ascending (true) or descending (false). TM_TT_PROP__ASSET_BROWSER__SORT_ASCENDING, // bool // Sort by: (0) name, (1) type, (2) size. TM_TT_PROP__ASSET_BROWSER__SORT_BY, // uint32_t // View mode: (1) grid, (2) list, (3) details. TM_TT_PROP__ASSET_BROWSER__VIEW_MODE, // uint32_t // File extension filter. TM_TT_PROP__ASSET_BROWSER__FILTER_BY_FILE_EXT, // uint64_t // Label filter bitflag. (See [[tm_asset_label_bitflag_t]].) TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_1, // uint64_t TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_2, // uint64_t TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_3, // uint64_t TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_4, // uint64_t // UUID of current directory [[tm_uuid_t]]. TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY_UUID_A, // uint64_t TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY_UUID_B, // uint64_t }; ~~~

graph.h


### `TM_TT_TYPE__GRAPH` ~~~c #define TM_TT_TYPE__GRAPH "tm_graph" #define TM_TT_TYPE_HASH__GRAPH TM_STATIC_HASH("tm_graph", 0x1527750cf1208efULL) ~~~ Truth type representing the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH`. ~~~c enum { TM_TT_PROP__GRAPH__NODES, // subobject_set [[TM_TT_TYPE__GRAPH_NODE]] TM_TT_PROP__GRAPH__CONNECTIONS, // subobject_set [[TM_TT_TYPE__GRAPH_CONNECTION]] TM_TT_PROP__GRAPH__DATA, // subobject_set [[TM_TT_TYPE__GRAPH_DATA]] TM_TT_PROP__GRAPH__COMMENTS, // subobject_set [[TM_TT_TYPE__GRAPH_COMMENT]] TM_TT_PROP__GRAPH__INTERFACE, // subobject [[TM_TT_TYPE__GRAPH_INTERFACE]] }; ~~~ ### `TM_TT_TYPE__GRAPH_NODE` ~~~c #define TM_TT_TYPE__GRAPH_NODE "tm_graph_node" #define TM_TT_TYPE_HASH__GRAPH_NODE TM_STATIC_HASH("tm_graph_node", 0xb17436407c9497ecULL) ~~~ Truth type representing a node in the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_NODE`. ~~~c enum { // The type of the node. This matches the `name` of the [[tm_graph_node_type_i]]. TM_TT_PROP__GRAPH_NODE__TYPE, // string // A user specified label. If set, overrides the default displayed node name. TM_TT_PROP__GRAPH_NODE__LABEL, // string // Position of the node in the graph view. TM_TT_PROP__GRAPH_NODE__POSITION_X, // float TM_TT_PROP__GRAPH_NODE__POSITION_Y, // float // The width of the node (the user can change this by scaling the node). TM_TT_PROP__GRAPH_NODE__WIDTH, // float // Custom node-specific data. TM_TT_PROP__GRAPH_NODE__SETTINGS, // subobject `TM_TT_TYPE__<node_type>_SETTINGS` (e.g., [[TM_GRAPH_SUBGRAPH_NODE_SETTINGS_TYPE]]) }; ~~~ ### `TM_TT_TYPE__GRAPH_CONNECTION` ~~~c #define TM_TT_TYPE__GRAPH_CONNECTION "tm_graph_connection" #define TM_TT_TYPE_HASH__GRAPH_CONNECTION TM_STATIC_HASH("tm_graph_connection", 0x7840189d530b09e5ULL) ~~~ Truth type representing a connection in the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_CONNECTION`. ~~~c enum { TM_TT_PROP__GRAPH_CONNECTION__FROM_NODE, // reference [[TM_TT_TYPE__GRAPH_NODE]] TM_TT_PROP__GRAPH_CONNECTION__TO_NODE, // reference [[TM_TT_TYPE__GRAPH_NODE]] TM_TT_PROP__GRAPH_CONNECTION__FROM_CONNECTOR_HASH, // uint64_t TM_TT_PROP__GRAPH_CONNECTION__TO_CONNECTOR_HASH, // uint64_t }; ~~~ ### `TM_TT_TYPE__GRAPH_DATA` ~~~c #define TM_TT_TYPE__GRAPH_DATA "tm_graph_data" #define TM_TT_TYPE_HASH__GRAPH_DATA TM_STATIC_HASH("tm_graph_data", 0xfef2c4b66f211feaULL) ~~~ Truth type representing data edited directly on an input connector. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_DATA`. ~~~c enum { TM_TT_PROP__GRAPH_DATA__TO_NODE, // reference [[TM_TT_TYPE__GRAPH_NODE]] TM_TT_PROP__GRAPH_DATA__TO_CONNECTOR_HASH, // uint64_t TM_TT_PROP__GRAPH_DATA__DATA, // subobject (connector->edit_type_hash) }; ~~~ ### `TM_TT_TYPE__GRAPH_COMMENT` ~~~c #define TM_TT_TYPE__GRAPH_COMMENT "tm_graph_comment" #define TM_TT_TYPE_HASH__GRAPH_COMMENT TM_STATIC_HASH("tm_graph_comment", 0x425cefdca2d9f029ULL) ~~~ Truth type representing comments in the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_COMMENT`. ~~~c enum { TM_TT_PROP__GRAPH_COMMENT__TEXT, // string TM_TT_PROP__GRAPH_COMMENT__POSITION_X, // float TM_TT_PROP__GRAPH_COMMENT__POSITION_Y, // float TM_TT_PROP__GRAPH_COMMENT__FONT_SCALE, // float TM_TT_PROP__GRAPH_COMMENT__COLOR, // subobject [[TM_TT_TYPE__COLOR_RGB]] }; ~~~ ### `TM_TT_TYPE__GRAPH_INTERFACE` ~~~c #define TM_TT_TYPE__GRAPH_INTERFACE "tm_graph_interface" #define TM_TT_TYPE_HASH__GRAPH_INTERFACE TM_STATIC_HASH("tm_graph_interface", 0xd8d2adf4ea2129beULL) ~~~ Truth type representing the interface of inputs and outputs for the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_INTERFACE`. ~~~c enum { TM_TT_PROP__GRAPH_INTERFACE__INPUTS, // subobject_set [[TM_TT_TYPE__GRAPH_INPUT]] TM_TT_PROP__GRAPH_INTERFACE__OUTPUTS, // subobject_set [[TM_TT_TYPE__GRAPH_OUTPUT]] TM_TT_PROP__GRAPH_INTERFACE__LAST_ID, // uint64_t TM_TT_PROP__GRAPH_INTERFACE__CACHED_NODE_RESULT, // subobject_set [[TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT]] }; ~~~ ### `TM_TT_TYPE__GRAPH_INPUT` ~~~c #define TM_TT_TYPE__GRAPH_INPUT "tm_graph_input" #define TM_TT_TYPE_HASH__GRAPH_INPUT TM_STATIC_HASH("tm_graph_input", 0x9c14d10a15849ad2ULL) ~~~ Truth type representing inputs to the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_INPUT`. ~~~c enum { TM_TT_PROP__GRAPH_INPUT__DISPLAY_NAME, // string TM_TT_PROP__GRAPH_INPUT__ID, // string TM_TT_PROP__GRAPH_INPUT__TYPE_HASH, // uint64_t TM_TT_PROP__GRAPH_INPUT__VALUE_SET_BY_USER, // bool TM_TT_PROP__GRAPH_INPUT__VALUE, // subobject [[TM_TT_TYPE__ANYTHING]] TM_TT_PROP__GRAPH_INPUT__TOOLTIP, // string TM_TT_PROP__GRAPH_INPUT__PUBLIC, // bool TM_TT_PROP__GRAPH_INPUT__ORDER, // double }; ~~~ ### `TM_TT_TYPE__GRAPH_OUTPUT` ~~~c #define TM_TT_TYPE__GRAPH_OUTPUT "tm_graph_output" #define TM_TT_TYPE_HASH__GRAPH_OUTPUT TM_STATIC_HASH("tm_graph_output", 0x4546f855f6eb575bULL) ~~~ Truth type representing outputs from the graph. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_OUTPUT`. ~~~c enum { TM_TT_PROP__GRAPH_OUTPUT__NAME, // string TM_TT_PROP__GRAPH_OUTPUT__DISPLAY_NAME, // string TM_TT_PROP__GRAPH_OUTPUT__ID, // string TM_TT_PROP__GRAPH_OUTPUT__TYPE_HASH, // uint64_t TM_TT_PROP__GRAPH_OUTPUT__ORDER, // double }; ~~~ ### `TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT` ~~~c #define TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT "tm_graph_cached_node_result" #define TM_TT_TYPE_HASH__GRAPH_CACHED_NODE_RESULT TM_STATIC_HASH("tm_graph_cached_node_result", 0xf481097232786b73ULL) ~~~ Arbitrary data associated with nodes that can be used for caching results. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT`. ~~~c enum { TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__NODE, // reference [[TM_TT_TYPE__GRAPH_NODE]] TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__VALIDITY_HASH, // uint64_t TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__OBJECT, // subobject [[TM_TT_TYPE__ANYTHING]] }; ~~~ ### `TM_TT_TYPE__GRAPH_EVENT` ~~~c #define TM_TT_TYPE__GRAPH_EVENT "tm_graph_event_t" #define TM_TT_TYPE_HASH__GRAPH_EVENT TM_STATIC_HASH("tm_graph_event_t", 0x914718f91949c893ULL) ~~~ The connector type used to represent event connectors. ### `TM_TT_TYPE__GRAPH_SETTINGS` ~~~c #define TM_TT_TYPE__GRAPH_SETTINGS "tm_graph_settings" #define TM_TT_TYPE_HASH__GRAPH_SETTINGS TM_STATIC_HASH("tm_graph_settings", 0x9aad7ddbce2c307eULL) ~~~ Truth type for general graph settings. ### `Properties` Properties of `TM_TT_TYPE__GRAPH_SETTINGS`. ~~~c enum { TM_TT_PROP__GRAPH_SETTINGS__GRAPH_UUID_A, // uint64_t TM_TT_PROP__GRAPH_SETTINGS__VIEW_POSITION, // subobject [[TM_TT_TYPE__VEC2]] TM_TT_PROP__GRAPH_SETTINGS__VIEW_SCALE, // float TM_TT_PROP__GRAPH_SETTINGS__GRID_SNAPPING, // bool TM_TT_PROP__GRAPH_SETTINGS__GRID_SIZE, // float TM_TT_PROP__GRAPH_SETTINGS__DEBUG_WATCH_WIRE_OVERLAY_TABLE_MODE, // uint32_t TM_TT_PROP__GRAPH_SETTINGS__SHOW_REMOVED_INHERITED, // bool TM_TT_PROP__GRAPH_SETTINGS__DEBUG_WATCHED_WIRES, // subobject_set uint64_t }; ~~~

properties.h


### `TM_TT_TYPE__PROPERTIES_SETTINGS` ~~~c #define TM_TT_TYPE__PROPERTIES_SETTINGS "tm_properties_settings" #define TM_TT_TYPE_HASH__PROPERTIES_SETTINGS TM_STATIC_HASH("tm_properties_settings", 0x32e2b7b01c647065ULL) ~~~ Truth object used to remember the settings of the properties view when restoring the tab. ### `Properties` Properties of `TM_TT_TYPE__PROPERTIES_SETTINGS`. ~~~c enum TM_TT_PROP__PROPERTIES_SETTINGS { // Represents the sub-properties of the root object that are visible TM_TT_PROP__PROPERTIES_SETTINGS__MASK, // uint64_t }; ~~~

camera_component.h


### `TM_TT_TYPE__CAMERA_COMPONENT` ~~~c #define TM_TT_TYPE__CAMERA_COMPONENT "tm_camera_component" #define TM_TT_TYPE_HASH__CAMERA_COMPONENT TM_STATIC_HASH("tm_camera_component", 0x41418a36f804f101ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CAMERA_COMPONENT__PROJECTION_MODE, // tm_camera_projection_mode TM_TT_PROP__CAMERA_COMPONENT__NEAR_PLANE, // float TM_TT_PROP__CAMERA_COMPONENT__FAR_PLANE, // float TM_TT_PROP__CAMERA_COMPONENT__VERTICAL_FOV, // float TM_TT_PROP__CAMERA_COMPONENT__BOX_HEIGHT, // float TM_TT_PROP__CAMERA_COMPONENT__SHUTTER_SPEED, // float TM_TT_PROP__CAMERA_COMPONENT__APERTURE, // float TM_TT_PROP__CAMERA_COMPONENT__ISO, // float }; ~~~

entity.h


### `TM_TT_TYPE__ENTITY_SORT_VALUE` ~~~c #define TM_TT_TYPE__ENTITY_SORT_VALUE "tm_entity_sort_value" #define TM_TT_TYPE_HASH__ENTITY_SORT_VALUE TM_STATIC_HASH("tm_entity_sort_value", 0xeaaf394705f83715ULL) ~~~ ### `Properties` ~~~c enum TM_TT_PROP__ENTITY_SORT_VALUE { TM_TT_PROP__ENTITY__SORT_VALUE_CHILD, // reference [[TM_TT_TYPE__ANYTHING]] TM_TT_PROP__ENTITY__SORT_VALUE_VALUE, // double }; ~~~ ### `TM_TT_TYPE__ENTITY` ~~~c #define TM_TT_TYPE__ENTITY "tm_entity" #define TM_TT_TYPE_HASH__ENTITY TM_STATIC_HASH("tm_entity", 0xff156da2e01c4a3dULL) ~~~ ### `Properties` ~~~c enum TM_TT_PROP__ENTITY { TM_TT_PROP__ENTITY__NAME, // string TM_TT_PROP__ENTITY__COMPONENTS, // subobject_set(TM_TT_TYPE__*_COMPONENT) TM_TT_PROP__ENTITY__CHILDREN, // subobject_set [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__ENTITY__CHILD_SORT_VALUES, // subobject_set [[TM_TT_TYPE__ENTITY_SORT_VALUE]] }; ~~~

owner_component.h


### `TM_TT_TYPE__OWNER_COMPONENT` ~~~c #define TM_TT_TYPE__OWNER_COMPONENT "tm_owner_component" #define TM_TT_TYPE_HASH__OWNER_COMPONENT TM_STATIC_HASH("tm_owner_component", 0xc2421c7f6e7245f7ULL) ~~~

scene_tree_component.h


### `TM_TT_TYPE__SCENE_TREE_COMPONENT` ~~~c #define TM_TT_TYPE__SCENE_TREE_COMPONENT "tm_scene_tree_component" #define TM_TT_TYPE_HASH__SCENE_TREE_COMPONENT TM_STATIC_HASH("tm_scene_tree_component", 0x3dffa793f12d2b48ULL) ~~~ ### `Properties` ~~~c enum { // Array of [[tm_scene_tree_node_t]] stored in a buffer. Array is assumed to be sorted with parent // nodes appearing before child nodes. TM_TT_PROP__SCENE_TREE_COMPONENT__NODES, // buffer // Array of full node names stored in a buffer for debugging. Node names are stored in the // buffer in the same order that nodes are stored in the `NODES` buffer and separate by `\0` // characters. Note that the hashes of these names must match the hashes in // `tm_scene_tree_node_t->name`. // // In earlier versions of The Machinery, this property didn't exist, so it might be missing for // old data. In that case, the hexadecimal hash will be displayed instead of the proper node // name. TM_TT_PROP__SCENE_TREE_COMPONENT__NODE_NAMES, // buffer // The asset from which this component was rigged. May not be set. TM_TT_PROP__SCENE_TREE_COMPONENT__ASSET, // reference [[TM_TT_TYPE__ASSET]] }; ~~~

tag_component.h


### `TM_TT_TYPE__TAG_COMPONENT` ~~~c #define TM_TT_TYPE__TAG_COMPONENT "tm_tag_component" #define TM_TT_TYPE_HASH__TAG_COMPONENT TM_STATIC_HASH("tm_tag_component", 0x9c61247bdee977fbULL) ~~~ Truth type of the Tag component. ### `Properties` Properties of `TM_TT_TYPE__TAG_COMPONENT`. ~~~c enum { TM_TT_PROP__TAG_COMPONENT__TAGS, // reference_set [[TM_TT_TYPE__TAG]] }; ~~~ ### `TM_TT_TYPE__TAG` ~~~c #define TM_TT_TYPE__TAG "tm_tag" #define TM_TT_TYPE_HASH__TAG TM_STATIC_HASH("tm_tag", 0xc0995d6c144ac64aULL) ~~~ Truth type for `.tag` assets. Note that this type doesn't have any properties. The name of the `.tag` asset is used for the name of the tag.

transform_component.h


### `TM_TT_TYPE__TRANSFORM_COMPONENT` ~~~c #define TM_TT_TYPE__TRANSFORM_COMPONENT "tm_transform_component" #define TM_TT_TYPE_HASH__TRANSFORM_COMPONENT TM_STATIC_HASH("tm_transform_component", 0x8c878bd87b046f80ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__TRANSFORM_COMPONENT__LOCAL_POSITION, // subobject [[TM_TT_TYPE__POSITION]] TM_TT_PROP__TRANSFORM_COMPONENT__LOCAL_ROTATION, // subobject [[TM_TT_TYPE__ROTATION]] TM_TT_PROP__TRANSFORM_COMPONENT__LOCAL_SCALE, // subobject [[TM_TT_TYPE__SCALE]] TM_TT_PROP__TRANSFORM_COMPONENT__SCENE_TREE_NODE // uint64_t }; ~~~

entity_spawner_component.h


### `TM_TT_TYPE__ENTITY_SPAWNER_COMPONENT` ~~~c #define TM_TT_TYPE__ENTITY_SPAWNER_COMPONENT "tm_entity_spawner_component" #define TM_TT_TYPE_HASH__ENTITY_SPAWNER_COMPONENT TM_STATIC_HASH("tm_entity_spawner_component", 0x5e8c75f9cf86506cULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__ENTITY_SPAWNER_COMPONENT__CHANNELS, // subobject_set [[TM_TT_TYPE__ENTITY_SPAWNER_CHANNEL]] }; ~~~ ### `TM_TT_TYPE__ENTITY_SPAWNER_CHANNEL` ~~~c #define TM_TT_TYPE__ENTITY_SPAWNER_CHANNEL "tm_entity_spawner_channel" #define TM_TT_TYPE_HASH__ENTITY_SPAWNER_CHANNEL TM_STATIC_HASH("tm_entity_spawner_channel", 0x436a01576b7bf03cULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__ENTITY_SPAWNER_CHANNEL__NAME, // string TM_TT_PROP__ENTITY_SPAWNER_CHANNEL__DRAW_MODE, // uint32_t [[enum tm_entity_spawner_channel_draw_mode]] TM_TT_PROP__ENTITY_SPAWNER_CHANNEL__ENTITY, // reference [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__ENTITY_SPAWNER_CHANNEL__MAX_COUNT, // uint32_t TM_TT_PROP__ENTITY_SPAWNER_CHANNEL__CREATION_GRAPH, // subobject(CREATION_GRAPH) }; ~~~

graph_component.h


### `TM_TT_TYPE__GRAPH_COMPONENT` ~~~c #define TM_TT_TYPE__GRAPH_COMPONENT "tm_graph_component" #define TM_TT_TYPE_HASH__GRAPH_COMPONENT TM_STATIC_HASH("tm_graph_component", 0x99ba5b33d8a76d2fULL) ~~~ Truth type representing the graph component. ### `TM_TT_TYPE__ENTITY_GRAPH` ~~~c #define TM_TT_TYPE__ENTITY_GRAPH "tm_entity_graph" #define TM_TT_TYPE_HASH__ENTITY_GRAPH TM_STATIC_HASH("tm_entity_graph", 0x6cbb58b5db5a7763ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__ENTITY_GRAPH__GRAPH = 0, // subobject [[TM_TT_TYPE__GRAPH]] }; ~~~

graph_component_node_type.h


### `TM_TT_TYPE_HASH__STRING_HASH` ~~~c #define TM_TT_TYPE_HASH__STRING_HASH TM_STATIC_HASH("tm_string_hash", 0xed35f02cc91a9dbaULL) ~~~ Type representing a hashed string value. ### `TM_TT_TYPE__KEYBOARD_ITEM` ~~~c #define TM_TT_TYPE__KEYBOARD_ITEM "tm_keyboard_item" #define TM_TT_TYPE_HASH__KEYBOARD_ITEM TM_STATIC_HASH("tm_keyboard_item", 0xdb96362f16e4ceafULL) ~~~ Type representing an `enum tm_input_keyboard_item`. ### `TM_TT_TYPE__MOUSE_BUTTON` ~~~c #define TM_TT_TYPE__MOUSE_BUTTON "tm_mouse_button" #define TM_TT_TYPE_HASH__MOUSE_BUTTON TM_STATIC_HASH("tm_mouse_button", 0xf9c4d6457516c1e7ULL) ~~~ Type representing a mouse button. ### `TM_TT_TYPE_HASH__ENTITY_T` ~~~c #define TM_TT_TYPE_HASH__ENTITY_T TM_STATIC_HASH("tm_entity_t", 0x75440c457c35bfd2ULL) ~~~ Type representing a runtime entity. ### `TM_TT_TYPE__ENTITY_ASSET_REFERENCE` ~~~c #define TM_TT_TYPE__ENTITY_ASSET_REFERENCE "tm_entity_asset_reference" #define TM_TT_TYPE_HASH__ENTITY_ASSET_REFERENCE TM_STATIC_HASH("tm_entity_asset_reference", 0x37219d9951ef17f0ULL) ~~~ Type representing a reference to an entity root asset ### `TM_TT_TYPE__LOCAL_ENTITY_ASSET_REFERENCE` ~~~c #define TM_TT_TYPE__LOCAL_ENTITY_ASSET_REFERENCE "tm_local_entity_asset_reference" #define TM_TT_TYPE_HASH__LOCAL_ENTITY_ASSET_REFERENCE TM_STATIC_HASH("tm_local_entity_asset_reference", 0xf04a971fe569b002ULL) ~~~ Type representing a reference to an entity asset in the same scene ### `TM_TT_TYPE__TAG_REFERENCE` ~~~c #define TM_TT_TYPE__TAG_REFERENCE "tm_tag_reference" #define TM_TT_TYPE_HASH__TAG_REFERENCE TM_STATIC_HASH("tm_tag_reference", 0xcbac87c992f87b2ULL) ~~~ Type representing a reference to a tag ### `TM_TT_TYPE__CREATION_GRAPH_ASSET_REFERENCE` ~~~c #define TM_TT_TYPE__CREATION_GRAPH_ASSET_REFERENCE "tm_creation_graph_asset_reference" #define TM_TT_TYPE_HASH__CREATION_GRAPH_ASSET_REFERENCE TM_STATIC_HASH("tm_creation_graph_asset_reference", 0xe8be0cc61ab04108ULL) ~~~ Type representing a reference to a creation graph asset

physics_body_component.h


### `TM_TT_TYPE__PHYSICS_BODY_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSICS_BODY_COMPONENT "tm_physics_body_component" #define TM_TT_TYPE_HASH__PHYSICS_BODY_COMPONENT TM_STATIC_HASH("tm_physics_body_component", 0xb9548cb0b662a0cbULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_BODY__MASS = 0, // float TM_TT_PROP__PHYSICS_BODY__CENTER_OF_MASS, // subobject [[TM_TT_TYPE__POSITION]] TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR, // subobject(TM_TT_TYPE__VEC3) TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR_ROTATION, // subobject [[TM_TT_TYPE__ROTATION]] TM_TT_PROP__PHYSICS_BODY__KINEMATIC, // bool TM_TT_PROP__PHYSICS_BODY__LINEAR_DAMPING, // float TM_TT_PROP__PHYSICS_BODY__ANGULAR_DAMPING, // float TM_TT_PROP__PHYSICS_BODY__DISABLE_GRAVITY, // bool TM_TT_PROP__PHYSICS_BODY__ENABLE_CCD, // bool }; ~~~

physics_collision.h


### `TM_TT_TYPE__PHYSICS_COLLISION` ~~~c #define TM_TT_TYPE__PHYSICS_COLLISION "tm_physics_collision" #define TM_TT_TYPE_HASH__PHYSICS_COLLISION TM_STATIC_HASH("tm_physics_collision", 0xa7877788271e981cULL) ~~~ Specifies collision setting with this collision type and other collision types. ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_COLLISION__COLLIDES_WITH, // reference_set [[TM_TT_TYPE__PHYSICS_COLLISION]] TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_FOUND_WITH, // reference_set [[TM_TT_TYPE__PHYSICS_COLLISION]] TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_PERSISTS_WITH, // reference_set [[TM_TT_TYPE__PHYSICS_COLLISION]] TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_LOST_WITH, // reference_set [[TM_TT_TYPE__PHYSICS_COLLISION]] }; ~~~

physics_joint_component.h


### `TM_TT_TYPE__PHYSICS_JOINT_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT_COMPONENT "tm_physics_joint_component" #define TM_TT_TYPE_HASH__PHYSICS_JOINT_COMPONENT TM_STATIC_HASH("tm_physics_joint_component", 0x78c38d66e3b22d8cULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_JOINT_COMPONENT__JOINT, // subobject(PHYSICS_JOINT_*) TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_0, // reference [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_1, // reference [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_ENABLED, // bool TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_BOUNCE_THRESHOLD, // float TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_RESTITUTION, // float TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_STIFFNESS, // float TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_DAMPING, // float TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_FORCE, // float TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_TORQUE, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__FIXED` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__FIXED "tm_physics_joint_fixed" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__FIXED TM_STATIC_HASH("tm_physics_joint_fixed", 0x391acfcc1db18004ULL) ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__DISTANCE` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__DISTANCE "tm_physics_joint_distance" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__DISTANCE TM_STATIC_HASH("tm_physics_joint_distance", 0xfab4ff6f4e42bd30ULL) ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__SPHERICAL` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__SPHERICAL "tm_physics_joint_spherical" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__SPHERICAL TM_STATIC_HASH("tm_physics_joint_spherical", 0xb5db617da0b10af6ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Y_ANGLE_LIMIT, // float TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Z_ANGLE_LIMIT, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__REVOLUTE` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__REVOLUTE "tm_physics_joint_revolute" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__REVOLUTE TM_STATIC_HASH("tm_physics_joint_revolute", 0x29837ac6908306b7ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__LOWER_LIMIT, // float TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__UPPER_LIMIT, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__PRISMATIC` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__PRISMATIC "tm_physics_joint_prismatic" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__PRISMATIC TM_STATIC_HASH("tm_physics_joint_prismatic", 0x47969cf064acffdeULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__LOWER_LIMIT, // float TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__UPPER_LIMIT, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_JOINT__D6` ~~~c #define TM_TT_TYPE__PHYSICS_JOINT__D6 "tm_physics_joint_d6" #define TM_TT_TYPE_HASH__PHYSICS_JOINT__D6 TM_STATIC_HASH("tm_physics_joint_d6", 0x7b4b975016b0cd7aULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MIN, // float TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MAX, // float }; ~~~

physics_material.h


### `TM_TT_TYPE__PHYSICS_MATERIAL` ~~~c #define TM_TT_TYPE__PHYSICS_MATERIAL "tm_physics_material" #define TM_TT_TYPE_HASH__PHYSICS_MATERIAL TM_STATIC_HASH("tm_physics_material", 0x86cdc943543bcd3fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_MATERIAL__STATIC_FRICTION, // float TM_TT_PROP__PHYSICS_MATERIAL__DYNAMIC_FRICTION, // float TM_TT_PROP__PHYSICS_MATERIAL__RESTITUTION, // float // ??? Friction combine mode // ??? Restitution combine mode // ??? Friction flags // ??? Density }; ~~~

physics_mover_component.h


### `TM_TT_TYPE__PHYSICS_MOVER_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSICS_MOVER_COMPONENT "tm_physics_mover_component" #define TM_TT_TYPE_HASH__PHYSICS_MOVER_COMPONENT TM_STATIC_HASH("tm_physics_mover_component", 0x85b3aadfb0bbfed9ULL) ~~~ ### `Properties` ~~~c enum { // Note: The height specified here does not include the radius of the capsule's rounded bottom. // Total height is HEIGHT + RADIUS + RADIUS. TM_TT_PROP__PHYSICS_MOVER_COMPONENT__HEIGHT, // float TM_TT_PROP__PHYSICS_MOVER_COMPONENT__RADIUS, // float TM_TT_PROP__PHYSICS_MOVER_COMPONENT__COLLISION, // reference [[TM_TT_TYPE__PHYSICS_COLLISION]] }; ~~~

physics_scene_settings.h


### `TM_TT_TYPE__PHYSICS_SCENE_SETTINGS` ~~~c #define TM_TT_TYPE__PHYSICS_SCENE_SETTINGS "tm_physics_scene_settings" #define TM_TT_TYPE_HASH__PHYSICS_SCENE_SETTINGS TM_STATIC_HASH("tm_physics_scene_settings", 0x12e158133fa00558ULL) ~~~ Specifies settings for a physics scene. ### `Properties` ~~~c enum { // Specifies the default gravity acceleration vector in the scene. TM_TT_PROP__PHYSICS_SCENE_SETTINGS__GRAVITY, // subobject(VECTOR3) TM_TT_PROP__PHYSICS_SCENE_SETTINGS__CCD, // bool TM_TT_PROP__PHYSICS_SCENE_SETTINGS__BOUNDING_BOX_MIN, // subobject(VECTOR3) TM_TT_PROP__PHYSICS_SCENE_SETTINGS__BOUNDING_BOX_MAX, // subobject(VECTOR3) }; ~~~

physics_shape_component.h


### `TM_TT_TYPE__PHYSICS_SHAPE_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE_COMPONENT "tm_physics_shape_component" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE_COMPONENT TM_STATIC_HASH("tm_physics_shape_component", 0x5fcc6b0e7139b666ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__TYPE, // uint32_t (enum tm_physics_shape) TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__SHAPE, // subobject(PHYSICS_SHAPE_*) // Reference to material to use for shape. A null reference is acceptable and means "use the // default material". TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__MATERIAL, // reference [[TM_TT_TYPE__PHYSICS_MATERIAL]] // Reference to collision settings to use for shape. A null reference is acceptable and means // "use default collision settings". TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__COLLISION, // reference [[TM_TT_TYPE__PHYSICS_COLLISION]] TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__IS_TRIGGER, // bool }; ~~~ ### `TM_TT_TYPE__PHYSICS_SHAPE__SPHERE` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE__SPHERE "tm_physics_shape_sphere" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE__SPHERE TM_STATIC_HASH("tm_physics_shape_sphere", 0xd314ebb260bdf678ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_SHAPE__SPHERE__RADIUS, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_SHAPE__CAPSULE` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE__CAPSULE "tm_physics_shape_capsule" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE__CAPSULE TM_STATIC_HASH("tm_physics_shape_capsule", 0x914ef27d0446fe70ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__RADIUS, // float TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__HALF_HEIGHT, // float }; ~~~ ### `TM_TT_TYPE__PHYSICS_SHAPE__BOX` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE__BOX "tm_physics_shape_box" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE__BOX TM_STATIC_HASH("tm_physics_shape_box", 0xf567d3ed0fed7751ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_SHAPE__BOX__HALF_EXTENT, // vector3 }; ~~~ ### `TM_TT_TYPE__PHYSICS_SHAPE__CONVEX` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE__CONVEX "tm_physics_shape_convex" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE__CONVEX TM_STATIC_HASH("tm_physics_shape_convex", 0xd6f13455ff814128ULL) ~~~ ### `Properties` ~~~c enum { // Refers to another entity in the same asset that holds the mesh that we will use to create // the convex shape. // // ???: Do we also want to support referring directly to a mesh asset? TM_TT_PROP__PHYSICS_SHAPE__CONVEX__MESH, // reference [[TM_TT_TYPE__ENTITY]] // Specifies the format of the cooked physics data. TM_TT_PROP__PHYSICS_SHAPE__CONVEX__FORMAT, // string // Buffer that holds the cooked data in the specified format. TM_TT_PROP__PHYSICS_SHAPE__CONVEX__DATA, // buffer }; ~~~ ### `TM_TT_TYPE__PHYSICS_SHAPE__MESH` ~~~c #define TM_TT_TYPE__PHYSICS_SHAPE__MESH "tm_physics_shape_mesh" #define TM_TT_TYPE_HASH__PHYSICS_SHAPE__MESH TM_STATIC_HASH("tm_physics_shape_mesh", 0xd5b367828a2a131eULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSICS_SHAPE__MESH__MESH, // reference [[TM_TT_TYPE__ENTITY]] TM_TT_PROP__PHYSICS_SHAPE__MESH__FORMAT, // string TM_TT_PROP__PHYSICS_SHAPE__MESH__DATA, // buffer }; ~~~

velocity_component.h


### `TM_TT_TYPE__VELOCITY_COMPONENT` ~~~c #define TM_TT_TYPE__VELOCITY_COMPONENT "tm_velocity_component" #define TM_TT_TYPE_HASH__VELOCITY_COMPONENT TM_STATIC_HASH("tm_velocity_component", 0xd79b01e5d0686377ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VELOCITY_COMPONENT__VELOCITY, // subobject(TM_TT_TYPE__VEC3) TM_TT_PROP__VELOCITY_COMPONENT__ANGULAR_VELOCITY, // subobject(TM_TT_TYPE__VEC3) }; ~~~

physx_scene.h


### `TM_TT_TYPE__PHYSX_RIGID_STATIC_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSX_RIGID_STATIC_COMPONENT "tm_physx_rigid_static_component" #define TM_TT_TYPE_HASH__PHYSX_RIGID_STATIC_COMPONENT TM_STATIC_HASH("tm_physx_rigid_static_component", 0x3eefdbd1f78914a2ULL) ~~~ ### `TM_TT_TYPE__PHYSX_RIGID_BODY_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSX_RIGID_BODY_COMPONENT "tm_physx_rigid_body_component" #define TM_TT_TYPE_HASH__PHYSX_RIGID_BODY_COMPONENT TM_STATIC_HASH("tm_physx_rigid_body_component", 0xc3da0fe4200c7849ULL) ~~~ ### `TM_TT_TYPE__PHYSX_RIGID_BODY_SHAPE_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSX_RIGID_BODY_SHAPE_COMPONENT "tm_physx_rigid_body_shape_component" #define TM_TT_TYPE_HASH__PHYSX_RIGID_BODY_SHAPE_COMPONENT TM_STATIC_HASH("tm_physx_rigid_body_shape_component", 0x992878166693e1f5ULL) ~~~ ### `TM_TT_TYPE__PHYSX_JOINT_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSX_JOINT_COMPONENT "tm_physx_joint_component" #define TM_TT_TYPE_HASH__PHYSX_JOINT_COMPONENT TM_STATIC_HASH("tm_physx_joint_component", 0x89a451f03be2ffbfULL) ~~~ ### `TM_TT_TYPE__PHYSX_MOVER_COMPONENT` ~~~c #define TM_TT_TYPE__PHYSX_MOVER_COMPONENT "tm_physx_mover_component" #define TM_TT_TYPE_HASH__PHYSX_MOVER_COMPONENT TM_STATIC_HASH("tm_physx_mover_component", 0x9900daa429805a72ULL) ~~~ ### `TM_TT_TYPE__PHYSX_VISUALIZATION_PARAMETERS` ~~~c #define TM_TT_TYPE__PHYSX_VISUALIZATION_PARAMETERS "tm_physx_visualization_parameters" #define TM_TT_TYPE_HASH__PHYSX_VISUALIZATION_PARAMETERS TM_STATIC_HASH("tm_physx_visualization_parameters", 0xd912e0a560fa2858ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__VISUALIZE, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__SCALE, // float TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__BODY_AXES, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__CONTACT_POINT, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__ACTOR_AXES, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__COLLISION_AABBS, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__COLLISION_SHAPES, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__COLLISION_DYNAMIC, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__JOINT_LOCAL_FRAMES, // bool TM_TT_PROP__PHYSX_VISUALIZATION_PARAMETERS__JOINT_LIMITS, // bool }; ~~~

cubemap_capture_component.h


### `TM_TT_TYPE__CUBEMAP_CAPTURE_COMPONENT` ~~~c #define TM_TT_TYPE__CUBEMAP_CAPTURE_COMPONENT "tm_cubemap_capture_component" #define TM_TT_TYPE_HASH__CUBEMAP_CAPTURE_COMPONENT TM_STATIC_HASH("tm_cubemap_capture_component", 0x8ddf47594b1bc8adULL) ~~~ ### `Properties` ~~~c enum { // UID of `tm_cubemap_capture_api` to use when capturing. TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__CAPTURE_INTERFACE, // uint64 // Creation graph to run for processing the captured result. TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__OUTPUT_IMAGE, // subobject [[TM_TT_TYPE__CREATION_GRAPH]] // Cubemap resolution. TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__RESOLUTION, // uint32 }; ~~~

grid.h


### `TM_TT_TYPE__GRID_SETTINGS` ~~~c #define TM_TT_TYPE__GRID_SETTINGS "tm_grid_settings" #define TM_TT_TYPE_HASH__GRID_SETTINGS TM_STATIC_HASH("tm_grid_settings", 0x8547d86433b5494cULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__GRID_SETTINGS__CELL_SIZE, // float TM_TT_PROP__GRID_SETTINGS__EXTENT, // float TM_TT_PROP__GRID_SETTINGS__INFINITE, // bool TM_TT_PROP__GRID_SETTINGS__THIN_LINES_COLOR, // subobject [[TM_TT_TYPE__COLOR_RGBA]] TM_TT_PROP__GRID_SETTINGS__THICK_LINES_COLOR // subobject [[TM_TT_TYPE__COLOR_RGBA]] }; ~~~

render_component.h


### `TM_TT_TYPE__RENDER_COMPONENT` ~~~c #define TM_TT_TYPE__RENDER_COMPONENT "tm_render_component" #define TM_TT_TYPE_HASH__RENDER_COMPONENT TM_STATIC_HASH("tm_render_component", 0xc8e2133c522d2218ULL) ~~~ ### `TM_TT_TYPE_HASH__RENDER_COMPONENT__REQUEST_ACCELERATION_STRUCTURES` ~~~c #define TM_TT_TYPE_HASH__RENDER_COMPONENT__REQUEST_ACCELERATION_STRUCTURES TM_STATIC_HASH("tm_render_component__request_acceleration_structures", 0xb90fc10685f083bULL) ~~~ ### `Properties` Render Component interface ~~~c enum { TM_TT_PROP__RENDER_COMPONENT__CREATION_GRAPH, // subobject [[TM_TT_TYPE__CREATION_GRAPH]] }; ~~~

skinning_component.h


### `TM_TT_TYPE__SKINNING_COMPONENT` ~~~c #define TM_TT_TYPE__SKINNING_COMPONENT "tm_skinning_component" #define TM_TT_TYPE_HASH__SKINNING_COMPONENT TM_STATIC_HASH("tm_skinning_component", 0xf7e7773feec427fbULL) ~~~ ### `Properties` ~~~c enum { // Array of [[tm_bone_t]] stored in a buffer. TM_TT_PROP__SKINNING_COMPONENT__BONES, // buffer }; ~~~

sculpt_component.h


### `TM_TT_TYPE__SCULPT_COMPONENT` ~~~c #define TM_TT_TYPE__SCULPT_COMPONENT "tm_sculpt_component" #define TM_TT_TYPE_HASH__SCULPT_COMPONENT TM_STATIC_HASH("tm_sculpt_component", 0xb21b47d2dc8ba17dULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SCULPT_COMPONENT__VISIBILITY_FLAGS, // suboject_set(TM_TT_TYPE_HASH__VISIBILITY_FLAG) TM_TT_PROP__SCULPT_COMPONENT__NUM_BOXES, // uint32_t TM_TT_PROP__SCULPT_COMPONENT__BOXES_POS, // buffer(tm_vec3_t[]) TM_TT_PROP__SCULPT_COMPONENT__BOXES_ROT, // buffer(tm_vec4_t[]) TM_TT_PROP__SCULPT_COMPONENT__BOXES_SIZE, // buffer(tm_vec3_t[]) TM_TT_PROP__SCULPT_COMPONENT__BOXES_COLOR, // buffer(uint32_t[]) TM_TT_PROP__SCULPT_COMPONENT__BOXES_PARENT, // buffer(uint32_t[]) TM_TT_PROP__SCULPT_COMPONENT__SELECTION, // subobject [[TM_TT_TYPE__SCULPT_COMPONENT_SELECTION]] TM_TT_PROP__SCULPT_COMPONENT__DRAW_COLOR, // subobject [[TM_TT_TYPE__COLOR_RGB]] }; ~~~ ### `TM_TT_TYPE__SCULPT_COMPONENT_SELECTION` ~~~c #define TM_TT_TYPE__SCULPT_COMPONENT_SELECTION "tm_sculpt_component_selection" #define TM_TT_TYPE_HASH__SCULPT_COMPONENT_SELECTION TM_STATIC_HASH("tm_sculpt_component_selection", 0xfb9e0c41ee8d4185ULL) ~~~ Pseudo-object that represents a selection in the sculpt component. ### `Properties` ~~~c enum { TM_TT_PROP__SCULPT_COMPONENT_SELECTION__INDICES, // buffer(uint32_t[]) TM_TT_PROP__SCULPT_COMPONENT_SELECTION__POSITION, // subobject [[TM_TT_TYPE__POSITION]] TM_TT_PROP__SCULPT_COMPONENT_SELECTION__ROTATION, // subobject [[TM_TT_TYPE__ROTATION]] TM_TT_PROP__SCULPT_COMPONENT_SELECTION__EXTENT, // subobject(TM_TT_TYPE__VEC3) TM_TT_PROP__SCULPT_COMPONENT_SELECTION__COLOR, // subobject [[TM_TT_TYPE__COLOR_RGB]] }; ~~~

shader_system_truth.h


### `TM_TT_TYPE__SHADER_SYSTEM_REPOSITORY` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_REPOSITORY "tm_shader_system_repository" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_REPOSITORY TM_STATIC_HASH("tm_shader_system_repository", 0xd2bdbe19fb79b9f4ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_REPOSITORY__DECLARATIONS, TM_TT_PROP__SHADER_REPOSITORY__MATERIALS }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_STAGE_DECLARATION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_STAGE_DECLARATION "tm_shader_system_stage_declaration" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_STAGE_DECLARATION TM_STATIC_HASH("tm_shader_system_stage_declaration", 0x585f51410d1cb18fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_STAGE_DECLARATION__CODE, TM_TT_PROP__SHADER_STAGE_DECLARATION__CODE_LINE_NUMBER, TM_TT_PROP__SHADER_STAGE_DECLARATION__STAGE_EXPORTS, TM_TT_PROP__SHADER_STAGE_DECLARATION__SYSTEM_SEMANTICS_IMPORTS, TM_TT_PROP__SHADER_STAGE_DECLARATION__SYSTEM_SEMANTICS_EXPORTS, TM_TT_PROP__SHADER_STAGE_DECLARATION__STAGE_ATTRIBUTES, TM_TT_PROP__SHADER_STAGE_DECLARATION__CONDITION }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_DECLARATION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_DECLARATION "tm_shader_system_declaration" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_DECLARATION TM_STATIC_HASH("tm_shader_system_declaration", 0x9582c40a7a888720ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_DECLARATION__NAME, TM_TT_PROP__SHADER_DECLARATION__COMPILABLE, TM_TT_PROP__SHADER_DECLARATION__SYSTEM, TM_TT_PROP__SHADER_DECLARATION__CREATION_GRAPH_NODE, TM_TT_PROP__SHADER_DECLARATION__INCLUDES, TM_TT_PROP__SHADER_DECLARATION__VARIATIONS, TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONFIGURATIONS, TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONTEXTS, TM_TT_PROP__SHADER_DECLARATION__FILENAME, TM_TT_PROP__SHADER_DECLARATION__VALIDITY_HASH, TM_TT_PROP__SHADER_DECLARATION__LAST_MODIFIED, TM_TT_PROP__SHADER_DECLARATION__REQUESTS, TM_TT_PROP__SHADER_DECLARATION__CONSTANTS, TM_TT_PROP__SHADER_DECLARATION__RESOURCES, TM_TT_PROP__SHADER_DECLARATION__PAYLOADS, TM_TT_PROP__SHADER_DECLARATION__RENDER_STATE_BLOCKS, TM_TT_PROP__SHADER_DECLARATION__SAMPLER_STATE_BLOCKS, TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE, TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE_LINE_NUMBER, TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE, TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE_LINE_NUMBER, TM_TT_PROP__SHADER_DECLARATION__VERTEX_STAGE, TM_TT_PROP__SHADER_DECLARATION__HULL_STAGE, TM_TT_PROP__SHADER_DECLARATION__DOMAIN_STAGE, TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_STAGE, TM_TT_PROP__SHADER_DECLARATION__PIXEL_STAGE, TM_TT_PROP__SHADER_DECLARATION__COMPUTE_STAGE, TM_TT_PROP__SHADER_DECLARATION__RAYGEN_STAGE, TM_TT_PROP__SHADER_DECLARATION__ANY_HIT_STAGE, TM_TT_PROP__SHADER_DECLARATION__CLOSEST_HIT_STAGE, TM_TT_PROP__SHADER_DECLARATION__MISS_STAGE, TM_TT_PROP__SHADER_DECLARATION__INTERSECTION_STAGE, TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH, TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH_LINE_NUMBER, }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK "tm_shader_system_render_state_block" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_RENDER_STATE_BLOCK TM_STATIC_HASH("tm_shader_system_render_state_block", 0xa93c05d3ba7f22e8ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__RENDER_STATE_BLOCK__TYPE, TM_TT_PROP__RENDER_STATE_BLOCK__STATES }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_SAMPLER_STATE_BLOCK` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_SAMPLER_STATE_BLOCK "tm_shader_system_sampler_state_block" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_SAMPLER_STATE_BLOCK TM_STATIC_HASH("tm_shader_system_sampler_state_block", 0xfcab9c7b46713fcaULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SAMPLER_STATE_BLOCK__NAME, TM_TT_PROP__SAMPLER_STATE_BLOCK__STATES }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_REQUEST` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_REQUEST "tm_shader_system_request" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_REQUEST TM_STATIC_HASH("tm_shader_system_request", 0x2a13c0aa3decb44eULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_REQUEST__TYPE_NAME, TM_TT_PROP__SHADER_REQUEST__CHANNEL_NAME, }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CONSTANT` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CONSTANT "tm_shader_system_constant" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CONSTANT TM_STATIC_HASH("tm_shader_system_constant", 0xd712f7cfe7188646ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_CONSTANT__NAME, TM_TT_PROP__SHADER_CONSTANT__TYPE, TM_TT_PROP__SHADER_CONSTANT__ROWS, TM_TT_PROP__SHADER_CONSTANT__COLUMNS, TM_TT_PROP__SHADER_CONSTANT__STRUCT_SIZE, TM_TT_PROP__SHADER_CONSTANT__ELEMENTS }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_RESOURCE` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_RESOURCE "tm_shader_system_resource" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_RESOURCE TM_STATIC_HASH("tm_shader_system_resource", 0x54265e99bfcd2961ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_RESOURCE__NAME, TM_TT_PROP__SHADER_RESOURCE__TYPE, TM_TT_PROP__SHADER_RESOURCE__ELEMENT_TYPE, TM_TT_PROP__SHADER_RESOURCE__ELEMENTS, TM_TT_PROP__SHADER_RESOURCE__STATIC_RESOURCE, TM_TT_PROP__SHADER_RESOURCE__UAV }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_PAYLOAD` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_PAYLOAD "tm_shader_system_payload" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_PAYLOAD TM_STATIC_HASH("tm_shader_system_payload", 0x2b9ea574261611b4ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_PAYLOAD__NAME, TM_TT_PROP__SHADER_PAYLOAD__FIELDS }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_EXPORT` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_EXPORT "tm_shader_system_stage_export" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_EXPORT TM_STATIC_HASH("tm_shader_system_stage_export", 0x16be80283f5ab5c4ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__STAGE_EXPORT__CONSTANT, TM_TT_PROP__STAGE_EXPORT__INTERPOLATION_MODIFIER, TM_TT_PROP__STAGE_EXPORT__CHANNEL_REQUESTED, }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_INCLUDE` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_INCLUDE "tm_shader_system_include" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_INCLUDE TM_STATIC_HASH("tm_shader_system_include", 0x191eb05a2b489146ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__INCLUDE__NAME, }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_VARIATION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_VARIATION "tm_shader_system_variation" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_VARIATION TM_STATIC_HASH("tm_shader_system_variation", 0x14a46edeaac824fcULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VARIATION__SYSTEMS }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM "tm_shader_system_variation_system" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_VARIATION_SYSTEM TM_STATIC_HASH("tm_shader_system_variation_system", 0xc96488cb408e745fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VARIATION__SYSTEM__NAME, }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION "tm_shader_system_compile_configuration" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_COMPILE_CONFIGURATION TM_STATIC_HASH("tm_shader_system_compile_configuration", 0x5e778dd6b3908bceULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COMPILE_CONFIGURATION__NAME, // string TM_TT_PROP__COMPILE_CONFIGURATION__VARIATIONS // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_VARIATION]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_COMPILE_BRANCH` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_COMPILE_BRANCH "tm_shader_system_compile_branch" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_COMPILE_BRANCH TM_STATIC_HASH("tm_shader_system_compile_branch", 0x8e52a76b87e6296fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COMPILE_BRANCH__CONDITION, // buffer TM_TT_PROP__COMPILE_BRANCH__THEN, // subobject_set [[TM_TT_TYPE__ANYTHING]] TM_TT_PROP__COMPILE_BRANCH__ELSE, // subobject_set [[TM_TT_TYPE__ANYTHING]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION "tm_shader_system_pass_condition" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_PASS_CONDITION TM_STATIC_HASH("tm_shader_system_pass_condition", 0xfac4c5ae15c3b003ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PASS_CONDITION__SYSTEMS_ACTIVE, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_PASS` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_PASS "tm_shader_system_pass" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_PASS TM_STATIC_HASH("tm_shader_system_pass", 0xa265c6ee58e82c21ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__PASS__LAYER, // string TM_TT_PROP__PASS__CONDITION, //subobject [[TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION]] TM_TT_PROP__PASS__ENABLE_SYSTEMS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM]] TM_TT_PROP__PASS__RENDER_STATE_BLOCKS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK]] TM_TT_PROP__PASS__COMPILE_CONFIGURATION, // reference [[TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONTEXT` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONTEXT "tm_shader_system_compile_context" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_COMPILE_CONTEXT TM_STATIC_HASH("tm_shader_system_compile_context", 0xe7b5f47a19a422d9ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__COMPILE_CONTEXT__NAME, // string TM_TT_PROP__COMPILE_CONTEXT__PASSES, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_PASS]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_COMPILED_RESULT` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_COMPILED_RESULT "tm_shader_system_compiled_result" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_COMPILED_RESULT TM_STATIC_HASH("tm_shader_system_compiled_result", 0x8c9fa9bb03975461ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__NAME, // uint64 TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__BUFFER, // buffer }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM__CONSTANT_NODE__SETTINGS` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM__CONSTANT_NODE__SETTINGS "tm_shader_system_constant_node_settings" #define TM_TT_TYPE_HASH___SHADER_SYSTEM__CONSTANT_NODE__SETTINGS TM_STATIC_HASH("tm_shader_system_constant_node_settings", 0x2890f1d57500f96eULL) ~~~ Constant node properties ### `Properties` ~~~c enum { TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE_TYPE_HASH, // uint64_t TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE, // subobject [[TM_TT_TYPE__ANYTHING]] -- depends on VALUE_TYPE_HASH }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT "tm_shader_system_creation_graph_node_resource_aspect" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT TM_STATIC_HASH("tm_shader_system_creation_graph_node_resource_aspect", 0xb4d5f396b6bd2223ULL) ~~~ Creation graph node object types and properties !!! note: TODO Maybe these should be moved into shader_system_creation_graph.* ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__RESOURCE, // string TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__ASPECT, // uint32_t ([[enum tm_renderer_image_aspect]]) }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE "tm_shader_system_creation_graph_node_define" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE TM_STATIC_HASH("tm_shader_system_creation_graph_node_define", 0x323cb64491e21141ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE_DEFINE__NAME, // string }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION "tm_shader_system_creation_graph_node_action" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION TM_STATIC_HASH("tm_shader_system_creation_graph_node_action", 0x80800d1f71eed33fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__NAME_HASH, // uint64_t TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RESOURCE_ASPECTS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT]] TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__DEFINES, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE]] TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__REQUESTS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_REQUEST]] TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__ENABLE_SYSTEMS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION]] TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RENDER_STATE_BLOCKS, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION "tm_shader_system_creation_graph_node_connector_setting_option" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION TM_STATIC_HASH("tm_shader_system_creation_graph_node_connector_setting_option", 0x3cbd088d7f00fdd1ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_NAME, // string TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_TOOLTIP, // string TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__ACTION, // reference [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING "tm_shader_system_creation_graph_node_connector_setting" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING TM_STATIC_HASH("tm_shader_system_creation_graph_node_connector_setting", 0x13a20649cbd954adULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_NAME, //string TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_TOOLTIP, //string TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__SETTING_CONDITION, //buffer TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__OPTIONS, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION]] TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__BOOL_ACTION, // reference [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS "tm_shader_system_creation_graph_node_connector_settings" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS TM_STATIC_HASH("tm_shader_system_creation_graph_node_connector_settings", 0x68e5ce58c21a6a1bULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__OBJECT_TYPE_HASH, // uint64_t TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__SETTINGS, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR "tm_shader_system_creation_graph_node_connector" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR TM_STATIC_HASH("tm_shader_system_creation_graph_node_connector", 0x81e5267e15759b2ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__NAME, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_TOOLTIP, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_ELEMENT, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__CONNECTOR_FLAG, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__IS_OPTIONAL, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__STRUCT_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__ROWS, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__COLUMNS, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF, // subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR]] TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__EVALUATION_STAGE, TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__SETTINGS, //subobject [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS]] }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF "tm_shader_system_creation_graph_node_connector_type_of" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF TM_STATIC_HASH("tm_shader_system_creation_graph_node_connector_type_of", 0xd6d53439bc93284fULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__CONNECTOR, // reference [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR]] TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__REQUESTED_CHANNEL // string }; ~~~ ### `TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE` ~~~c #define TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE "tm_shader_system_creation_graph_node" #define TM_TT_TYPE_HASH__SHADER_SYSTEM_CREATION_GRAPH_NODE TM_STATIC_HASH("tm_shader_system_creation_graph_node", 0xdbbf0ac0e20a6bb5ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CREATION_GRAPH_NODE__DECLARATION_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__NODE_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__DISPLAY_NAME, TM_TT_PROP__CREATION_GRAPH_NODE__CATEGORY, TM_TT_PROP__CREATION_GRAPH_NODE__INCLUDES, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_INCLUDE]] TM_TT_PROP__CREATION_GRAPH_NODE__ACTIONS, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION]] TM_TT_PROP__CREATION_GRAPH_NODE__INPUTS, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR]] TM_TT_PROP__CREATION_GRAPH_NODE__OUTPUTS, //subobject_set [[TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR]] }; ~~~

simulate_entry.h


### `TM_TT_TYPE__SIMULATE_ENTRY` ~~~c #define TM_TT_TYPE__SIMULATE_ENTRY "tm_simulate_entry" #define TM_TT_TYPE_HASH__SIMULATE_ENTRY TM_STATIC_HASH("tm_simulate_entry", 0xd8a5a6310a5c1feULL) ~~~ This is The Truth object enclosed within `.simulate_entry` assets. ### `Properties` ~~~c enum { // Matches the ID inside one of the [[tm_simulate_entry_i]] implementations. TM_TT_PROP__SIMULATE_ENTRY__ID, // uint64_t }; ~~~

runner_settings.h


### `TM_TT_TYPE__RUNNER_SETTINGS` ~~~c #define TM_TT_TYPE__RUNNER_SETTINGS "tm_runner_settings" #define TM_TT_TYPE_HASH__RUNNER_SETTINGS TM_STATIC_HASH("tm_runner_settings", 0xbac6b6df95ad9ed6ULL) ~~~ ### `Properties` ~~~c enum { // The project to load. TM_TT_PROP__RUNNER_SETTINGS__PROJECT, // string // The entity in the loaded project to use as 'world'. TM_TT_PROP__RUNNER_SETTINGS__WORLD_ENTITY, // string // The directory that contains the shaders. TM_TT_PROP__RUNNER_SETTINGS__SHADERS_DIR, // string // The folder that contains all plugins to load. TM_TT_PROP__RUNNER_SETTINGS__PLUGINS_DIR, // string // The title of the runner window TM_TT_PROP__RUNNER_SETTINGS__WINDOW_TITLE, // string // The resolution of the window TM_TT_PROP__RUNNER_SETTINGS__RESOLUTION, // vec2 // Fullscreen TM_TT_PROP__RUNNER_SETTINGS__FULLSCREEN, // bool }; ~~~

statistics_graph.h


### `TM_TT_TYPE__STATISTICS_GRAPH` ~~~c #define TM_TT_TYPE__STATISTICS_GRAPH "tm_statistics_graph" #define TM_TT_TYPE_HASH__STATISTICS_GRAPH TM_STATIC_HASH("tm_statistics_graph", 0x3814bfe086807eddULL) ~~~ Truth type to represent a statistics graph. ### `Properties` ~~~c enum { // Name of the graph. TM_TT_PROP__STATISTICS_GRAPH__NAME, // string // Type of the graph. TM_TT_PROP__STATISTICS_GRAPH__TYPE, // uint32_t (enum tm_tt_value__statistics_graph__type) // Number of historical items to show. Note that no matter what the value of this number is, // we can never show more than [[TM_STATISTICS_SOURCE_MAX_FRAMES]] values, since that is the // amount of data that we record. TM_TT_PROP__STATISTICS_GRAPH__HISTORY, // uint32_t // Controls the range of the y-axes (for graphs that have one). If `Y_RANGE_AUTO` is set, // the range adjusts automatically to the data. TM_TT_PROP__STATISTICS_GRAPH__Y_RANGE_AUTO, // bool TM_TT_PROP__STATISTICS_GRAPH__Y_MIN, // double TM_TT_PROP__STATISTICS_GRAPH__Y_MAX, // double // Sources to draw in the graph. TM_TT_PROP__STATISTICS_GRAPH__SOURCES, // subobject_set [[TM_TT_TYPE__STATISTICS_GRAPH_SOURCE]] }; ~~~ ### `TM_TT_TYPE__STATISTICS_GRAPH_SOURCE` ~~~c #define TM_TT_TYPE__STATISTICS_GRAPH_SOURCE "tm_statistics_graph_source" #define TM_TT_TYPE_HASH__STATISTICS_GRAPH_SOURCE TM_STATIC_HASH("tm_statistics_graph_source", 0x7e0169888a34448eULL) ~~~ Truth type to represent a data source in the graph. !!! note: TODO Should we add an option to transform the data with an arbitrary function (from the expression language). ### `Properties` ~~~c enum { // Name of the data source (will be displayed in the graph). TM_TT_PROP__STATISTICS_GRAPH_SOURCE__NAME, // string // Name of the source that the data comes from (corresponds to `tm_statistics_source_t::name`). TM_TT_PROP__STATISTICS_GRAPH_SOURCE__SOURCE, // string // Color to use for this data. TM_TT_PROP__STATISTICS_GRAPH_SOURCE__COLOR, // subobject [[TM_TT_TYPE__COLOR_RGB]] }; ~~~

clipboard.h


### `TM_TT_TYPE__CLIPBOARD` ~~~c #define TM_TT_TYPE__CLIPBOARD "tm_clipboard" #define TM_TT_TYPE_HASH__CLIPBOARD TM_STATIC_HASH("tm_clipboard", 0xa2233d86e766d350ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__CLIPBOARD__OBJECTS, // reference_set(*) TM_TT_PROP__CLIPBOARD__IS_CUT, // bool }; ~~~

docking.h


### `TM_TT_TYPE__DOCKING_SETTINGS` ~~~c #define TM_TT_TYPE__DOCKING_SETTINGS "tm_docking_settings" #define TM_TT_TYPE_HASH__DOCKING_SETTINGS TM_STATIC_HASH("tm_docking_settings", 0xbdd017ae48779b30ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__DOCKING_SETTINGS__TOOLBARS_SETTINGS = 0, // subobject_set [[TM_TT_TYPE__TOOLBAR_SETTINGS]] }; ~~~

toolbar.h


### `TM_TT_TYPE__TOOLBAR_SETTINGS` ~~~c #define TM_TT_TYPE__TOOLBAR_SETTINGS "tm_toolbar_settings" #define TM_TT_TYPE_HASH__TOOLBAR_SETTINGS TM_STATIC_HASH("tm_toolbar_settings", 0xe4839373f4cd97c1ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__TOOLBAR_SETTINGS__ID = 0, // uint64_t TM_TT_PROP__TOOLBAR_SETTINGS__CONTAINER, // uint32_t TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR, // uint32_t TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR_ORDER, // uint32_t TM_TT_PROP__TOOLBAR_SETTINGS__POSITION_X, // float TM_TT_PROP__TOOLBAR_SETTINGS__POSITION_Y, // float // Only used for overlay toolbars TM_TT_PROP__TOOLBAR_SETTINGS__WIDTH, // float TM_TT_PROP__TOOLBAR_SETTINGS__HEIGHT, // float TM_TT_PROP__TOOLBAR_SETTINGS__DRAW_MODE, // uint32_t (enum tm_toolbar_draw_mode) }; ~~~

ui.h


### `TM_TT_TYPE__UI_THEME` ~~~c #define TM_TT_TYPE__UI_THEME "tm_ui_theme" #define TM_TT_TYPE_HASH__UI_THEME TM_STATIC_HASH("tm_ui_theme", 0x2068b64b38668594ULL) ~~~ ### `Properties` ~~~c enum { // Name of the theme. TM_TT_PROP__UI_THEME__NAME, // string // Default theme that this theme is based on. TM_TT_PROP__UI_THEME__BASED_ON, // uint32_t // Colors for this theme. TM_TT_PROP__UI_THEME__COLORS, // subobject_set [[TM_TT_TYPE__UI_THEME_COLOR]] }; ~~~ ### `TM_TT_TYPE__UI_THEME_COLOR` ~~~c #define TM_TT_TYPE__UI_THEME_COLOR "tm_ui_theme_color" #define TM_TT_TYPE_HASH__UI_THEME_COLOR TM_STATIC_HASH("tm_ui_theme_color", 0xf6bf12b10fe9b075ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_THEME_COLOR__NAME, // string TM_TT_PROP__UI_THEME_COLOR__COLOR, // subobject [[TM_TT_TYPE__COLOR_RGBA]] }; ~~~

canvas_component.h


### `TM_TT_TYPE__UI_CANVAS_COMPONENT` ~~~c #define TM_TT_TYPE__UI_CANVAS_COMPONENT "tm_ui_canvas_component" #define TM_TT_TYPE_HASH__UI_CANVAS_COMPONENT TM_STATIC_HASH("tm_ui_canvas_component", 0xbdb30400f36f9044ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CANVAS_COMPONENT__CANVAS_TYPE, // TM_TT_TYPE__UINT32 (enum tm_ui_canvas_type) TM_TT_PROP__UI_CANVAS_COMPONENT__UNIT_TYPES, // SUBOBJECT(TM_TT_TYPE__UI_COMPONENT_UNIT_TYPES) TM_TT_PROP__UI_CANVAS_COMPONENT__VIRTUAL_RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CANVAS_COMPONENT__PIXELS_PER_METER, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CANVAS_COMPONENT__FULLSCREEN, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CANVAS_COMPONENT__INPUT_DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CANVAS_COMPONENT__THEME, // SUBOBJECT(TM_TT_TYPE__UI_THEME) }; ~~~

ui_element.h


### `TM_TT_TYPE__UI_ELEMENT_COMPONENT` ~~~c #define TM_TT_TYPE__UI_ELEMENT_COMPONENT "tm_ui_element_component" #define TM_TT_TYPE_HASH__UI_ELEMENT_COMPONENT TM_STATIC_HASH("tm_ui_element_component", 0x1079d6ba79ac5004ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_ELEMENT_COMPONENT__TYPE, // TM_TT_TYPE__UINT32_T TM_TT_PROP__UI_ELEMENT_COMPONENT__FONT_SCALE, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_ELEMENT_COMPONENT__UNIT_TYPES, // SUBOBJECT(TM_TT_TYPE__UI_COMPONENT_UNIT_TYPES) TM_TT_PROP__UI_ELEMENT_COMPONENT__CONTROL, // SUBOBJECT(UI_ELEMENT_CONTROL_*) }; ~~~ ### `TM_TT_TYPE__UI_COMPONENT_UNIT_TYPES` ~~~c #define TM_TT_TYPE__UI_COMPONENT_UNIT_TYPES "tm_ui_component_unit_types" #define TM_TT_TYPE_HASH__UI_COMPONENT_UNIT_TYPES TM_STATIC_HASH("tm_ui_component_unit_types", 0x1925ce971c95f851ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_COMPONENT__UNIT_TYPE_X, // TM_TT_TYPE__UINT32 (enum tm_ui_unit_type) TM_TT_PROP__UI_COMPONENT__UNIT_TYPE_Y, // TM_TT_TYPE__UINT32 (enum tm_ui_unit_type) TM_TT_PROP__UI_COMPONENT__UNIT_TYPE_W, // TM_TT_TYPE__UINT32 (enum tm_ui_unit_type) TM_TT_PROP__UI_COMPONENT__UNIT_TYPE_H, // TM_TT_TYPE__UINT32 (enum tm_ui_unit_type) }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_SCROLLBAR` ~~~c #define TM_TT_TYPE__UI_CONTROL_SCROLLBAR "tm_ui_control_scrollbar" #define TM_TT_TYPE_HASH__UI_CONTROL_SCROLLBAR TM_STATIC_HASH("tm_ui_control_scrollbar", 0x8606ab27d1ee8bf6ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_SCROLLBAR__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_SCROLLBAR__MIN, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_SCROLLBAR__MAX, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_SCROLLBAR__SIZE, // TM_TT_TYPE__FLOAT }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_LABEL` ~~~c #define TM_TT_TYPE__UI_CONTROL_LABEL "tm_ui_control_label" #define TM_TT_TYPE_HASH__UI_CONTROL_LABEL TM_STATIC_HASH("tm_ui_control_label", 0x904f3e1481b71095ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_LABEL__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_LABEL__ICON, // TM_TT_TYPE__UINT32_T TM_TT_PROP__UI_CONTROL_LABEL__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_LABEL__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_TEXT` ~~~c #define TM_TT_TYPE__UI_CONTROL_TEXT "tm_ui_control_text" #define TM_TT_TYPE_HASH__UI_CONTROL_TEXT TM_STATIC_HASH("tm_ui_control_text", 0xb3994e52da748610ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_TEXT__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_TEXT__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_TEXT__TOOLTIP, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_TEXT__COLOR, // SUBOBJECT(TM_TT_TYPE__COLOR_RGB) TM_TT_PROP__UI_CONTROL_TEXT__ALIGN, // TM_TT_TYPE__UINT32_T (enum tm_ui_align) }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_LINK` ~~~c #define TM_TT_TYPE__UI_CONTROL_LINK "tm_ui_control_link" #define TM_TT_TYPE_HASH__UI_CONTROL_LINK TM_STATIC_HASH("tm_ui_control_link", 0x3921d525247f5095ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_LINK__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_LINK__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_LINK__TOOLTIP, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_LINK__COLOR, // SUBOBJECT(TM_TT_TYPE__COLOR_RGB) TM_TT_PROP__UI_CONTROL_LINK__ALIGN, // TM_TT_TYPE__UINT32_T (enum tm_ui_align) }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_BUTTON` ~~~c #define TM_TT_TYPE__UI_CONTROL_BUTTON "tm_ui_control_button" #define TM_TT_TYPE_HASH__UI_CONTROL_BUTTON TM_STATIC_HASH("tm_ui_control_button", 0x9d03698c27d9827dULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_BUTTON__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_BUTTON__VISIBLE_RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_BUTOON__ICON, // TM_TT_TYPE__UINT32_T TM_TT_PROP__UI_CONTROL_BUTTON__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_BUTTON__COLOR, // SUBOBJECT(TM_TT_TYPE__COLOR_RGB) TM_TT_PROP__UI_CONTROL_BUTTON__TOOLTIP, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_BUTTON__TEXT_OFFSET_Y, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_BUTTON__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_BUTTON__HIDE_BACKGROUND, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_BUTTON__HIDE_MARGINS, // TM_TT_TYPE__BOOL }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_CHECKBOX` ~~~c #define TM_TT_TYPE__UI_CONTROL_CHECKBOX "tm_ui_control_checkbox" #define TM_TT_TYPE_HASH__UI_CONTROL_CHECKBOX TM_STATIC_HASH("tm_ui_control_checkbox", 0xe7654f6fc49da4a2ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_CHECKBOX__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_CHECKBOX__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_CHECKBOX__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_CHECKBOX__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_RADIO` ~~~c #define TM_TT_TYPE__UI_CONTROL_RADIO "tm_ui_control_radio" #define TM_TT_TYPE_HASH__UI_CONTROL_RADIO TM_STATIC_HASH("tm_ui_control_radio", 0x580d431d9296dc61ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_RADIO__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_RADIO__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_RADIO__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_RADIO__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_PROGRESS` ~~~c #define TM_TT_TYPE__UI_CONTROL_PROGRESS "tm_ui_control_progress" #define TM_TT_TYPE_HASH__UI_CONTROL_PROGRESS TM_STATIC_HASH("tm_ui_control_progress", 0x10dcb3f95ff32cd9ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_PROGRESS__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_PROGRESS__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_PROGRESS__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_PROGRESS__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_SLIDER` ~~~c #define TM_TT_TYPE__UI_CONTROL_SLIDER "tm_ui_control_slider" #define TM_TT_TYPE_HASH__UI_CONTROL_SLIDER TM_STATIC_HASH("tm_ui_control_slider", 0x456041a3f9249ecULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_SLIDER__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_SLIDER__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_SLIDER__MIN, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_SLIDER__MAX, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_SLIDER__STEP, // TM_TT_TYPE__FLOAT }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_SPINNER` ~~~c #define TM_TT_TYPE__UI_CONTROL_SPINNER "tm_ui_control_spinner" #define TM_TT_TYPE_HASH__UI_CONTROL_SPINNER TM_STATIC_HASH("tm_ui_control_spinner", 0x39166219ef0b9ee7ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_SPINNER__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_SPINNER__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_SPINNER__MIN, // TM_TT_TYPE__DOUBLE TM_TT_PROP__UI_CONTROL_SPINNER__MAX, // TM_TT_TYPE__DOUBLE TM_TT_PROP__UI_CONTROL_SPINNER__VALUE_PER_PIXEL, // TM_TT_TYPE__DOUBLE TM_TT_PROP__UI_CONTROL_SPINNER__DECIMALS, // TM_TT_TYPE__UINT32_T (enum TM_UI_SPINNER__DECIMALS_*) TM_TT_PROP__UI_CONTROL_SPINNER__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_DROPDOWN_ITEM` ~~~c #define TM_TT_TYPE__UI_CONTROL_DROPDOWN_ITEM "tm_ui_control_dropdown_item" #define TM_TT_TYPE_HASH__UI_CONTROL_DROPDOWN_ITEM TM_STATIC_HASH("tm_ui_control_dropdown_item", 0x3706bdc24f43d377ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_DROPDOWN_ITEM__ORDER, // TM_TT_TYPE__FLOAT TM_TT_PROP__UI_CONTROL_DROPDOWN_ITEM__TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_DROPDOWN_ITEM__TOOLTIP, // TM_TT_TYPE__STRING }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_DROPDOWN` ~~~c #define TM_TT_TYPE__UI_CONTROL_DROPDOWN "tm_ui_control_dropdown" #define TM_TT_TYPE_HASH__UI_CONTROL_DROPDOWN TM_STATIC_HASH("tm_ui_control_dropdown", 0x62168ae7fac975bbULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_DROPDOWN__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_DROPDOWN__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_DROPDOWN__ITEMS, // SUBOBJECT_SET(TM_TT_TYPE_UI_CONTROL_DROPDOWN_ITEM) }; ~~~ ### `TM_TT_TYPE__UI_CONTROL_TEXTEDIT` ~~~c #define TM_TT_TYPE__UI_CONTROL_TEXTEDIT "tm_ui_control_textedit" #define TM_TT_TYPE_HASH__UI_CONTROL_TEXTEDIT TM_STATIC_HASH("tm_ui_control_textedit", 0xd9857712423d45b2ULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__UI_CONTROL_TEXTEDIT__RECT, // SUBOBJECT(TM_TT_TYPE__RECT) TM_TT_PROP__UI_CONTROL_TEXTEDIT__DISABLED, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_TEXTEDIT__PASSWORD, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_TEXTEDIT__DEFAULT_TEXT, // TM_TT_TYPE__STRING TM_TT_PROP__UI_CONTROL_TEXTEDIT__SELECT_ON_MOUSE_ACTIVATE, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_TEXTEDIT__SCROLL_TO_END, // TM_TT_TYPE__BOOL TM_TT_PROP__UI_CONTROL_TEXTEDIT__SELECT_ALL_ON_STARTUP, // TM_TT_TYPE__BOOL }; ~~~

vox_asset.h


### `TM_TT_TYPE__VOX_MODEL` ~~~c #define TM_TT_TYPE__VOX_MODEL "tm_vox_model" #define TM_TT_TYPE_HASH__VOX_MODEL TM_STATIC_HASH("tm_vox_model", 0xd66d982141bc8aaaULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VOX_MODEL__NAME, // string TM_TT_PROP__VOX_MODEL__SIZE_X, //uint32_t TM_TT_PROP__VOX_MODEL__SIZE_Y, //uint32_t TM_TT_PROP__VOX_MODEL__SIZE_Z, //uint32_t TM_TT_PROP__VOX_MODEL__VOXELS, //buffer }; ~~~ ### `TM_TT_TYPE__VOX_ASSET_NODE` ~~~c #define TM_TT_TYPE__VOX_ASSET_NODE "tm_vox_asset_node" #define TM_TT_TYPE_HASH__VOX_ASSET_NODE TM_STATIC_HASH("tm_vox_asset_node", 0x77983deec66f80d1ULL) ~~~ ### `TM_TT_TYPE__VOX_ASSET` ~~~c #define TM_TT_TYPE__VOX_ASSET "tm_vox_asset" #define TM_TT_TYPE_HASH__VOX_ASSET TM_STATIC_HASH("tm_vox_asset", 0x7e6c3b08f358034eULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VOX_ASSET__MODELS, // subobject_set [[TM_TT_TYPE__VOX_MODEL]] TM_TT_PROP__VOX_ASSET__PALETTE, // buffer (tm_color_srgb_t) TM_TT_PROP__VOX_ASSET__NODES, // subobject_set [[TM_TT_TYPE__VOX_ASSET_NODE]] }; ~~~

vox_component.h


### `TM_TT_TYPE__VOX_COMPONENT` ~~~c #define TM_TT_TYPE__VOX_COMPONENT "tm_vox_component" #define TM_TT_TYPE_HASH__VOX_COMPONENT TM_STATIC_HASH("tm_vox_component", 0xdb0b707e024008bfULL) ~~~ ### `Properties` ~~~c enum { TM_TT_PROP__VOX_COMPONENT__VOX_ASSET, // reference [[TM_TT_TYPE__VOX_ASSET]] TM_TT_PROP__VOX_COMPONENT__VOX_MODEL, // reference [[TM_TT_TYPE__VOX_MODEL]] TM_TT_PROP__VOX_COMPONENT__VOXEL_SIZE, // float }; ~~~