machinery_api/plugins/
editor_views.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}
81#[repr(C)]
82pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
83impl<T> __BindgenUnionField<T> {
84    #[inline]
85    pub const fn new() -> Self {
86        __BindgenUnionField(::std::marker::PhantomData)
87    }
88    #[inline]
89    pub unsafe fn as_ref(&self) -> &T {
90        ::std::mem::transmute(self)
91    }
92    #[inline]
93    pub unsafe fn as_mut(&mut self) -> &mut T {
94        ::std::mem::transmute(self)
95    }
96}
97impl<T> ::std::default::Default for __BindgenUnionField<T> {
98    #[inline]
99    fn default() -> Self {
100        Self::new()
101    }
102}
103impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
104    #[inline]
105    fn clone(&self) -> Self {
106        Self::new()
107    }
108}
109impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
110impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
111    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
112        fmt.write_str("__BindgenUnionField")
113    }
114}
115impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
116    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
117}
118impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
119    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
120        true
121    }
122}
123impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
124pub const __SAL_H_VERSION: u32 = 180000000;
125pub const __bool_true_false_are_defined: u32 = 1;
126pub const TM_TT_TYPE__ASSET_BROWSER: &'static [u8; 17usize] = b"tm_asset_browser\0";
127pub const TM_ASSET_LABEL_MAX: u32 = 256;
128pub const TM_ASSET_LABEL_BITFLAG_UINT64_COUNT: u32 = 4;
129pub const TM_TT_TYPE__GRAPH: &'static [u8; 9usize] = b"tm_graph\0";
130pub const TM_TT_TYPE__GRAPH_NODE: &'static [u8; 14usize] = b"tm_graph_node\0";
131pub const TM_TT_TYPE__GRAPH_CONNECTION: &'static [u8; 20usize] = b"tm_graph_connection\0";
132pub const TM_TT_TYPE__GRAPH_DATA: &'static [u8; 14usize] = b"tm_graph_data\0";
133pub const TM_TT_TYPE__GRAPH_COMMENT: &'static [u8; 17usize] = b"tm_graph_comment\0";
134pub const TM_TT_TYPE__GRAPH_INTERFACE: &'static [u8; 19usize] = b"tm_graph_interface\0";
135pub const TM_TT_TYPE__GRAPH_INPUT: &'static [u8; 15usize] = b"tm_graph_input\0";
136pub const TM_TT_TYPE__GRAPH_INPUT_REFERENCE: &'static [u8; 25usize] = b"tm_graph_input_reference\0";
137pub const TM_TT_TYPE__GRAPH_OUTPUT: &'static [u8; 16usize] = b"tm_graph_output\0";
138pub const TM_TT_TYPE__GRAPH_OUTPUT_REFERENCE: &'static [u8; 26usize] =
139    b"tm_graph_output_reference\0";
140pub const TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT: &'static [u8; 28usize] =
141    b"tm_graph_cached_node_result\0";
142pub const TM_TT_TYPE__GRAPH_EVENT: &'static [u8; 17usize] = b"tm_graph_event_t\0";
143pub const TM_TT_TYPE__GRAPH_SETTINGS: &'static [u8; 18usize] = b"tm_graph_settings\0";
144pub const TM_TT_TYPE__GRAPH_DEBUGGER_PERSISTENT_SETTINGS: &'static [u8; 38usize] =
145    b"tm_graph_debugger_persistent_settings\0";
146pub const TM_TT_TYPE__GRAPH_SETTINGS_BREAKPOINT: &'static [u8; 29usize] =
147    b"tm_graph_settings_breakpoint\0";
148pub const TM_TT_TYPE__PROPERTIES_SETTINGS: &'static [u8; 23usize] = b"tm_properties_settings\0";
149extern "C" {
150    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
151}
152pub type __vcrt_bool = bool;
153extern "C" {
154    pub fn __security_init_cookie();
155}
156extern "C" {
157    pub fn __security_check_cookie(_StackCookie: usize);
158}
159extern "C" {
160    pub fn __report_gsfailure(_StackCookie: usize);
161}
162extern "C" {
163    pub static mut __security_cookie: usize;
164}
165#[repr(C)]
166#[derive(Copy, Clone)]
167pub union TtIdTBindgenTy1 {
168    pub u64_: u64,
169    pub __bindgen_anon_1: TtIdTBindgenTy1BindgenTy1,
170}
171#[repr(C)]
172#[repr(align(8))]
173#[derive(Default, Copy, Clone)]
174pub struct TtIdTBindgenTy1BindgenTy1 {
175    pub _bitfield_align_1: [u32; 0],
176    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
177}
178impl TtIdTBindgenTy1BindgenTy1 {
179    #[inline]
180    pub fn type_(&self) -> u64 {
181        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
182    }
183    #[inline]
184    pub fn set_type(&mut self, val: u64) {
185        unsafe {
186            let val: u64 = ::std::mem::transmute(val);
187            self._bitfield_1.set(0usize, 10u8, val as u64)
188        }
189    }
190    #[inline]
191    pub fn generation(&self) -> u64 {
192        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
193    }
194    #[inline]
195    pub fn set_generation(&mut self, val: u64) {
196        unsafe {
197            let val: u64 = ::std::mem::transmute(val);
198            self._bitfield_1.set(10usize, 22u8, val as u64)
199        }
200    }
201    #[inline]
202    pub fn index(&self) -> u64 {
203        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
204    }
205    #[inline]
206    pub fn set_index(&mut self, val: u64) {
207        unsafe {
208            let val: u64 = ::std::mem::transmute(val);
209            self._bitfield_1.set(32usize, 32u8, val as u64)
210        }
211    }
212    #[inline]
213    pub fn new_bitfield_1(
214        type_: u64,
215        generation: u64,
216        index: u64,
217    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
218        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
219        __bindgen_bitfield_unit.set(0usize, 10u8, {
220            let type_: u64 = unsafe { ::std::mem::transmute(type_) };
221            type_ as u64
222        });
223        __bindgen_bitfield_unit.set(10usize, 22u8, {
224            let generation: u64 = unsafe { ::std::mem::transmute(generation) };
225            generation as u64
226        });
227        __bindgen_bitfield_unit.set(32usize, 32u8, {
228            let index: u64 = unsafe { ::std::mem::transmute(index) };
229            index as u64
230        });
231        __bindgen_bitfield_unit
232    }
233}
234impl Default for TtIdTBindgenTy1 {
235    fn default() -> Self {
236        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
237        unsafe {
238            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
239            s.assume_init()
240        }
241    }
242}
243pub const TM_TT_PROP__ASSET_BROWSER__SELECTION: ::std::os::raw::c_int = 0;
244pub const TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY: ::std::os::raw::c_int = 1;
245pub const TM_TT_PROP__ASSET_BROWSER__FOCUS: ::std::os::raw::c_int = 2;
246pub const TM_TT_PROP__ASSET_BROWSER__SORT_ASCENDING: ::std::os::raw::c_int = 3;
247pub const TM_TT_PROP__ASSET_BROWSER__SORT_BY: ::std::os::raw::c_int = 4;
248pub const TM_TT_PROP__ASSET_BROWSER__VIEW_MODE: ::std::os::raw::c_int = 5;
249pub const TM_TT_PROP__ASSET_BROWSER__ITEM_SIZE: ::std::os::raw::c_int = 6;
250pub const TM_TT_PROP__ASSET_BROWSER__FILTER_BY_FILE_EXT: ::std::os::raw::c_int = 7;
251pub const TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_1: ::std::os::raw::c_int = 8;
252pub const TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_2: ::std::os::raw::c_int = 9;
253pub const TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_3: ::std::os::raw::c_int = 10;
254pub const TM_TT_PROP__ASSET_BROWSER__FILTER_BY_LABEL_BITFLAG_4: ::std::os::raw::c_int = 11;
255pub const TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY_UUID_A: ::std::os::raw::c_int = 12;
256pub const TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY_UUID_B: ::std::os::raw::c_int = 13;
257pub type _bindgen_ty_1 = ::std::os::raw::c_int;
258pub const TM_ASSET_SAVE_STATUS__SAVED: AssetSaveStatus = 0;
259pub const TM_ASSET_SAVE_STATUS__MODIFIED: AssetSaveStatus = 1;
260pub const TM_ASSET_SAVE_STATUS__CREATED: AssetSaveStatus = 2;
261pub type AssetSaveStatus = ::std::os::raw::c_int;
262pub const TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__CREATED: AssetSaveFileTreeModificationType = 0;
263pub const TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__DELETED: AssetSaveFileTreeModificationType = 1;
264pub const TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__MOVED: AssetSaveFileTreeModificationType = 2;
265pub const TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__RENAMED: AssetSaveFileTreeModificationType = 3;
266pub type AssetSaveFileTreeModificationType = ::std::os::raw::c_int;
267#[repr(C)]
268pub struct AssetSaveFileTreeModificationT {
269    pub item: TtIdT,
270    pub type_: AssetSaveFileTreeModificationType,
271    pub _padding_88: [::std::os::raw::c_char; 4usize],
272    pub original_name: *const ::std::os::raw::c_char,
273    pub original_directory: TtIdT,
274}
275impl Default for AssetSaveFileTreeModificationT {
276    fn default() -> Self {
277        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
278        unsafe {
279            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
280            s.assume_init()
281        }
282    }
283}
284#[repr(C)]
285#[derive(Copy, Clone)]
286pub struct AssetSaveO {
287    _unused: [u8; 0],
288}
289#[repr(C)]
290#[derive(Copy, Clone)]
291pub struct AssetSaveI {
292    pub inst: *mut AssetSaveO,
293    pub can_save_individual_assets:
294        ::std::option::Option<unsafe extern "C" fn(inst: *mut AssetSaveO) -> bool>,
295    pub file_tree_modifications: ::std::option::Option<
296        unsafe extern "C" fn(
297            inst: *mut AssetSaveO,
298            ta: *mut TempAllocatorI,
299            n: *mut u32,
300        ) -> *mut AssetSaveFileTreeModificationT,
301    >,
302    pub status: ::std::option::Option<
303        unsafe extern "C" fn(inst: *mut AssetSaveO, asset: TtIdT) -> AssetSaveStatus,
304    >,
305    pub save_asset:
306        ::std::option::Option<unsafe extern "C" fn(inst: *mut AssetSaveO, asset: TtIdT)>,
307    pub revert_asset: ::std::option::Option<
308        unsafe extern "C" fn(inst: *mut AssetSaveO, asset: TtIdT, undo_scope: TtUndoScopeT),
309    >,
310    pub save_all: ::std::option::Option<unsafe extern "C" fn(inst: *mut AssetSaveO)>,
311    pub save_all_except: ::std::option::Option<
312        unsafe extern "C" fn(inst: *mut AssetSaveO, ignore: *mut TtIdT, num_ignore: u32),
313    >,
314    pub asset_root_path: ::std::option::Option<
315        unsafe extern "C" fn(inst: *const AssetSaveO) -> *const ::std::os::raw::c_char,
316    >,
317}
318impl Default for AssetSaveI {
319    fn default() -> Self {
320        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
321        unsafe {
322            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
323            s.assume_init()
324        }
325    }
326}
327#[repr(C)]
328#[derive(Copy, Clone)]
329pub struct AssetBrowserCreateAssetI {
330    pub inst: *mut AssetBrowserCreateAssetO,
331    pub menu_name: *const ::std::os::raw::c_char,
332    pub asset_name: *const ::std::os::raw::c_char,
333    pub create: ::std::option::Option<
334        unsafe extern "C" fn(
335            inst: *mut AssetBrowserCreateAssetO,
336            tt: *mut TheTruthO,
337            undo_scope: TtUndoScopeT,
338        ) -> TtIdT,
339    >,
340}
341impl Default for AssetBrowserCreateAssetI {
342    fn default() -> Self {
343        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
344        unsafe {
345            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
346            s.assume_init()
347        }
348    }
349}
350#[repr(C)]
351#[derive(Copy, Clone)]
352pub struct AssetBrowserOpenAssetApi {
353    pub inst: *mut AssetBrowserOpenAssetO,
354    pub open: ::std::option::Option<
355        unsafe extern "C" fn(
356            inst: *mut AssetBrowserOpenAssetO,
357            ui: *mut UiO,
358            from_tab: *mut TabI,
359            object: TtIdT,
360        ),
361    >,
362    pub can_open: ::std::option::Option<
363        unsafe extern "C" fn(
364            inst: *mut AssetBrowserOpenAssetO,
365            ui: *mut UiO,
366            object: TtIdT,
367        ) -> bool,
368    >,
369}
370impl Default for AssetBrowserOpenAssetApi {
371    fn default() -> Self {
372        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
373        unsafe {
374            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
375            s.assume_init()
376        }
377    }
378}
379#[repr(C)]
380#[derive(Copy, Clone)]
381pub struct AssetBrowserAddAssetApi {
382    pub inst: *mut AssetBrowserAddAssetO,
383    pub current_directory: ::std::option::Option<
384        unsafe extern "C" fn(inst: *mut AssetBrowserAddAssetO, ui: *mut UiO) -> TtIdT,
385    >,
386    pub exists: ::std::option::Option<
387        unsafe extern "C" fn(
388            inst: *mut AssetBrowserAddAssetO,
389            directory: TtIdT,
390            name: *const ::std::os::raw::c_char,
391        ) -> TtIdT,
392    >,
393    pub add: ::std::option::Option<
394        unsafe extern "C" fn(
395            inst: *mut AssetBrowserAddAssetO,
396            directory: TtIdT,
397            object: TtIdT,
398            name: *const ::std::os::raw::c_char,
399            undo_scope: TtUndoScopeT,
400            select: bool,
401            ui: *mut UiO,
402            asset_labels: *mut u64,
403            num_asset_labels: u32,
404        ),
405    >,
406    pub add_directory: ::std::option::Option<
407        unsafe extern "C" fn(
408            inst: *mut AssetBrowserAddAssetO,
409            parent_directory: TtIdT,
410            name: *const ::std::os::raw::c_char,
411            undo_scope: TtUndoScopeT,
412            select: bool,
413            ui: *mut UiO,
414        ) -> TtIdT,
415    >,
416}
417impl Default for AssetBrowserAddAssetApi {
418    fn default() -> Self {
419        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
420        unsafe {
421            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
422            s.assume_init()
423        }
424    }
425}
426#[repr(C)]
427#[derive(Copy, Clone)]
428pub struct AssetBrowserSelectAssetApi {
429    pub inst: *mut AssetBrowserSelectAssetO,
430    pub select_asset: ::std::option::Option<
431        unsafe extern "C" fn(inst: *mut AssetBrowserSelectAssetO, ui: *mut UiO, asset: TtIdT),
432    >,
433    pub select_assets: ::std::option::Option<
434        unsafe extern "C" fn(
435            inst: *mut AssetBrowserSelectAssetO,
436            ui: *mut UiO,
437            assets: *mut TtIdT,
438            count: u32,
439        ),
440    >,
441}
442impl Default for AssetBrowserSelectAssetApi {
443    fn default() -> Self {
444        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
445        unsafe {
446            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
447            s.assume_init()
448        }
449    }
450}
451#[repr(C)]
452#[derive(Copy, Clone)]
453pub struct AssetBrowserO {
454    _unused: [u8; 0],
455}
456#[repr(C)]
457#[derive(Copy, Clone)]
458pub struct AssetBrowserCustomMenuItemI {
459    pub ud: *mut ::std::os::raw::c_void,
460    pub menu_item: ::std::option::Option<
461        unsafe extern "C" fn(
462            item: *mut UiMenuItemT,
463            ud: *mut ::std::os::raw::c_void,
464            ab: *mut AssetBrowserO,
465            tt: *mut TheTruthO,
466            asset_browser_object: TtIdT,
467        ),
468    >,
469    pub menu_select: ::std::option::Option<
470        unsafe extern "C" fn(
471            ud: *mut ::std::os::raw::c_void,
472            ab: *mut AssetBrowserO,
473            ui: *mut UiO,
474            tt: *mut TheTruthO,
475            asset_browser_object: TtIdT,
476            undo_stack: *mut UndoStackI,
477        ),
478    >,
479}
480impl Default for AssetBrowserCustomMenuItemI {
481    fn default() -> Self {
482        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
483        unsafe {
484            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
485            s.assume_init()
486        }
487    }
488}
489#[repr(C)]
490pub struct AssetBrowserConfigT {
491    pub tt: *mut TheTruthO,
492    pub asset_browser: TtIdT,
493    pub undo_stack: *mut UndoStackI,
494    pub tab: *mut TabI,
495    pub open_ud: *mut ::std::os::raw::c_void,
496    pub open: ::std::option::Option<
497        unsafe extern "C" fn(
498            open_ud: *mut ::std::os::raw::c_void,
499            ui: *mut UiO,
500            tab: *mut TabI,
501            asset: TtIdT,
502        ),
503    >,
504    pub disable_thumbnail_generation: bool,
505    pub _padding_286: [::std::os::raw::c_char; 3usize],
506    pub num_custom_menu_items: u32,
507    pub custom_menu_items: *const AssetBrowserCustomMenuItemI,
508    pub save_interface: *mut AssetSaveI,
509    pub ui_renderer: *mut UiRendererO,
510}
511impl Default for AssetBrowserConfigT {
512    fn default() -> Self {
513        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
514        unsafe {
515            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
516            s.assume_init()
517        }
518    }
519}
520#[repr(C)]
521#[derive(Default, Copy, Clone)]
522pub struct AssetBrowserUiResT {
523    pub focus_changed: bool,
524}
525pub const TM_ASSET_BROWSER_SHORTCUT__OPEN_ASSET_IN_NEW_WORKSPACE: AssetBrowserShortcut = 0;
526pub const TM_ASSET_BROWSER_SHORTCUT__OPEN_ASSET_IN_NEW_TAB: AssetBrowserShortcut = 1;
527pub const TM_ASSET_BROWSER_SHORTCUT__OPEN_ASSET_IN_NEW_TAB_AND_PIN: AssetBrowserShortcut = 2;
528pub type AssetBrowserShortcut = ::std::os::raw::c_int;
529#[repr(C)]
530#[derive(Default, Copy, Clone)]
531pub struct AssetBrowserApi {
532    pub create_asset_browser: ::std::option::Option<
533        unsafe extern "C" fn(
534            allocator: *mut AllocatorI,
535            config: *const AssetBrowserConfigT,
536        ) -> *mut AssetBrowserO,
537    >,
538    pub destroy_asset_browser:
539        ::std::option::Option<unsafe extern "C" fn(asset_browser: *mut AssetBrowserO)>,
540    pub ui: ::std::option::Option<
541        unsafe extern "C" fn(
542            inst: *mut AssetBrowserO,
543            asset_root: TtIdT,
544            ui: *mut UiO,
545            style: *const UiStyleT,
546            rect: RectT,
547            tab_id: u64,
548        ) -> AssetBrowserUiResT,
549    >,
550    pub set_new_truth: ::std::option::Option<
551        unsafe extern "C" fn(inst: *mut AssetBrowserO, tt: *mut TheTruthO, asset_browser: TtIdT),
552    >,
553    pub menu: ::std::option::Option<
554        unsafe extern "C" fn(
555            inst: *mut AssetBrowserO,
556            asset_root: TtIdT,
557            ui: *mut UiO,
558            style: *const UiStyleT,
559            pos: Vec2T,
560        ),
561    >,
562    pub process_dropped_os_files: ::std::option::Option<
563        unsafe extern "C" fn(
564            inst: *mut AssetBrowserO,
565            ui: *mut UiO,
566            asset_root: TtIdT,
567            files: *mut *mut ::std::os::raw::c_char,
568            num_files: u32,
569        ),
570    >,
571    pub focused_object:
572        ::std::option::Option<unsafe extern "C" fn(inst: *mut AssetBrowserO) -> TtIdT>,
573    pub selected_objects: ::std::option::Option<
574        unsafe extern "C" fn(inst: *mut AssetBrowserO, ta: *mut TempAllocatorI) -> *const TtIdT,
575    >,
576    pub shortcuts: ::std::option::Option<unsafe extern "C" fn() -> *mut *mut ShortcutI>,
577}
578#[repr(C)]
579pub struct TheTruthPropertyDefinitionTBindgenTy1 {
580    pub enum_editor: __BindgenUnionField<TheTruthEditorEnumT>,
581    pub string_open_path_editor: __BindgenUnionField<TheTruthEditorStringOpenPathT>,
582    pub string_save_path_editor: __BindgenUnionField<TheTruthEditorStringSavePathT>,
583    pub bindgen_union_field: [u64; 3usize],
584}
585impl Default for TheTruthPropertyDefinitionTBindgenTy1 {
586    fn default() -> Self {
587        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
588        unsafe {
589            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
590            s.assume_init()
591        }
592    }
593}
594#[repr(C)]
595pub struct TtPropValueTBindgenTy1 {
596    pub b: __BindgenUnionField<bool>,
597    pub u32_: __BindgenUnionField<u32>,
598    pub u64_: __BindgenUnionField<u64>,
599    pub f32_: __BindgenUnionField<f32>,
600    pub f64_: __BindgenUnionField<f64>,
601    pub string: __BindgenUnionField<*const ::std::os::raw::c_char>,
602    pub buffer: __BindgenUnionField<TtBufferT>,
603    pub object: __BindgenUnionField<TtIdT>,
604    pub set: __BindgenUnionField<*const TtIdT>,
605    pub bindgen_union_field: [u64; 4usize],
606}
607impl Default for TtPropValueTBindgenTy1 {
608    fn default() -> Self {
609        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
610        unsafe {
611            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
612            s.assume_init()
613        }
614    }
615}
616pub const TM_THE_TRUTH_MAX_PROPERTIES: ::std::os::raw::c_int = 64;
617pub type _bindgen_ty_2 = ::std::os::raw::c_int;
618pub const TM_TT_PROP__ASSET_ROOT__ASSETS: ::std::os::raw::c_int = 0;
619pub const TM_TT_PROP__ASSET_ROOT__DIRECTORIES: ::std::os::raw::c_int = 1;
620pub type _bindgen_ty_3 = ::std::os::raw::c_int;
621pub const TM_TT_PROP__ASSET__NAME: ::std::os::raw::c_int = 0;
622pub const TM_TT_PROP__ASSET__DIRECTORY: ::std::os::raw::c_int = 1;
623pub const TM_TT_PROP__ASSET__UUID_LABELS: ::std::os::raw::c_int = 2;
624pub const TM_TT_PROP__ASSET__OBJECT: ::std::os::raw::c_int = 3;
625pub const TM_TT_PROP__ASSET__THUMBNAIL: ::std::os::raw::c_int = 4;
626pub type _bindgen_ty_4 = ::std::os::raw::c_int;
627pub const TM_TT_PROP__ASSET_DIRECTORY__NAME: ::std::os::raw::c_int = 0;
628pub const TM_TT_PROP__ASSET_DIRECTORY__PARENT: ::std::os::raw::c_int = 1;
629pub type _bindgen_ty_5 = ::std::os::raw::c_int;
630pub const TM_TT_PROP__ASSET_LABEL__UUID: ::std::os::raw::c_int = 0;
631pub type _bindgen_ty_6 = ::std::os::raw::c_int;
632pub const TM_TT_PROP__ASSET_THUMBNAIL__THUMBNAIL: ::std::os::raw::c_int = 0;
633pub const TM_TT_PROP__ASSET_THUMBNAIL__VALIDITY_HASH: ::std::os::raw::c_int = 1;
634pub type _bindgen_ty_7 = ::std::os::raw::c_int;
635#[repr(C)]
636pub struct AssetLabelsT {
637    pub uuids: [AssetLabelUuidT; 256usize],
638    pub names: [*const ::std::os::raw::c_char; 256usize],
639    pub icons: [u32; 256usize],
640    pub icon_colors: [u32; 256usize],
641    pub num_labels: u32,
642    pub num_system_labels: u32,
643}
644impl Default for AssetLabelsT {
645    fn default() -> Self {
646        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
647        unsafe {
648            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
649            s.assume_init()
650        }
651    }
652}
653#[repr(C)]
654#[derive(Default, Copy, Clone)]
655pub struct AssetLabelBitflagT {
656    pub bitflag: [u64; 4usize],
657}
658#[repr(C)]
659#[derive(Default, Copy, Clone)]
660pub struct AssetLabelApi {
661    pub all_labels: ::std::option::Option<
662        unsafe extern "C" fn(labels: *mut AssetLabelsT, tt: *const TheTruthO, asset_root: TtIdT),
663    >,
664    pub labels_of_asset: ::std::option::Option<
665        unsafe extern "C" fn(
666            tt: *mut TheTruthO,
667            asset: TtIdT,
668            asset_labels: *const AssetLabelsT,
669            out_labels: *mut AssetLabelsT,
670        ),
671    >,
672    pub label_uuids_of_asset: ::std::option::Option<
673        unsafe extern "C" fn(
674            tt: *const TheTruthO,
675            asset: TtIdT,
676            ta: *mut TempAllocatorI,
677        ) -> *mut u64,
678    >,
679    pub create: ::std::option::Option<
680        unsafe extern "C" fn(
681            tt: *mut TheTruthO,
682            asset_root: TtIdT,
683            directory: TtIdT,
684            label: *const ::std::os::raw::c_char,
685            undo_scope: TtUndoScopeT,
686        ) -> AssetLabelUuidT,
687    >,
688    pub add: ::std::option::Option<
689        unsafe extern "C" fn(
690            tt: *mut TheTruthO,
691            asset: TtIdT,
692            label: AssetLabelUuidT,
693            undo_scope: TtUndoScopeT,
694        ),
695    >,
696    pub remove: ::std::option::Option<
697        unsafe extern "C" fn(
698            tt: *mut TheTruthO,
699            asset: TtIdT,
700            label: AssetLabelUuidT,
701            undo_scope: TtUndoScopeT,
702        ),
703    >,
704    pub rename: ::std::option::Option<
705        unsafe extern "C" fn(
706            tt: *mut TheTruthO,
707            asset_root: TtIdT,
708            label: AssetLabelUuidT,
709            new_label_name: *const ::std::os::raw::c_char,
710            undo_scope: TtUndoScopeT,
711        ),
712    >,
713    pub assets_with_label: ::std::option::Option<
714        unsafe extern "C" fn(
715            tt: *mut TheTruthO,
716            asset_root: TtIdT,
717            label: AssetLabelUuidT,
718            ta: *mut TempAllocatorI,
719        ) -> *mut TtIdT,
720    >,
721    pub assets_with_all_labels: ::std::option::Option<
722        unsafe extern "C" fn(
723            tt: *mut TheTruthO,
724            asset_root: TtIdT,
725            labels: *const AssetLabelBitflagT,
726            ta: *mut TempAllocatorI,
727        ) -> *mut TtIdT,
728    >,
729    pub assets_with_any_label: ::std::option::Option<
730        unsafe extern "C" fn(
731            tt: *mut TheTruthO,
732            asset_root: TtIdT,
733            labels: *const AssetLabelBitflagT,
734            ta: *mut TempAllocatorI,
735        ) -> *mut TtIdT,
736    >,
737    pub toggle_bitflags: ::std::option::Option<
738        unsafe extern "C" fn(
739            labels: *const AssetLabelsT,
740            bitflag: *mut AssetLabelBitflagT,
741            labels_uuid: *const AssetLabelUuidT,
742            num_labels: u32,
743        ),
744    >,
745    pub matches_all: ::std::option::Option<
746        unsafe extern "C" fn(
747            asset_bitflag: *const AssetLabelBitflagT,
748            filter_bitflag: *const AssetLabelBitflagT,
749        ) -> bool,
750    >,
751    pub matches_any: ::std::option::Option<
752        unsafe extern "C" fn(
753            asset_bitflag: *const AssetLabelBitflagT,
754            filter_bitflag: *const AssetLabelBitflagT,
755        ) -> bool,
756    >,
757}
758#[repr(C)]
759pub struct GraphAspectI {
760    pub node_interface_name: *const ::std::os::raw::c_char,
761    pub node_interface_version: VersionT,
762    pub _padding_57: [::std::os::raw::c_char; 4usize],
763    pub io_type_interface_name: *const ::std::os::raw::c_char,
764    pub io_type_interface_version: VersionT,
765    pub _padding_66: [::std::os::raw::c_char; 4usize],
766    pub graph_object: ::std::option::Option<
767        unsafe extern "C" fn(tt: *const TheTruthO, root_object: TtIdT) -> TtIdT,
768    >,
769    pub subgraph_type_hash: StrhashT,
770}
771impl Default for GraphAspectI {
772    fn default() -> Self {
773        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
774        unsafe {
775            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
776            s.assume_init()
777        }
778    }
779}
780#[repr(C)]
781pub struct GraphIoTypeT {
782    pub type_hash: StrhashT,
783    pub display_name: *const ::std::os::raw::c_char,
784    pub size: u32,
785    pub _padding_93: [::std::os::raw::c_char; 4usize],
786}
787impl Default for GraphIoTypeT {
788    fn default() -> Self {
789        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
790        unsafe {
791            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
792            s.assume_init()
793        }
794    }
795}
796pub const TM_TT_PROP__GRAPH__NODES: ::std::os::raw::c_int = 0;
797pub const TM_TT_PROP__GRAPH__CONNECTIONS: ::std::os::raw::c_int = 1;
798pub const TM_TT_PROP__GRAPH__DATA: ::std::os::raw::c_int = 2;
799pub const TM_TT_PROP__GRAPH__COMMENTS: ::std::os::raw::c_int = 3;
800pub const TM_TT_PROP__GRAPH__INTERFACE: ::std::os::raw::c_int = 4;
801pub type _bindgen_ty_8 = ::std::os::raw::c_int;
802pub const TM_TT_PROP__GRAPH_NODE__TYPE: ::std::os::raw::c_int = 0;
803pub const TM_TT_PROP__GRAPH_NODE__LABEL: ::std::os::raw::c_int = 1;
804pub const TM_TT_PROP__GRAPH_NODE__POSITION_X: ::std::os::raw::c_int = 2;
805pub const TM_TT_PROP__GRAPH_NODE__POSITION_Y: ::std::os::raw::c_int = 3;
806pub const TM_TT_PROP__GRAPH_NODE__WIDTH: ::std::os::raw::c_int = 4;
807pub const TM_TT_PROP__GRAPH_NODE__SETTINGS: ::std::os::raw::c_int = 5;
808pub type _bindgen_ty_9 = ::std::os::raw::c_int;
809pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_NODE: ::std::os::raw::c_int = 0;
810pub const TM_TT_PROP__GRAPH_CONNECTION__TO_NODE: ::std::os::raw::c_int = 1;
811pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_CONNECTOR_HASH: ::std::os::raw::c_int = 2;
812pub const TM_TT_PROP__GRAPH_CONNECTION__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 3;
813pub type _bindgen_ty_10 = ::std::os::raw::c_int;
814pub const TM_TT_PROP__GRAPH_DATA__TO_NODE: ::std::os::raw::c_int = 0;
815pub const TM_TT_PROP__GRAPH_DATA__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 1;
816pub const TM_TT_PROP__GRAPH_DATA__DATA: ::std::os::raw::c_int = 2;
817pub type _bindgen_ty_11 = ::std::os::raw::c_int;
818pub const TM_TT_PROP__GRAPH_COMMENT__TEXT: ::std::os::raw::c_int = 0;
819pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_X: ::std::os::raw::c_int = 1;
820pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_Y: ::std::os::raw::c_int = 2;
821pub const TM_TT_PROP__GRAPH_COMMENT__FONT_SCALE: ::std::os::raw::c_int = 3;
822pub const TM_TT_PROP__GRAPH_COMMENT__COLOR: ::std::os::raw::c_int = 4;
823pub type _bindgen_ty_12 = ::std::os::raw::c_int;
824pub const TM_TT_PROP__GRAPH_INTERFACE__INPUTS: ::std::os::raw::c_int = 0;
825pub const TM_TT_PROP__GRAPH_INTERFACE__OUTPUTS: ::std::os::raw::c_int = 1;
826pub const TM_TT_PROP__GRAPH_INTERFACE__LAST_ID: ::std::os::raw::c_int = 2;
827pub const TM_TT_PROP__GRAPH_INTERFACE__CACHED_NODE_RESULT: ::std::os::raw::c_int = 3;
828pub type _bindgen_ty_13 = ::std::os::raw::c_int;
829pub const TM_TT_PROP__GRAPH_INPUT__NAME: ::std::os::raw::c_int = 0;
830pub const TM_TT_PROP__GRAPH_INPUT__DISPLAY_NAME: ::std::os::raw::c_int = 1;
831pub const TM_TT_PROP__GRAPH_INPUT__ID: ::std::os::raw::c_int = 2;
832pub const TM_TT_PROP__GRAPH_INPUT__TYPE_HASH: ::std::os::raw::c_int = 3;
833pub const TM_TT_PROP__GRAPH_INPUT__VALUE_SET_BY_USER: ::std::os::raw::c_int = 4;
834pub const TM_TT_PROP__GRAPH_INPUT__VALUE: ::std::os::raw::c_int = 5;
835pub const TM_TT_PROP__GRAPH_INPUT__TOOLTIP: ::std::os::raw::c_int = 6;
836pub const TM_TT_PROP__GRAPH_INPUT__PUBLIC: ::std::os::raw::c_int = 7;
837pub const TM_TT_PROP__GRAPH_INPUT__ORDER: ::std::os::raw::c_int = 8;
838pub type _bindgen_ty_14 = ::std::os::raw::c_int;
839pub const TM_TT_PROP__GRAPH_INPUT_REFERENCE__NAME: TtPropGraphInputReference = 0;
840pub const TM_TT_PROP__GRAPH_INPUT_REFERENCE__TYPE_HASH: TtPropGraphInputReference = 1;
841pub type TtPropGraphInputReference = ::std::os::raw::c_int;
842pub const TM_TT_PROP__GRAPH_OUTPUT__NAME: ::std::os::raw::c_int = 0;
843pub const TM_TT_PROP__GRAPH_OUTPUT__DISPLAY_NAME: ::std::os::raw::c_int = 1;
844pub const TM_TT_PROP__GRAPH_OUTPUT__ID: ::std::os::raw::c_int = 2;
845pub const TM_TT_PROP__GRAPH_OUTPUT__TYPE_HASH: ::std::os::raw::c_int = 3;
846pub const TM_TT_PROP__GRAPH_OUTPUT__ORDER: ::std::os::raw::c_int = 4;
847pub type _bindgen_ty_15 = ::std::os::raw::c_int;
848pub const TM_TT_PROP__GRAPH_OUTPUT_REFERENCE__NAME: TtPropGraphOutputReference = 0;
849pub const TM_TT_PROP__GRAPH_OUTPUT_REFERENCE__TYPE_HASH: TtPropGraphOutputReference = 1;
850pub type TtPropGraphOutputReference = ::std::os::raw::c_int;
851pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__NODE: ::std::os::raw::c_int = 0;
852pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__VALIDITY_HASH: ::std::os::raw::c_int = 1;
853pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__OBJECT: ::std::os::raw::c_int = 2;
854pub type _bindgen_ty_16 = ::std::os::raw::c_int;
855pub const TM_TT_PROP__GRAPH_SETTINGS__GRAPH_UUID_A: ::std::os::raw::c_int = 0;
856pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_POSITION: ::std::os::raw::c_int = 1;
857pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_SCALE: ::std::os::raw::c_int = 2;
858pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SNAPPING: ::std::os::raw::c_int = 3;
859pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SIZE: ::std::os::raw::c_int = 4;
860pub const TM_TT_PROP__GRAPH_SETTINGS__DEBUG_WATCH_WIRE_OVERLAY_TABLE_MODE: ::std::os::raw::c_int =
861    5;
862pub const TM_TT_PROP__GRAPH_SETTINGS__SHOW_REMOVED_INHERITED: ::std::os::raw::c_int = 6;
863pub const TM_TT_PROP__GRAPH_SETTINGS__DEBUG_WATCHED_WIRES: ::std::os::raw::c_int = 7;
864pub const TM_TT_PROP__GRAPH_SETTINGS__DEBUG_PERSISTENT_SETTINGS: ::std::os::raw::c_int = 8;
865pub type _bindgen_ty_17 = ::std::os::raw::c_int;
866pub const TM_TT_PROP__GRAPH_SETTINGS__BREAKPOINTS: ::std::os::raw::c_int = 0;
867pub const TM_TT_PROP__GRAPH_SETTINGS__OVERLAY_OPENED: ::std::os::raw::c_int = 1;
868pub type _bindgen_ty_18 = ::std::os::raw::c_int;
869pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__NODE_UNIQUE_ID: ::std::os::raw::c_int = 0;
870pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__NODE_UUID_A: ::std::os::raw::c_int = 1;
871pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__NODE_UUID_B: ::std::os::raw::c_int = 2;
872pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__SUBGRAPH_NODE_UNIQUE_ID: ::std::os::raw::c_int = 3;
873pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__SUBGRAPH_NODE_UUID_A: ::std::os::raw::c_int = 4;
874pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__SUBGRAPH_NODE_UUID_B: ::std::os::raw::c_int = 5;
875pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__DISABLED: ::std::os::raw::c_int = 6;
876pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__GRAPH_UUID_A: ::std::os::raw::c_int = 7;
877pub const TM_TT_PROP__GRAPH_SETTINGS_BREAKPOINT__GRAPH_UUID_B: ::std::os::raw::c_int = 8;
878pub type _bindgen_ty_19 = ::std::os::raw::c_int;
879pub const TM_GRAPH_MAX_CONNECTORS: ::std::os::raw::c_int = 24;
880pub type _bindgen_ty_20 = ::std::os::raw::c_int;
881#[repr(C)]
882#[derive(Copy, Clone)]
883pub struct GraphGenericValueT {
884    pub __bindgen_anon_1: GraphGenericValueTBindgenTy1,
885}
886#[repr(C)]
887#[derive(Copy, Clone)]
888pub union GraphGenericValueTBindgenTy1 {
889    pub data: *const ::std::os::raw::c_void,
890    pub str_: *const ::std::os::raw::c_char,
891    pub f: *const f32,
892    pub uint64: *const u64,
893    pub uint32: *const u32,
894    pub vec2: *const Vec2T,
895    pub vec3: *const Vec3T,
896    pub vec4: *const Vec4T,
897    pub rect: *const RectT,
898    pub srgb: *const ColorSrgbT,
899    pub boolean: *const bool,
900}
901impl Default for GraphGenericValueTBindgenTy1 {
902    fn default() -> Self {
903        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
904        unsafe {
905            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
906            s.assume_init()
907        }
908    }
909}
910impl Default for GraphGenericValueT {
911    fn default() -> Self {
912        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
913        unsafe {
914            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
915            s.assume_init()
916        }
917    }
918}
919#[repr(C)]
920pub struct GraphConnectorT {
921    pub name: *const ::std::os::raw::c_char,
922    pub type_hash: StrhashT,
923    pub edit_type_hash: StrhashT,
924    pub display_name: *const ::std::os::raw::c_char,
925    pub optional: bool,
926    pub _padding_349: [::std::os::raw::c_char; 7usize],
927    pub tooltip: *mut ::std::os::raw::c_char,
928    pub hidden: bool,
929    pub _padding_358: [::std::os::raw::c_char; 7usize],
930    pub default_value: *const GraphGenericValueT,
931}
932impl Default for GraphConnectorT {
933    fn default() -> Self {
934        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
935        unsafe {
936            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
937            s.assume_init()
938        }
939    }
940}
941#[repr(C)]
942pub struct GraphNodeConnectorsT {
943    pub in_: [GraphConnectorT; 24usize],
944    pub out: [GraphConnectorT; 24usize],
945    pub num_in: u32,
946    pub num_out: u32,
947}
948impl Default for GraphNodeConnectorsT {
949    fn default() -> Self {
950        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
951        unsafe {
952            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
953            s.assume_init()
954        }
955    }
956}
957#[repr(C)]
958#[derive(Default, Copy, Clone)]
959pub struct GraphDrawConnectorsResultT {
960    pub y: f32,
961    pub in_connector_positions: [f32; 24usize],
962    pub in_connector_disabled: [bool; 24usize],
963    pub out_connector_positions: [f32; 24usize],
964}
965#[repr(C)]
966pub struct GraphDrawConnectorsArgsT {
967    pub prop_args: *mut PropertiesUiArgsT,
968    pub graph_id: TtIdT,
969    pub connectors: *mut GraphNodeConnectorsT,
970    pub in_connected: u32,
971    pub out_connected: u32,
972    pub item_rect: RectT,
973    pub graph_scale: f32,
974    pub property_panel_mode: bool,
975    pub show_removed_inherited: bool,
976    pub _padding_452: [::std::os::raw::c_char; 2usize],
977    pub expanded: *mut SetT,
978    pub graph: *mut GraphO,
979    pub node_id: TtIdT,
980    pub node_prototype_relation: u32,
981    pub node_idx: u32,
982    pub draw_in_connector_label_and_property: ::std::option::Option<
983        unsafe extern "C" fn(
984            graph: *mut GraphO,
985            node_idx: u32,
986            connector: *mut GraphConnectorT,
987            editable: bool,
988            r: RectT,
989            args: *mut PropertiesUiArgsT,
990        ) -> RectT,
991    >,
992    pub draw_out_connector_label: ::std::option::Option<
993        unsafe extern "C" fn(
994            graph: *mut GraphO,
995            connector: *mut GraphConnectorT,
996            editable: bool,
997            r: RectT,
998            args: *mut PropertiesUiArgsT,
999            alignment: u32,
1000        ) -> RectT,
1001    >,
1002}
1003impl Default for GraphDrawConnectorsArgsT {
1004    fn default() -> Self {
1005        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1006        unsafe {
1007            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1008            s.assume_init()
1009        }
1010    }
1011}
1012#[repr(C)]
1013pub struct GraphNodeTypeI {
1014    pub name: *const ::std::os::raw::c_char,
1015    pub display_name: *const ::std::os::raw::c_char,
1016    pub definition_path: *const ::std::os::raw::c_char,
1017    pub category: *const ::std::os::raw::c_char,
1018    pub static_connectors: GraphNodeConnectorsT,
1019    pub settings_type_hash: StrhashT,
1020    pub cache_tag: StrhashT,
1021    pub experimental: bool,
1022    pub _padding_534: [::std::os::raw::c_char; 7usize],
1023    pub dynamic_connectors: ::std::option::Option<
1024        unsafe extern "C" fn(
1025            tt: *const TheTruthO,
1026            graph_id: TtIdT,
1027            node_data: *const TtIdT,
1028            node_settings: TtIdT,
1029            connectors: *mut GraphNodeConnectorsT,
1030        ),
1031    >,
1032    pub render_background_callback: ::std::option::Option<
1033        unsafe extern "C" fn(
1034            nt: *const GraphNodeTypeI,
1035            bg_rect: RectT,
1036            title_rect: RectT,
1037            title_bg_color: ColorSrgbT,
1038            ui: *mut UiO,
1039            uistyle: *const UiStyleT,
1040            graph_scale: f32,
1041            vbuffer: *mut Draw2dVbufferT,
1042            ibuffer: *mut Draw2dIbufferT,
1043        ),
1044    >,
1045    pub draw_connectors: ::std::option::Option<
1046        unsafe extern "C" fn(args: *mut GraphDrawConnectorsArgsT) -> GraphDrawConnectorsResultT,
1047    >,
1048    pub handle_custom_default_values: ::std::option::Option<
1049        unsafe extern "C" fn(
1050            tt: *mut TheTruthO,
1051            psudo_node_data: TtIdT,
1052            edit_type_hash: StrhashT,
1053            default_data: *const GraphGenericValueT,
1054        ),
1055    >,
1056    pub disabled: ::std::option::Option<unsafe extern "C" fn(nt: *const GraphNodeTypeI) -> bool>,
1057}
1058impl Default for GraphNodeTypeI {
1059    fn default() -> Self {
1060        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1061        unsafe {
1062            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1063            s.assume_init()
1064        }
1065    }
1066}
1067#[repr(C)]
1068pub struct GraphNodeCacheBuildContextT {
1069    pub graph_id: TtIdT,
1070    pub node_id: TtIdT,
1071}
1072impl Default for GraphNodeCacheBuildContextT {
1073    fn default() -> Self {
1074        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1075        unsafe {
1076            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1077            s.assume_init()
1078        }
1079    }
1080}
1081#[repr(C)]
1082#[derive(Copy, Clone)]
1083pub struct GraphDragAndDropI {
1084    pub type_name: *const ::std::os::raw::c_char,
1085    pub can_create_from: ::std::option::Option<
1086        unsafe extern "C" fn(tt: *mut TheTruthO, graph_id: TtIdT, dragged_object: TtIdT) -> bool,
1087    >,
1088    pub setup_graph_node_from_dragged_object: ::std::option::Option<
1089        unsafe extern "C" fn(
1090            tt: *mut TheTruthO,
1091            graph_id: TtIdT,
1092            node_id: TtIdT,
1093            dragged_object: TtIdT,
1094            undo_scope: TtUndoScopeT,
1095        ),
1096    >,
1097}
1098impl Default for GraphDragAndDropI {
1099    fn default() -> Self {
1100        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1101        unsafe {
1102            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1103            s.assume_init()
1104        }
1105    }
1106}
1107#[repr(C)]
1108pub struct GraphUiResT {
1109    pub focus_changed: bool,
1110    pub selection_changed: bool,
1111    pub _padding_607: [::std::os::raw::c_char; 6usize],
1112    pub focus: TtIdT,
1113    pub next_root: TtIdT,
1114}
1115impl Default for GraphUiResT {
1116    fn default() -> Self {
1117        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1118        unsafe {
1119            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1120            s.assume_init()
1121        }
1122    }
1123}
1124pub type GraphExecutionPathT = bool;
1125#[repr(C)]
1126#[derive(Default, Copy, Clone)]
1127pub struct GraphApi {
1128    pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO)>,
1129    pub create_graph: ::std::option::Option<
1130        unsafe extern "C" fn(
1131            allocator: *mut AllocatorI,
1132            tt: *mut TheTruthO,
1133            graph_id: TtIdT,
1134            node_interface_name: *const ::std::os::raw::c_char,
1135            node_interface_version: VersionT,
1136            undo_stack: *mut UndoStackI,
1137            asset_root: TtIdT,
1138            settings_tt: *mut TheTruthO,
1139            settings_object: TtIdT,
1140        ) -> *mut GraphO,
1141    >,
1142    pub destroy_graph: ::std::option::Option<
1143        unsafe extern "C" fn(graph: *mut GraphO, truth_already_destroyed: bool),
1144    >,
1145    pub set_settings_object: ::std::option::Option<
1146        unsafe extern "C" fn(
1147            graph: *mut GraphO,
1148            settings_tt: *mut TheTruthO,
1149            settings_object: TtIdT,
1150        ),
1151    >,
1152    pub id: ::std::option::Option<unsafe extern "C" fn(graph: *mut GraphO) -> TtIdT>,
1153    pub ui: ::std::option::Option<
1154        unsafe extern "C" fn(
1155            inst: *mut GraphO,
1156            ui: *mut UiO,
1157            style: *const UiStyleT,
1158            rect: RectT,
1159            ui_root_id: u64,
1160        ) -> GraphUiResT,
1161    >,
1162    pub menu: ::std::option::Option<
1163        unsafe extern "C" fn(inst: *mut GraphO, ui: *mut UiO, style: *const UiStyleT, pos: Vec2T),
1164    >,
1165    pub selected_objects: ::std::option::Option<
1166        unsafe extern "C" fn(inst: *mut GraphO, ta: *mut TempAllocatorI) -> *const TtIdT,
1167    >,
1168    pub refresh_node_types: ::std::option::Option<
1169        unsafe extern "C" fn(
1170            inst: *mut GraphO,
1171            node_interface_name: *const ::std::os::raw::c_char,
1172            node_interface_version: VersionT,
1173        ),
1174    >,
1175    pub toolbars: ::std::option::Option<
1176        unsafe extern "C" fn(inst: *mut GraphO, ta: *mut TempAllocatorI) -> *mut ToolbarI,
1177    >,
1178    pub migrate_to_connector_hash: ::std::option::Option<
1179        unsafe extern "C" fn(
1180            tt: *mut TheTruthO,
1181            graphs: *mut TtIdT,
1182            num_graphs: u32,
1183            node_types: *const *const GraphNodeTypeI,
1184            num_node_types: u32,
1185        ) -> bool,
1186    >,
1187    pub needs_migrate_to_connector_hash:
1188        ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO) -> bool>,
1189    pub migrate_to_instantiated_connections: ::std::option::Option<
1190        unsafe extern "C" fn(tt: *mut TheTruthO, graphs: *mut TtIdT, num_graphs: u32) -> bool,
1191    >,
1192}
1193#[repr(C)]
1194pub struct ProfilerViewUiResOpenStatisticsT {
1195    pub name: *const ::std::os::raw::c_char,
1196    pub source: *const ::std::os::raw::c_char,
1197    pub color: ColorSrgbT,
1198    pub _padding_22: [::std::os::raw::c_char; 4usize],
1199}
1200impl Default for ProfilerViewUiResOpenStatisticsT {
1201    fn default() -> Self {
1202        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1203        unsafe {
1204            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1205            s.assume_init()
1206        }
1207    }
1208}
1209#[repr(C)]
1210pub struct ProfilerViewUiResT {
1211    pub open_statistics_view: ProfilerViewUiResOpenStatisticsT,
1212}
1213impl Default for ProfilerViewUiResT {
1214    fn default() -> Self {
1215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1216        unsafe {
1217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1218            s.assume_init()
1219        }
1220    }
1221}
1222#[repr(C)]
1223#[derive(Copy, Clone)]
1224pub struct ProfilerViewO {
1225    _unused: [u8; 0],
1226}
1227#[repr(C)]
1228#[derive(Default, Copy, Clone)]
1229pub struct ProfilerViewApi {
1230    pub create_profiler_view: ::std::option::Option<
1231        unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut ProfilerViewO,
1232    >,
1233    pub destroy_profiler_view:
1234        ::std::option::Option<unsafe extern "C" fn(profiler_view: *mut ProfilerViewO)>,
1235    pub ui: ::std::option::Option<
1236        unsafe extern "C" fn(
1237            inst: *mut ProfilerViewO,
1238            ui: *mut UiO,
1239            style: *const UiStyleT,
1240            rect: RectT,
1241            tab_id: u64,
1242        ) -> ProfilerViewUiResT,
1243    >,
1244    pub start_recording:
1245        ::std::option::Option<unsafe extern "C" fn(inst: *mut ProfilerViewO, with_history: bool)>,
1246    pub stop_recording: ::std::option::Option<unsafe extern "C" fn(inst: *mut ProfilerViewO)>,
1247    pub is_recording: ::std::option::Option<unsafe extern "C" fn(inst: *mut ProfilerViewO) -> bool>,
1248    pub menu: ::std::option::Option<
1249        unsafe extern "C" fn(
1250            inst: *mut ProfilerViewO,
1251            ui: *mut UiO,
1252            style: *const UiStyleT,
1253            pos: Vec2T,
1254        ),
1255    >,
1256}
1257pub const TM_TT_PROP__PROPERTIES_SETTINGS__MASK: TM_TT_PROP__PROPERTIES_SETTINGS = 0;
1258pub type TM_TT_PROP__PROPERTIES_SETTINGS = ::std::os::raw::c_int;
1259#[repr(C)]
1260#[derive(Copy, Clone)]
1261pub struct PropertiesViewO {
1262    _unused: [u8; 0],
1263}
1264pub const TM_PROPERTIES_METRIC_LABEL_WIDTH: PropertiesMetric = 0;
1265pub const TM_PROPERTIES_METRIC_MARGIN: PropertiesMetric = 1;
1266pub const TM_PROPERTIES_METRIC_ITEM_HEIGHT: PropertiesMetric = 2;
1267pub const TM_PROPERTIES_METRIC_INDENT: PropertiesMetric = 3;
1268pub const TM_PROPERTIES_METRIC_EDIT_WIDTH: PropertiesMetric = 4;
1269pub const TM_PROPERTIES_METRIC_SUBOBJECT_LABEL_MARGIN: PropertiesMetric = 5;
1270pub const TM_PROPERTIES_METRIC_CHECKBOX_CONTROL_WIDTH: PropertiesMetric = 6;
1271pub const TM_PROPERTIES_METRIC_GROUP_RECT_PADDING: PropertiesMetric = 7;
1272pub const TM_PROPERTIES_METRIC_GROUP_LABEL_LEFT_MARGIN: PropertiesMetric = 8;
1273pub const TM_PROPERTIES_METRIC_MENU_WIDTH: PropertiesMetric = 9;
1274pub const TM_PROPERTIES_METRIC_COLOR_PICKER_RGB_LABEL_SIZE: PropertiesMetric = 10;
1275pub const TM_PROPERTIES_METRIC_COLOR_PICKER_INPUT_SIZE: PropertiesMetric = 11;
1276pub const TM_PROPERTIES_METRIC_COLOR_PICKER_HSV_LABEL_SIZE: PropertiesMetric = 12;
1277pub const TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_MARGIN: PropertiesMetric = 13;
1278pub const TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_KNOB_SIZE: PropertiesMetric = 14;
1279pub const TM_PROPERTIES_METRIC_COLOR_WHEEL_SIZE: PropertiesMetric = 15;
1280pub const TM_PROPERTIES_METRIC_COLOR_WHEEL_RING_FRACTION: PropertiesMetric = 16;
1281pub const TM_PROPERTIES_METRIC_NUM: PropertiesMetric = 17;
1282pub type PropertiesMetric = ::std::os::raw::c_int;
1283#[repr(C)]
1284pub struct PropertiesUiArgsT {
1285    pub pv: *mut PropertiesViewO,
1286    pub ui: *mut UiO,
1287    pub uistyle: *mut UiStyleT,
1288    pub tab: *mut TabI,
1289    pub tt: *mut TheTruthO,
1290    pub asset_root: TtIdT,
1291    pub undo_stack: *mut UndoStackI,
1292    pub metrics: *mut f32,
1293    pub last_undo_scope: TtUndoScopeT,
1294    pub last_hovered_context_menu_rect: RectT,
1295    pub context: TtIdT,
1296}
1297impl Default for PropertiesUiArgsT {
1298    fn default() -> Self {
1299        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1300        unsafe {
1301            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1302            s.assume_init()
1303        }
1304    }
1305}
1306#[repr(C)]
1307#[derive(Default, Copy, Clone)]
1308pub struct PropertiesAspectI {
1309    pub custom_ui: ::std::option::Option<
1310        unsafe extern "C" fn(
1311            args: *mut PropertiesUiArgsT,
1312            item_rect: RectT,
1313            object: TtIdT,
1314            indent: u32,
1315        ) -> f32,
1316    >,
1317    pub prototype_asset_picker_type_name:
1318        ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO, o: TtIdT) -> StrhashT>,
1319    pub custom_subobject_ui: ::std::option::Option<
1320        unsafe extern "C" fn(
1321            args: *mut PropertiesUiArgsT,
1322            item_rect: RectT,
1323            name: *const ::std::os::raw::c_char,
1324            tooltip: *const ::std::os::raw::c_char,
1325            subobject: TtIdT,
1326            indent: u32,
1327        ) -> f32,
1328    >,
1329    pub custom_child_ui: ::std::option::Option<
1330        unsafe extern "C" fn(
1331            args: *mut PropertiesUiArgsT,
1332            item_rect: RectT,
1333            parent: TtIdT,
1334            child: TtIdT,
1335            indent: u32,
1336        ) -> f32,
1337    >,
1338    pub get_type_display_name:
1339        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1340    pub get_display_name: ::std::option::Option<
1341        unsafe extern "C" fn(
1342            tt: *const TheTruthO,
1343            object: TtIdT,
1344            buffer: *mut ::std::os::raw::c_char,
1345            size: u32,
1346        ),
1347    >,
1348}
1349pub type TtPropAspectPropertiesAssetPicker = *mut ::std::os::raw::c_char;
1350pub type TtPropAspectPropertiesCustomUi = ::std::option::Option<
1351    unsafe extern "C" fn(
1352        args: *mut PropertiesUiArgsT,
1353        item_rect: RectT,
1354        name: *const ::std::os::raw::c_char,
1355        tooltip: *const ::std::os::raw::c_char,
1356        object: TtIdT,
1357        indent: u32,
1358        property: u32,
1359    ) -> f32,
1360>;
1361pub type TtPropAspectPropertiesReprototypeCallback = ::std::option::Option<
1362    unsafe extern "C" fn(
1363        tt: *mut TheTruthO,
1364        new_object: TtIdT,
1365        old_object: TtIdT,
1366        undo_scope: TtUndoScopeT,
1367    ),
1368>;
1369#[repr(C)]
1370#[derive(Copy, Clone)]
1371pub struct PropertiesFloatDisplayConverterI {
1372    pub inst: *mut ::std::os::raw::c_void,
1373    pub model_to_display: ::std::option::Option<
1374        unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
1375    >,
1376    pub display_to_model: ::std::option::Option<
1377        unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
1378    >,
1379    pub get_spinner_settings: ::std::option::Option<
1380        unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, spinner: *mut UiSpinnerT),
1381    >,
1382}
1383impl Default for PropertiesFloatDisplayConverterI {
1384    fn default() -> Self {
1385        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1386        unsafe {
1387            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1388            s.assume_init()
1389        }
1390    }
1391}
1392pub type ValidateAspectI = ::std::option::Option<
1393    unsafe extern "C" fn(
1394        tt: *mut TheTruthO,
1395        o: TtIdT,
1396        property: u32,
1397        value: *const ::std::os::raw::c_void,
1398    ) -> bool,
1399>;
1400#[repr(C)]
1401#[derive(Copy, Clone)]
1402pub struct PropertiesUint32DisplayConverterI {
1403    pub inst: *mut ::std::os::raw::c_void,
1404    pub model_to_display: ::std::option::Option<
1405        unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
1406    >,
1407    pub display_to_model: ::std::option::Option<
1408        unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
1409    >,
1410}
1411impl Default for PropertiesUint32DisplayConverterI {
1412    fn default() -> Self {
1413        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1414        unsafe {
1415            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1416            s.assume_init()
1417        }
1418    }
1419}
1420#[repr(C)]
1421#[derive(Copy, Clone)]
1422pub struct PropertiesReferencePickerArgsT {
1423    pub labels: *const u64,
1424    pub excludes: *const TtIdT,
1425    pub num_labels: u32,
1426    pub num_excludes: u32,
1427}
1428impl Default for PropertiesReferencePickerArgsT {
1429    fn default() -> Self {
1430        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1431        unsafe {
1432            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1433            s.assume_init()
1434        }
1435    }
1436}
1437#[repr(C)]
1438#[derive(Copy, Clone)]
1439pub struct PropertiesViewConfigT {
1440    pub tt: *mut TheTruthO,
1441    pub undo_stack: *mut UndoStackI,
1442}
1443impl Default for PropertiesViewConfigT {
1444    fn default() -> Self {
1445        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1446        unsafe {
1447            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1448            s.assume_init()
1449        }
1450    }
1451}
1452#[repr(C)]
1453#[derive(Copy, Clone)]
1454pub struct PropertiesFloatSliderT {
1455    pub min: f32,
1456    pub max: f32,
1457    pub step: f32,
1458    pub show_edit_box: bool,
1459    pub _padding_389: [::std::os::raw::c_char; 3usize],
1460    pub edit_min: f32,
1461    pub edit_max: f32,
1462    pub converter: *mut PropertiesFloatDisplayConverterI,
1463}
1464impl Default for PropertiesFloatSliderT {
1465    fn default() -> Self {
1466        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1467        unsafe {
1468            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1469            s.assume_init()
1470        }
1471    }
1472}
1473#[repr(C)]
1474#[derive(Default, Copy, Clone)]
1475pub struct PropertiesViewApi {
1476    pub create_properties_view: ::std::option::Option<
1477        unsafe extern "C" fn(
1478            allocator: *mut AllocatorI,
1479            config: *const PropertiesViewConfigT,
1480        ) -> *mut PropertiesViewO,
1481    >,
1482    pub destroy_properties_view:
1483        ::std::option::Option<unsafe extern "C" fn(inst: *mut PropertiesViewO)>,
1484    pub set_object: ::std::option::Option<
1485        unsafe extern "C" fn(inst: *mut PropertiesViewO, object: TtIdT) -> bool,
1486    >,
1487    pub set_object_with_mask: ::std::option::Option<
1488        unsafe extern "C" fn(inst: *mut PropertiesViewO, object: TtIdT, property_mask: u64) -> bool,
1489    >,
1490    pub set_mask: ::std::option::Option<
1491        unsafe extern "C" fn(inst: *mut PropertiesViewO, property_mask: u64) -> bool,
1492    >,
1493    pub set_objects: ::std::option::Option<
1494        unsafe extern "C" fn(inst: *mut PropertiesViewO, objects: *const TtIdT, n: u32) -> bool,
1495    >,
1496    pub objects:
1497        ::std::option::Option<unsafe extern "C" fn(inst: *mut PropertiesViewO) -> *const TtIdT>,
1498    pub ui: ::std::option::Option<
1499        unsafe extern "C" fn(
1500            inst: *mut PropertiesViewO,
1501            asset_root: TtIdT,
1502            ui: *mut UiO,
1503            style: *const UiStyleT,
1504            rect: RectT,
1505            tab: *mut TabI,
1506        ),
1507    >,
1508    pub update:
1509        ::std::option::Option<unsafe extern "C" fn(inst: *mut PropertiesViewO, ui: *mut UiO)>,
1510    pub metrics:
1511        ::std::option::Option<unsafe extern "C" fn(inst: *mut PropertiesViewO) -> *mut f32>,
1512    pub get_display_name: ::std::option::Option<
1513        unsafe extern "C" fn(
1514            tt: *const TheTruthO,
1515            object: TtIdT,
1516            buffer: *mut ::std::os::raw::c_char,
1517            size: u32,
1518        ),
1519    >,
1520    pub get_type_display_name: ::std::option::Option<
1521        unsafe extern "C" fn(
1522            tt: *const TheTruthO,
1523            object_type: TtTypeT,
1524            buffer: *mut ::std::os::raw::c_char,
1525            size: u32,
1526        ),
1527    >,
1528    pub ui_object: ::std::option::Option<
1529        unsafe extern "C" fn(
1530            args: *mut PropertiesUiArgsT,
1531            item_rect: RectT,
1532            object: TtIdT,
1533            indent: u32,
1534        ) -> f32,
1535    >,
1536    pub ui_object_default: ::std::option::Option<
1537        unsafe extern "C" fn(
1538            args: *mut PropertiesUiArgsT,
1539            item_rect: RectT,
1540            object: TtIdT,
1541            indent: u32,
1542        ) -> f32,
1543    >,
1544    pub ui_property: ::std::option::Option<
1545        unsafe extern "C" fn(
1546            args: *mut PropertiesUiArgsT,
1547            item_rect: RectT,
1548            object: TtIdT,
1549            indent: u32,
1550            property: u32,
1551        ) -> f32,
1552    >,
1553    pub ui_property_with_name: ::std::option::Option<
1554        unsafe extern "C" fn(
1555            args: *mut PropertiesUiArgsT,
1556            item_rect: RectT,
1557            name: *const ::std::os::raw::c_char,
1558            tooltip: *const ::std::os::raw::c_char,
1559            object: TtIdT,
1560            indent: u32,
1561            property: u32,
1562        ) -> f32,
1563    >,
1564    pub ui_property_default: ::std::option::Option<
1565        unsafe extern "C" fn(
1566            args: *mut PropertiesUiArgsT,
1567            item_rect: RectT,
1568            object: TtIdT,
1569            indent: u32,
1570            property: u32,
1571        ) -> f32,
1572    >,
1573    pub ui_property_default_with_name: ::std::option::Option<
1574        unsafe extern "C" fn(
1575            args: *mut PropertiesUiArgsT,
1576            item_rect: RectT,
1577            name: *const ::std::os::raw::c_char,
1578            tooltip: *const ::std::os::raw::c_char,
1579            object: TtIdT,
1580            indent: u32,
1581            property: u32,
1582        ) -> f32,
1583    >,
1584    pub ui_tree_item: ::std::option::Option<
1585        unsafe extern "C" fn(
1586            args: *mut PropertiesUiArgsT,
1587            key: u64,
1588            rect: RectT,
1589            indent: u32,
1590            expanded_default: bool,
1591            tooltip: *const ::std::os::raw::c_char,
1592            ui_id: u64,
1593        ) -> bool,
1594    >,
1595    pub ui_group: ::std::option::Option<
1596        unsafe extern "C" fn(
1597            args: *mut PropertiesUiArgsT,
1598            item_rect: RectT,
1599            name: *const ::std::os::raw::c_char,
1600            tooltip: *const ::std::os::raw::c_char,
1601            object: TtIdT,
1602            indent: u32,
1603            expanded_default: bool,
1604            is_expanded: *mut bool,
1605        ) -> f32,
1606    >,
1607    pub show_subobject_menu: ::std::option::Option<
1608        unsafe extern "C" fn(
1609            tt: *mut TheTruthO,
1610            undo_stack: *mut UndoStackI,
1611            ui: *mut UiO,
1612            uistyle: *mut UiStyleT,
1613            object: TtIdT,
1614            property: u32,
1615            sub: TtIdT,
1616            pos: Vec2T,
1617        ) -> TtUndoScopeT,
1618    >,
1619    pub begin_subobject_menu_scope: ::std::option::Option<
1620        unsafe extern "C" fn(
1621            args: *mut PropertiesUiArgsT,
1622            rect: RectT,
1623            object: TtIdT,
1624            property: u32,
1625            sub: TtIdT,
1626            ui_id: u64,
1627        ),
1628    >,
1629    pub end_subobject_menu_scope: ::std::option::Option<
1630        unsafe extern "C" fn(
1631            args: *mut PropertiesUiArgsT,
1632            object: TtIdT,
1633            property: u32,
1634            sub: TtIdT,
1635            ui_id: u64,
1636        ),
1637    >,
1638    pub begin_context_menu_scope:
1639        ::std::option::Option<unsafe extern "C" fn(pv: *mut PropertiesViewO, rect: RectT)>,
1640    pub end_context_menu_scope: ::std::option::Option<
1641        unsafe extern "C" fn(
1642            pv: *mut PropertiesViewO,
1643            out_id: *mut u64,
1644            out_text: *mut *mut ::std::os::raw::c_char,
1645        ),
1646    >,
1647    pub selected_context_menu_item: ::std::option::Option<
1648        unsafe extern "C" fn(
1649            pv: *mut PropertiesViewO,
1650            out_id: *mut u64,
1651            out_text: *mut *mut ::std::os::raw::c_char,
1652        ),
1653    >,
1654    pub add_context_menu_items: ::std::option::Option<
1655        unsafe extern "C" fn(pv: *mut PropertiesViewO, items: *const UiMenuItemT, num_items: u32),
1656    >,
1657    pub context_menu: ::std::option::Option<unsafe extern "C" fn(args: *mut PropertiesUiArgsT)>,
1658    pub ui_bool: ::std::option::Option<
1659        unsafe extern "C" fn(
1660            args: *mut PropertiesUiArgsT,
1661            item_rect: RectT,
1662            name: *const ::std::os::raw::c_char,
1663            tooltip: *const ::std::os::raw::c_char,
1664            object: TtIdT,
1665            property: u32,
1666        ) -> f32,
1667    >,
1668    pub ui_uint32: ::std::option::Option<
1669        unsafe extern "C" fn(
1670            args: *mut PropertiesUiArgsT,
1671            item_rect: RectT,
1672            name: *const ::std::os::raw::c_char,
1673            tooltip: *const ::std::os::raw::c_char,
1674            object: TtIdT,
1675            property: u32,
1676            converter: *mut PropertiesUint32DisplayConverterI,
1677        ) -> f32,
1678    >,
1679    pub ui_uint64: ::std::option::Option<
1680        unsafe extern "C" fn(
1681            args: *mut PropertiesUiArgsT,
1682            item_rect: RectT,
1683            name: *const ::std::os::raw::c_char,
1684            tooltip: *const ::std::os::raw::c_char,
1685            object: TtIdT,
1686            property: u32,
1687        ) -> f32,
1688    >,
1689    pub ui_float: ::std::option::Option<
1690        unsafe extern "C" fn(
1691            args: *mut PropertiesUiArgsT,
1692            item_rect: RectT,
1693            name: *const ::std::os::raw::c_char,
1694            tooltip: *const ::std::os::raw::c_char,
1695            object: TtIdT,
1696            property: u32,
1697            converter: *const PropertiesFloatDisplayConverterI,
1698        ) -> f32,
1699    >,
1700    pub ui_double: ::std::option::Option<
1701        unsafe extern "C" fn(
1702            args: *mut PropertiesUiArgsT,
1703            item_rect: RectT,
1704            name: *const ::std::os::raw::c_char,
1705            tooltip: *const ::std::os::raw::c_char,
1706            object: TtIdT,
1707            property: u32,
1708        ) -> f32,
1709    >,
1710    pub ui_string: ::std::option::Option<
1711        unsafe extern "C" fn(
1712            args: *mut PropertiesUiArgsT,
1713            item_rect: RectT,
1714            name: *const ::std::os::raw::c_char,
1715            tooltip: *const ::std::os::raw::c_char,
1716            object: TtIdT,
1717            property: u32,
1718        ) -> f32,
1719    >,
1720    pub ui_reference: ::std::option::Option<
1721        unsafe extern "C" fn(
1722            args: *mut PropertiesUiArgsT,
1723            item_rect: RectT,
1724            name: *const ::std::os::raw::c_char,
1725            tooltip: *const ::std::os::raw::c_char,
1726            object: TtIdT,
1727            property: u32,
1728        ) -> f32,
1729    >,
1730    pub ui_reference_args: ::std::option::Option<
1731        unsafe extern "C" fn(
1732            args: *mut PropertiesUiArgsT,
1733            item_rect: RectT,
1734            name: *const ::std::os::raw::c_char,
1735            tooltip: *const ::std::os::raw::c_char,
1736            object: TtIdT,
1737            property: u32,
1738            picker_args: *const PropertiesReferencePickerArgsT,
1739        ) -> f32,
1740    >,
1741    pub ui_reference_entity_picker: ::std::option::Option<
1742        unsafe extern "C" fn(
1743            args: *mut PropertiesUiArgsT,
1744            item_rect: RectT,
1745            name: *const ::std::os::raw::c_char,
1746            tooltip: *const ::std::os::raw::c_char,
1747            object: TtIdT,
1748            property: u32,
1749            entity_root: TtIdT,
1750        ) -> f32,
1751    >,
1752    pub ui_subobject: ::std::option::Option<
1753        unsafe extern "C" fn(
1754            args: *mut PropertiesUiArgsT,
1755            item_rect: RectT,
1756            name: *const ::std::os::raw::c_char,
1757            tooltip: *const ::std::os::raw::c_char,
1758            object: TtIdT,
1759            property: u32,
1760            indent: u32,
1761            expanded_by_default: bool,
1762        ) -> f32,
1763    >,
1764    pub ui_subobject_direct: ::std::option::Option<
1765        unsafe extern "C" fn(
1766            args: *mut PropertiesUiArgsT,
1767            item_rect: RectT,
1768            name: *const ::std::os::raw::c_char,
1769            tooltip: *const ::std::os::raw::c_char,
1770            parent: TtIdT,
1771            subobject: TtIdT,
1772            indent: u32,
1773            expanded_by_default: bool,
1774        ) -> f32,
1775    >,
1776    pub ui_reference_set: ::std::option::Option<
1777        unsafe extern "C" fn(
1778            args: *mut PropertiesUiArgsT,
1779            item_rect: RectT,
1780            name: *const ::std::os::raw::c_char,
1781            tooltip: *const ::std::os::raw::c_char,
1782            object: TtIdT,
1783            property: u32,
1784            indent: u32,
1785        ) -> f32,
1786    >,
1787    pub ui_subobject_set: ::std::option::Option<
1788        unsafe extern "C" fn(
1789            args: *mut PropertiesUiArgsT,
1790            item_rect: RectT,
1791            name: *const ::std::os::raw::c_char,
1792            tooltip: *const ::std::os::raw::c_char,
1793            object: TtIdT,
1794            property: u32,
1795            indent: u32,
1796        ) -> f32,
1797    >,
1798    pub ui_subobject_set_reorderable: ::std::option::Option<
1799        unsafe extern "C" fn(
1800            args: *mut PropertiesUiArgsT,
1801            item_rect: RectT,
1802            name: *const ::std::os::raw::c_char,
1803            tooltip: *const ::std::os::raw::c_char,
1804            object: TtIdT,
1805            property: u32,
1806            indent: u32,
1807            item_order_property: u32,
1808            draw_header: bool,
1809        ) -> f32,
1810    >,
1811    pub ui_subobject_set_item_header: ::std::option::Option<
1812        unsafe extern "C" fn(
1813            args: *mut PropertiesUiArgsT,
1814            item_rect: RectT,
1815            object: TtIdT,
1816            property: u32,
1817            sub: TtIdT,
1818            indent: u32,
1819            custom_name: *const ::std::os::raw::c_char,
1820            expanded_by_default: bool,
1821        ) -> bool,
1822    >,
1823    pub ui_subobject_set_item: ::std::option::Option<
1824        unsafe extern "C" fn(
1825            args: *mut PropertiesUiArgsT,
1826            item_rect: RectT,
1827            object: TtIdT,
1828            property: u32,
1829            sub: TtIdT,
1830            indent: u32,
1831            expanded_by_default: bool,
1832        ) -> f32,
1833    >,
1834    pub ui_uint32_popup_picker: ::std::option::Option<
1835        unsafe extern "C" fn(
1836            args: *mut PropertiesUiArgsT,
1837            item_rect: RectT,
1838            name: *const ::std::os::raw::c_char,
1839            tooltip: *const ::std::os::raw::c_char,
1840            object: TtIdT,
1841            property: u32,
1842            items: *mut *const ::std::os::raw::c_char,
1843            num_items: u32,
1844        ) -> f32,
1845    >,
1846    pub ui_uint64_popup_picker: ::std::option::Option<
1847        unsafe extern "C" fn(
1848            args: *mut PropertiesUiArgsT,
1849            item_rect: RectT,
1850            name: *const ::std::os::raw::c_char,
1851            tooltip: *const ::std::os::raw::c_char,
1852            object: TtIdT,
1853            property: u32,
1854            items: *mut *const ::std::os::raw::c_char,
1855            items_values: *const u64,
1856            num_items: u32,
1857        ) -> f32,
1858    >,
1859    pub ui_reference_popup_picker: ::std::option::Option<
1860        unsafe extern "C" fn(
1861            args: *mut PropertiesUiArgsT,
1862            item_rect: RectT,
1863            name: *const ::std::os::raw::c_char,
1864            tooltip: *const ::std::os::raw::c_char,
1865            object: TtIdT,
1866            property: u32,
1867            items: *mut *const ::std::os::raw::c_char,
1868            items_references: *const TtIdT,
1869            num_items: u32,
1870        ) -> f32,
1871    >,
1872    pub ui_string_popup_picker: ::std::option::Option<
1873        unsafe extern "C" fn(
1874            args: *mut PropertiesUiArgsT,
1875            item_rect: RectT,
1876            name: *const ::std::os::raw::c_char,
1877            tooltip: *const ::std::os::raw::c_char,
1878            object: TtIdT,
1879            property: u32,
1880            items: *mut *const ::std::os::raw::c_char,
1881            num_items: u32,
1882        ) -> f32,
1883    >,
1884    pub popup_pick_with_categories: ::std::option::Option<
1885        unsafe extern "C" fn(
1886            args: *mut PropertiesUiArgsT,
1887            ui_id: u64,
1888            pos: Vec2T,
1889            strings: *const *const ::std::os::raw::c_char,
1890            categories: *const *const ::std::os::raw::c_char,
1891            num_strings: u32,
1892            pick_index: *mut u32,
1893        ) -> bool,
1894    >,
1895    pub ui_uint32_dropdown: ::std::option::Option<
1896        unsafe extern "C" fn(
1897            args: *mut PropertiesUiArgsT,
1898            item_rect: RectT,
1899            name: *const ::std::os::raw::c_char,
1900            tooltip: *const ::std::os::raw::c_char,
1901            object: TtIdT,
1902            property: u32,
1903            items: *mut *const ::std::os::raw::c_char,
1904            item_tooltips: *mut *const ::std::os::raw::c_char,
1905            items_uint32: *const u32,
1906            num_items: u32,
1907        ) -> f32,
1908    >,
1909    pub ui_uint64_dropdown: ::std::option::Option<
1910        unsafe extern "C" fn(
1911            args: *mut PropertiesUiArgsT,
1912            item_rect: RectT,
1913            name: *const ::std::os::raw::c_char,
1914            tooltip: *const ::std::os::raw::c_char,
1915            object: TtIdT,
1916            property: u32,
1917            items: *mut *const ::std::os::raw::c_char,
1918            item_tooltips: *mut *const ::std::os::raw::c_char,
1919            items_uint64: *const u64,
1920            num_items: u32,
1921        ) -> f32,
1922    >,
1923    pub ui_float_slider: ::std::option::Option<
1924        unsafe extern "C" fn(
1925            args: *mut PropertiesUiArgsT,
1926            item_rect: RectT,
1927            name: *const ::std::os::raw::c_char,
1928            tooltip: *const ::std::os::raw::c_char,
1929            object: TtIdT,
1930            property: u32,
1931            slider: *const PropertiesFloatSliderT,
1932        ) -> f32,
1933    >,
1934    pub ui_vec2: ::std::option::Option<
1935        unsafe extern "C" fn(
1936            args: *mut PropertiesUiArgsT,
1937            item_rect: RectT,
1938            name: *const ::std::os::raw::c_char,
1939            tooltip: *const ::std::os::raw::c_char,
1940            vec: TtIdT,
1941        ) -> f32,
1942    >,
1943    pub ui_vec3: ::std::option::Option<
1944        unsafe extern "C" fn(
1945            args: *mut PropertiesUiArgsT,
1946            item_rect: RectT,
1947            name: *const ::std::os::raw::c_char,
1948            tooltip: *const ::std::os::raw::c_char,
1949            vec: TtIdT,
1950        ) -> f32,
1951    >,
1952    pub ui_vec4: ::std::option::Option<
1953        unsafe extern "C" fn(
1954            args: *mut PropertiesUiArgsT,
1955            item_rect: RectT,
1956            name: *const ::std::os::raw::c_char,
1957            tooltip: *const ::std::os::raw::c_char,
1958            vec: TtIdT,
1959        ) -> f32,
1960    >,
1961    pub ui_color_picker: ::std::option::Option<
1962        unsafe extern "C" fn(
1963            args: *mut PropertiesUiArgsT,
1964            item_rect: RectT,
1965            name: *const ::std::os::raw::c_char,
1966            tooltip: *const ::std::os::raw::c_char,
1967            color: TtIdT,
1968        ) -> f32,
1969    >,
1970    pub update_truth_color: ::std::option::Option<
1971        unsafe extern "C" fn(
1972            args: *mut PropertiesUiArgsT,
1973            res: u32,
1974            new_color: Vec3T,
1975            initial_color: Vec3T,
1976            color: TtIdT,
1977        ),
1978    >,
1979    pub ui_color_wheel_raw: ::std::option::Option<
1980        unsafe extern "C" fn(
1981            args: *mut PropertiesUiArgsT,
1982            item_rect: RectT,
1983            name: *const ::std::os::raw::c_char,
1984            tooltip: *const ::std::os::raw::c_char,
1985            default_value: Vec3T,
1986            color: *mut Vec3T,
1987            initial: *mut Vec3T,
1988            res: *mut u32,
1989        ) -> f32,
1990    >,
1991    pub ui_color_wheel: ::std::option::Option<
1992        unsafe extern "C" fn(
1993            args: *mut PropertiesUiArgsT,
1994            item_rect: RectT,
1995            name: *const ::std::os::raw::c_char,
1996            tooltip: *const ::std::os::raw::c_char,
1997            default_value: Vec3T,
1998            color: TtIdT,
1999        ) -> f32,
2000    >,
2001    pub ui_color_temperature: ::std::option::Option<
2002        unsafe extern "C" fn(
2003            args: *mut PropertiesUiArgsT,
2004            item_rect: RectT,
2005            tooltip: *const ::std::os::raw::c_char,
2006            color: TtIdT,
2007        ) -> f32,
2008    >,
2009    pub ui_color_button: ::std::option::Option<
2010        unsafe extern "C" fn(
2011            args: *mut PropertiesUiArgsT,
2012            color_button: *const UiButtonT,
2013            color: TtIdT,
2014        ) -> bool,
2015    >,
2016    pub ui_expanded_color_picker: ::std::option::Option<
2017        unsafe extern "C" fn(args: *mut PropertiesUiArgsT, item_rect: RectT, color: TtIdT) -> f32,
2018    >,
2019    pub ui_rotation: ::std::option::Option<
2020        unsafe extern "C" fn(
2021            args: *mut PropertiesUiArgsT,
2022            item_rect: RectT,
2023            name: *const ::std::os::raw::c_char,
2024            tooltip: *const ::std::os::raw::c_char,
2025            rotation: TtIdT,
2026        ) -> f32,
2027    >,
2028    pub ui_visibility_flags: ::std::option::Option<
2029        unsafe extern "C" fn(
2030            args: *mut PropertiesUiArgsT,
2031            item_rect: RectT,
2032            name: *const ::std::os::raw::c_char,
2033            tooltip: *const ::std::os::raw::c_char,
2034            object: TtIdT,
2035            property: u32,
2036            indent: u32,
2037        ) -> f32,
2038    >,
2039    pub ui_label: ::std::option::Option<
2040        unsafe extern "C" fn(
2041            args: *mut PropertiesUiArgsT,
2042            item_rect: RectT,
2043            name: *const ::std::os::raw::c_char,
2044            tooltip: *const ::std::os::raw::c_char,
2045        ) -> f32,
2046    >,
2047    pub ui_horizontal_line: ::std::option::Option<
2048        unsafe extern "C" fn(args: *mut PropertiesUiArgsT, item_rect: RectT) -> f32,
2049    >,
2050    pub ui_static_text: ::std::option::Option<
2051        unsafe extern "C" fn(
2052            args: *mut PropertiesUiArgsT,
2053            item_rect: RectT,
2054            name: *const ::std::os::raw::c_char,
2055            tooltip: *const ::std::os::raw::c_char,
2056            text: *const ::std::os::raw::c_char,
2057        ) -> f32,
2058    >,
2059    pub ui_prototype: ::std::option::Option<
2060        unsafe extern "C" fn(
2061            args: *mut PropertiesUiArgsT,
2062            item_rect: RectT,
2063            name: *const ::std::os::raw::c_char,
2064            tooltip: *const ::std::os::raw::c_char,
2065            parent: TtIdT,
2066            property: u32,
2067            subobject: TtIdT,
2068            pick_type_hash: StrhashT,
2069        ) -> f32,
2070    >,
2071    pub ui_open_path: ::std::option::Option<
2072        unsafe extern "C" fn(
2073            args: *mut PropertiesUiArgsT,
2074            item_rect: RectT,
2075            name: *const ::std::os::raw::c_char,
2076            tooltip: *const ::std::os::raw::c_char,
2077            object: TtIdT,
2078            property: u32,
2079            extensions: *const ::std::os::raw::c_char,
2080            description: *const ::std::os::raw::c_char,
2081            picked: *mut bool,
2082        ) -> f32,
2083    >,
2084    pub ui_save_path: ::std::option::Option<
2085        unsafe extern "C" fn(
2086            args: *mut PropertiesUiArgsT,
2087            item_rect: RectT,
2088            name: *const ::std::os::raw::c_char,
2089            tooltip: *const ::std::os::raw::c_char,
2090            object: TtIdT,
2091            property: u32,
2092            extensions: *const ::std::os::raw::c_char,
2093            description: *const ::std::os::raw::c_char,
2094            picked: *mut bool,
2095        ) -> f32,
2096    >,
2097    pub ui_multi_object: ::std::option::Option<
2098        unsafe extern "C" fn(
2099            args: *mut PropertiesUiArgsT,
2100            item_rect: RectT,
2101            parent_proxy: TtIdT,
2102            property: u32,
2103            objects: *const TtIdT,
2104            n: u32,
2105            indent: u32,
2106        ) -> f32,
2107    >,
2108    pub proxy_to_objects: ::std::option::Option<
2109        unsafe extern "C" fn(pv: *mut PropertiesViewO, proxy: TtIdT) -> *const TtIdT,
2110    >,
2111    pub multi_proxy: ::std::option::Option<
2112        unsafe extern "C" fn(
2113            pv: *mut PropertiesViewO,
2114            parent_proxy: TtIdT,
2115            property: u32,
2116            objects: *const TtIdT,
2117            n: u32,
2118        ) -> TtIdT,
2119    >,
2120    pub get_property_value: ::std::option::Option<
2121        unsafe extern "C" fn(
2122            pv: *mut PropertiesViewO,
2123            object: TtIdT,
2124            property: u32,
2125            ta: *mut TempAllocatorI,
2126        ) -> *const TtPropValueT,
2127    >,
2128    pub was_changed: ::std::option::Option<
2129        unsafe extern "C" fn(args: *mut PropertiesUiArgsT, object: TtIdT, property: u32) -> bool,
2130    >,
2131    pub internal__copy_expanded_state: ::std::option::Option<
2132        unsafe extern "C" fn(pv: *mut PropertiesViewO, from_key: TtIdT, to_key: TtIdT),
2133    >,
2134}
2135#[repr(C)]
2136#[derive(Copy, Clone)]
2137pub struct TreeViewO {
2138    _unused: [u8; 0],
2139}
2140#[repr(C)]
2141pub struct TreeViewChildrenT {
2142    pub children: *const TtIdT,
2143    pub child_count: u32,
2144    pub property: u32,
2145    pub aspect_reference_type: TtTypeT,
2146}
2147impl Default for TreeViewChildrenT {
2148    fn default() -> Self {
2149        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2150        unsafe {
2151            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2152            s.assume_init()
2153        }
2154    }
2155}
2156#[repr(C)]
2157#[derive(Default, Copy, Clone)]
2158pub struct TreeViewAspectI {
2159    pub setup: ::std::option::Option<
2160        unsafe extern "C" fn(
2161            state: *mut ::std::os::raw::c_void,
2162            tree: *mut TreeViewO,
2163            tt: *const TheTruthO,
2164            root: TtIdT,
2165        ),
2166    >,
2167    pub context_menu: ::std::option::Option<
2168        unsafe extern "C" fn(
2169            state: *mut ::std::os::raw::c_void,
2170            tree: *mut TreeViewO,
2171            tt: *mut TheTruthO,
2172            undo_stack: *mut UndoStackI,
2173            ui: *mut UiO,
2174            uistyle: *const UiStyleT,
2175            pos: Vec2T,
2176            parent: *mut TreeViewParentT,
2177            object: TtIdT,
2178            object_property: u32,
2179        ),
2180    >,
2181    pub compute_node_properties: ::std::option::Option<
2182        unsafe extern "C" fn(
2183            state: *mut ::std::os::raw::c_void,
2184            tree: *mut TreeViewO,
2185            tt: *mut TheTruthO,
2186            parent: *const TreeViewParentT,
2187            object: TtIdT,
2188            can_expand: *mut bool,
2189            can_select: *mut bool,
2190            can_drop: *mut bool,
2191            can_drag: *mut bool,
2192            expanded_key: *mut u64,
2193            ta: *mut TempAllocatorI,
2194        ),
2195    >,
2196    pub ui: ::std::option::Option<
2197        unsafe extern "C" fn(
2198            state: *mut ::std::os::raw::c_void,
2199            tree: *mut TreeViewO,
2200            tt: *mut TheTruthO,
2201            ui: *mut UiO,
2202            uistyle: *mut UiStyleT,
2203            object: TtIdT,
2204            parent: *mut TreeViewParentT,
2205            tree_has_focus: bool,
2206            res: *mut UiTreeItemResT,
2207            item_rect: RectT,
2208            can_drop: bool,
2209        ),
2210    >,
2211    pub icon: ::std::option::Option<
2212        unsafe extern "C" fn(
2213            state: *mut ::std::os::raw::c_void,
2214            tree: *mut TreeViewO,
2215            tt: *mut TheTruthO,
2216            ui: *mut UiO,
2217            uistyle: *const UiStyleT,
2218            object: TtIdT,
2219            rect: RectT,
2220            res: *mut UiTreeItemResT,
2221        ) -> RectT,
2222    >,
2223    pub additional_elements: ::std::option::Option<
2224        unsafe extern "C" fn(
2225            state: *mut ::std::os::raw::c_void,
2226            tree: *mut TreeViewO,
2227            tt: *mut TheTruthO,
2228            ui: *mut UiO,
2229            uistyle: *const UiStyleT,
2230            object: TtIdT,
2231            parent: *mut TreeViewParentT,
2232            rect: RectT,
2233            res: *mut UiTreeItemResT,
2234            metrics: *mut UiTreeItemMetricsT,
2235        ) -> RectT,
2236    >,
2237    pub display_name: ::std::option::Option<
2238        unsafe extern "C" fn(
2239            state: *mut ::std::os::raw::c_void,
2240            tree: *mut TreeViewO,
2241            tt: *mut TheTruthO,
2242            object: TtIdT,
2243            buffer: *mut ::std::os::raw::c_char,
2244            buffer_size: u32,
2245        ),
2246    >,
2247    pub tooltip: ::std::option::Option<
2248        unsafe extern "C" fn(
2249            state: *mut ::std::os::raw::c_void,
2250            tree: *mut TreeViewO,
2251            tt: *mut TheTruthO,
2252            ui: *mut UiO,
2253            uistyle: *const UiStyleT,
2254            object: TtIdT,
2255        ),
2256    >,
2257    pub get_node_children: ::std::option::Option<
2258        unsafe extern "C" fn(
2259            state: *mut ::std::os::raw::c_void,
2260            tree: *mut TreeViewO,
2261            tt: *mut TheTruthO,
2262            parent: *mut TreeViewParentT,
2263            object: TtIdT,
2264            ta: *mut TempAllocatorI,
2265        ) -> *mut TreeViewChildrenT,
2266    >,
2267    pub can_drop_above: ::std::option::Option<
2268        unsafe extern "C" fn(
2269            state: *mut ::std::os::raw::c_void,
2270            ui: *mut UiO,
2271            parent: *mut TreeViewParentT,
2272            above_object: TtIdT,
2273            dragged_objects: *mut TtIdT,
2274        ) -> bool,
2275    >,
2276    pub drop_above: ::std::option::Option<
2277        unsafe extern "C" fn(
2278            state: *mut ::std::os::raw::c_void,
2279            ui: *mut UiO,
2280            above_object: TtIdT,
2281            dragged_objects: *mut TtIdT,
2282            undo_scope: TtUndoScopeT,
2283        ),
2284    >,
2285}
2286#[repr(C)]
2287pub struct TreeViewSetupT {
2288    pub allocator: *mut AllocatorI,
2289    pub undo_stack: *mut UndoStackI,
2290    pub tt: *mut TheTruthO,
2291    pub keyboard_interaction: ::std::option::Option<
2292        unsafe extern "C" fn(
2293            state: *mut ::std::os::raw::c_void,
2294            tree: *mut TreeViewO,
2295            ui: *mut UiO,
2296            is_first_responder: bool,
2297        ),
2298    >,
2299    pub root: TtIdT,
2300    pub cache_tree_heights: bool,
2301    pub _padding_165: [::std::os::raw::c_char; 7usize],
2302    pub state: *mut ::std::os::raw::c_void,
2303}
2304impl Default for TreeViewSetupT {
2305    fn default() -> Self {
2306        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2307        unsafe {
2308            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2309            s.assume_init()
2310        }
2311    }
2312}
2313#[repr(C)]
2314pub struct TreeViewUiResT {
2315    pub focus_changed: bool,
2316    pub _padding_176: [::std::os::raw::c_char; 7usize],
2317    pub focus: TtIdT,
2318    pub selection_changed: bool,
2319    pub focus_on_tree_background: bool,
2320    pub _padding_186: [::std::os::raw::c_char; 6usize],
2321}
2322impl Default for TreeViewUiResT {
2323    fn default() -> Self {
2324        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2325        unsafe {
2326            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2327            s.assume_init()
2328        }
2329    }
2330}
2331#[repr(C)]
2332pub struct TreeViewParentT {
2333    pub id: TtIdT,
2334    pub property: u32,
2335    pub _padding_197: [::std::os::raw::c_char; 4usize],
2336    pub aspect_reference_type: TtTypeT,
2337    pub parent: *mut TreeViewParentT,
2338    pub pr: u32,
2339    pub _padding_216: [::std::os::raw::c_char; 4usize],
2340    pub expanded_key: u64,
2341}
2342impl Default for TreeViewParentT {
2343    fn default() -> Self {
2344        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2345        unsafe {
2346            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2347            s.assume_init()
2348        }
2349    }
2350}
2351#[repr(C)]
2352#[derive(Default, Copy, Clone)]
2353pub struct TreeViewApi {
2354    pub create_tree_view:
2355        ::std::option::Option<unsafe extern "C" fn(setup: *const TreeViewSetupT) -> *mut TreeViewO>,
2356    pub destroy_tree_view: ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO)>,
2357    pub ui: ::std::option::Option<
2358        unsafe extern "C" fn(
2359            tree: *mut TreeViewO,
2360            ui: *mut UiO,
2361            style: *const UiStyleT,
2362            rect: RectT,
2363        ) -> TreeViewUiResT,
2364    >,
2365    pub property_group_object:
2366        ::std::option::Option<unsafe extern "C" fn(object: TtIdT, property: u32) -> TtIdT>,
2367    pub set_expanded: ::std::option::Option<
2368        unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT, expanded: bool),
2369    >,
2370    pub is_expanded:
2371        ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT) -> bool>,
2372    pub select: ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT)>,
2373    pub add_to_selection:
2374        ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT)>,
2375    pub remove_from_selection:
2376        ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT)>,
2377    pub scroll_to_object:
2378        ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT)>,
2379    pub deselect_all: ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO)>,
2380    pub rename: ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO, object: TtIdT)>,
2381    pub get_sorted_subobjects: ::std::option::Option<
2382        unsafe extern "C" fn(
2383            tree: *const TreeViewO,
2384            object: TtIdT,
2385            property: u32,
2386            ta: *mut TempAllocatorI,
2387        ) -> *const TtIdT,
2388    >,
2389    pub selected_objects: ::std::option::Option<
2390        unsafe extern "C" fn(inst: *mut TreeViewO, ta: *mut TempAllocatorI) -> *const TtIdT,
2391    >,
2392    pub get_root_object: ::std::option::Option<unsafe extern "C" fn(inst: *mut TreeViewO) -> TtIdT>,
2393    pub set_root_object:
2394        ::std::option::Option<unsafe extern "C" fn(inst: *mut TreeViewO, object: TtIdT)>,
2395    pub add_default_menu_items: ::std::option::Option<
2396        unsafe extern "C" fn(
2397            tree: *mut TreeViewO,
2398            parent: *mut TreeViewParentT,
2399            object: TtIdT,
2400            object_property: u32,
2401            id_base: u64,
2402            items: *mut *mut UiMenuItemT,
2403            ta: *mut TempAllocatorI,
2404        ),
2405    >,
2406    pub execute_menu_item: ::std::option::Option<
2407        unsafe extern "C" fn(
2408            tree: *mut TreeViewO,
2409            parent: *mut TreeViewParentT,
2410            object: TtIdT,
2411            object_property: u32,
2412            id_base: u64,
2413            res: *const UiMenuResultT,
2414        ),
2415    >,
2416    pub set_empty_text: ::std::option::Option<
2417        unsafe extern "C" fn(tree: *mut TreeViewO, text: *const ::std::os::raw::c_char),
2418    >,
2419    pub filter_nodes: ::std::option::Option<
2420        unsafe extern "C" fn(
2421            tree: *mut TreeViewO,
2422            node_type: u64,
2423            text: *const ::std::os::raw::c_char,
2424            case_unsensitive: bool,
2425        ),
2426    >,
2427    pub renaming_object: ::std::option::Option<unsafe extern "C" fn(tree: *mut TreeViewO) -> TtIdT>,
2428}
2429#[repr(C)]
2430pub struct UiPopupItemPickerT {
2431    pub id: u64,
2432    pub pos: Vec2T,
2433    pub search_text: *mut ::std::os::raw::c_char,
2434    pub search_text_bytes: u32,
2435    pub _padding_30: [::std::os::raw::c_char; 4usize],
2436    pub strings: *const *const ::std::os::raw::c_char,
2437    pub num_strings: u32,
2438    pub _padding_37: [::std::os::raw::c_char; 4usize],
2439}
2440impl Default for UiPopupItemPickerT {
2441    fn default() -> Self {
2442        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2443        unsafe {
2444            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2445            s.assume_init()
2446        }
2447    }
2448}
2449#[repr(C)]
2450pub struct UiCategoryPopupItemPickerT {
2451    pub id: u64,
2452    pub pos: Vec2T,
2453    pub search_text: *mut ::std::os::raw::c_char,
2454    pub search_text_bytes: u32,
2455    pub _padding_48: [::std::os::raw::c_char; 4usize],
2456    pub strings: *const *const ::std::os::raw::c_char,
2457    pub categories: *const *const ::std::os::raw::c_char,
2458    pub num_strings: u32,
2459    pub _padding_62: [::std::os::raw::c_char; 4usize],
2460    pub expanded: *mut SetT,
2461}
2462impl Default for UiCategoryPopupItemPickerT {
2463    fn default() -> Self {
2464        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2465        unsafe {
2466            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2467            s.assume_init()
2468        }
2469    }
2470}
2471#[repr(C)]
2472pub struct UiPopupAssetPickerT {
2473    pub id: u64,
2474    pub pos: Vec2T,
2475    pub search_text: *mut ::std::os::raw::c_char,
2476    pub search_text_bytes: u32,
2477    pub _padding_75: [::std::os::raw::c_char; 4usize],
2478    pub tt: *mut TheTruthO,
2479    pub asset_root: TtIdT,
2480    pub type_hash: StrhashT,
2481    pub required_labels: *mut AssetLabelBitflagT,
2482}
2483impl Default for UiPopupAssetPickerT {
2484    fn default() -> Self {
2485        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2486        unsafe {
2487            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2488            s.assume_init()
2489        }
2490    }
2491}
2492#[repr(C)]
2493pub struct UiTexteditPickerT {
2494    pub id: u64,
2495    pub rect: RectT,
2496    pub search_text: *mut ::std::os::raw::c_char,
2497    pub search_text_bytes: u32,
2498    pub _padding_106: [::std::os::raw::c_char; 4usize],
2499    pub not_found_text: *const ::std::os::raw::c_char,
2500    pub default_text: *const ::std::os::raw::c_char,
2501    pub strings: *const *const ::std::os::raw::c_char,
2502    pub num_of_strings: u32,
2503    pub no_suggestions_when_empty: bool,
2504    pub _padding_123: [::std::os::raw::c_char; 3usize],
2505}
2506impl Default for UiTexteditPickerT {
2507    fn default() -> Self {
2508        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2509        unsafe {
2510            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2511            s.assume_init()
2512        }
2513    }
2514}
2515#[repr(C)]
2516#[derive(Default, Copy, Clone)]
2517pub struct UiPopupItemPickerApi {
2518    pub pick: ::std::option::Option<
2519        unsafe extern "C" fn(
2520            ui: *mut UiO,
2521            uistyle_in: *const UiStyleT,
2522            c: *const UiPopupItemPickerT,
2523            picked: *mut u32,
2524        ) -> bool,
2525    >,
2526    pub pick_with_categories: ::std::option::Option<
2527        unsafe extern "C" fn(
2528            ui: *mut UiO,
2529            uistyle_in: *const UiStyleT,
2530            c: *const UiCategoryPopupItemPickerT,
2531            picked: *mut u32,
2532        ) -> bool,
2533    >,
2534    pub pick_asset: ::std::option::Option<
2535        unsafe extern "C" fn(
2536            ui: *mut UiO,
2537            uistyle_in: *const UiStyleT,
2538            c: *const UiPopupAssetPickerT,
2539            asset: *mut TtIdT,
2540        ) -> bool,
2541    >,
2542    pub pick_textedit: ::std::option::Option<
2543        unsafe extern "C" fn(
2544            ui: *mut UiO,
2545            uistyle_in: *const UiStyleT,
2546            config: *const UiTexteditPickerT,
2547            picked: *mut u32,
2548            not_in_list: *mut bool,
2549        ) -> bool,
2550    >,
2551}
2552#[repr(C)]
2553#[derive(Default, Copy, Clone)]
2554pub struct AssetBrowserCreateAssetO {
2555    pub _address: u8,
2556}
2557#[repr(C)]
2558#[derive(Default, Copy, Clone)]
2559pub struct AssetBrowserOpenAssetO {
2560    pub _address: u8,
2561}
2562#[repr(C)]
2563#[derive(Default, Copy, Clone)]
2564pub struct AssetBrowserAddAssetO {
2565    pub _address: u8,
2566}
2567#[repr(C)]
2568#[derive(Default, Copy, Clone)]
2569pub struct AssetBrowserSelectAssetO {
2570    pub _address: u8,
2571}
2572#[repr(C)]
2573#[derive(Default, Copy, Clone)]
2574pub struct GraphO {
2575    pub _address: u8,
2576}
2577
2578// Extensions generated by machinery-generator
2579
2580use const_cstr::{const_cstr, ConstCStr};
2581
2582use crate::foundation::VersionT;
2583
2584use crate::foundation::*;
2585use crate::plugins::ui::*;
2586
2587impl AssetBrowserOpenAssetApi {
2588    pub unsafe fn open(
2589        &self,
2590        inst: *mut AssetBrowserOpenAssetO,
2591        ui: *mut UiO,
2592        from_tab: *mut TabI,
2593        object: TtIdT,
2594    ) {
2595        self.open.unwrap()(inst, ui, from_tab, object)
2596    }
2597
2598    pub unsafe fn can_open(
2599        &self,
2600        inst: *mut AssetBrowserOpenAssetO,
2601        ui: *mut UiO,
2602        object: TtIdT,
2603    ) -> bool {
2604        self.can_open.unwrap()(inst, ui, object)
2605    }
2606}
2607
2608impl crate::Api for AssetBrowserOpenAssetApi {
2609    const NAME: ConstCStr = const_cstr!("tm_asset_browser_open_asset_api");
2610    const VERSION: VersionT = VersionT {
2611        major: 1u32,
2612        minor: 0u32,
2613        patch: 0u32,
2614    };
2615}
2616
2617impl AssetBrowserAddAssetApi {
2618    pub unsafe fn current_directory(
2619        &self,
2620        inst: *mut AssetBrowserAddAssetO,
2621        ui: *mut UiO,
2622    ) -> TtIdT {
2623        self.current_directory.unwrap()(inst, ui)
2624    }
2625
2626    pub unsafe fn exists(
2627        &self,
2628        inst: *mut AssetBrowserAddAssetO,
2629        directory: TtIdT,
2630        name: *const ::std::os::raw::c_char,
2631    ) -> TtIdT {
2632        self.exists.unwrap()(inst, directory, name)
2633    }
2634
2635    pub unsafe fn add(
2636        &self,
2637        inst: *mut AssetBrowserAddAssetO,
2638        directory: TtIdT,
2639        object: TtIdT,
2640        name: *const ::std::os::raw::c_char,
2641        undo_scope: TtUndoScopeT,
2642        select: bool,
2643        ui: *mut UiO,
2644        asset_labels: *mut u64,
2645        num_asset_labels: u32,
2646    ) {
2647        self.add.unwrap()(
2648            inst,
2649            directory,
2650            object,
2651            name,
2652            undo_scope,
2653            select,
2654            ui,
2655            asset_labels,
2656            num_asset_labels,
2657        )
2658    }
2659
2660    pub unsafe fn add_directory(
2661        &self,
2662        inst: *mut AssetBrowserAddAssetO,
2663        parent_directory: TtIdT,
2664        name: *const ::std::os::raw::c_char,
2665        undo_scope: TtUndoScopeT,
2666        select: bool,
2667        ui: *mut UiO,
2668    ) -> TtIdT {
2669        self.add_directory.unwrap()(inst, parent_directory, name, undo_scope, select, ui)
2670    }
2671}
2672
2673impl crate::Api for AssetBrowserAddAssetApi {
2674    const NAME: ConstCStr = const_cstr!("tm_asset_browser_add_asset_api");
2675    const VERSION: VersionT = VersionT {
2676        major: 1u32,
2677        minor: 0u32,
2678        patch: 0u32,
2679    };
2680}
2681
2682impl AssetBrowserSelectAssetApi {
2683    pub unsafe fn select_asset(
2684        &self,
2685        inst: *mut AssetBrowserSelectAssetO,
2686        ui: *mut UiO,
2687        asset: TtIdT,
2688    ) {
2689        self.select_asset.unwrap()(inst, ui, asset)
2690    }
2691
2692    pub unsafe fn select_assets(
2693        &self,
2694        inst: *mut AssetBrowserSelectAssetO,
2695        ui: *mut UiO,
2696        assets: *mut TtIdT,
2697        count: u32,
2698    ) {
2699        self.select_assets.unwrap()(inst, ui, assets, count)
2700    }
2701}
2702
2703impl crate::Api for AssetBrowserSelectAssetApi {
2704    const NAME: ConstCStr = const_cstr!("tm_asset_browser_select_asset_api");
2705    const VERSION: VersionT = VersionT {
2706        major: 1u32,
2707        minor: 0u32,
2708        patch: 0u32,
2709    };
2710}
2711
2712impl AssetBrowserApi {
2713    pub unsafe fn create_asset_browser(
2714        &self,
2715        allocator: *mut AllocatorI,
2716        config: *const AssetBrowserConfigT,
2717    ) -> *mut AssetBrowserO {
2718        self.create_asset_browser.unwrap()(allocator, config)
2719    }
2720
2721    pub unsafe fn destroy_asset_browser(&self, asset_browser: *mut AssetBrowserO) {
2722        self.destroy_asset_browser.unwrap()(asset_browser)
2723    }
2724
2725    pub unsafe fn ui(
2726        &self,
2727        inst: *mut AssetBrowserO,
2728        asset_root: TtIdT,
2729        ui: *mut UiO,
2730        style: *const UiStyleT,
2731        rect: RectT,
2732        tab_id: u64,
2733    ) -> AssetBrowserUiResT {
2734        self.ui.unwrap()(inst, asset_root, ui, style, rect, tab_id)
2735    }
2736
2737    pub unsafe fn set_new_truth(
2738        &self,
2739        inst: *mut AssetBrowserO,
2740        tt: *mut TheTruthO,
2741        asset_browser: TtIdT,
2742    ) {
2743        self.set_new_truth.unwrap()(inst, tt, asset_browser)
2744    }
2745
2746    pub unsafe fn menu(
2747        &self,
2748        inst: *mut AssetBrowserO,
2749        asset_root: TtIdT,
2750        ui: *mut UiO,
2751        style: *const UiStyleT,
2752        pos: Vec2T,
2753    ) {
2754        self.menu.unwrap()(inst, asset_root, ui, style, pos)
2755    }
2756
2757    pub unsafe fn process_dropped_os_files(
2758        &self,
2759        inst: *mut AssetBrowserO,
2760        ui: *mut UiO,
2761        asset_root: TtIdT,
2762        files: *mut *mut ::std::os::raw::c_char,
2763        num_files: u32,
2764    ) {
2765        self.process_dropped_os_files.unwrap()(inst, ui, asset_root, files, num_files)
2766    }
2767
2768    pub unsafe fn focused_object(&self, inst: *mut AssetBrowserO) -> TtIdT {
2769        self.focused_object.unwrap()(inst)
2770    }
2771
2772    pub unsafe fn selected_objects(
2773        &self,
2774        inst: *mut AssetBrowserO,
2775        ta: *mut TempAllocatorI,
2776    ) -> *const TtIdT {
2777        self.selected_objects.unwrap()(inst, ta)
2778    }
2779
2780    pub unsafe fn shortcuts(&self) -> *mut *mut ShortcutI {
2781        self.shortcuts.unwrap()()
2782    }
2783}
2784
2785impl crate::Api for AssetBrowserApi {
2786    const NAME: ConstCStr = const_cstr!("tm_asset_browser_api");
2787    const VERSION: VersionT = VersionT {
2788        major: 1u32,
2789        minor: 0u32,
2790        patch: 0u32,
2791    };
2792}
2793
2794impl AssetLabelApi {
2795    pub unsafe fn all_labels(
2796        &self,
2797        labels: *mut AssetLabelsT,
2798        tt: *const TheTruthO,
2799        asset_root: TtIdT,
2800    ) {
2801        self.all_labels.unwrap()(labels, tt, asset_root)
2802    }
2803
2804    pub unsafe fn labels_of_asset(
2805        &self,
2806        tt: *mut TheTruthO,
2807        asset: TtIdT,
2808        asset_labels: *const AssetLabelsT,
2809        out_labels: *mut AssetLabelsT,
2810    ) {
2811        self.labels_of_asset.unwrap()(tt, asset, asset_labels, out_labels)
2812    }
2813
2814    pub unsafe fn label_uuids_of_asset(
2815        &self,
2816        tt: *const TheTruthO,
2817        asset: TtIdT,
2818        ta: *mut TempAllocatorI,
2819    ) -> *mut u64 {
2820        self.label_uuids_of_asset.unwrap()(tt, asset, ta)
2821    }
2822
2823    pub unsafe fn create(
2824        &self,
2825        tt: *mut TheTruthO,
2826        asset_root: TtIdT,
2827        directory: TtIdT,
2828        label: *const ::std::os::raw::c_char,
2829        undo_scope: TtUndoScopeT,
2830    ) -> AssetLabelUuidT {
2831        self.create.unwrap()(tt, asset_root, directory, label, undo_scope)
2832    }
2833
2834    pub unsafe fn add(
2835        &self,
2836        tt: *mut TheTruthO,
2837        asset: TtIdT,
2838        label: AssetLabelUuidT,
2839        undo_scope: TtUndoScopeT,
2840    ) {
2841        self.add.unwrap()(tt, asset, label, undo_scope)
2842    }
2843
2844    pub unsafe fn remove(
2845        &self,
2846        tt: *mut TheTruthO,
2847        asset: TtIdT,
2848        label: AssetLabelUuidT,
2849        undo_scope: TtUndoScopeT,
2850    ) {
2851        self.remove.unwrap()(tt, asset, label, undo_scope)
2852    }
2853
2854    pub unsafe fn rename(
2855        &self,
2856        tt: *mut TheTruthO,
2857        asset_root: TtIdT,
2858        label: AssetLabelUuidT,
2859        new_label_name: *const ::std::os::raw::c_char,
2860        undo_scope: TtUndoScopeT,
2861    ) {
2862        self.rename.unwrap()(tt, asset_root, label, new_label_name, undo_scope)
2863    }
2864
2865    pub unsafe fn assets_with_label(
2866        &self,
2867        tt: *mut TheTruthO,
2868        asset_root: TtIdT,
2869        label: AssetLabelUuidT,
2870        ta: *mut TempAllocatorI,
2871    ) -> *mut TtIdT {
2872        self.assets_with_label.unwrap()(tt, asset_root, label, ta)
2873    }
2874
2875    pub unsafe fn assets_with_all_labels(
2876        &self,
2877        tt: *mut TheTruthO,
2878        asset_root: TtIdT,
2879        labels: *const AssetLabelBitflagT,
2880        ta: *mut TempAllocatorI,
2881    ) -> *mut TtIdT {
2882        self.assets_with_all_labels.unwrap()(tt, asset_root, labels, ta)
2883    }
2884
2885    pub unsafe fn assets_with_any_label(
2886        &self,
2887        tt: *mut TheTruthO,
2888        asset_root: TtIdT,
2889        labels: *const AssetLabelBitflagT,
2890        ta: *mut TempAllocatorI,
2891    ) -> *mut TtIdT {
2892        self.assets_with_any_label.unwrap()(tt, asset_root, labels, ta)
2893    }
2894
2895    pub unsafe fn toggle_bitflags(
2896        &self,
2897        labels: *const AssetLabelsT,
2898        bitflag: *mut AssetLabelBitflagT,
2899        labels_uuid: *const AssetLabelUuidT,
2900        num_labels: u32,
2901    ) {
2902        self.toggle_bitflags.unwrap()(labels, bitflag, labels_uuid, num_labels)
2903    }
2904
2905    pub unsafe fn matches_all(
2906        &self,
2907        asset_bitflag: *const AssetLabelBitflagT,
2908        filter_bitflag: *const AssetLabelBitflagT,
2909    ) -> bool {
2910        self.matches_all.unwrap()(asset_bitflag, filter_bitflag)
2911    }
2912
2913    pub unsafe fn matches_any(
2914        &self,
2915        asset_bitflag: *const AssetLabelBitflagT,
2916        filter_bitflag: *const AssetLabelBitflagT,
2917    ) -> bool {
2918        self.matches_any.unwrap()(asset_bitflag, filter_bitflag)
2919    }
2920}
2921
2922impl crate::Api for AssetLabelApi {
2923    const NAME: ConstCStr = const_cstr!("tm_asset_label_api");
2924    const VERSION: VersionT = VersionT {
2925        major: 1u32,
2926        minor: 0u32,
2927        patch: 0u32,
2928    };
2929}
2930
2931impl GraphApi {
2932    pub unsafe fn create_truth_types(&self, tt: *mut TheTruthO) {
2933        self.create_truth_types.unwrap()(tt)
2934    }
2935
2936    pub unsafe fn create_graph(
2937        &self,
2938        allocator: *mut AllocatorI,
2939        tt: *mut TheTruthO,
2940        graph_id: TtIdT,
2941        node_interface_name: *const ::std::os::raw::c_char,
2942        node_interface_version: VersionT,
2943        undo_stack: *mut UndoStackI,
2944        asset_root: TtIdT,
2945        settings_tt: *mut TheTruthO,
2946        settings_object: TtIdT,
2947    ) -> *mut GraphO {
2948        self.create_graph.unwrap()(
2949            allocator,
2950            tt,
2951            graph_id,
2952            node_interface_name,
2953            node_interface_version,
2954            undo_stack,
2955            asset_root,
2956            settings_tt,
2957            settings_object,
2958        )
2959    }
2960
2961    pub unsafe fn destroy_graph(&self, graph: *mut GraphO, truth_already_destroyed: bool) {
2962        self.destroy_graph.unwrap()(graph, truth_already_destroyed)
2963    }
2964
2965    pub unsafe fn set_settings_object(
2966        &self,
2967        graph: *mut GraphO,
2968        settings_tt: *mut TheTruthO,
2969        settings_object: TtIdT,
2970    ) {
2971        self.set_settings_object.unwrap()(graph, settings_tt, settings_object)
2972    }
2973
2974    pub unsafe fn id(&self, graph: *mut GraphO) -> TtIdT {
2975        self.id.unwrap()(graph)
2976    }
2977
2978    pub unsafe fn ui(
2979        &self,
2980        inst: *mut GraphO,
2981        ui: *mut UiO,
2982        style: *const UiStyleT,
2983        rect: RectT,
2984        ui_root_id: u64,
2985    ) -> GraphUiResT {
2986        self.ui.unwrap()(inst, ui, style, rect, ui_root_id)
2987    }
2988
2989    pub unsafe fn menu(&self, inst: *mut GraphO, ui: *mut UiO, style: *const UiStyleT, pos: Vec2T) {
2990        self.menu.unwrap()(inst, ui, style, pos)
2991    }
2992
2993    pub unsafe fn selected_objects(
2994        &self,
2995        inst: *mut GraphO,
2996        ta: *mut TempAllocatorI,
2997    ) -> *const TtIdT {
2998        self.selected_objects.unwrap()(inst, ta)
2999    }
3000
3001    pub unsafe fn refresh_node_types(
3002        &self,
3003        inst: *mut GraphO,
3004        node_interface_name: *const ::std::os::raw::c_char,
3005        node_interface_version: VersionT,
3006    ) {
3007        self.refresh_node_types.unwrap()(inst, node_interface_name, node_interface_version)
3008    }
3009
3010    pub unsafe fn toolbars(&self, inst: *mut GraphO, ta: *mut TempAllocatorI) -> *mut ToolbarI {
3011        self.toolbars.unwrap()(inst, ta)
3012    }
3013
3014    pub unsafe fn migrate_to_connector_hash(
3015        &self,
3016        tt: *mut TheTruthO,
3017        graphs: *mut TtIdT,
3018        num_graphs: u32,
3019        node_types: *const *const GraphNodeTypeI,
3020        num_node_types: u32,
3021    ) -> bool {
3022        self.migrate_to_connector_hash.unwrap()(tt, graphs, num_graphs, node_types, num_node_types)
3023    }
3024
3025    pub unsafe fn needs_migrate_to_connector_hash(&self, tt: *mut TheTruthO) -> bool {
3026        self.needs_migrate_to_connector_hash.unwrap()(tt)
3027    }
3028
3029    pub unsafe fn migrate_to_instantiated_connections(
3030        &self,
3031        tt: *mut TheTruthO,
3032        graphs: *mut TtIdT,
3033        num_graphs: u32,
3034    ) -> bool {
3035        self.migrate_to_instantiated_connections.unwrap()(tt, graphs, num_graphs)
3036    }
3037}
3038
3039impl crate::Api for GraphApi {
3040    const NAME: ConstCStr = const_cstr!("tm_graph_api");
3041    const VERSION: VersionT = VersionT {
3042        major: 1u32,
3043        minor: 0u32,
3044        patch: 0u32,
3045    };
3046}
3047
3048impl ProfilerViewApi {
3049    pub unsafe fn create_profiler_view(&self, allocator: *mut AllocatorI) -> *mut ProfilerViewO {
3050        self.create_profiler_view.unwrap()(allocator)
3051    }
3052
3053    pub unsafe fn destroy_profiler_view(&self, profiler_view: *mut ProfilerViewO) {
3054        self.destroy_profiler_view.unwrap()(profiler_view)
3055    }
3056
3057    pub unsafe fn ui(
3058        &self,
3059        inst: *mut ProfilerViewO,
3060        ui: *mut UiO,
3061        style: *const UiStyleT,
3062        rect: RectT,
3063        tab_id: u64,
3064    ) -> ProfilerViewUiResT {
3065        self.ui.unwrap()(inst, ui, style, rect, tab_id)
3066    }
3067
3068    pub unsafe fn start_recording(&self, inst: *mut ProfilerViewO, with_history: bool) {
3069        self.start_recording.unwrap()(inst, with_history)
3070    }
3071
3072    pub unsafe fn stop_recording(&self, inst: *mut ProfilerViewO) {
3073        self.stop_recording.unwrap()(inst)
3074    }
3075
3076    pub unsafe fn is_recording(&self, inst: *mut ProfilerViewO) -> bool {
3077        self.is_recording.unwrap()(inst)
3078    }
3079
3080    pub unsafe fn menu(
3081        &self,
3082        inst: *mut ProfilerViewO,
3083        ui: *mut UiO,
3084        style: *const UiStyleT,
3085        pos: Vec2T,
3086    ) {
3087        self.menu.unwrap()(inst, ui, style, pos)
3088    }
3089}
3090
3091impl crate::Api for ProfilerViewApi {
3092    const NAME: ConstCStr = const_cstr!("tm_profiler_view_api");
3093    const VERSION: VersionT = VersionT {
3094        major: 1u32,
3095        minor: 0u32,
3096        patch: 0u32,
3097    };
3098}
3099
3100impl PropertiesViewApi {
3101    pub unsafe fn create_properties_view(
3102        &self,
3103        allocator: *mut AllocatorI,
3104        config: *const PropertiesViewConfigT,
3105    ) -> *mut PropertiesViewO {
3106        self.create_properties_view.unwrap()(allocator, config)
3107    }
3108
3109    pub unsafe fn destroy_properties_view(&self, inst: *mut PropertiesViewO) {
3110        self.destroy_properties_view.unwrap()(inst)
3111    }
3112
3113    pub unsafe fn set_object(&self, inst: *mut PropertiesViewO, object: TtIdT) -> bool {
3114        self.set_object.unwrap()(inst, object)
3115    }
3116
3117    pub unsafe fn set_object_with_mask(
3118        &self,
3119        inst: *mut PropertiesViewO,
3120        object: TtIdT,
3121        property_mask: u64,
3122    ) -> bool {
3123        self.set_object_with_mask.unwrap()(inst, object, property_mask)
3124    }
3125
3126    pub unsafe fn set_mask(&self, inst: *mut PropertiesViewO, property_mask: u64) -> bool {
3127        self.set_mask.unwrap()(inst, property_mask)
3128    }
3129
3130    pub unsafe fn set_objects(
3131        &self,
3132        inst: *mut PropertiesViewO,
3133        objects: *const TtIdT,
3134        n: u32,
3135    ) -> bool {
3136        self.set_objects.unwrap()(inst, objects, n)
3137    }
3138
3139    pub unsafe fn objects(&self, inst: *mut PropertiesViewO) -> *const TtIdT {
3140        self.objects.unwrap()(inst)
3141    }
3142
3143    pub unsafe fn ui(
3144        &self,
3145        inst: *mut PropertiesViewO,
3146        asset_root: TtIdT,
3147        ui: *mut UiO,
3148        style: *const UiStyleT,
3149        rect: RectT,
3150        tab: *mut TabI,
3151    ) {
3152        self.ui.unwrap()(inst, asset_root, ui, style, rect, tab)
3153    }
3154
3155    pub unsafe fn update(&self, inst: *mut PropertiesViewO, ui: *mut UiO) {
3156        self.update.unwrap()(inst, ui)
3157    }
3158
3159    pub unsafe fn metrics(&self, inst: *mut PropertiesViewO) -> *mut f32 {
3160        self.metrics.unwrap()(inst)
3161    }
3162
3163    pub unsafe fn get_display_name(
3164        &self,
3165        tt: *const TheTruthO,
3166        object: TtIdT,
3167        buffer: *mut ::std::os::raw::c_char,
3168        size: u32,
3169    ) {
3170        self.get_display_name.unwrap()(tt, object, buffer, size)
3171    }
3172
3173    pub unsafe fn get_type_display_name(
3174        &self,
3175        tt: *const TheTruthO,
3176        object_type: TtTypeT,
3177        buffer: *mut ::std::os::raw::c_char,
3178        size: u32,
3179    ) {
3180        self.get_type_display_name.unwrap()(tt, object_type, buffer, size)
3181    }
3182
3183    pub unsafe fn ui_object(
3184        &self,
3185        args: *mut PropertiesUiArgsT,
3186        item_rect: RectT,
3187        object: TtIdT,
3188        indent: u32,
3189    ) -> f32 {
3190        self.ui_object.unwrap()(args, item_rect, object, indent)
3191    }
3192
3193    pub unsafe fn ui_object_default(
3194        &self,
3195        args: *mut PropertiesUiArgsT,
3196        item_rect: RectT,
3197        object: TtIdT,
3198        indent: u32,
3199    ) -> f32 {
3200        self.ui_object_default.unwrap()(args, item_rect, object, indent)
3201    }
3202
3203    pub unsafe fn ui_property(
3204        &self,
3205        args: *mut PropertiesUiArgsT,
3206        item_rect: RectT,
3207        object: TtIdT,
3208        indent: u32,
3209        property: u32,
3210    ) -> f32 {
3211        self.ui_property.unwrap()(args, item_rect, object, indent, property)
3212    }
3213
3214    pub unsafe fn ui_property_with_name(
3215        &self,
3216        args: *mut PropertiesUiArgsT,
3217        item_rect: RectT,
3218        name: *const ::std::os::raw::c_char,
3219        tooltip: *const ::std::os::raw::c_char,
3220        object: TtIdT,
3221        indent: u32,
3222        property: u32,
3223    ) -> f32 {
3224        self.ui_property_with_name.unwrap()(
3225            args, item_rect, name, tooltip, object, indent, property,
3226        )
3227    }
3228
3229    pub unsafe fn ui_property_default(
3230        &self,
3231        args: *mut PropertiesUiArgsT,
3232        item_rect: RectT,
3233        object: TtIdT,
3234        indent: u32,
3235        property: u32,
3236    ) -> f32 {
3237        self.ui_property_default.unwrap()(args, item_rect, object, indent, property)
3238    }
3239
3240    pub unsafe fn ui_property_default_with_name(
3241        &self,
3242        args: *mut PropertiesUiArgsT,
3243        item_rect: RectT,
3244        name: *const ::std::os::raw::c_char,
3245        tooltip: *const ::std::os::raw::c_char,
3246        object: TtIdT,
3247        indent: u32,
3248        property: u32,
3249    ) -> f32 {
3250        self.ui_property_default_with_name.unwrap()(
3251            args, item_rect, name, tooltip, object, indent, property,
3252        )
3253    }
3254
3255    pub unsafe fn ui_tree_item(
3256        &self,
3257        args: *mut PropertiesUiArgsT,
3258        key: u64,
3259        rect: RectT,
3260        indent: u32,
3261        expanded_default: bool,
3262        tooltip: *const ::std::os::raw::c_char,
3263        ui_id: u64,
3264    ) -> bool {
3265        self.ui_tree_item.unwrap()(args, key, rect, indent, expanded_default, tooltip, ui_id)
3266    }
3267
3268    pub unsafe fn ui_group(
3269        &self,
3270        args: *mut PropertiesUiArgsT,
3271        item_rect: RectT,
3272        name: *const ::std::os::raw::c_char,
3273        tooltip: *const ::std::os::raw::c_char,
3274        object: TtIdT,
3275        indent: u32,
3276        expanded_default: bool,
3277        is_expanded: *mut bool,
3278    ) -> f32 {
3279        self.ui_group.unwrap()(
3280            args,
3281            item_rect,
3282            name,
3283            tooltip,
3284            object,
3285            indent,
3286            expanded_default,
3287            is_expanded,
3288        )
3289    }
3290
3291    pub unsafe fn show_subobject_menu(
3292        &self,
3293        tt: *mut TheTruthO,
3294        undo_stack: *mut UndoStackI,
3295        ui: *mut UiO,
3296        uistyle: *mut UiStyleT,
3297        object: TtIdT,
3298        property: u32,
3299        sub: TtIdT,
3300        pos: Vec2T,
3301    ) -> TtUndoScopeT {
3302        self.show_subobject_menu.unwrap()(tt, undo_stack, ui, uistyle, object, property, sub, pos)
3303    }
3304
3305    pub unsafe fn begin_subobject_menu_scope(
3306        &self,
3307        args: *mut PropertiesUiArgsT,
3308        rect: RectT,
3309        object: TtIdT,
3310        property: u32,
3311        sub: TtIdT,
3312        ui_id: u64,
3313    ) {
3314        self.begin_subobject_menu_scope.unwrap()(args, rect, object, property, sub, ui_id)
3315    }
3316
3317    pub unsafe fn end_subobject_menu_scope(
3318        &self,
3319        args: *mut PropertiesUiArgsT,
3320        object: TtIdT,
3321        property: u32,
3322        sub: TtIdT,
3323        ui_id: u64,
3324    ) {
3325        self.end_subobject_menu_scope.unwrap()(args, object, property, sub, ui_id)
3326    }
3327
3328    pub unsafe fn begin_context_menu_scope(&self, pv: *mut PropertiesViewO, rect: RectT) {
3329        self.begin_context_menu_scope.unwrap()(pv, rect)
3330    }
3331
3332    pub unsafe fn end_context_menu_scope(
3333        &self,
3334        pv: *mut PropertiesViewO,
3335        out_id: *mut u64,
3336        out_text: *mut *mut ::std::os::raw::c_char,
3337    ) {
3338        self.end_context_menu_scope.unwrap()(pv, out_id, out_text)
3339    }
3340
3341    pub unsafe fn selected_context_menu_item(
3342        &self,
3343        pv: *mut PropertiesViewO,
3344        out_id: *mut u64,
3345        out_text: *mut *mut ::std::os::raw::c_char,
3346    ) {
3347        self.selected_context_menu_item.unwrap()(pv, out_id, out_text)
3348    }
3349
3350    pub unsafe fn add_context_menu_items(
3351        &self,
3352        pv: *mut PropertiesViewO,
3353        items: *const UiMenuItemT,
3354        num_items: u32,
3355    ) {
3356        self.add_context_menu_items.unwrap()(pv, items, num_items)
3357    }
3358
3359    pub unsafe fn context_menu(&self, args: *mut PropertiesUiArgsT) {
3360        self.context_menu.unwrap()(args)
3361    }
3362
3363    pub unsafe fn ui_bool(
3364        &self,
3365        args: *mut PropertiesUiArgsT,
3366        item_rect: RectT,
3367        name: *const ::std::os::raw::c_char,
3368        tooltip: *const ::std::os::raw::c_char,
3369        object: TtIdT,
3370        property: u32,
3371    ) -> f32 {
3372        self.ui_bool.unwrap()(args, item_rect, name, tooltip, object, property)
3373    }
3374
3375    pub unsafe fn ui_uint32(
3376        &self,
3377        args: *mut PropertiesUiArgsT,
3378        item_rect: RectT,
3379        name: *const ::std::os::raw::c_char,
3380        tooltip: *const ::std::os::raw::c_char,
3381        object: TtIdT,
3382        property: u32,
3383        converter: *mut PropertiesUint32DisplayConverterI,
3384    ) -> f32 {
3385        self.ui_uint32.unwrap()(args, item_rect, name, tooltip, object, property, converter)
3386    }
3387
3388    pub unsafe fn ui_uint64(
3389        &self,
3390        args: *mut PropertiesUiArgsT,
3391        item_rect: RectT,
3392        name: *const ::std::os::raw::c_char,
3393        tooltip: *const ::std::os::raw::c_char,
3394        object: TtIdT,
3395        property: u32,
3396    ) -> f32 {
3397        self.ui_uint64.unwrap()(args, item_rect, name, tooltip, object, property)
3398    }
3399
3400    pub unsafe fn ui_float(
3401        &self,
3402        args: *mut PropertiesUiArgsT,
3403        item_rect: RectT,
3404        name: *const ::std::os::raw::c_char,
3405        tooltip: *const ::std::os::raw::c_char,
3406        object: TtIdT,
3407        property: u32,
3408        converter: *const PropertiesFloatDisplayConverterI,
3409    ) -> f32 {
3410        self.ui_float.unwrap()(args, item_rect, name, tooltip, object, property, converter)
3411    }
3412
3413    pub unsafe fn ui_double(
3414        &self,
3415        args: *mut PropertiesUiArgsT,
3416        item_rect: RectT,
3417        name: *const ::std::os::raw::c_char,
3418        tooltip: *const ::std::os::raw::c_char,
3419        object: TtIdT,
3420        property: u32,
3421    ) -> f32 {
3422        self.ui_double.unwrap()(args, item_rect, name, tooltip, object, property)
3423    }
3424
3425    pub unsafe fn ui_string(
3426        &self,
3427        args: *mut PropertiesUiArgsT,
3428        item_rect: RectT,
3429        name: *const ::std::os::raw::c_char,
3430        tooltip: *const ::std::os::raw::c_char,
3431        object: TtIdT,
3432        property: u32,
3433    ) -> f32 {
3434        self.ui_string.unwrap()(args, item_rect, name, tooltip, object, property)
3435    }
3436
3437    pub unsafe fn ui_reference(
3438        &self,
3439        args: *mut PropertiesUiArgsT,
3440        item_rect: RectT,
3441        name: *const ::std::os::raw::c_char,
3442        tooltip: *const ::std::os::raw::c_char,
3443        object: TtIdT,
3444        property: u32,
3445    ) -> f32 {
3446        self.ui_reference.unwrap()(args, item_rect, name, tooltip, object, property)
3447    }
3448
3449    pub unsafe fn ui_reference_args(
3450        &self,
3451        args: *mut PropertiesUiArgsT,
3452        item_rect: RectT,
3453        name: *const ::std::os::raw::c_char,
3454        tooltip: *const ::std::os::raw::c_char,
3455        object: TtIdT,
3456        property: u32,
3457        picker_args: *const PropertiesReferencePickerArgsT,
3458    ) -> f32 {
3459        self.ui_reference_args.unwrap()(
3460            args,
3461            item_rect,
3462            name,
3463            tooltip,
3464            object,
3465            property,
3466            picker_args,
3467        )
3468    }
3469
3470    pub unsafe fn ui_reference_entity_picker(
3471        &self,
3472        args: *mut PropertiesUiArgsT,
3473        item_rect: RectT,
3474        name: *const ::std::os::raw::c_char,
3475        tooltip: *const ::std::os::raw::c_char,
3476        object: TtIdT,
3477        property: u32,
3478        entity_root: TtIdT,
3479    ) -> f32 {
3480        self.ui_reference_entity_picker.unwrap()(
3481            args,
3482            item_rect,
3483            name,
3484            tooltip,
3485            object,
3486            property,
3487            entity_root,
3488        )
3489    }
3490
3491    pub unsafe fn ui_subobject(
3492        &self,
3493        args: *mut PropertiesUiArgsT,
3494        item_rect: RectT,
3495        name: *const ::std::os::raw::c_char,
3496        tooltip: *const ::std::os::raw::c_char,
3497        object: TtIdT,
3498        property: u32,
3499        indent: u32,
3500        expanded_by_default: bool,
3501    ) -> f32 {
3502        self.ui_subobject.unwrap()(
3503            args,
3504            item_rect,
3505            name,
3506            tooltip,
3507            object,
3508            property,
3509            indent,
3510            expanded_by_default,
3511        )
3512    }
3513
3514    pub unsafe fn ui_subobject_direct(
3515        &self,
3516        args: *mut PropertiesUiArgsT,
3517        item_rect: RectT,
3518        name: *const ::std::os::raw::c_char,
3519        tooltip: *const ::std::os::raw::c_char,
3520        parent: TtIdT,
3521        subobject: TtIdT,
3522        indent: u32,
3523        expanded_by_default: bool,
3524    ) -> f32 {
3525        self.ui_subobject_direct.unwrap()(
3526            args,
3527            item_rect,
3528            name,
3529            tooltip,
3530            parent,
3531            subobject,
3532            indent,
3533            expanded_by_default,
3534        )
3535    }
3536
3537    pub unsafe fn ui_reference_set(
3538        &self,
3539        args: *mut PropertiesUiArgsT,
3540        item_rect: RectT,
3541        name: *const ::std::os::raw::c_char,
3542        tooltip: *const ::std::os::raw::c_char,
3543        object: TtIdT,
3544        property: u32,
3545        indent: u32,
3546    ) -> f32 {
3547        self.ui_reference_set.unwrap()(args, item_rect, name, tooltip, object, property, indent)
3548    }
3549
3550    pub unsafe fn ui_subobject_set(
3551        &self,
3552        args: *mut PropertiesUiArgsT,
3553        item_rect: RectT,
3554        name: *const ::std::os::raw::c_char,
3555        tooltip: *const ::std::os::raw::c_char,
3556        object: TtIdT,
3557        property: u32,
3558        indent: u32,
3559    ) -> f32 {
3560        self.ui_subobject_set.unwrap()(args, item_rect, name, tooltip, object, property, indent)
3561    }
3562
3563    pub unsafe fn ui_subobject_set_reorderable(
3564        &self,
3565        args: *mut PropertiesUiArgsT,
3566        item_rect: RectT,
3567        name: *const ::std::os::raw::c_char,
3568        tooltip: *const ::std::os::raw::c_char,
3569        object: TtIdT,
3570        property: u32,
3571        indent: u32,
3572        item_order_property: u32,
3573        draw_header: bool,
3574    ) -> f32 {
3575        self.ui_subobject_set_reorderable.unwrap()(
3576            args,
3577            item_rect,
3578            name,
3579            tooltip,
3580            object,
3581            property,
3582            indent,
3583            item_order_property,
3584            draw_header,
3585        )
3586    }
3587
3588    pub unsafe fn ui_subobject_set_item_header(
3589        &self,
3590        args: *mut PropertiesUiArgsT,
3591        item_rect: RectT,
3592        object: TtIdT,
3593        property: u32,
3594        sub: TtIdT,
3595        indent: u32,
3596        custom_name: *const ::std::os::raw::c_char,
3597        expanded_by_default: bool,
3598    ) -> bool {
3599        self.ui_subobject_set_item_header.unwrap()(
3600            args,
3601            item_rect,
3602            object,
3603            property,
3604            sub,
3605            indent,
3606            custom_name,
3607            expanded_by_default,
3608        )
3609    }
3610
3611    pub unsafe fn ui_subobject_set_item(
3612        &self,
3613        args: *mut PropertiesUiArgsT,
3614        item_rect: RectT,
3615        object: TtIdT,
3616        property: u32,
3617        sub: TtIdT,
3618        indent: u32,
3619        expanded_by_default: bool,
3620    ) -> f32 {
3621        self.ui_subobject_set_item.unwrap()(
3622            args,
3623            item_rect,
3624            object,
3625            property,
3626            sub,
3627            indent,
3628            expanded_by_default,
3629        )
3630    }
3631
3632    pub unsafe fn ui_uint32_popup_picker(
3633        &self,
3634        args: *mut PropertiesUiArgsT,
3635        item_rect: RectT,
3636        name: *const ::std::os::raw::c_char,
3637        tooltip: *const ::std::os::raw::c_char,
3638        object: TtIdT,
3639        property: u32,
3640        items: *mut *const ::std::os::raw::c_char,
3641        num_items: u32,
3642    ) -> f32 {
3643        self.ui_uint32_popup_picker.unwrap()(
3644            args, item_rect, name, tooltip, object, property, items, num_items,
3645        )
3646    }
3647
3648    pub unsafe fn ui_uint64_popup_picker(
3649        &self,
3650        args: *mut PropertiesUiArgsT,
3651        item_rect: RectT,
3652        name: *const ::std::os::raw::c_char,
3653        tooltip: *const ::std::os::raw::c_char,
3654        object: TtIdT,
3655        property: u32,
3656        items: *mut *const ::std::os::raw::c_char,
3657        items_values: *const u64,
3658        num_items: u32,
3659    ) -> f32 {
3660        self.ui_uint64_popup_picker.unwrap()(
3661            args,
3662            item_rect,
3663            name,
3664            tooltip,
3665            object,
3666            property,
3667            items,
3668            items_values,
3669            num_items,
3670        )
3671    }
3672
3673    pub unsafe fn ui_reference_popup_picker(
3674        &self,
3675        args: *mut PropertiesUiArgsT,
3676        item_rect: RectT,
3677        name: *const ::std::os::raw::c_char,
3678        tooltip: *const ::std::os::raw::c_char,
3679        object: TtIdT,
3680        property: u32,
3681        items: *mut *const ::std::os::raw::c_char,
3682        items_references: *const TtIdT,
3683        num_items: u32,
3684    ) -> f32 {
3685        self.ui_reference_popup_picker.unwrap()(
3686            args,
3687            item_rect,
3688            name,
3689            tooltip,
3690            object,
3691            property,
3692            items,
3693            items_references,
3694            num_items,
3695        )
3696    }
3697
3698    pub unsafe fn ui_string_popup_picker(
3699        &self,
3700        args: *mut PropertiesUiArgsT,
3701        item_rect: RectT,
3702        name: *const ::std::os::raw::c_char,
3703        tooltip: *const ::std::os::raw::c_char,
3704        object: TtIdT,
3705        property: u32,
3706        items: *mut *const ::std::os::raw::c_char,
3707        num_items: u32,
3708    ) -> f32 {
3709        self.ui_string_popup_picker.unwrap()(
3710            args, item_rect, name, tooltip, object, property, items, num_items,
3711        )
3712    }
3713
3714    pub unsafe fn popup_pick_with_categories(
3715        &self,
3716        args: *mut PropertiesUiArgsT,
3717        ui_id: u64,
3718        pos: Vec2T,
3719        strings: *const *const ::std::os::raw::c_char,
3720        categories: *const *const ::std::os::raw::c_char,
3721        num_strings: u32,
3722        pick_index: *mut u32,
3723    ) -> bool {
3724        self.popup_pick_with_categories.unwrap()(
3725            args,
3726            ui_id,
3727            pos,
3728            strings,
3729            categories,
3730            num_strings,
3731            pick_index,
3732        )
3733    }
3734
3735    pub unsafe fn ui_uint32_dropdown(
3736        &self,
3737        args: *mut PropertiesUiArgsT,
3738        item_rect: RectT,
3739        name: *const ::std::os::raw::c_char,
3740        tooltip: *const ::std::os::raw::c_char,
3741        object: TtIdT,
3742        property: u32,
3743        items: *mut *const ::std::os::raw::c_char,
3744        item_tooltips: *mut *const ::std::os::raw::c_char,
3745        items_uint32: *const u32,
3746        num_items: u32,
3747    ) -> f32 {
3748        self.ui_uint32_dropdown.unwrap()(
3749            args,
3750            item_rect,
3751            name,
3752            tooltip,
3753            object,
3754            property,
3755            items,
3756            item_tooltips,
3757            items_uint32,
3758            num_items,
3759        )
3760    }
3761
3762    pub unsafe fn ui_uint64_dropdown(
3763        &self,
3764        args: *mut PropertiesUiArgsT,
3765        item_rect: RectT,
3766        name: *const ::std::os::raw::c_char,
3767        tooltip: *const ::std::os::raw::c_char,
3768        object: TtIdT,
3769        property: u32,
3770        items: *mut *const ::std::os::raw::c_char,
3771        item_tooltips: *mut *const ::std::os::raw::c_char,
3772        items_uint64: *const u64,
3773        num_items: u32,
3774    ) -> f32 {
3775        self.ui_uint64_dropdown.unwrap()(
3776            args,
3777            item_rect,
3778            name,
3779            tooltip,
3780            object,
3781            property,
3782            items,
3783            item_tooltips,
3784            items_uint64,
3785            num_items,
3786        )
3787    }
3788
3789    pub unsafe fn ui_float_slider(
3790        &self,
3791        args: *mut PropertiesUiArgsT,
3792        item_rect: RectT,
3793        name: *const ::std::os::raw::c_char,
3794        tooltip: *const ::std::os::raw::c_char,
3795        object: TtIdT,
3796        property: u32,
3797        slider: *const PropertiesFloatSliderT,
3798    ) -> f32 {
3799        self.ui_float_slider.unwrap()(args, item_rect, name, tooltip, object, property, slider)
3800    }
3801
3802    pub unsafe fn ui_vec2(
3803        &self,
3804        args: *mut PropertiesUiArgsT,
3805        item_rect: RectT,
3806        name: *const ::std::os::raw::c_char,
3807        tooltip: *const ::std::os::raw::c_char,
3808        vec: TtIdT,
3809    ) -> f32 {
3810        self.ui_vec2.unwrap()(args, item_rect, name, tooltip, vec)
3811    }
3812
3813    pub unsafe fn ui_vec3(
3814        &self,
3815        args: *mut PropertiesUiArgsT,
3816        item_rect: RectT,
3817        name: *const ::std::os::raw::c_char,
3818        tooltip: *const ::std::os::raw::c_char,
3819        vec: TtIdT,
3820    ) -> f32 {
3821        self.ui_vec3.unwrap()(args, item_rect, name, tooltip, vec)
3822    }
3823
3824    pub unsafe fn ui_vec4(
3825        &self,
3826        args: *mut PropertiesUiArgsT,
3827        item_rect: RectT,
3828        name: *const ::std::os::raw::c_char,
3829        tooltip: *const ::std::os::raw::c_char,
3830        vec: TtIdT,
3831    ) -> f32 {
3832        self.ui_vec4.unwrap()(args, item_rect, name, tooltip, vec)
3833    }
3834
3835    pub unsafe fn ui_color_picker(
3836        &self,
3837        args: *mut PropertiesUiArgsT,
3838        item_rect: RectT,
3839        name: *const ::std::os::raw::c_char,
3840        tooltip: *const ::std::os::raw::c_char,
3841        color: TtIdT,
3842    ) -> f32 {
3843        self.ui_color_picker.unwrap()(args, item_rect, name, tooltip, color)
3844    }
3845
3846    pub unsafe fn update_truth_color(
3847        &self,
3848        args: *mut PropertiesUiArgsT,
3849        res: u32,
3850        new_color: Vec3T,
3851        initial_color: Vec3T,
3852        color: TtIdT,
3853    ) {
3854        self.update_truth_color.unwrap()(args, res, new_color, initial_color, color)
3855    }
3856
3857    pub unsafe fn ui_color_wheel_raw(
3858        &self,
3859        args: *mut PropertiesUiArgsT,
3860        item_rect: RectT,
3861        name: *const ::std::os::raw::c_char,
3862        tooltip: *const ::std::os::raw::c_char,
3863        default_value: Vec3T,
3864        color: *mut Vec3T,
3865        initial: *mut Vec3T,
3866        res: *mut u32,
3867    ) -> f32 {
3868        self.ui_color_wheel_raw.unwrap()(
3869            args,
3870            item_rect,
3871            name,
3872            tooltip,
3873            default_value,
3874            color,
3875            initial,
3876            res,
3877        )
3878    }
3879
3880    pub unsafe fn ui_color_wheel(
3881        &self,
3882        args: *mut PropertiesUiArgsT,
3883        item_rect: RectT,
3884        name: *const ::std::os::raw::c_char,
3885        tooltip: *const ::std::os::raw::c_char,
3886        default_value: Vec3T,
3887        color: TtIdT,
3888    ) -> f32 {
3889        self.ui_color_wheel.unwrap()(args, item_rect, name, tooltip, default_value, color)
3890    }
3891
3892    pub unsafe fn ui_color_temperature(
3893        &self,
3894        args: *mut PropertiesUiArgsT,
3895        item_rect: RectT,
3896        tooltip: *const ::std::os::raw::c_char,
3897        color: TtIdT,
3898    ) -> f32 {
3899        self.ui_color_temperature.unwrap()(args, item_rect, tooltip, color)
3900    }
3901
3902    pub unsafe fn ui_color_button(
3903        &self,
3904        args: *mut PropertiesUiArgsT,
3905        color_button: *const UiButtonT,
3906        color: TtIdT,
3907    ) -> bool {
3908        self.ui_color_button.unwrap()(args, color_button, color)
3909    }
3910
3911    pub unsafe fn ui_expanded_color_picker(
3912        &self,
3913        args: *mut PropertiesUiArgsT,
3914        item_rect: RectT,
3915        color: TtIdT,
3916    ) -> f32 {
3917        self.ui_expanded_color_picker.unwrap()(args, item_rect, color)
3918    }
3919
3920    pub unsafe fn ui_rotation(
3921        &self,
3922        args: *mut PropertiesUiArgsT,
3923        item_rect: RectT,
3924        name: *const ::std::os::raw::c_char,
3925        tooltip: *const ::std::os::raw::c_char,
3926        rotation: TtIdT,
3927    ) -> f32 {
3928        self.ui_rotation.unwrap()(args, item_rect, name, tooltip, rotation)
3929    }
3930
3931    pub unsafe fn ui_visibility_flags(
3932        &self,
3933        args: *mut PropertiesUiArgsT,
3934        item_rect: RectT,
3935        name: *const ::std::os::raw::c_char,
3936        tooltip: *const ::std::os::raw::c_char,
3937        object: TtIdT,
3938        property: u32,
3939        indent: u32,
3940    ) -> f32 {
3941        self.ui_visibility_flags.unwrap()(args, item_rect, name, tooltip, object, property, indent)
3942    }
3943
3944    pub unsafe fn ui_label(
3945        &self,
3946        args: *mut PropertiesUiArgsT,
3947        item_rect: RectT,
3948        name: *const ::std::os::raw::c_char,
3949        tooltip: *const ::std::os::raw::c_char,
3950    ) -> f32 {
3951        self.ui_label.unwrap()(args, item_rect, name, tooltip)
3952    }
3953
3954    pub unsafe fn ui_horizontal_line(&self, args: *mut PropertiesUiArgsT, item_rect: RectT) -> f32 {
3955        self.ui_horizontal_line.unwrap()(args, item_rect)
3956    }
3957
3958    pub unsafe fn ui_static_text(
3959        &self,
3960        args: *mut PropertiesUiArgsT,
3961        item_rect: RectT,
3962        name: *const ::std::os::raw::c_char,
3963        tooltip: *const ::std::os::raw::c_char,
3964        text: *const ::std::os::raw::c_char,
3965    ) -> f32 {
3966        self.ui_static_text.unwrap()(args, item_rect, name, tooltip, text)
3967    }
3968
3969    pub unsafe fn ui_prototype(
3970        &self,
3971        args: *mut PropertiesUiArgsT,
3972        item_rect: RectT,
3973        name: *const ::std::os::raw::c_char,
3974        tooltip: *const ::std::os::raw::c_char,
3975        parent: TtIdT,
3976        property: u32,
3977        subobject: TtIdT,
3978        pick_type_hash: StrhashT,
3979    ) -> f32 {
3980        self.ui_prototype.unwrap()(
3981            args,
3982            item_rect,
3983            name,
3984            tooltip,
3985            parent,
3986            property,
3987            subobject,
3988            pick_type_hash,
3989        )
3990    }
3991
3992    pub unsafe fn ui_open_path(
3993        &self,
3994        args: *mut PropertiesUiArgsT,
3995        item_rect: RectT,
3996        name: *const ::std::os::raw::c_char,
3997        tooltip: *const ::std::os::raw::c_char,
3998        object: TtIdT,
3999        property: u32,
4000        extensions: *const ::std::os::raw::c_char,
4001        description: *const ::std::os::raw::c_char,
4002        picked: *mut bool,
4003    ) -> f32 {
4004        self.ui_open_path.unwrap()(
4005            args,
4006            item_rect,
4007            name,
4008            tooltip,
4009            object,
4010            property,
4011            extensions,
4012            description,
4013            picked,
4014        )
4015    }
4016
4017    pub unsafe fn ui_save_path(
4018        &self,
4019        args: *mut PropertiesUiArgsT,
4020        item_rect: RectT,
4021        name: *const ::std::os::raw::c_char,
4022        tooltip: *const ::std::os::raw::c_char,
4023        object: TtIdT,
4024        property: u32,
4025        extensions: *const ::std::os::raw::c_char,
4026        description: *const ::std::os::raw::c_char,
4027        picked: *mut bool,
4028    ) -> f32 {
4029        self.ui_save_path.unwrap()(
4030            args,
4031            item_rect,
4032            name,
4033            tooltip,
4034            object,
4035            property,
4036            extensions,
4037            description,
4038            picked,
4039        )
4040    }
4041
4042    pub unsafe fn ui_multi_object(
4043        &self,
4044        args: *mut PropertiesUiArgsT,
4045        item_rect: RectT,
4046        parent_proxy: TtIdT,
4047        property: u32,
4048        objects: *const TtIdT,
4049        n: u32,
4050        indent: u32,
4051    ) -> f32 {
4052        self.ui_multi_object.unwrap()(args, item_rect, parent_proxy, property, objects, n, indent)
4053    }
4054
4055    pub unsafe fn proxy_to_objects(&self, pv: *mut PropertiesViewO, proxy: TtIdT) -> *const TtIdT {
4056        self.proxy_to_objects.unwrap()(pv, proxy)
4057    }
4058
4059    pub unsafe fn multi_proxy(
4060        &self,
4061        pv: *mut PropertiesViewO,
4062        parent_proxy: TtIdT,
4063        property: u32,
4064        objects: *const TtIdT,
4065        n: u32,
4066    ) -> TtIdT {
4067        self.multi_proxy.unwrap()(pv, parent_proxy, property, objects, n)
4068    }
4069
4070    pub unsafe fn get_property_value(
4071        &self,
4072        pv: *mut PropertiesViewO,
4073        object: TtIdT,
4074        property: u32,
4075        ta: *mut TempAllocatorI,
4076    ) -> *const TtPropValueT {
4077        self.get_property_value.unwrap()(pv, object, property, ta)
4078    }
4079
4080    pub unsafe fn was_changed(
4081        &self,
4082        args: *mut PropertiesUiArgsT,
4083        object: TtIdT,
4084        property: u32,
4085    ) -> bool {
4086        self.was_changed.unwrap()(args, object, property)
4087    }
4088}
4089
4090impl crate::Api for PropertiesViewApi {
4091    const NAME: ConstCStr = const_cstr!("tm_properties_view_api");
4092    const VERSION: VersionT = VersionT {
4093        major: 1u32,
4094        minor: 0u32,
4095        patch: 0u32,
4096    };
4097}
4098
4099impl TreeViewApi {
4100    pub unsafe fn create_tree_view(&self, setup: *const TreeViewSetupT) -> *mut TreeViewO {
4101        self.create_tree_view.unwrap()(setup)
4102    }
4103
4104    pub unsafe fn destroy_tree_view(&self, tree: *mut TreeViewO) {
4105        self.destroy_tree_view.unwrap()(tree)
4106    }
4107
4108    pub unsafe fn ui(
4109        &self,
4110        tree: *mut TreeViewO,
4111        ui: *mut UiO,
4112        style: *const UiStyleT,
4113        rect: RectT,
4114    ) -> TreeViewUiResT {
4115        self.ui.unwrap()(tree, ui, style, rect)
4116    }
4117
4118    pub unsafe fn property_group_object(&self, object: TtIdT, property: u32) -> TtIdT {
4119        self.property_group_object.unwrap()(object, property)
4120    }
4121
4122    pub unsafe fn set_expanded(&self, tree: *mut TreeViewO, object: TtIdT, expanded: bool) {
4123        self.set_expanded.unwrap()(tree, object, expanded)
4124    }
4125
4126    pub unsafe fn is_expanded(&self, tree: *mut TreeViewO, object: TtIdT) -> bool {
4127        self.is_expanded.unwrap()(tree, object)
4128    }
4129
4130    pub unsafe fn select(&self, tree: *mut TreeViewO, object: TtIdT) {
4131        self.select.unwrap()(tree, object)
4132    }
4133
4134    pub unsafe fn add_to_selection(&self, tree: *mut TreeViewO, object: TtIdT) {
4135        self.add_to_selection.unwrap()(tree, object)
4136    }
4137
4138    pub unsafe fn remove_from_selection(&self, tree: *mut TreeViewO, object: TtIdT) {
4139        self.remove_from_selection.unwrap()(tree, object)
4140    }
4141
4142    pub unsafe fn scroll_to_object(&self, tree: *mut TreeViewO, object: TtIdT) {
4143        self.scroll_to_object.unwrap()(tree, object)
4144    }
4145
4146    pub unsafe fn deselect_all(&self, tree: *mut TreeViewO) {
4147        self.deselect_all.unwrap()(tree)
4148    }
4149
4150    pub unsafe fn rename(&self, tree: *mut TreeViewO, object: TtIdT) {
4151        self.rename.unwrap()(tree, object)
4152    }
4153
4154    pub unsafe fn get_sorted_subobjects(
4155        &self,
4156        tree: *const TreeViewO,
4157        object: TtIdT,
4158        property: u32,
4159        ta: *mut TempAllocatorI,
4160    ) -> *const TtIdT {
4161        self.get_sorted_subobjects.unwrap()(tree, object, property, ta)
4162    }
4163
4164    pub unsafe fn selected_objects(
4165        &self,
4166        inst: *mut TreeViewO,
4167        ta: *mut TempAllocatorI,
4168    ) -> *const TtIdT {
4169        self.selected_objects.unwrap()(inst, ta)
4170    }
4171
4172    pub unsafe fn get_root_object(&self, inst: *mut TreeViewO) -> TtIdT {
4173        self.get_root_object.unwrap()(inst)
4174    }
4175
4176    pub unsafe fn set_root_object(&self, inst: *mut TreeViewO, object: TtIdT) {
4177        self.set_root_object.unwrap()(inst, object)
4178    }
4179
4180    pub unsafe fn add_default_menu_items(
4181        &self,
4182        tree: *mut TreeViewO,
4183        parent: *mut TreeViewParentT,
4184        object: TtIdT,
4185        object_property: u32,
4186        id_base: u64,
4187        items: *mut *mut UiMenuItemT,
4188        ta: *mut TempAllocatorI,
4189    ) {
4190        self.add_default_menu_items.unwrap()(
4191            tree,
4192            parent,
4193            object,
4194            object_property,
4195            id_base,
4196            items,
4197            ta,
4198        )
4199    }
4200
4201    pub unsafe fn execute_menu_item(
4202        &self,
4203        tree: *mut TreeViewO,
4204        parent: *mut TreeViewParentT,
4205        object: TtIdT,
4206        object_property: u32,
4207        id_base: u64,
4208        res: *const UiMenuResultT,
4209    ) {
4210        self.execute_menu_item.unwrap()(tree, parent, object, object_property, id_base, res)
4211    }
4212
4213    pub unsafe fn set_empty_text(&self, tree: *mut TreeViewO, text: *const ::std::os::raw::c_char) {
4214        self.set_empty_text.unwrap()(tree, text)
4215    }
4216
4217    pub unsafe fn filter_nodes(
4218        &self,
4219        tree: *mut TreeViewO,
4220        node_type: u64,
4221        text: *const ::std::os::raw::c_char,
4222        case_unsensitive: bool,
4223    ) {
4224        self.filter_nodes.unwrap()(tree, node_type, text, case_unsensitive)
4225    }
4226
4227    pub unsafe fn renaming_object(&self, tree: *mut TreeViewO) -> TtIdT {
4228        self.renaming_object.unwrap()(tree)
4229    }
4230}
4231
4232impl crate::Api for TreeViewApi {
4233    const NAME: ConstCStr = const_cstr!("tm_tree_view_api");
4234    const VERSION: VersionT = VersionT {
4235        major: 1u32,
4236        minor: 0u32,
4237        patch: 0u32,
4238    };
4239}
4240
4241impl UiPopupItemPickerApi {
4242    pub unsafe fn pick(
4243        &self,
4244        ui: *mut UiO,
4245        uistyle_in: *const UiStyleT,
4246        c: *const UiPopupItemPickerT,
4247        picked: *mut u32,
4248    ) -> bool {
4249        self.pick.unwrap()(ui, uistyle_in, c, picked)
4250    }
4251
4252    pub unsafe fn pick_with_categories(
4253        &self,
4254        ui: *mut UiO,
4255        uistyle_in: *const UiStyleT,
4256        c: *const UiCategoryPopupItemPickerT,
4257        picked: *mut u32,
4258    ) -> bool {
4259        self.pick_with_categories.unwrap()(ui, uistyle_in, c, picked)
4260    }
4261
4262    pub unsafe fn pick_asset(
4263        &self,
4264        ui: *mut UiO,
4265        uistyle_in: *const UiStyleT,
4266        c: *const UiPopupAssetPickerT,
4267        asset: *mut TtIdT,
4268    ) -> bool {
4269        self.pick_asset.unwrap()(ui, uistyle_in, c, asset)
4270    }
4271
4272    pub unsafe fn pick_textedit(
4273        &self,
4274        ui: *mut UiO,
4275        uistyle_in: *const UiStyleT,
4276        config: *const UiTexteditPickerT,
4277        picked: *mut u32,
4278        not_in_list: *mut bool,
4279    ) -> bool {
4280        self.pick_textedit.unwrap()(ui, uistyle_in, config, picked, not_in_list)
4281    }
4282}
4283
4284impl crate::Api for UiPopupItemPickerApi {
4285    const NAME: ConstCStr = const_cstr!("tm_ui_popup_item_picker_api");
4286    const VERSION: VersionT = VersionT {
4287        major: 1u32,
4288        minor: 0u32,
4289        patch: 0u32,
4290    };
4291}
4292
4293pub const TM_TT_TYPE_HASH__ASSET_BROWSER: StrhashT = StrhashT {
4294    u64_: 12068649633182618843u64,
4295};
4296pub const TM_TT_ASPECT__GRAPH: StrhashT = StrhashT {
4297    u64_: 10895267865589807857u64,
4298};
4299pub const TM_TT_TYPE_HASH__GRAPH: StrhashT = StrhashT {
4300    u64_: 95269731083356399u64,
4301};
4302pub const TM_TT_TYPE_HASH__GRAPH_NODE: StrhashT = StrhashT {
4303    u64_: 12786904892607600620u64,
4304};
4305pub const TM_TT_TYPE_HASH__GRAPH_CONNECTION: StrhashT = StrhashT {
4306    u64_: 8664952747042998757u64,
4307};
4308pub const TM_TT_TYPE_HASH__GRAPH_DATA: StrhashT = StrhashT {
4309    u64_: 18370962117825208298u64,
4310};
4311pub const TM_TT_TYPE_HASH__GRAPH_COMMENT: StrhashT = StrhashT {
4312    u64_: 4781960635264659497u64,
4313};
4314pub const TM_TT_TYPE_HASH__GRAPH_INTERFACE: StrhashT = StrhashT {
4315    u64_: 15623741324713339326u64,
4316};
4317pub const TM_TT_TYPE_HASH__GRAPH_INPUT: StrhashT = StrhashT {
4318    u64_: 11246844010691861202u64,
4319};
4320pub const TM_TT_TYPE_HASH__GRAPH_INPUT_REFERENCE: StrhashT = StrhashT {
4321    u64_: 14033884072105142967u64,
4322};
4323pub const TM_TT_TYPE_HASH__GRAPH_OUTPUT: StrhashT = StrhashT {
4324    u64_: 4991950285085300571u64,
4325};
4326pub const TM_TT_TYPE_HASH__GRAPH_OUTPUT_REFERENCE: StrhashT = StrhashT {
4327    u64_: 11785675865252752677u64,
4328};
4329pub const TM_TT_TYPE_HASH__GRAPH_CACHED_NODE_RESULT: StrhashT = StrhashT {
4330    u64_: 17618373603327765363u64,
4331};
4332pub const TM_TT_TYPE_HASH__GRAPH_EVENT: StrhashT = StrhashT {
4333    u64_: 10468363316996196499u64,
4334};
4335pub const TM_TT_TYPE_HASH__GRAPH_SETTINGS: StrhashT = StrhashT {
4336    u64_: 11145703035822157950u64,
4337};
4338pub const TM_TT_TYPE_HASH__GRAPH_DEBUGGER_PERSISTENT_SETTINGS: StrhashT = StrhashT {
4339    u64_: 8360824573156045655u64,
4340};
4341pub const TM_TT_TYPE_HASH__GRAPH_SETTINGS_BREAKPOINT: StrhashT = StrhashT {
4342    u64_: 13010082666089549637u64,
4343};
4344pub const TM_TT_TYPE_HASH__PROPERTIES_SETTINGS: StrhashT = StrhashT {
4345    u64_: 3666695013651476581u64,
4346};
4347pub const TM_TT_ASPECT__PROPERTIES: StrhashT = StrhashT {
4348    u64_: 14319599508033735186u64,
4349};
4350pub const TM_TT_PROP_ASPECT__PROPERTIES__ASSET_PICKER: StrhashT = StrhashT {
4351    u64_: 11150166027877100563u64,
4352};
4353pub const TM_TT_PROP_ASPECT__PROPERTIES__USE_LOCAL_ENTITY_PICKER: StrhashT = StrhashT {
4354    u64_: 8688867799886802492u64,
4355};
4356pub const TM_TT_PROP_ASPECT__PROPERTIES__CUSTOM_UI: StrhashT = StrhashT {
4357    u64_: 12485648413046928702u64,
4358};
4359pub const TM_TT_PROP_ASPECT__ADD_REMOVE_SUBOBJECTS_BY_DEFAULT: StrhashT = StrhashT {
4360    u64_: 10502886727220155721u64,
4361};
4362pub const TM_TT_PROP_ASPECT__PROPERTIES__REPROTOTYPE_CALLBACK: StrhashT = StrhashT {
4363    u64_: 14075951065603772573u64,
4364};
4365pub const TM_TT_PROP_ASPECT__PROPERTIES__DISABLE_TRANSIENT_CHANGE_PREVIEW: StrhashT = StrhashT {
4366    u64_: 3325534131899003796u64,
4367};
4368pub const TM_PROPERTY_ASPECT__PROPERTIES__FLOAT_DISPLAY_CONVERTER: StrhashT = StrhashT {
4369    u64_: 10064183571310805966u64,
4370};
4371pub const TM_TT_ASPECT__VALIDATE: StrhashT = StrhashT {
4372    u64_: 4078988735204785477u64,
4373};
4374pub const TM_TT_ASPECT__TREE_VIEW: StrhashT = StrhashT {
4375    u64_: 15540045876964282411u64,
4376};
4377pub const TM_UI_ACTIVE_DATA__PICKER: StrhashT = StrhashT {
4378    u64_: 5258182182097423975u64,
4379};
4380pub const TM_ASSET_BROWSER_ADD_ASSET_API_VERSION: VersionT = VersionT {
4381    major: 1u32,
4382    minor: 0u32,
4383    patch: 0u32,
4384};
4385pub const TM_GRAPH_API_VERSION: VersionT = VersionT {
4386    major: 1u32,
4387    minor: 0u32,
4388    patch: 0u32,
4389};
4390pub const TM_UI_POPUP_ITEM_PICKER_API_VERSION: VersionT = VersionT {
4391    major: 1u32,
4392    minor: 0u32,
4393    patch: 0u32,
4394};
4395pub const TM_GRAPH_DRAG_AND_DROP_I_VERSION: VersionT = VersionT {
4396    major: 1u32,
4397    minor: 0u32,
4398    patch: 0u32,
4399};
4400pub const TM_ASSET_BROWSER_CREATE_ASSET_I_VERSION: VersionT = VersionT {
4401    major: 1u32,
4402    minor: 0u32,
4403    patch: 0u32,
4404};
4405pub const TM_PROPERTIES_VIEW_API_VERSION: VersionT = VersionT {
4406    major: 1u32,
4407    minor: 0u32,
4408    patch: 0u32,
4409};
4410pub const TM_ASSET_BROWSER_CUSTOM_MENU_ITEM_I_VERSION: VersionT = VersionT {
4411    major: 1u32,
4412    minor: 0u32,
4413    patch: 0u32,
4414};
4415pub const TM_ASSET_BROWSER_SELECT_ASSET_API_VERSION: VersionT = VersionT {
4416    major: 1u32,
4417    minor: 0u32,
4418    patch: 0u32,
4419};
4420pub const TM_TREE_VIEW_API_VERSION: VersionT = VersionT {
4421    major: 1u32,
4422    minor: 0u32,
4423    patch: 0u32,
4424};
4425pub const TM_ASSET_BROWSER_OPEN_ASSET_API_VERSION: VersionT = VersionT {
4426    major: 1u32,
4427    minor: 0u32,
4428    patch: 0u32,
4429};
4430pub const TM_ASSET_BROWSER_API_VERSION: VersionT = VersionT {
4431    major: 1u32,
4432    minor: 0u32,
4433    patch: 0u32,
4434};
4435pub const TM_PROFILER_VIEW_API_VERSION: VersionT = VersionT {
4436    major: 1u32,
4437    minor: 0u32,
4438    patch: 0u32,
4439};
4440pub const TM_ASSET_LABEL_API_VERSION: VersionT = VersionT {
4441    major: 1u32,
4442    minor: 0u32,
4443    patch: 0u32,
4444};
4445pub const TM_GRAPH_IO_TYPE_T_VERSION: VersionT = VersionT {
4446    major: 1u32,
4447    minor: 0u32,
4448    patch: 0u32,
4449};