Reference scope

This page contains every public function declared in core/native3d/include/native_3d_animation_api_v1.h in dev-40. Signatures are reproduced from the header; nearby header comments are shown when present. Use the conceptual guide pages for behavior that is shared across a family.

Animation timeline and layers 36 functions

gx3de_animation_create

GX3DE_API gx3de_result gx3de_animation_create(gx3de_scene *scene,const char *time_unit_utf8,gx3de_animation **out);
Timeline lifetime is nested in scene lifetime. Referenced external objects must outlive timeline. Destroy timeline before scene. Unit is UTF-8 text. No wall-clock or event loop is required; advance() takes caller elapsed time.
Source: core/native3d/include/native_3d_animation_api_v1.h:48

gx3de_animation_destroy

GX3DE_API gx3de_result gx3de_animation_destroy(gx3de_animation *timeline);
Source: core/native3d/include/native_3d_animation_api_v1.h:49

gx3de_animation_frame_add

GX3DE_API gx3de_result gx3de_animation_frame_add(gx3de_animation *timeline,double time_value, gx3de_object *source_object,gx3de_animation_frame_loader loader,void *loader_user,uint64_t *frame_index);
Times must be strictly increasing; source object is borrowed. A NULL source requires a loader. Lazy loaded objects are timeline-owned and LRU-evicted.
Source: core/native3d/include/native_3d_animation_api_v1.h:52

gx3de_animation_time_add

GX3DE_API gx3de_result gx3de_animation_time_add(gx3de_animation *timeline,double time_value,uint64_t *frame_index);
A time-only frame supports timelines whose content lives in named layers.
Source: core/native3d/include/native_3d_animation_api_v1.h:55

gx3de_animation_layer_create

GX3DE_API gx3de_result gx3de_animation_layer_create(gx3de_animation *timeline,const char *id_utf8,gx3de_animation_layer **out);
UTF-8 layer IDs are stable logical identities. Sources can be supplied or loaded lazily; borrowed sources must outlive the timeline. Frame slots can be sparse. All sources remain immutable.
Source: core/native3d/include/native_3d_animation_api_v1.h:59

gx3de_animation_layer_id

GX3DE_API gx3de_result gx3de_animation_layer_id(gx3de_animation_layer *layer,char *buffer,uint64_t capacity,uint64_t *required_bytes);
Source: core/native3d/include/native_3d_animation_api_v1.h:60

gx3de_animation_layer_frame_set

GX3DE_API gx3de_result gx3de_animation_layer_frame_set(gx3de_animation_layer *layer,uint64_t frame_index, gx3de_object *source_object,gx3de_animation_frame_loader loader,void *loader_user);
Source: core/native3d/include/native_3d_animation_api_v1.h:61

gx3de_animation_layer_active_object_get

GX3DE_API gx3de_result gx3de_animation_layer_active_object_get(gx3de_animation_layer *layer,gx3de_object **out);
Source: core/native3d/include/native_3d_animation_api_v1.h:63

gx3de_animation_layer_bind_lines

GX3DE_API gx3de_result gx3de_animation_layer_bind_lines(gx3de_animation_layer *layer, gx3de_animation_layer *source,const gx3de_field_line_spec *spec);
Native derived layers rebuild on active frame changes. Their source layer must precede them; seed arrays are copied when the binding is set.
Source: core/native3d/include/native_3d_animation_api_v1.h:66

gx3de_animation_layer_bind_slice

GX3DE_API gx3de_result gx3de_animation_layer_bind_slice(gx3de_animation_layer *layer, gx3de_animation_layer *source,const gx3de_field_slice_spec *spec);
Source: core/native3d/include/native_3d_animation_api_v1.h:68

gx3de_animation_layer_bind_isosurface

GX3DE_API gx3de_result gx3de_animation_layer_bind_isosurface(gx3de_animation_layer *layer, gx3de_animation_layer *source,const char *scalar_name_utf8,double value);
Source: core/native3d/include/native_3d_animation_api_v1.h:70

gx3de_animation_layer_bind_pathlines

GX3DE_API gx3de_result gx3de_animation_layer_bind_pathlines(gx3de_animation_layer *layer, gx3de_animation_layer *source,const gx3de_field_pathline_spec *spec);
Bind pathlines to successive source-track frames. At active frame i the derived object contains the trajectory through samples [0,i]; frame zero intentionally has no line. The source track must provide every frame. The binding copies seeds and integration settings; times and source frames come from the parent timeline. Derived objects participate in normal LRU, resident-frame and estimated-memory limits.
Source: core/native3d/include/native_3d_animation_api_v1.h:78

gx3de_animation_set_resident_limit

GX3DE_API gx3de_result gx3de_animation_set_resident_limit(gx3de_animation *timeline,uint64_t max_frames);
Source: core/native3d/include/native_3d_animation_api_v1.h:80

gx3de_animation_set_memory_limit

GX3DE_API gx3de_result gx3de_animation_set_memory_limit(gx3de_animation *timeline,uint64_t max_bytes);
Source: core/native3d/include/native_3d_animation_api_v1.h:81

gx3de_animation_mode_set

GX3DE_API gx3de_result gx3de_animation_mode_set(gx3de_animation *timeline,uint32_t interpolation,uint32_t loop_mode,double playback_rate);
Source: core/native3d/include/native_3d_animation_api_v1.h:82

gx3de_animation_playback_range_set

GX3DE_API gx3de_result gx3de_animation_playback_range_set(gx3de_animation *timeline,uint64_t first_frame,uint64_t last_frame);
Inclusive playback frame range. Explicit seek/render may still address all frames; play, stop, step and advance use this sub-range.
Source: core/native3d/include/native_3d_animation_api_v1.h:85

gx3de_animation_playback_range_get

GX3DE_API gx3de_result gx3de_animation_playback_range_get(gx3de_animation *timeline,uint64_t *first_frame,uint64_t *last_frame);
Source: core/native3d/include/native_3d_animation_api_v1.h:86

gx3de_animation_info_get

GX3DE_API gx3de_result gx3de_animation_info_get(gx3de_animation *timeline,gx3de_animation_info *out);
Source: core/native3d/include/native_3d_animation_api_v1.h:87

gx3de_animation_time_unit

GX3DE_API gx3de_result gx3de_animation_time_unit(gx3de_animation *timeline,char *buffer,uint64_t capacity,uint64_t *required_bytes);
Source: core/native3d/include/native_3d_animation_api_v1.h:88

gx3de_animation_frame_time

GX3DE_API gx3de_result gx3de_animation_frame_time(gx3de_animation *timeline,uint64_t index,double *time_value);
Source: core/native3d/include/native_3d_animation_api_v1.h:89

gx3de_animation_active_object_get

GX3DE_API gx3de_result gx3de_animation_active_object_get(gx3de_animation *timeline,gx3de_object **out);
Borrowed current source for inspection/provenance; may change on seek and must never be retained across a seek or timeline destruction.
Source: core/native3d/include/native_3d_animation_api_v1.h:92

gx3de_animation_object_key_set

GX3DE_API gx3de_result gx3de_animation_object_key_set(gx3de_animation *timeline,uint64_t frame_index, gx3de_object *object,const gx3de_mat4 *local_pose,uint32_t visible,double opacity);
A keyed object track controls local pose, visibility and opacity. Each key belongs to one frame; linear policy interpolates opacity/translation only when adjacent rotation/scale matrices match. Visibility remains discrete.
Source: core/native3d/include/native_3d_animation_api_v1.h:96

gx3de_animation_camera_key_set

GX3DE_API gx3de_result gx3de_animation_camera_key_set(gx3de_animation *timeline,uint64_t frame_index, gx3de_view *view,const gx3de_camera *camera);
Source: core/native3d/include/native_3d_animation_api_v1.h:98

gx3de_animation_seek_frame

GX3DE_API gx3de_result gx3de_animation_seek_frame(gx3de_animation *timeline,uint64_t index);
Source: core/native3d/include/native_3d_animation_api_v1.h:100

gx3de_animation_seek_time

GX3DE_API gx3de_result gx3de_animation_seek_time(gx3de_animation *timeline,double time_value);
Source: core/native3d/include/native_3d_animation_api_v1.h:101

gx3de_animation_play

GX3DE_API gx3de_result gx3de_animation_play(gx3de_animation *timeline);
Source: core/native3d/include/native_3d_animation_api_v1.h:102

gx3de_animation_pause

GX3DE_API gx3de_result gx3de_animation_pause(gx3de_animation *timeline);
Source: core/native3d/include/native_3d_animation_api_v1.h:103

gx3de_animation_stop

GX3DE_API gx3de_result gx3de_animation_stop(gx3de_animation *timeline);
Source: core/native3d/include/native_3d_animation_api_v1.h:104

gx3de_animation_step

GX3DE_API gx3de_result gx3de_animation_step(gx3de_animation *timeline,int32_t direction);
Source: core/native3d/include/native_3d_animation_api_v1.h:105

gx3de_animation_advance

GX3DE_API gx3de_result gx3de_animation_advance(gx3de_animation *timeline,double elapsed_seconds);
Source: core/native3d/include/native_3d_animation_api_v1.h:106

gx3de_animation_cancel

GX3DE_API gx3de_result gx3de_animation_cancel(gx3de_animation *timeline);
Sets a cancellation flag checked before/after a lazy loader and between sequence frames. A blocking loader must implement its own finer cancellation.
Source: core/native3d/include/native_3d_animation_api_v1.h:109

gx3de_animation_reset_cancel

GX3DE_API gx3de_result gx3de_animation_reset_cancel(gx3de_animation *timeline);
Source: core/native3d/include/native_3d_animation_api_v1.h:110

gx3de_animation_cancel_requested

GX3DE_API gx3de_result gx3de_animation_cancel_requested(gx3de_animation *timeline,uint32_t *requested);
Safe to call from a synchronous frame loader to cooperate with cancellation.
Source: core/native3d/include/native_3d_animation_api_v1.h:112

gx3de_animation_render_frame_rgba

GX3DE_API gx3de_result gx3de_animation_render_frame_rgba(gx3de_animation *timeline,gx3de_view *view, uint64_t frame_index,uint32_t width,uint32_t height,uint8_t *pixels,uint64_t capacity,uint64_t *required_bytes);
Seeks exactly before ordinary explicit-resolution rendering. PNG sequence names are prefix + zero-padded 6-digit frame index + ".png". Caller owns target directory. On failure, subsequent frames are not attempted.
Source: core/native3d/include/native_3d_animation_api_v1.h:116

gx3de_animation_render_frame_png

GX3DE_API gx3de_result gx3de_animation_render_frame_png(gx3de_animation *timeline,gx3de_view *view, uint64_t frame_index,uint32_t width,uint32_t height,const char *path_utf8);
Source: core/native3d/include/native_3d_animation_api_v1.h:118

gx3de_animation_write_png_sequence

GX3DE_API gx3de_result gx3de_animation_write_png_sequence(gx3de_animation *timeline,gx3de_view *view, uint64_t first_frame,uint64_t frame_count,uint32_t width,uint32_t height,const char *prefix_utf8);
Source: core/native3d/include/native_3d_animation_api_v1.h:120