machinery_api/
the_machinery.rs

1#[repr(C)]
2#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
3pub struct __BindgenBitfieldUnit<Storage> {
4    storage: Storage,
5}
6impl<Storage> __BindgenBitfieldUnit<Storage> {
7    #[inline]
8    pub const fn new(storage: Storage) -> Self {
9        Self { storage }
10    }
11}
12impl<Storage> __BindgenBitfieldUnit<Storage>
13where
14    Storage: AsRef<[u8]> + AsMut<[u8]>,
15{
16    #[inline]
17    pub fn get_bit(&self, index: usize) -> bool {
18        debug_assert!(index / 8 < self.storage.as_ref().len());
19        let byte_index = index / 8;
20        let byte = self.storage.as_ref()[byte_index];
21        let bit_index = if cfg!(target_endian = "big") {
22            7 - (index % 8)
23        } else {
24            index % 8
25        };
26        let mask = 1 << bit_index;
27        byte & mask == mask
28    }
29    #[inline]
30    pub fn set_bit(&mut self, index: usize, val: bool) {
31        debug_assert!(index / 8 < self.storage.as_ref().len());
32        let byte_index = index / 8;
33        let byte = &mut self.storage.as_mut()[byte_index];
34        let bit_index = if cfg!(target_endian = "big") {
35            7 - (index % 8)
36        } else {
37            index % 8
38        };
39        let mask = 1 << bit_index;
40        if val {
41            *byte |= mask;
42        } else {
43            *byte &= !mask;
44        }
45    }
46    #[inline]
47    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
48        debug_assert!(bit_width <= 64);
49        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
50        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
51        let mut val = 0;
52        for i in 0..(bit_width as usize) {
53            if self.get_bit(i + bit_offset) {
54                let index = if cfg!(target_endian = "big") {
55                    bit_width as usize - 1 - i
56                } else {
57                    i
58                };
59                val |= 1 << index;
60            }
61        }
62        val
63    }
64    #[inline]
65    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
66        debug_assert!(bit_width <= 64);
67        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
68        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
69        for i in 0..(bit_width as usize) {
70            let mask = 1 << i;
71            let val_bit_is_set = val & mask == mask;
72            let index = if cfg!(target_endian = "big") {
73                bit_width as usize - 1 - i
74            } else {
75                i
76            };
77            self.set_bit(index + bit_offset, val_bit_is_set);
78        }
79    }
80}
81pub const __SAL_H_VERSION: u32 = 180000000;
82pub const __bool_true_false_are_defined: u32 = 1;
83pub const TM_ASSET_BROWSER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_asset_browser_tab\0";
84pub const TM_CACHE_MANAGER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_cache_manager_tab\0";
85pub const TM_CANVAS_TAB_VT_NAME: &'static [u8; 14usize] = b"tm_canvas_tab\0";
86pub const TM_COLLABORATION_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_collaboration_tab\0";
87pub const TM_CONSOLE_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_console_tab\0";
88pub const TM_DELAUNAY_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_delaunay_tab\0";
89pub const TM_DOWNLOAD_VT_NAME: &'static [u8; 16usize] = b"tm_download_tab\0";
90pub const TM_WELCOME_VT_NAME: &'static [u8; 15usize] = b"tm_welcome_tab\0";
91pub const TM_TT_TYPE__APPLICATION_SETTINGS__UPDATES: &'static [u8; 33usize] =
92    b"tm_application_settings__updates\0";
93pub const TM_TT_TYPE__APPLICATION_SETTINGS__DOWNLOAD: &'static [u8; 34usize] =
94    b"tm_application_settings__download\0";
95pub const TM_TREE_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_tree_tab\0";
96pub const TM_GENERIC_TREE_VIEW_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_tree_view_tab\0";
97pub const TM_GRAPH_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_graph_tab\0";
98pub const TM_IMPORT_PROJECT_TAB_VT_NAME: &'static [u8; 22usize] = b"tm_import_project_tab\0";
99pub const TM_INPUT_LOG_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_input_log_tab\0";
100pub const TM_JSON_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_json_tab\0";
101pub const TM_LOGIN_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_login_tab\0";
102pub const TM_MODIFIED_ASSETS_TAB_VT_NAME: &'static [u8; 23usize] = b"tm_modified_assets_tab\0";
103pub const TM_NETWORK_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_network_tab\0";
104pub const TM_PREVIEW_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_preview_tab\0";
105pub const TM_PROFILER_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_profiler_tab\0";
106pub const TM_PROPERTIES_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_properties_tab\0";
107pub const TM_SCENE_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_scene_tab\0";
108pub const TM_TT_TYPE__SCENE_TAB: &'static [u8; 13usize] = b"tm_scene_tab\0";
109pub const TM_TT_TYPE__SCENE_TAB_SETTINGS: &'static [u8; 22usize] = b"tm_scene_tab_settings\0";
110pub const TM_TT_TYPE__SCENE_SETTINGS: &'static [u8; 18usize] = b"tm_scene_settings\0";
111pub const TM_SIMULATE_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_simulate_tab\0";
112pub const TM_TT_TYPE__SIMULATE_TAB_SETTINGS: &'static [u8; 25usize] = b"tm_simulate_tab_settings\0";
113pub const TM_STATE_GRAPH_TAB_VT_NAME: &'static [u8; 19usize] = b"tm_state_graph_tab\0";
114pub const TM_STATISTICS_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_statistics_tab\0";
115pub const TM_TASK_MANAGER_TAB_VT_NAME: &'static [u8; 20usize] = b"tm_task_manager_tab\0";
116pub const THE_MACHINERY_VERSION: &'static [u8; 7usize] = b"2021.9\0";
117pub const TM_TT_TYPE__APPLICATION_SETTINGS: &'static [u8; 24usize] = b"tm_application_settings\0";
118pub const TM_TT_TYPE__PROJECT_MANAGEMENT_SETTINGS: &'static [u8; 31usize] =
119    b"tm_project_management_settings\0";
120pub const TM_TT_TYPE__INTERFACE_SETTINGS: &'static [u8; 22usize] = b"tm_interface_settings\0";
121pub const TM_TT_TYPE__WINDOW_LAYOUTS: &'static [u8; 18usize] = b"tm_window_layouts\0";
122pub const TM_TT_TYPE__WINDOW_LAYOUT: &'static [u8; 17usize] = b"tm_window_layout\0";
123pub const TM_TT_TYPE__WORKSPACE: &'static [u8; 13usize] = b"tm_workspace\0";
124pub const TM_TT_TYPE__RECENT_FILE: &'static [u8; 15usize] = b"tm_recent_file\0";
125pub const TM_TT_TYPE__PUBLISH_SETTINGS: &'static [u8; 20usize] = b"tm_publish_settings\0";
126pub const TM_TT_TYPE__APPLICATION_SECURITY: &'static [u8; 24usize] = b"tm_application_security\0";
127pub const TM_TT_TYPE__PROJECT_SETTINGS: &'static [u8; 20usize] = b"tm_project_settings\0";
128pub const TM_TT_TYPE__NETWORK_SETTINGS: &'static [u8; 20usize] = b"tm_network_settings\0";
129pub const TM_TT_TYPE__LOCALIZATION_SETTINGS: &'static [u8; 25usize] = b"tm_localization_settings\0";
130pub const TM_TT_TYPE__TRANSLATION: &'static [u8; 15usize] = b"tm_translation\0";
131pub const TM_TT_TYPE__TRANSLATION_CACHE: &'static [u8; 21usize] = b"tm_translation_cache\0";
132extern "C" {
133    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
134}
135pub type __vcrt_bool = bool;
136extern "C" {
137    pub fn __security_init_cookie();
138}
139extern "C" {
140    pub fn __security_check_cookie(_StackCookie: usize);
141}
142extern "C" {
143    pub fn __report_gsfailure(_StackCookie: usize);
144}
145extern "C" {
146    pub static mut __security_cookie: usize;
147}
148#[repr(C)]
149#[derive(Copy, Clone)]
150pub union TtIdTBindgenTy1 {
151    pub u64_: u64,
152    pub __bindgen_anon_1: TtIdTBindgenTy1BindgenTy1,
153}
154#[repr(C)]
155#[repr(align(8))]
156#[derive(Default, Copy, Clone)]
157pub struct TtIdTBindgenTy1BindgenTy1 {
158    pub _bitfield_align_1: [u32; 0],
159    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
160}
161impl TtIdTBindgenTy1BindgenTy1 {
162    #[inline]
163    pub fn type_(&self) -> u64 {
164        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
165    }
166    #[inline]
167    pub fn set_type(&mut self, val: u64) {
168        unsafe {
169            let val: u64 = ::std::mem::transmute(val);
170            self._bitfield_1.set(0usize, 10u8, val as u64)
171        }
172    }
173    #[inline]
174    pub fn generation(&self) -> u64 {
175        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
176    }
177    #[inline]
178    pub fn set_generation(&mut self, val: u64) {
179        unsafe {
180            let val: u64 = ::std::mem::transmute(val);
181            self._bitfield_1.set(10usize, 22u8, val as u64)
182        }
183    }
184    #[inline]
185    pub fn index(&self) -> u64 {
186        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
187    }
188    #[inline]
189    pub fn set_index(&mut self, val: u64) {
190        unsafe {
191            let val: u64 = ::std::mem::transmute(val);
192            self._bitfield_1.set(32usize, 32u8, val as u64)
193        }
194    }
195    #[inline]
196    pub fn new_bitfield_1(
197        type_: u64,
198        generation: u64,
199        index: u64,
200    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
201        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
202        __bindgen_bitfield_unit.set(0usize, 10u8, {
203            let type_: u64 = unsafe { ::std::mem::transmute(type_) };
204            type_ as u64
205        });
206        __bindgen_bitfield_unit.set(10usize, 22u8, {
207            let generation: u64 = unsafe { ::std::mem::transmute(generation) };
208            generation as u64
209        });
210        __bindgen_bitfield_unit.set(32usize, 32u8, {
211            let index: u64 = unsafe { ::std::mem::transmute(index) };
212            index as u64
213        });
214        __bindgen_bitfield_unit
215    }
216}
217impl Default for TtIdTBindgenTy1 {
218    fn default() -> Self {
219        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
220        unsafe {
221            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
222            s.assume_init()
223        }
224    }
225}
226pub const TM_TT_PROP__DOCKING_SETTINGS__TOOLBARS_SETTINGS: ::std::os::raw::c_int = 0;
227pub type _bindgen_ty_1 = ::std::os::raw::c_int;
228#[repr(C)]
229#[derive(Default, Copy, Clone)]
230pub struct AssetBrowserTabApi {
231    pub find_asset_browser: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> TtIdT>,
232    pub selected_object: ::std::option::Option<
233        unsafe extern "C" fn(tt: *mut TheTruthO, asset_browser: TtIdT) -> TtIdT,
234    >,
235    pub set_selection: ::std::option::Option<
236        unsafe extern "C" fn(
237            ui: *mut UiO,
238            asset_or_dirs: *const TtIdT,
239            n: u32,
240            undo_scope: TtUndoScopeT,
241        ) -> bool,
242    >,
243}
244extern "C" {
245    pub static mut console_logger: *mut LoggerI;
246}
247#[repr(C)]
248#[derive(Default, Copy, Clone)]
249pub struct UpdateTrackerApi {
250    pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut AllocatorI)>,
251    pub should_show_update_notification:
252        ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO) -> bool>,
253    pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
254}
255pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__LATEST_VERSION: ::std::os::raw::c_int = 0;
256pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__SKIP_THIS_VERSION: ::std::os::raw::c_int = 1;
257pub type _bindgen_ty_2 = ::std::os::raw::c_int;
258pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOAD__URL: ::std::os::raw::c_int = 0;
259pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__FILE: ::std::os::raw::c_int = 1;
260pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__UNZIP_DIRECTORY: ::std::os::raw::c_int = 2;
261pub type _bindgen_ty_3 = ::std::os::raw::c_int;
262extern "C" {
263    pub static mut tm_update_tracker_api: *mut UpdateTrackerApi;
264}
265extern "C" {
266    pub fn import_gltf_asset(
267        gltf_file: *const ::std::os::raw::c_char,
268        target_dir: TtIdT,
269        a: *mut AllocatorI,
270        tt: *mut TheTruthO,
271        reimport_into: TtIdT,
272        ui: *mut UiO,
273        undo_scope: TtUndoScopeT,
274    ) -> u64;
275}
276extern "C" {
277    pub static mut gltf_asset_io: *mut AssetIoI;
278}
279extern "C" {
280    pub fn import_tab__import_project(tab: *mut TabO, file: *const ::std::os::raw::c_char);
281}
282#[repr(C)]
283#[derive(Default, Copy, Clone)]
284pub struct IntegrationTestRunnerApi {
285    pub create: ::std::option::Option<
286        unsafe extern "C" fn(
287            app: *mut ApplicationO,
288            allocator: *mut AllocatorI,
289            context: StrhashT,
290        ) -> *mut IntegrationTestRunnerO,
291    >,
292    pub add_test: ::std::option::Option<
293        unsafe extern "C" fn(
294            runner: *mut IntegrationTestRunnerO,
295            name: *const ::std::os::raw::c_char,
296        ) -> bool,
297    >,
298    pub tick: ::std::option::Option<unsafe extern "C" fn(runner: *mut IntegrationTestRunnerO)>,
299    pub destroy: ::std::option::Option<unsafe extern "C" fn(runner: *mut IntegrationTestRunnerO)>,
300}
301extern "C" {
302    pub static mut tm_integration_test_runner_api: *mut IntegrationTestRunnerApi;
303}
304pub const TM_LOGIN__TAB_ACTION__NONE: LoginTabAction = 0;
305pub const TM_LOGIN__TAB_ACTION__SHOW: LoginTabAction = 1;
306pub const TM_LOGIN__TAB_ACTION__FULLSCREEN: LoginTabAction = 2;
307pub const TM_LOGIN__TAB_ACTION__HIDE: LoginTabAction = 3;
308pub const TM_LOGIN__TAB_ACTION__QUIT: LoginTabAction = 4;
309pub type LoginTabAction = ::std::os::raw::c_int;
310#[repr(C)]
311#[derive(Default, Copy, Clone)]
312pub struct LoginUpdateT {
313    pub show_login_tab: bool,
314    pub force_focus_login_tab: bool,
315}
316#[repr(C)]
317#[derive(Default, Copy, Clone)]
318pub struct LoginApi {
319    pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut AllocatorI)>,
320    pub update: ::std::option::Option<unsafe extern "C" fn() -> LoginTabAction>,
321    pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
322}
323extern "C" {
324    pub static mut tm_login_api: *mut LoginApi;
325}
326extern "C" {
327    pub fn menu__new_plugin__editor_tab();
328}
329extern "C" {
330    pub fn menu__new_plugin__entity_component();
331}
332extern "C" {
333    pub fn menu__new_plugin__simulation_entry();
334}
335extern "C" {
336    pub fn menu__new_plugin__minimal();
337}
338extern "C" {
339    pub fn load_plugin_templates(reg: *mut ApiRegistryApi, load: bool);
340}
341extern "C" {
342    pub fn profiler_view(tab: *mut TabO) -> *mut ProfilerViewO;
343}
344extern "C" {
345    pub fn properties_tab_set_root_with_mask(
346        tab: *mut TabO,
347        tt: *mut TheTruthO,
348        root: TtIdT,
349        mask: u64,
350    );
351}
352#[repr(C)]
353#[derive(Copy, Clone)]
354pub union EntityT {
355    pub __bindgen_anon_1: EntityTBindgenTy1,
356    pub u64_: u64,
357}
358#[repr(C)]
359#[derive(Default, Copy, Clone)]
360pub struct EntityTBindgenTy1 {
361    pub index: u32,
362    pub generation: u32,
363}
364impl Default for EntityT {
365    fn default() -> Self {
366        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
367        unsafe {
368            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
369            s.assume_init()
370        }
371    }
372}
373pub const TM_TT_PROP__SCENE_TAB__ASSET: ::std::os::raw::c_int = 0;
374pub const TM_TT_PROP__SCENE_TAB__PIN_ASSSET: ::std::os::raw::c_int = 1;
375pub const TM_TT_PROP__SCENE_TAB__SELECTION: ::std::os::raw::c_int = 2;
376pub const TM_TT_PROP__SCENE_TAB__LAST_SELECTED: ::std::os::raw::c_int = 3;
377pub const TM_TT_PROP__SCENE_TAB__PICK_COUNTER: ::std::os::raw::c_int = 4;
378pub const TM_TT_PROP__SCENE_TAB__FRAME_OBJECT: ::std::os::raw::c_int = 5;
379pub const TM_TT_PROP__SCENE_TAB__HIDDEN: ::std::os::raw::c_int = 6;
380pub const TM_TT_PROP__SCENE_TAB__TO_SHOW: ::std::os::raw::c_int = 7;
381pub const TM_TT_PROP__SCENE_TAB__LOCKED: ::std::os::raw::c_int = 8;
382pub const TM_TT_PROP__SCENE_TAB__UNLOCKED: ::std::os::raw::c_int = 9;
383pub type _bindgen_ty_4 = ::std::os::raw::c_int;
384pub const TM_TT_PROP__SCENE_TAB_SETTINGS__NATIVE_RESOLUTION: ::std::os::raw::c_int = 0;
385pub type _bindgen_ty_5 = ::std::os::raw::c_int;
386pub const TM_TT_PROP__SCENE_SETTINGS__ASSET_UUID_A: ::std::os::raw::c_int = 0;
387pub const TM_TT_PROP__SCENE_SETTINGS__USE_WORLD_AXES: ::std::os::raw::c_int = 1;
388pub const TM_TT_PROP__SCENE_SETTINGS__MULTI_SELECT_PIVOT: ::std::os::raw::c_int = 2;
389pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP: ::std::os::raw::c_int = 3;
390pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP_SIZE: ::std::os::raw::c_int = 4;
391pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP: ::std::os::raw::c_int = 5;
392pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP_ANGLE: ::std::os::raw::c_int = 6;
393pub const TM_TT_PROP__SCENE_SETTINGS__SCALE_ABSOLUTE_HANDLE: ::std::os::raw::c_int = 7;
394pub const TM_TT_PROP__SCENE_SETTINGS__SCALE_SNAP: ::std::os::raw::c_int = 8;
395pub const TM_TT_PROP__SCENE_SETTINGS__SCALE_SNAP_INCREMENT: ::std::os::raw::c_int = 9;
396pub type _bindgen_ty_6 = ::std::os::raw::c_int;
397#[repr(C)]
398pub struct scene_tab_entity_data_t {
399    pub entity_ctx: *mut EntityContextO,
400    pub camera_controller_manager: *mut CameraControllerComponentManagerO,
401    pub camera_controller_component: ComponentTypeT,
402    pub dcc_asset_component: ComponentTypeT,
403    pub camera: EntityT,
404    pub entity: EntityT,
405}
406impl Default for scene_tab_entity_data_t {
407    fn default() -> Self {
408        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
409        unsafe {
410            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
411            s.assume_init()
412        }
413    }
414}
415extern "C" {
416    pub fn scene_tab_entity_data(tab: *mut TabO) -> scene_tab_entity_data_t;
417}
418extern "C" {
419    pub fn scene_tab_truth_object(tab: *mut TabO) -> TtIdT;
420}
421pub const TM_TT_PROP__SIMULATE_TAB_SETTINGS__NATIVE_RESOLUTION: ::std::os::raw::c_int = 0;
422pub type _bindgen_ty_7 = ::std::os::raw::c_int;
423#[repr(C)]
424#[derive(Default, Copy, Clone)]
425pub struct SimulateTabSettingsT {
426    pub native_resolution: bool,
427}
428#[repr(C)]
429#[derive(Default, Copy, Clone)]
430pub struct SimulateTabApi {
431    pub update_settings: ::std::option::Option<
432        unsafe extern "C" fn(inst: *mut TabO, settings: *const SimulateTabSettingsT),
433    >,
434}
435#[repr(C)]
436#[derive(Default, Copy, Clone)]
437pub struct StatisticsTabApi {
438    pub add_source: ::std::option::Option<
439        unsafe extern "C" fn(
440            tab: *mut TabI,
441            name: *const ::std::os::raw::c_char,
442            source: *const ::std::os::raw::c_char,
443            color: ColorSrgbT,
444        ),
445    >,
446}
447#[repr(C)]
448#[derive(Copy, Clone)]
449pub struct TaskManagerO {
450    _unused: [u8; 0],
451}
452#[repr(C)]
453#[derive(Default, Copy, Clone)]
454pub struct TaskManagerApi {
455    pub create:
456        ::std::option::Option<unsafe extern "C" fn(alloc: *mut AllocatorI) -> *mut TaskManagerO>,
457    pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut TaskManagerO)>,
458    pub ui: ::std::option::Option<
459        unsafe extern "C" fn(
460            inst: *mut TaskManagerO,
461            ui: *mut UiO,
462            id: u64,
463            uistyle: *const UiStyleT,
464            r: RectT,
465        ),
466    >,
467}
468#[repr(C)]
469#[derive(Copy, Clone)]
470pub struct WindowO {
471    _unused: [u8; 0],
472}
473pub const TM_TT_PROP__APPLICATION_SETTINGS__ANALYTICS_CLIENT_ID: ::std::os::raw::c_int = 0;
474pub const TM_TT_PROP__APPLICATION_SETTINGS__ANALYTICS_OPT_OUT: ::std::os::raw::c_int = 1;
475pub const TM_TT_PROP__APPLICATION_SETTINGS__CAMERA_SETTINGS: ::std::os::raw::c_int = 2;
476pub const TM_TT_PROP__APPLICATION_SETTINGS__NETWORK_SETTINGS: ::std::os::raw::c_int = 3;
477pub const TM_TT_PROP__APPLICATION_SETTINGS__GRID_SETTINGS: ::std::os::raw::c_int = 4;
478pub const TM_TT_PROP__APPLICATION_SETTINGS__WINDOW_LAYOUTS: ::std::os::raw::c_int = 5;
479pub const TM_TT_PROP__APPLICATION_SETTINGS__RECENT_FILES: ::std::os::raw::c_int = 6;
480pub const TM_TT_PROP__APPLICATION_SETTINGS__INTERFACE_SETTINGS: ::std::os::raw::c_int = 7;
481pub const TM_TT_PROP__APPLICATION_SETTINGS__LOCALIZATION_SETTINGS: ::std::os::raw::c_int = 8;
482pub const TM_TT_PROP__APPLICATION_SETTINGS__KEYBOARD_SHORTCUTS: ::std::os::raw::c_int = 9;
483pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEMES: ::std::os::raw::c_int = 10;
484pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEME: ::std::os::raw::c_int = 11;
485pub const TM_TT_PROP__APPLICATION_SETTINGS__BUILTIN_UI_THEME: ::std::os::raw::c_int = 12;
486pub const TM_TT_PROP__APPLICATION_SETTINGS__PROJECTS_SETTINGS: ::std::os::raw::c_int = 13;
487pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES: ::std::os::raw::c_int = 14;
488pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOADS: ::std::os::raw::c_int = 15;
489pub const TM_TT_PROP__APPLICATION_SETTINGS__LAST_OPENED_PROJECT: ::std::os::raw::c_int = 16;
490pub const TM_TT_PROP__APPLICATION_SETTINGS__DOCKING_SETTINGS: ::std::os::raw::c_int = 17;
491pub const TM_TT_PROP__APPLICATION_SETTINGS__PROJECT_MANAGEMENT: ::std::os::raw::c_int = 18;
492pub const TM_TT_PROP__APPLICATION_SETTINGS__SECURITY: ::std::os::raw::c_int = 19;
493pub type _bindgen_ty_8 = ::std::os::raw::c_int;
494pub const TM_TT_PROP__PROJECT_MANAGEMENT_SETTINGS__OPEN_EMPTY_PROJECT_ON_STARTUP:
495    ::std::os::raw::c_int = 0;
496pub const TM_TT_PROP__PROJECT_MANAGEMENT_SETTINGS__ALWAYS_OPEN_DEFAULT_PROJECT_WINDOW:
497    ::std::os::raw::c_int = 1;
498pub type _bindgen_ty_9 = ::std::os::raw::c_int;
499pub const TM_TT_PROP__INTERFACE_SETTINGS__RESOLUTION_SCALE: ::std::os::raw::c_int = 0;
500pub const TM_TT_PROP__INTERFACE_SETTINGS__WHEEL_SCROLL_LINES: ::std::os::raw::c_int = 1;
501pub type _bindgen_ty_10 = ::std::os::raw::c_int;
502pub const TM_TT_PROP__WINDOW_LAYOUTS__LAYOUTS: ::std::os::raw::c_int = 0;
503pub type _bindgen_ty_11 = ::std::os::raw::c_int;
504pub const TM_TT_PROP__WINDOW_LAYOUT__NAME: ::std::os::raw::c_int = 0;
505pub const TM_TT_PROP__WINDOW_LAYOUT__ICON: ::std::os::raw::c_int = 1;
506pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_X: ::std::os::raw::c_int = 2;
507pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_Y: ::std::os::raw::c_int = 3;
508pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_WIDTH: ::std::os::raw::c_int = 4;
509pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_HEIGHT: ::std::os::raw::c_int = 5;
510pub const TM_TT_PROP__WINDOW_LAYOUT__TABWELL: ::std::os::raw::c_int = 6;
511pub const TM_TT_PROP__WINDOW_LAYOUT__WORKSPACES: ::std::os::raw::c_int = 7;
512pub type _bindgen_ty_12 = ::std::os::raw::c_int;
513pub const TM_TT_PROP__WORKSPACE__NAME: ::std::os::raw::c_int = 0;
514pub const TM_TT_PROP__WORKSPACE__ICON: ::std::os::raw::c_int = 1;
515pub const TM_TT_PROP__WORKSPACE__TABWELL: ::std::os::raw::c_int = 2;
516pub type _bindgen_ty_13 = ::std::os::raw::c_int;
517pub const TM_TT_PROP__RECENT_FILE__PATH: ::std::os::raw::c_int = 0;
518pub const TM_TT_PROP__RECENT_FILE__TIME_STAMP: ::std::os::raw::c_int = 1;
519pub type _bindgen_ty_14 = ::std::os::raw::c_int;
520pub const TM_TT_PROP__PUBLISH_SETTINGS__DIRECTORY_PROJECT: ::std::os::raw::c_int = 0;
521pub const TM_TT_PROP__PUBLISH_SETTINGS__EXECUTABLE_NAME: ::std::os::raw::c_int = 1;
522pub const TM_TT_PROP__PUBLISH_SETTINGS__WINDOW_TITLE: ::std::os::raw::c_int = 2;
523pub const TM_TT_PROP__PUBLISH_SETTINGS__WORLD_ENTITY: ::std::os::raw::c_int = 3;
524pub const TM_TT_PROP__PUBLISH_SETTINGS__RESOLUTION: ::std::os::raw::c_int = 4;
525pub const TM_TT_PROP__PUBLISH_SETTINGS__FULLSCREEN: ::std::os::raw::c_int = 5;
526pub type _bindgen_ty_15 = ::std::os::raw::c_int;
527pub const TM_TT_PROP__APPLICATION_SECURITY__ALWAYS_ALLOW_DLL_PROJECT_PATHS: ::std::os::raw::c_int =
528    0;
529pub const TM_TT_PROP__APPLICATION_SECURITY__ALWAYS_DENY_DLL_PROJECT_PATHS: ::std::os::raw::c_int =
530    1;
531pub type _bindgen_ty_16 = ::std::os::raw::c_int;
532pub const TM_TT_PROP__PROJECT_SETTINGS__PATH: ::std::os::raw::c_int = 0;
533pub const TM_TT_PROP__PROJECT_SETTINGS__GRAPHS_SETTINGS: ::std::os::raw::c_int = 1;
534pub const TM_TT_PROP__PROJECT_SETTINGS__SCENES_SETTINGS: ::std::os::raw::c_int = 2;
535pub const TM_TT_PROP__PROJECT_SETTINGS__PUBLISH_SETTINGS: ::std::os::raw::c_int = 3;
536pub const TM_TT_PROP__PROJECT_SETTINGS__WINDOW_LAYOUT: ::std::os::raw::c_int = 4;
537pub const TM_TT_PROP__PROJECT_SETTINGS__GRAPH_DEBUGGER_PERSISTENT_SETTINGS: ::std::os::raw::c_int =
538    5;
539pub type _bindgen_ty_17 = ::std::os::raw::c_int;
540pub const TM_TT_PROP__NETWORK_SETTINGS__NODE_INSTANCES: ::std::os::raw::c_int = 0;
541pub type _bindgen_ty_18 = ::std::os::raw::c_int;
542pub const TM_TT_PROP__LOCALIZATION_SETTINGS__MICROSOFT_CACHE: ::std::os::raw::c_int = 0;
543pub const TM_TT_PROP__LOCALIZATION_SETTINGS__GOOGLE_CACHE: ::std::os::raw::c_int = 1;
544pub const TM_TT_PROP__LOCALIZATION_SETTINGS__LANGUAGE: ::std::os::raw::c_int = 2;
545pub const TM_TT_PROP__LOCALIZATION_SETTINGS__USE_GOOGLE: ::std::os::raw::c_int = 3;
546pub const TM_TT_PROP__LOCALIZATION_SETTINGS__USE_MICROSOFT: ::std::os::raw::c_int = 4;
547pub type _bindgen_ty_19 = ::std::os::raw::c_int;
548pub type TheMachineryProjectCallbackI = ::std::option::Option<
549    unsafe extern "C" fn(app: *mut ApplicationO, truth: *mut TheTruthO, asset_root: TtIdT),
550>;
551pub type TheMachineryProjectLoadedI = TheMachineryProjectCallbackI;
552pub type TheMachineryProjectUnloadedI = TheMachineryProjectCallbackI;
553pub type TheMachineryProjectSavedI = TheMachineryProjectCallbackI;
554#[repr(C)]
555#[derive(Copy, Clone)]
556pub struct TheMachineryApi {
557    pub app: *mut ApplicationO,
558    pub open_asset: ::std::option::Option<
559        unsafe extern "C" fn(
560            app: *mut ApplicationO,
561            ui: *mut UiO,
562            from_tab: *mut TabI,
563            asset: TtIdT,
564        ),
565    >,
566    pub get_asset_root:
567        ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO) -> TtIdT>,
568    pub reimport_asset: ::std::option::Option<
569        unsafe extern "C" fn(
570            app: *mut ApplicationO,
571            ui: *mut UiO,
572            tt: *mut TheTruthO,
573            asset: TtIdT,
574        ),
575    >,
576    pub create_or_select_tab: ::std::option::Option<
577        unsafe extern "C" fn(
578            app: *mut ApplicationO,
579            ui: *mut UiO,
580            vt_name: *const ::std::os::raw::c_char,
581            opt: *const DockingFindTabOptT,
582        ) -> *mut TabI,
583    >,
584    pub window_for_ui: ::std::option::Option<
585        unsafe extern "C" fn(app: *mut ApplicationO, ui: *const UiO) -> *mut WindowO,
586    >,
587    pub collaboration:
588        ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO) -> *mut CollaborationO>,
589    pub collaboration_p2p: ::std::option::Option<
590        unsafe extern "C" fn(app: *mut ApplicationO) -> *mut CollaborationP2pO,
591    >,
592    pub collaboration_discord: ::std::option::Option<
593        unsafe extern "C" fn(app: *mut ApplicationO) -> *mut CollaborationDiscordO,
594    >,
595    pub settings: ::std::option::Option<
596        unsafe extern "C" fn(app: *mut ApplicationO, id: *mut TtIdT) -> *mut TheTruthO,
597    >,
598    pub project_settings: ::std::option::Option<
599        unsafe extern "C" fn(app: *mut ApplicationO, id: *mut TtIdT) -> *mut TheTruthO,
600    >,
601    pub open_project: ::std::option::Option<
602        unsafe extern "C" fn(
603            app: *mut ApplicationO,
604            ui: *mut UiO,
605            path: *const ::std::os::raw::c_char,
606        ) -> bool,
607    >,
608    pub open_any_project: ::std::option::Option<
609        unsafe extern "C" fn(app: *mut ApplicationO, file: *const ::std::os::raw::c_char),
610    >,
611    pub save_to_asset_database: ::std::option::Option<
612        unsafe extern "C" fn(app: *mut ApplicationO, file: *const ::std::os::raw::c_char),
613    >,
614    pub import_asset: ::std::option::Option<
615        unsafe extern "C" fn(
616            app: *mut ApplicationO,
617            file: *const ::std::os::raw::c_char,
618            reimport_into: TtIdT,
619        ),
620    >,
621    pub save_all: ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO)>,
622    pub get_truth:
623        ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO) -> *mut TheTruthO>,
624    pub new_project: ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO)>,
625}
626impl Default for TheMachineryApi {
627    fn default() -> Self {
628        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
629        unsafe {
630            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
631            s.assume_init()
632        }
633    }
634}
635pub type TheMachineryCreateLayoutI =
636    ::std::option::Option<unsafe extern "C" fn(app: *mut ApplicationO)>;
637extern "C" {
638    pub static mut tm_global_api_registry: *mut ApiRegistryApi;
639}
640#[repr(C)]
641#[derive(Copy, Clone)]
642pub struct DccAssetApi {
643    _unused: [u8; 0],
644}
645extern "C" {
646    pub static mut tm_dcc_asset_api: *mut DccAssetApi;
647}
648#[repr(C)]
649#[derive(Copy, Clone)]
650pub struct DefaultRenderPipeApi {
651    _unused: [u8; 0],
652}
653extern "C" {
654    pub static mut tm_default_render_pipe_api: *mut DefaultRenderPipeApi;
655}
656#[repr(C)]
657#[derive(Copy, Clone)]
658pub struct GridRendererApi {
659    _unused: [u8; 0],
660}
661extern "C" {
662    pub static mut tm_grid_renderer_api: *mut GridRendererApi;
663}
664#[repr(C)]
665#[derive(Copy, Clone)]
666pub struct OsDisplayApi {
667    _unused: [u8; 0],
668}
669extern "C" {
670    pub static mut tm_os_display_api: *mut OsDisplayApi;
671}
672#[repr(C)]
673#[derive(Copy, Clone)]
674pub struct OsWindowApi {
675    _unused: [u8; 0],
676}
677extern "C" {
678    pub static mut tm_os_window_api: *mut OsWindowApi;
679}
680#[repr(C)]
681#[derive(Copy, Clone)]
682pub struct PrimitiveDrawerApi {
683    _unused: [u8; 0],
684}
685extern "C" {
686    pub static mut tm_primitive_drawer_api: *mut PrimitiveDrawerApi;
687}
688#[repr(C)]
689#[derive(Copy, Clone)]
690pub struct GpuPickingApi {
691    _unused: [u8; 0],
692}
693extern "C" {
694    pub static mut tm_gpu_picking_api: *mut GpuPickingApi;
695}
696extern "C" {
697    pub static mut tm_task_manager_api: *mut TaskManagerApi;
698}
699#[repr(C)]
700#[derive(Copy, Clone)]
701pub struct GltfApi {
702    _unused: [u8; 0],
703}
704extern "C" {
705    pub static mut tm_gltf_api_opt: *mut GltfApi;
706}
707#[repr(C)]
708#[derive(Copy, Clone)]
709pub struct OpenvrApi {
710    _unused: [u8; 0],
711}
712extern "C" {
713    pub static mut tm_openvr_api_opt: *mut OpenvrApi;
714}
715#[repr(C)]
716#[derive(Copy, Clone)]
717pub struct VulkanApi {
718    _unused: [u8; 0],
719}
720extern "C" {
721    pub static mut tm_vulkan_api_opt: *mut VulkanApi;
722}
723extern "C" {
724    pub static mut tm_cmd_buf_api: *mut RendererCommandBufferApi;
725}
726extern "C" {
727    pub static mut tm_res_buf_api: *mut RendererResourceCommandBufferApi;
728}
729extern "C" {
730    pub static mut tm_the_machinery_api: *mut TheMachineryApi;
731}
732pub const TM_TT_PROP__TRANSLATION__ENGLISH: ::std::os::raw::c_int = 0;
733pub const TM_TT_PROP__TRANSLATION__LANGUAGE: ::std::os::raw::c_int = 1;
734pub const TM_TT_PROP__TRANSLATION__TRANSLATION: ::std::os::raw::c_int = 2;
735pub type _bindgen_ty_20 = ::std::os::raw::c_int;
736pub const TM_TT_PROP__TRANSLATION_CACHE__TRANSLATIONS: ::std::os::raw::c_int = 0;
737pub type _bindgen_ty_21 = ::std::os::raw::c_int;
738#[repr(C)]
739pub struct LocalizerStateT {
740    pub language: StrhashT,
741    pub test_mode: bool,
742    pub reveal_source_text: bool,
743    pub microsoft: bool,
744    pub google: bool,
745    pub _padding_55: [::std::os::raw::c_char; 4usize],
746}
747impl Default for LocalizerStateT {
748    fn default() -> Self {
749        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
750        unsafe {
751            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
752            s.assume_init()
753        }
754    }
755}
756extern "C" {
757    pub fn create_localizer(a: *mut AllocatorI) -> *mut LocalizerO;
758}
759extern "C" {
760    pub fn destroy_localizer(loc: *mut LocalizerO);
761}
762extern "C" {
763    pub fn localizer_set_language(loc: *mut LocalizerO, language: StrhashT);
764}
765extern "C" {
766    pub fn localizer_set_test_mode(loc: *mut LocalizerO, test_mode: bool);
767}
768extern "C" {
769    pub fn localizer_set_reveal_source_text(loc: *mut LocalizerO, reveal: bool);
770}
771extern "C" {
772    pub fn localizer_set_microsoft_translate(
773        loc: *mut LocalizerO,
774        language: StrhashT,
775        api_key: *const ::std::os::raw::c_char,
776        tt: *mut TheTruthO,
777        translation_cache_id: TtIdT,
778    );
779}
780extern "C" {
781    pub fn localizer_set_google_translate(
782        loc: *mut LocalizerO,
783        language: StrhashT,
784        api_key: *const ::std::os::raw::c_char,
785        tt: *mut TheTruthO,
786        translation_cache_id: TtIdT,
787    );
788}
789extern "C" {
790    pub fn localizer_state(loc: *mut LocalizerO) -> LocalizerStateT;
791}
792extern "C" {
793    pub fn localizer_interface(loc: *mut LocalizerO) -> *mut LocalizerI;
794}
795extern "C" {
796    pub fn load_localizer(reg: *mut ApiRegistryApi, load: bool);
797}
798#[repr(C)]
799#[derive(Copy, Clone)]
800pub struct TabCreateContextT {
801    pub allocator: *mut AllocatorI,
802    pub id: *mut u64,
803    pub application: *mut ApplicationO,
804    pub tt: *mut TheTruthO,
805    pub undo_stack: *mut UndoStackI,
806    pub save_interface: *mut AssetSaveI,
807    pub ui_renderer: *mut UiRendererO,
808    pub network: *mut NetworkO,
809}
810impl Default for TabCreateContextT {
811    fn default() -> Self {
812        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
813        unsafe {
814            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
815            s.assume_init()
816        }
817    }
818}
819#[repr(C)]
820pub struct PreviewTabVt {
821    pub super_: TabVt,
822    pub preview_entity: ::std::option::Option<
823        unsafe extern "C" fn(tab: *mut TabO, e: *mut EntityT) -> *mut EntityContextO,
824    >,
825}
826impl Default for PreviewTabVt {
827    fn default() -> Self {
828        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
829        unsafe {
830            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
831            s.assume_init()
832        }
833    }
834}
835#[repr(C)]
836pub struct GraphTabVt {
837    pub super_: TabVt,
838    pub refresh_node_types: ::std::option::Option<
839        unsafe extern "C" fn(
840            tab: *mut TabO,
841            node_interface_name: *const ::std::os::raw::c_char,
842            node_interface_version: VersionT,
843        ),
844    >,
845}
846impl Default for GraphTabVt {
847    fn default() -> Self {
848        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
849        unsafe {
850            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
851            s.assume_init()
852        }
853    }
854}
855#[repr(C)]
856#[derive(Default, Copy, Clone)]
857pub struct CollaborationDiscordO {
858    pub _address: u8,
859}
860
861// Extensions generated by machinery-generator
862
863use const_cstr::{const_cstr, ConstCStr};
864
865use crate::foundation::VersionT;
866
867use crate::foundation::*;
868use crate::plugins::editor_views::*;
869use crate::plugins::entity::*;
870use crate::plugins::renderer::*;
871use crate::plugins::the_machinery_shared::*;
872use crate::plugins::ui::*;
873
874impl AssetBrowserTabApi {
875    pub unsafe fn find_asset_browser(&self, ui: *mut UiO) -> TtIdT {
876        self.find_asset_browser.unwrap()(ui)
877    }
878
879    pub unsafe fn selected_object(&self, tt: *mut TheTruthO, asset_browser: TtIdT) -> TtIdT {
880        self.selected_object.unwrap()(tt, asset_browser)
881    }
882
883    pub unsafe fn set_selection(
884        &self,
885        ui: *mut UiO,
886        asset_or_dirs: *const TtIdT,
887        n: u32,
888        undo_scope: TtUndoScopeT,
889    ) -> bool {
890        self.set_selection.unwrap()(ui, asset_or_dirs, n, undo_scope)
891    }
892}
893
894impl crate::Api for AssetBrowserTabApi {
895    const NAME: ConstCStr = const_cstr!("tm_asset_browser_tab_api");
896    const VERSION: VersionT = VersionT {
897        major: 1u32,
898        minor: 0u32,
899        patch: 0u32,
900    };
901}
902
903impl UpdateTrackerApi {
904    pub unsafe fn init(&self, allocator: *mut AllocatorI) {
905        self.init.unwrap()(allocator)
906    }
907
908    pub unsafe fn should_show_update_notification(&self, app: *mut ApplicationO) -> bool {
909        self.should_show_update_notification.unwrap()(app)
910    }
911
912    pub unsafe fn shutdown(&self) {
913        self.shutdown.unwrap()()
914    }
915}
916
917impl crate::Api for UpdateTrackerApi {
918    const NAME: ConstCStr = const_cstr!("tm_update_tracker_api");
919    const VERSION: VersionT = VersionT {
920        major: 1u32,
921        minor: 0u32,
922        patch: 0u32,
923    };
924}
925
926impl IntegrationTestRunnerApi {
927    pub unsafe fn create(
928        &self,
929        app: *mut ApplicationO,
930        allocator: *mut AllocatorI,
931        context: StrhashT,
932    ) -> *mut IntegrationTestRunnerO {
933        self.create.unwrap()(app, allocator, context)
934    }
935
936    pub unsafe fn add_test(
937        &self,
938        runner: *mut IntegrationTestRunnerO,
939        name: *const ::std::os::raw::c_char,
940    ) -> bool {
941        self.add_test.unwrap()(runner, name)
942    }
943
944    pub unsafe fn tick(&self, runner: *mut IntegrationTestRunnerO) {
945        self.tick.unwrap()(runner)
946    }
947
948    pub unsafe fn destroy(&self, runner: *mut IntegrationTestRunnerO) {
949        self.destroy.unwrap()(runner)
950    }
951}
952
953impl crate::Api for IntegrationTestRunnerApi {
954    const NAME: ConstCStr = const_cstr!("tm_integration_test_runner_api");
955    const VERSION: VersionT = VersionT {
956        major: 1u32,
957        minor: 0u32,
958        patch: 0u32,
959    };
960}
961
962impl LoginApi {
963    pub unsafe fn init(&self, allocator: *mut AllocatorI) {
964        self.init.unwrap()(allocator)
965    }
966
967    pub unsafe fn update(&self) -> LoginTabAction {
968        self.update.unwrap()()
969    }
970
971    pub unsafe fn shutdown(&self) {
972        self.shutdown.unwrap()()
973    }
974}
975
976impl crate::Api for LoginApi {
977    const NAME: ConstCStr = const_cstr!("tm_login_api");
978    const VERSION: VersionT = VersionT {
979        major: 1u32,
980        minor: 0u32,
981        patch: 0u32,
982    };
983}
984
985impl SimulateTabApi {
986    pub unsafe fn update_settings(&self, inst: *mut TabO, settings: *const SimulateTabSettingsT) {
987        self.update_settings.unwrap()(inst, settings)
988    }
989}
990
991impl crate::Api for SimulateTabApi {
992    const NAME: ConstCStr = const_cstr!("tm_simulate_tab_api");
993    const VERSION: VersionT = VersionT {
994        major: 1u32,
995        minor: 0u32,
996        patch: 0u32,
997    };
998}
999
1000impl StatisticsTabApi {
1001    pub unsafe fn add_source(
1002        &self,
1003        tab: *mut TabI,
1004        name: *const ::std::os::raw::c_char,
1005        source: *const ::std::os::raw::c_char,
1006        color: ColorSrgbT,
1007    ) {
1008        self.add_source.unwrap()(tab, name, source, color)
1009    }
1010}
1011
1012impl crate::Api for StatisticsTabApi {
1013    const NAME: ConstCStr = const_cstr!("tm_statistics_tab_api");
1014    const VERSION: VersionT = VersionT {
1015        major: 1u32,
1016        minor: 0u32,
1017        patch: 0u32,
1018    };
1019}
1020
1021impl TaskManagerApi {
1022    pub unsafe fn create(&self, alloc: *mut AllocatorI) -> *mut TaskManagerO {
1023        self.create.unwrap()(alloc)
1024    }
1025
1026    pub unsafe fn destroy(&self, inst: *mut TaskManagerO) {
1027        self.destroy.unwrap()(inst)
1028    }
1029
1030    pub unsafe fn ui(
1031        &self,
1032        inst: *mut TaskManagerO,
1033        ui: *mut UiO,
1034        id: u64,
1035        uistyle: *const UiStyleT,
1036        r: RectT,
1037    ) {
1038        self.ui.unwrap()(inst, ui, id, uistyle, r)
1039    }
1040}
1041
1042impl crate::Api for TaskManagerApi {
1043    const NAME: ConstCStr = const_cstr!("tm_task_manager_api");
1044    const VERSION: VersionT = VersionT {
1045        major: 1u32,
1046        minor: 0u32,
1047        patch: 0u32,
1048    };
1049}
1050
1051impl TheMachineryApi {
1052    pub unsafe fn open_asset(
1053        &self,
1054        app: *mut ApplicationO,
1055        ui: *mut UiO,
1056        from_tab: *mut TabI,
1057        asset: TtIdT,
1058    ) {
1059        self.open_asset.unwrap()(app, ui, from_tab, asset)
1060    }
1061
1062    pub unsafe fn get_asset_root(&self, app: *mut ApplicationO) -> TtIdT {
1063        self.get_asset_root.unwrap()(app)
1064    }
1065
1066    pub unsafe fn reimport_asset(
1067        &self,
1068        app: *mut ApplicationO,
1069        ui: *mut UiO,
1070        tt: *mut TheTruthO,
1071        asset: TtIdT,
1072    ) {
1073        self.reimport_asset.unwrap()(app, ui, tt, asset)
1074    }
1075
1076    pub unsafe fn create_or_select_tab(
1077        &self,
1078        app: *mut ApplicationO,
1079        ui: *mut UiO,
1080        vt_name: *const ::std::os::raw::c_char,
1081        opt: *const DockingFindTabOptT,
1082    ) -> *mut TabI {
1083        self.create_or_select_tab.unwrap()(app, ui, vt_name, opt)
1084    }
1085
1086    pub unsafe fn window_for_ui(&self, app: *mut ApplicationO, ui: *const UiO) -> *mut WindowO {
1087        self.window_for_ui.unwrap()(app, ui)
1088    }
1089
1090    pub unsafe fn collaboration(&self, app: *mut ApplicationO) -> *mut CollaborationO {
1091        self.collaboration.unwrap()(app)
1092    }
1093
1094    pub unsafe fn collaboration_p2p(&self, app: *mut ApplicationO) -> *mut CollaborationP2pO {
1095        self.collaboration_p2p.unwrap()(app)
1096    }
1097
1098    pub unsafe fn collaboration_discord(
1099        &self,
1100        app: *mut ApplicationO,
1101    ) -> *mut CollaborationDiscordO {
1102        self.collaboration_discord.unwrap()(app)
1103    }
1104
1105    pub unsafe fn settings(&self, app: *mut ApplicationO, id: *mut TtIdT) -> *mut TheTruthO {
1106        self.settings.unwrap()(app, id)
1107    }
1108
1109    pub unsafe fn project_settings(
1110        &self,
1111        app: *mut ApplicationO,
1112        id: *mut TtIdT,
1113    ) -> *mut TheTruthO {
1114        self.project_settings.unwrap()(app, id)
1115    }
1116
1117    pub unsafe fn open_project(
1118        &self,
1119        app: *mut ApplicationO,
1120        ui: *mut UiO,
1121        path: *const ::std::os::raw::c_char,
1122    ) -> bool {
1123        self.open_project.unwrap()(app, ui, path)
1124    }
1125
1126    pub unsafe fn open_any_project(
1127        &self,
1128        app: *mut ApplicationO,
1129        file: *const ::std::os::raw::c_char,
1130    ) {
1131        self.open_any_project.unwrap()(app, file)
1132    }
1133
1134    pub unsafe fn save_to_asset_database(
1135        &self,
1136        app: *mut ApplicationO,
1137        file: *const ::std::os::raw::c_char,
1138    ) {
1139        self.save_to_asset_database.unwrap()(app, file)
1140    }
1141
1142    pub unsafe fn import_asset(
1143        &self,
1144        app: *mut ApplicationO,
1145        file: *const ::std::os::raw::c_char,
1146        reimport_into: TtIdT,
1147    ) {
1148        self.import_asset.unwrap()(app, file, reimport_into)
1149    }
1150
1151    pub unsafe fn save_all(&self, app: *mut ApplicationO) {
1152        self.save_all.unwrap()(app)
1153    }
1154
1155    pub unsafe fn get_truth(&self, app: *mut ApplicationO) -> *mut TheTruthO {
1156        self.get_truth.unwrap()(app)
1157    }
1158
1159    pub unsafe fn new_project(&self, app: *mut ApplicationO) {
1160        self.new_project.unwrap()(app)
1161    }
1162}
1163
1164impl crate::Api for TheMachineryApi {
1165    const NAME: ConstCStr = const_cstr!("tm_the_machinery_api");
1166    const VERSION: VersionT = VersionT {
1167        major: 1u32,
1168        minor: 0u32,
1169        patch: 0u32,
1170    };
1171}
1172
1173impl DccAssetApi {}
1174
1175impl DefaultRenderPipeApi {}
1176
1177impl GridRendererApi {}
1178
1179impl OsDisplayApi {}
1180
1181impl OsWindowApi {}
1182
1183impl PrimitiveDrawerApi {}
1184
1185impl GpuPickingApi {}
1186
1187impl GltfApi {}
1188
1189impl OpenvrApi {}
1190
1191impl VulkanApi {}
1192
1193pub const TM_ASSET_BROWSER_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1194    u64_: 13036556916491485142u64,
1195};
1196pub const TM_CACHE_MANAGER_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1197    u64_: 17336090661109815624u64,
1198};
1199pub const TM_CANVAS_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1200    u64_: 9991448700525851219u64,
1201};
1202pub const TM_COLLABORATION_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1203    u64_: 13304429456151464228u64,
1204};
1205pub const TM_CONSOLE_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1206    u64_: 12163199768431146244u64,
1207};
1208pub const TM_CORE_ID_DCC_IMAGE_CG: StrhashT = StrhashT {
1209    u64_: 4745056028275695429u64,
1210};
1211pub const TM_CORE_ID_DCC_MATERIAL_CG: StrhashT = StrhashT {
1212    u64_: 14644393322716058569u64,
1213};
1214pub const TM_CORE_ID_DCC_MATERIAL_OPACITY_CG: StrhashT = StrhashT {
1215    u64_: 15439250747231496698u64,
1216};
1217pub const TM_CORE_ID_DCC_MESH_CG: StrhashT = StrhashT {
1218    u64_: 3192826436324017360u64,
1219};
1220pub const TM_CORE_ID_DCC_MESH_LOD_CG: StrhashT = StrhashT {
1221    u64_: 14880516632037890971u64,
1222};
1223pub const TM_CORE_ID_DCC_MESH_LOD_STEP_CG: StrhashT = StrhashT {
1224    u64_: 12029032052130817361u64,
1225};
1226pub const TM_CORE_ID_IMPORT_IMAGE_CG: StrhashT = StrhashT {
1227    u64_: 8434100624486330861u64,
1228};
1229pub const TM_CORE_ID_DROP_IMAGE_CG: StrhashT = StrhashT {
1230    u64_: 4513188134555908800u64,
1231};
1232pub const TM_CORE_ID_EDITOR_ICON_CG: StrhashT = StrhashT {
1233    u64_: 7038704372328695573u64,
1234};
1235pub const TM_CORE_ID_GEOMETRY_MATERIAL_CG: StrhashT = StrhashT {
1236    u64_: 14108441262108032777u64,
1237};
1238pub const TM_CORE_ID_GEOMETRY_BOX_ENTITY: StrhashT = StrhashT {
1239    u64_: 7252367683291092979u64,
1240};
1241pub const TM_CORE_ID_GEOMETRY_SPHERE_ENTITY: StrhashT = StrhashT {
1242    u64_: 11582288377819735590u64,
1243};
1244pub const TM_CORE_ID_GEOMETRY_PLANE_ENTITY: StrhashT = StrhashT {
1245    u64_: 7311513872247150992u64,
1246};
1247pub const TM_CORE_ID_LIGHT_ENTITY: StrhashT = StrhashT {
1248    u64_: 7173462963839382841u64,
1249};
1250pub const TM_CORE_ID_CAMERA_ENTITY: StrhashT = StrhashT {
1251    u64_: 2187989508077250605u64,
1252};
1253pub const TM_CORE_ID_POST_PROCESSING_STACK: StrhashT = StrhashT {
1254    u64_: 17154254651014689721u64,
1255};
1256pub const TM_CORE_ID_POST_PROCESSING_VOLUME: StrhashT = StrhashT {
1257    u64_: 6525241469376208722u64,
1258};
1259pub const TM_CORE_ID_REFLECTION_PROBE_ENTITY: StrhashT = StrhashT {
1260    u64_: 4249566392992356494u64,
1261};
1262pub const TM_CORE_ID_DEFAULT_WORLD: StrhashT = StrhashT {
1263    u64_: 9823233946160333378u64,
1264};
1265pub const TM_CORE_ID_DEFAULT_LIGHTING_ENVIRONMENT: StrhashT = StrhashT {
1266    u64_: 9068331648142131762u64,
1267};
1268pub const TM_CORE_ID_SHORTCUT_LABEL_GEOMETRY: StrhashT = StrhashT {
1269    u64_: 10328401752681028853u64,
1270};
1271pub const TM_CORE_ID_DEFAULT_SKY: StrhashT = StrhashT {
1272    u64_: 7363654769829550863u64,
1273};
1274pub const TM_DELAUNAY_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1275    u64_: 8171429600103526299u64,
1276};
1277pub const TM_DOWNLOAD_VT_NAME_HASH: StrhashT = StrhashT {
1278    u64_: 11801884756962955328u64,
1279};
1280pub const TM_WELCOME_VT_NAME_HASH: StrhashT = StrhashT {
1281    u64_: 10557901196531259385u64,
1282};
1283pub const TM_TT_TYPE_HASH__APPLICATION_SETTINGS__UPDATES: StrhashT = StrhashT {
1284    u64_: 9690335476561887142u64,
1285};
1286pub const TM_TT_TYPE_HASH__APPLICATION_SETTINGS__DOWNLOAD: StrhashT = StrhashT {
1287    u64_: 15292496360168744251u64,
1288};
1289pub const TM_TREE_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1290    u64_: 15475822667703539061u64,
1291};
1292pub const TM_GENERIC_TREE_VIEW_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1293    u64_: 7879992602091662578u64,
1294};
1295pub const TM_GRAPH_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1296    u64_: 7469907488998227710u64,
1297};
1298pub const TM_IMPORT_PROJECT_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1299    u64_: 5425513247114970647u64,
1300};
1301pub const TM_INPUT_LOG_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1302    u64_: 3670387838326478915u64,
1303};
1304pub const TM_JSON_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1305    u64_: 6402701518264315318u64,
1306};
1307pub const TM_LOGIN_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1308    u64_: 13936248484350100215u64,
1309};
1310pub const TM_MODIFIED_ASSETS_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1311    u64_: 10659480203678754394u64,
1312};
1313pub const TM_NETWORK_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1314    u64_: 8766316902787013043u64,
1315};
1316pub const TM_PREVIEW_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1317    u64_: 3090695599756087083u64,
1318};
1319pub const TM_PROFILER_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1320    u64_: 6501996879298069992u64,
1321};
1322pub const TM_PROPERTIES_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1323    u64_: 13146008834947116426u64,
1324};
1325pub const TM_SCENE_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1326    u64_: 8924396880956854330u64,
1327};
1328pub const TM_TT_TYPE_HASH__SCENE_TAB: StrhashT = StrhashT {
1329    u64_: 8924396880956854330u64,
1330};
1331pub const TM_TT_TYPE_HASH__SCENE_TAB_SETTINGS: StrhashT = StrhashT {
1332    u64_: 11302401724387347019u64,
1333};
1334pub const TM_TT_TYPE_HASH__SCENE_SETTINGS: StrhashT = StrhashT {
1335    u64_: 1480825796711809733u64,
1336};
1337pub const TM_SIMULATE_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1338    u64_: 15540707913236182876u64,
1339};
1340pub const TM_TT_TYPE_HASH__SIMULATE_TAB_SETTINGS: StrhashT = StrhashT {
1341    u64_: 9183098095369085156u64,
1342};
1343pub const TM_STATE_GRAPH_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1344    u64_: 14410119148743899870u64,
1345};
1346pub const TM_STATISTICS_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1347    u64_: 8580271604033701237u64,
1348};
1349pub const TM_TASK_MANAGER_TAB_VT_NAME_HASH: StrhashT = StrhashT {
1350    u64_: 3581857845760553842u64,
1351};
1352pub const TM_TT_TYPE_HASH__APPLICATION_SETTINGS: StrhashT = StrhashT {
1353    u64_: 4146725298831762617u64,
1354};
1355pub const TM_TT_TYPE_HASH__PROJECT_MANAGEMENT_SETTINGS: StrhashT = StrhashT {
1356    u64_: 10054850684661594383u64,
1357};
1358pub const TM_TT_TYPE_HASH__INTERFACE_SETTINGS: StrhashT = StrhashT {
1359    u64_: 15196734740682162288u64,
1360};
1361pub const TM_TT_TYPE_HASH__WINDOW_LAYOUTS: StrhashT = StrhashT {
1362    u64_: 12486477828238302005u64,
1363};
1364pub const TM_TT_TYPE_HASH__WINDOW_LAYOUT: StrhashT = StrhashT {
1365    u64_: 2242415212777679619u64,
1366};
1367pub const TM_TT_TYPE_HASH__WORKSPACE: StrhashT = StrhashT {
1368    u64_: 14829736330726518513u64,
1369};
1370pub const TM_TT_TYPE_HASH__RECENT_FILE: StrhashT = StrhashT {
1371    u64_: 13424770189634016662u64,
1372};
1373pub const TM_TT_TYPE_HASH__PUBLISH_SETTINGS: StrhashT = StrhashT {
1374    u64_: 10298575024838714316u64,
1375};
1376pub const TM_TT_TYPE_HASH__APPLICATION_SECURITY: StrhashT = StrhashT {
1377    u64_: 12727897416163656223u64,
1378};
1379pub const TM_TT_TYPE_HASH__PROJECT_SETTINGS: StrhashT = StrhashT {
1380    u64_: 16275721671749807405u64,
1381};
1382pub const TM_TT_TYPE_HASH__NETWORK_SETTINGS: StrhashT = StrhashT {
1383    u64_: 4133456848111380615u64,
1384};
1385pub const TM_TT_TYPE_HASH__LOCALIZATION_SETTINGS: StrhashT = StrhashT {
1386    u64_: 12227184065019180970u64,
1387};
1388pub const TM_TT_TYPE_HASH__TRANSLATION: StrhashT = StrhashT {
1389    u64_: 1601245301749355993u64,
1390};
1391pub const TM_TT_TYPE_HASH__TRANSLATION_CACHE: StrhashT = StrhashT {
1392    u64_: 15932710862828710769u64,
1393};
1394pub const TM_THE_MACHINERY_PROJECT_CALLBACK_I_VERSION: VersionT = VersionT {
1395    major: 1u32,
1396    minor: 0u32,
1397    patch: 0u32,
1398};
1399pub const TM_THE_MACHINERY_API_VERSION: VersionT = VersionT {
1400    major: 1u32,
1401    minor: 0u32,
1402    patch: 0u32,
1403};
1404pub const TM_THE_MACHINERY_CREATE_LAYOUT_I_VERSION: VersionT = VersionT {
1405    major: 1u32,
1406    minor: 0u32,
1407    patch: 0u32,
1408};
1409pub const TM_SIMULATE_TAB_API_VERSION: VersionT = VersionT {
1410    major: 1u32,
1411    minor: 0u32,
1412    patch: 0u32,
1413};
1414pub const TM_STATISTICS_TAB_API_VERSION: VersionT = VersionT {
1415    major: 1u32,
1416    minor: 0u32,
1417    patch: 0u32,
1418};
1419pub const TM_ASSET_BROWSER_TAB_CUSTOM_MENU_ITEMS_I_VERSION: VersionT = VersionT {
1420    major: 1u32,
1421    minor: 0u32,
1422    patch: 0u32,
1423};
1424pub const TM_UPDATE_TRACKER_API_VERSION: VersionT = VersionT {
1425    major: 1u32,
1426    minor: 0u32,
1427    patch: 0u32,
1428};
1429pub const TM_TASK_MANAGER_API_VERSION: VersionT = VersionT {
1430    major: 1u32,
1431    minor: 0u32,
1432    patch: 0u32,
1433};
1434pub const TM_INTEGRATION_TEST_RUNNER_API_VERSION: VersionT = VersionT {
1435    major: 1u32,
1436    minor: 0u32,
1437    patch: 0u32,
1438};
1439pub const TM_LOGIN_API_VERSION: VersionT = VersionT {
1440    major: 1u32,
1441    minor: 0u32,
1442    patch: 0u32,
1443};
1444pub const TM_ASSET_BROWSER_TAB_API_VERSION: VersionT = VersionT {
1445    major: 1u32,
1446    minor: 0u32,
1447    patch: 0u32,
1448};