#[path = "pose_interpolation.rs"]
pub mod pose_interpolation;
pub use pose_interpolation::{
add_pose_key, compute_cubic_tangents, cubic_hermite_interp, cubic_hermite_pose,
curve_duration as interp_curve_duration, lerp_poses as lerp_interp_poses,
normalize_quat as normalize_pose_quat, quat_dot, quat_multiply as pose_quat_multiply,
quat_slerp_interp, sample_pose_curve, squad_intermediate, squad_quat, tcb_tangents,
InterpMode as PoseInterpMode, PoseCurve, PoseKey, TcbParams,
};
#[path = "expression_physics.rs"]
pub mod expression_physics;
pub use expression_physics::{
add_spring_joint, apply_impulse_to_joint, default_facial_physics, evaluate_expression_physics,
joint_count as expr_joint_count, joint_displacement, joint_kinetic_energy,
new_expression_physics, reset_to_rest, set_enabled as set_expr_physics_enabled,
set_rest_position, step_expression_physics, ExpressionPhysics, PhysicsExpressionResult,
SpringJoint,
};
#[path = "voice_driven_anim.rs"]
pub mod voice_driven_anim;
pub use voice_driven_anim::{
amplitude_to_jaw, audio_frames_to_jaw_curve, blend_jaw_curves, default_voice_anim_config,
frames_to_viseme_weights, frequency_to_viseme_index, jaw_curve_duration, jaw_curve_max,
sample_jaw_curve, silence_duration, smooth_jaw_curve, voice_anim_from_frames, voiced_segments,
AudioFrame, JawCurve, VoiceAnimConfig, VoiceAnimResult,
};
#[path = "morph_quantize.rs"]
pub mod morph_quantize;
pub use morph_quantize::{
apply_quantized_morph, default_morph_quantize_config, dequantize_delta,
dequantize_morph as dequantize_morph_target,
filter_zero_deltas as filter_quantized_zero_deltas, max_quantization_error,
merge_quantized_morphs, morph_compression_ratio, pack_quantized_morph, quantize_delta,
quantize_morph as quantize_morph_target, quantized_delta_count, unpack_quantized_morph,
MorphQuantizeConfig, QuantizedDelta as MorphQuantizedDelta, QuantizedMorph,
};
#[path = "blend_shape_graph.rs"]
pub mod blend_shape_graph;
pub use blend_shape_graph::{
add_blend_node, add_leaf_node, add_root, blend_graph_to_json,
connect_nodes as graph_connect_nodes, evaluate_graph, get_node, leaf_nodes, new_blend_graph,
node_count as graph_node_count, prune_zero_weight, set_node_weight, topological_sort_graph,
BlendGraph, BlendNode as BlendGraphNode, BlendOp, EvalResult as BlendEvalResult,
};
#[path = "wrinkle_map.rs"]
pub mod wrinkle_map;
pub use wrinkle_map::{
add_procedural_wrinkles, apply_wrinkle_weight, blend_wrinkle_maps,
compute_wrinkle_from_deformation, default_wrinkle_config, new_wrinkle_map,
normalize_wrinkle_map, smooth_wrinkle_map, threshold_wrinkle_map, wrinkle_map_max,
wrinkle_map_min, wrinkle_region_average, wrinkle_to_normal_delta, WrinkleConfig, WrinkleMap,
WrinkleRegion,
};
#[path = "muscle_line.rs"]
pub mod muscle_line;
pub use muscle_line::{
add_muscle_to_group, apply_muscle_deformation, compute_muscle_deformation, contract_muscle,
default_arm_muscles, muscle_direction, muscle_group_deformation, muscle_influence_weight,
muscle_length, new_muscle_group, new_muscle_line,
point_to_line_distance as muscle_point_to_line, relax_muscle, MuscleDeformation, MuscleGroup,
MuscleLine,
};
#[path = "secondary_motion.rs"]
pub mod secondary_motion;
pub use secondary_motion::{
add_secondary_bone, blend_secondary_to_target, chain_kinetic_energy, default_secondary_config,
new_secondary_bone, new_secondary_chain, reset_secondary_chain, secondary_bone_count,
secondary_bone_lag, secondary_chain_positions, set_chain_wind, update_secondary_bone,
update_secondary_chain, SecondaryBone, SecondaryChain, SecondaryMotionConfig,
};
#[path = "breathing_sim.rs"]
pub mod breathing_sim;
pub use breathing_sim::{
add_breath_region, advance_breath, apply_breathing, blend_breath_states, breath_region_count,
breath_value_at, current_phase, default_breath_cycle, exhale_value, inhale_value,
new_breathing_state, set_breath_amplitude, set_breath_rate, BreathCycle, BreathPhase,
BreathRegion, BreathingState,
};
#[path = "lip_sync_advanced.rs"]
pub mod lip_sync_advanced;
pub use lip_sync_advanced::{
add_phoneme_event, default_coarticulation, evaluate_lip_sync,
event_count as lip_sync_event_count, lip_sync_to_viseme_weights, merge_lip_sync_tracks,
new_lip_sync_track, phoneme_to_mouth_shape, phonemes_at_time, scale_lip_sync_timing,
sort_phoneme_events, trim_lip_sync, CoarticulationParams, LipSyncFrame,
LipSyncTrack as AdvLipSyncTrack, PhonemeEvent as AdvPhonemeEvent,
};
#[path = "blink_control.rs"]
pub mod blink_control;
pub use blink_control::{
blink_speed_for_emotion, blink_value, default_blink_params, disable_blink, enable_blink,
force_close_eyes, force_open_eyes, is_blinking, lcg_next as blink_lcg_next, new_blink_state,
set_blink_synchronized, trigger_manual_blink, update_blink, BlinkParams, BlinkPhase,
BlinkState,
};
#[path = "morph_delta_stream.rs"]
pub mod morph_delta_stream;
pub use morph_delta_stream::{
apply_chunk as apply_delta_chunk, apply_stream, clear_stream, default_stream_config,
filter_stream_threshold, merge_chunks, new_delta_stream, push_chunk, split_deltas_into_chunks,
stream_chunk_count, stream_delta_count, stream_memory_bytes, stream_to_flat_deltas, DeltaChunk,
DeltaStream, StreamConfig,
};
#[path = "expression_recorder.rs"]
pub mod expression_recorder;
pub use expression_recorder::{
advance_playback, new_recorder_state, new_recording as new_expression_recording, playback_at,
record_snapshot, recording_duration, reverse_recording, scale_recording_time,
snapshot_count as recording_snapshot_count, start_playback, start_recording, stop_playback,
stop_recording, trim_recording, ExpressionRecording, ExpressionSnapshot, RecorderState,
};
#[path = "muscle_action_unit.rs"]
pub mod muscle_action_unit;
pub use muscle_action_unit::{
active_aus, add_action_unit, apply_au_frame, au_count, au_frame_from_set, au_to_emotion,
blend_au_frames, evaluate_au_set, get_au, new_au_set, reset_all_aus, set_au_intensity,
standard_facs_set, ActionUnit as MauActionUnit, AuFrame, AuSet,
};
#[path = "pose_database.rs"]
pub mod pose_database;
pub use pose_database::{
add_pose_entry, all_tags, get_pose, import_poses, nearest_pose, new_pose_database, pose_count,
pose_database_to_json, pose_similarity as pose_db_similarity, remove_pose,
search_by_name as pose_search_by_name, search_by_tag as pose_search_by_tag,
sort_by_name as pose_sort_by_name, PoseDatabase, PoseEntry,
};
#[path = "eye_control.rs"]
pub mod eye_control;
pub use eye_control::{
auto_blink_tick, blink_factor, clamp_gaze, default_eye_config, eye_pitch_deg, eye_yaw_deg,
gaze_blend, gaze_distance, is_blinking_eye, look_at_target, new_eye_state, saccade_towards,
trigger_blink, update_eye_gaze, EyeControlConfig, EyeState, GazeTarget as EyeGazeTarget,
};
#[path = "cloth_blend.rs"]
pub mod cloth_blend;
pub use cloth_blend::{
apply_body_offset, blend_cloth_layers, cloth_blend_energy, cloth_collision_push,
cloth_layer_count, cloth_to_rest, default_cloth_blend_config, get_layer_weight,
new_cloth_layer, normalize_cloth_weights, set_layer_weight as set_cloth_layer_weight,
smooth_cloth_blend, ClothBlendConfig, ClothBlendResult, ClothLayer,
};
#[path = "jaw_control.rs"]
pub mod jaw_control;
pub use jaw_control::{
blend_jaw_states, build_default_phoneme_map, clamp_jaw_range, default_jaw_config,
jaw_lateral_offset, jaw_open_amount, jaw_open_for_phoneme, jaw_to_morph_weights, jaw_velocity,
new_jaw_state, reset_jaw, set_jaw_lateral, set_jaw_open, update_jaw, JawConfig, JawState,
PhonemeJawMap,
};
#[path = "skin_shader.rs"]
pub mod skin_shader;
pub use skin_shader::{
apply_age_effect, blend_skin_params, default_skin_params, new_skin_preset, preset_count,
set_hemoglobin, set_melanin, set_roughness, set_sss_strength, set_zone_tint,
skin_color_from_params, skin_preset_to_json, zone_params, SkinPreset, SkinShaderParams,
SkinZone,
};
#[path = "tongue_control.rs"]
pub mod tongue_control;
pub use tongue_control::{
blend_tongue_states, build_tongue_phoneme_map, default_tongue_config, new_tongue_state,
reset_tongue, set_tongue_elevation, set_tongue_extension, set_tongue_lateral, set_tongue_shape,
tongue_extension_amount, tongue_for_phoneme, tongue_shape_name, tongue_to_morph_weights,
update_tongue, TongueConfig, TongueShape, TongueState,
};
#[path = "hair_strand.rs"]
pub mod hair_strand;
pub use hair_strand::{
apply_gravity_to_strand, blend_strands, curl_amplitude, curl_frequency, default_strand_config,
generate_strand_points, new_hair_strand, set_strand_profile, strand_bounding_box,
strand_length, strand_point_count, strand_tangent_at, strand_to_vertices,
HairProfile as StrandHairProfile, HairStrand as StrandHairStrand, HairStrandConfig,
};
#[path = "cheek_control.rs"]
pub mod cheek_control;
pub use cheek_control::{
apply_smile_effect, blend_cheek_states, cheek_hollow_left, cheek_hollow_right, cheek_puff_left,
cheek_puff_right, cheek_to_morph_weights, default_cheek_config, new_cheek_state, reset_cheeks,
set_cheek_hollow, set_cheek_puff, set_cheek_raise, update_cheeks, CheekConfig,
CheekMorphWeights, CheekSide, CheekState,
};
#[path = "brow_control.rs"]
pub mod brow_control;
pub use brow_control::{
blend_brow_states, brow_furrow_amount, brow_raise_left, brow_raise_right,
brow_to_morph_weights, default_brow_config, emotion_to_brow, new_brow_state, reset_brows,
set_brow_arch, set_brow_furrow, set_brow_lower, set_brow_raise, update_brows, BrowConfig,
BrowMorphWeights, BrowSide, BrowState,
};
#[path = "body_weight_control.rs"]
pub mod body_weight_control;
pub use body_weight_control::{
bw_blend, bw_distribution_curve, bw_reset, bw_set_belly, bw_set_lower, bw_set_overall,
bw_set_upper, bw_to_json, bw_to_weights, default_body_weight_config, new_body_weight_state,
BodyWeightConfig, BodyWeightState,
};
#[path = "brow_height_control.rs"]
pub mod brow_height_control;
pub use brow_height_control::{
browh_blend, browh_effective_right, browh_reset, browh_set_both, browh_set_left,
browh_set_right, browh_set_symmetry, browh_to_json, browh_to_weights,
default_brow_height_config, new_brow_height_state, BrowHeightConfig, BrowHeightState,
};
#[path = "cheek_depth_control.rs"]
pub mod cheek_depth_control;
pub use cheek_depth_control::{
cd_blend, cd_effective_depth, cd_reset, cd_set_both, cd_set_hollow, cd_set_left, cd_set_right,
cd_to_json, cd_to_weights, default_cheek_depth_config, new_cheek_depth_state, CheekDepthConfig,
CheekDepthState,
};
#[path = "chin_width_control.rs"]
pub mod chin_width_control;
pub use chin_width_control::{
cw_blend, cw_effective_width, cw_reset, cw_set_cleft, cw_set_taper, cw_set_width, cw_to_json,
cw_to_weights, default_chin_width_config, new_chin_width_state, ChinWidthConfig,
ChinWidthState,
};
#[path = "ear_tragus_control.rs"]
pub mod ear_tragus_control;
pub use ear_tragus_control::{
default_ear_tragus_config, et_blend, et_reset, et_set_both, et_set_left, et_set_protrusion,
et_set_right, et_to_json, et_to_weights, new_ear_tragus_state, EarTragusConfig, EarTragusState,
};
#[path = "eye_fold_control.rs"]
pub mod eye_fold_control;
pub use eye_fold_control::{
default_eye_fold_config, ef_blend, ef_reset, ef_set_both, ef_set_crease, ef_set_left,
ef_set_right, ef_to_json, ef_to_weights, new_eye_fold_state, EyeFoldConfig, EyeFoldState,
};
#[path = "face_length_control.rs"]
pub mod face_length_control;
pub use face_length_control::{
default_face_length_config, facel_clamp, facel_effective_scale, facel_reset,
facel_set_lower_contrib, facel_set_scale, facel_set_upper_contrib, facel_to_json,
facel_to_weights, new_face_length_state, FaceLengthConfig, FaceLengthState,
};
#[path = "finger_joint_control.rs"]
pub mod finger_joint_control;
pub use finger_joint_control::{
fj_blend, fj_curl_angle, fj_finger_index, fj_reset, fj_set_all_curl, fj_set_curl,
fj_set_spread, fj_set_stiffness, fj_to_json, new_finger_joint_state, Finger, FingerJointState,
};
#[path = "forehead_width_control.rs"]
pub mod forehead_width_control;
pub use forehead_width_control::{
default_forehead_width_config, fw_blend, fw_effective_width, fw_reset, fw_set_bossing,
fw_set_temple, fw_set_width, fw_to_json, fw_to_weights, new_forehead_width_state,
ForeheadWidthConfig, ForeheadWidthState,
};
#[path = "glabella_control.rs"]
pub mod glabella_control;
pub use glabella_control::{
apply_glabella_control, default_glabella_config, default_glabella_control, glabella_blend,
glabella_clamp, glabella_reset, glabella_set_depth, glabella_set_height, glabella_set_width,
glabella_to_json, glabella_to_weights, new_glabella_state, GlabellaConfig, GlabellaControl,
GlabellaState,
};
#[path = "hand_thickness_control.rs"]
pub mod hand_thickness_control;
pub use hand_thickness_control::{
default_hand_thickness_config, ht_blend, ht_reset, ht_set_finger_girth, ht_set_left,
ht_set_palm_width, ht_set_right, ht_to_json, ht_to_weights, new_hand_thickness_state,
HandThicknessConfig, HandThicknessState,
};
#[path = "intercanthal_control.rs"]
pub mod intercanthal_control;
pub use intercanthal_control::{
default_intercanthal_config, ic_blend, ic_effective_distance, ic_reset, ic_set_bridge_width,
ic_set_distance, ic_set_tilt, ic_to_json, ic_to_weights, new_intercanthal_state,
IntercanthalConfig, IntercanthalState,
};
#[path = "jaw_depth_control.rs"]
pub mod jaw_depth_control;
pub use jaw_depth_control::{
default_jaw_depth_config, jd_blend, jd_effective_depth, jd_reset, jd_set_angle, jd_set_depth,
jd_set_ramus, jd_to_json, jd_to_weights, new_jaw_depth_state, JawDepthConfig, JawDepthState,
};
#[path = "lip_philtrum_control.rs"]
pub mod lip_philtrum_control;
pub use lip_philtrum_control::{
default_lip_philtrum_config, lp_blend, lp_prominence, lp_reset, lp_set_depth, lp_set_length,
lp_set_width, lp_to_json, lp_to_weights, new_lip_philtrum_state, LipPhiltrumConfig,
LipPhiltrumState,
};
#[path = "nasal_alar_control.rs"]
pub mod nasal_alar_control;
pub use nasal_alar_control::{
default_nasal_alar_config, na_blend, na_overall_width, na_reset, na_set_flare,
na_set_thickness, na_set_width, na_to_json, na_to_weights, new_nasal_alar_state,
NasalAlarConfig, NasalAlarState,
};
#[path = "neck_width_control.rs"]
pub mod neck_width_control;
pub use neck_width_control::{
default_neck_width_config, new_neck_width_state, nw_blend, nw_circumference, nw_reset,
nw_set_front_depth, nw_set_trapezius, nw_set_width, nw_to_json, nw_to_weights, NeckWidthConfig,
NeckWidthState,
};
#[path = "body_taper_control.rs"]
pub mod body_taper_control;
pub use body_taper_control::{
bt_blend, bt_reset, bt_set_hip, bt_set_shoulder, bt_set_waist, bt_silhouette_area,
bt_taper_ratio, bt_to_json, bt_to_weights, default_body_taper_config, new_body_taper_state,
BodyTaperConfig, BodyTaperState,
};
#[path = "brow_spacing_control.rs"]
pub mod brow_spacing_control;
pub use brow_spacing_control::{
bs_arch_angle, bs_blend, bs_effective_left, bs_effective_right, bs_reset, bs_set_arch_offset,
bs_set_spacing, bs_set_symmetry, bs_to_json, bs_to_weights, default_brow_spacing_config,
new_brow_spacing_state, BrowSpacingConfig, BrowSpacingState,
};
#[path = "cheek_fullness_control.rs"]
pub mod cheek_fullness_control;
pub use cheek_fullness_control::{
cf_blend, cf_effective_left, cf_effective_right, cf_reset, cf_set_fullness, cf_set_projection,
cf_set_symmetry, cf_to_json, cf_to_weights, cf_volume_estimate, default_cheek_fullness_config,
new_cheek_fullness_state, CheekFullnessConfig, CheekFullnessState,
};
#[path = "chin_shape_control.rs"]
pub mod chin_shape_control;
pub use chin_shape_control::{
cs_blend, cs_profile_angle, cs_reset, cs_set_cleft, cs_set_projection, cs_set_vertical,
cs_set_width, cs_to_json, cs_to_weights, default_chin_shape_config, new_chin_shape_state,
ChinShapeConfig, ChinShapeState,
};
#[path = "ear_concha_control.rs"]
pub mod ear_concha_control;
pub use ear_concha_control::{
default_ear_concha_config, ec_blend, ec_cavity_volume, ec_effective_left, ec_effective_right,
ec_reset, ec_set_depth, ec_set_symmetry, ec_set_width, ec_to_json, ec_to_weights,
new_ear_concha_state, EarConchaConfig, EarConchaState,
};
#[path = "eye_lid_crease.rs"]
pub mod eye_lid_crease;
pub use eye_lid_crease::{
default_eye_lid_crease_config, elc_blend, elc_crease_angle, elc_reset, elc_set_depth,
elc_set_fold, elc_set_height, elc_set_symmetry, elc_to_json, elc_to_weights,
new_eye_lid_crease_state, EyeLidCreaseConfig, EyeLidCreaseState,
};
#[path = "face_roundness_control.rs"]
pub mod face_roundness_control;
pub use face_roundness_control::{
default_face_roundness_config, fr_blend, fr_overall_softness, fr_perimeter_estimate, fr_reset,
fr_set_forehead_curve, fr_set_jaw_softness, fr_set_roundness, fr_to_json, fr_to_weights,
new_face_roundness_state, FaceRoundnessConfig, FaceRoundnessState,
};
#[path = "finger_tip_control.rs"]
pub mod finger_tip_control;
pub use finger_tip_control::{
default_finger_tip_config, ft_blend, ft_cross_section_area, ft_reset, ft_set_nail_length,
ft_set_taper, ft_set_width, ft_to_json, ft_to_weights, new_finger_tip_state, FingerTipConfig,
FingerTipState,
};
#[path = "forehead_protrusion_control.rs"]
pub mod forehead_protrusion_control;
pub use forehead_protrusion_control::{
default_forehead_protrusion_config, fp_blend, fp_reset, fp_set_bossing, fp_set_protrusion,
fp_set_slope, fp_slope_angle, fp_to_json, fp_to_weights, new_forehead_protrusion_state,
ForeheadProtrusionConfig, ForeheadProtrusionState,
};
#[path = "hand_palm_control.rs"]
pub mod hand_palm_control;
pub use hand_palm_control::{
default_hand_palm_config, hp_blend, hp_cross_section, hp_reset, hp_set_arch, hp_set_thickness,
hp_set_width, hp_to_json, hp_to_weights, new_hand_palm_state, HandPalmConfig, HandPalmState,
};
#[path = "jaw_line_control.rs"]
pub mod jaw_line_control;
pub use jaw_line_control::{
default_jaw_line_config, jl_blend, jl_gonial_angle, jl_reset, jl_set_angle, jl_set_definition,
jl_set_width, jl_sharpness, jl_to_json, jl_to_weights, new_jaw_line_state, JawLineConfig,
JawLineState,
};
#[path = "lip_thickness_control.rs"]
pub mod lip_thickness_control;
pub use lip_thickness_control::{
apply_lip_thickness, default_lip_thickness, lip_thickness_blend, total_lip_volume, LipThickness,
};
#[path = "nasal_septum_control.rs"]
pub mod nasal_septum_control;
pub use nasal_septum_control::{
default_nasal_septum_config, new_nasal_septum_state, ns_angular_deviation_rad, ns_blend,
ns_is_neutral, ns_reset, ns_set_depth, ns_set_deviation, ns_set_width, ns_to_json,
ns_to_weights, NasalSeptumConfig, NasalSeptumState, NasalSeptumWeights,
};
#[path = "neck_tendon_control.rs"]
pub mod neck_tendon_control;
pub use neck_tendon_control::{
default_neck_tendon_config, new_neck_tendon_state, nt_asymmetry, nt_blend, nt_is_neutral,
nt_reset, nt_set_atlas, nt_set_platysma, nt_set_scm_both, nt_set_scm_left, nt_set_scm_right,
nt_to_json, nt_to_weights, NeckTendonConfig, NeckTendonState, NeckTendonWeights,
};
#[path = "orbital_rim_control.rs"]
pub mod orbital_rim_control;
pub use orbital_rim_control::{
apply_orbital_rim, default_orbital_rim, default_orbital_rim_config, new_orbital_rim_state,
orb_mirror, orb_reset, orb_set_depth, orb_set_tilt, orb_to_json, orb_to_weights,
orbital_rim_blend, OrbitalRim, OrbitalRimConfig, OrbitalRimState,
};
#[path = "rib_cage_control.rs"]
pub mod rib_cage_control;
pub use rib_cage_control::{
default_rib_cage_config, new_rib_cage_state, rc_blend, rc_flare_angle_rad, rc_is_neutral,
rc_reset, rc_set_barrel, rc_set_depth, rc_set_flare, rc_set_width, rc_to_json, rc_to_weights,
RibCageConfig, RibCageState, RibCageWeights,
};
#[path = "body_segment_control.rs"]
pub mod body_segment_control;
pub use body_segment_control::{
blend_segment_states, default_body_segment_config, get_segment_scale, limb_length_m,
new_body_segment_state, reset_all_segments, reset_segment, rhythm_scale,
segment_angle_contribution, segment_name, set_segment_scale,
state_to_json as segment_state_to_json, total_limb_scale, BodySegment, BodySegmentConfig,
BodySegmentState, SegmentScale,
};
#[path = "brow_tail_control.rs"]
pub mod brow_tail_control;
pub use brow_tail_control::{
bt_blend as brow_tail_blend, bt_is_neutral, bt_reset as brow_tail_reset, bt_set_angle,
bt_set_raise, bt_symmetry, bt_to_json as brow_tail_to_json, bt_to_morph_weights,
default_brow_tail_config, new_brow_tail_state, BrowTailConfig, BrowTailSide, BrowTailState,
};
#[path = "cheek_jowl_control.rs"]
pub mod cheek_jowl_control;
pub use cheek_jowl_control::{
cj_blend, cj_is_neutral, cj_reset, cj_set_sag, cj_set_volume, cj_symmetry, cj_to_json,
cj_to_weights, cj_total_volume, default_cheek_jowl_config, new_cheek_jowl_state,
CheekJowlConfig, CheekJowlState, JowlSide,
};
#[path = "chin_dimple_control.rs"]
pub mod chin_dimple_control;
pub use chin_dimple_control::{
cd_area, cd_blend as chin_dimple_blend, cd_effective_depth as chin_dimple_effective_depth,
cd_is_neutral, cd_reset as chin_dimple_reset, cd_set_depth, cd_set_vertical_offset,
cd_set_width, cd_to_json as chin_dimple_to_json, cd_to_weights as chin_dimple_to_weights,
default_chin_dimple_config, new_chin_dimple_state, ChinDimpleConfig, ChinDimpleState,
};
#[path = "ear_cup_control.rs"]
pub mod ear_cup_control;
pub use ear_cup_control::{
default_ear_cup_config, ec_average_cup, ec_blend as ear_cup_blend, ec_is_neutral,
ec_reset as ear_cup_reset, ec_set_bias, ec_set_cup, ec_symmetry, ec_to_json as ear_cup_to_json,
ec_to_weights as ear_cup_to_weights, new_ear_cup_state, EarCupConfig, EarCupSide, EarCupState,
};
#[path = "eye_tilt_control.rs"]
pub mod eye_tilt_control;
pub use eye_tilt_control::{
default_eye_tilt_config, et_asymmetry, et_blend as eye_tilt_blend, et_is_neutral,
et_reference_angle_rad, et_reset as eye_tilt_reset, et_set_tilt, et_tilt_rad_left,
et_tilt_rad_right, et_to_json as eye_tilt_to_json, et_to_weights as eye_tilt_to_weights,
new_eye_tilt_state, EyeTiltConfig, EyeTiltSide, EyeTiltState,
};
#[path = "face_symmetry_control.rs"]
pub mod face_symmetry_control;
pub use face_symmetry_control::{
default_face_symmetry_config, fs_blend, fs_circular_noise, fs_get_deviation, fs_is_symmetric,
fs_reset, fs_set_deviation, fs_set_enforce, fs_to_json, fs_total_deviation,
new_face_symmetry_state, AsymmetryAxis, AsymmetryEntry, FaceSymmetryConfig, FaceSymmetryState,
};
#[path = "foot_width_control.rs"]
pub mod foot_width_control;
pub use foot_width_control::{
default_foot_width_config, fw_blend as foot_width_blend, fw_reset as foot_width_reset,
fw_set_arch, fw_set_forefoot, fw_set_heel, fw_symmetry, fw_to_json as foot_width_to_json,
fw_to_weights as foot_width_to_weights, new_foot_width_state, FootSide, FootWidthConfig,
FootWidthState,
};
#[path = "forehead_vein_control.rs"]
pub mod forehead_vein_control;
pub use forehead_vein_control::{
default_forehead_vein_config, fv_blend, fv_is_neutral, fv_reset, fv_set_central, fv_set_temple,
fv_symmetry, fv_to_json, fv_to_weights, fv_total_prominence, new_forehead_vein_state,
ForeheadVeinConfig, ForeheadVeinState,
};
#[path = "hand_knuckle_control.rs"]
pub mod hand_knuckle_control;
pub use hand_knuckle_control::{
default_knuckle_config, kk_average_prominence, kk_blend, kk_is_neutral, kk_reset,
kk_set_all_prominence, kk_set_definition, kk_set_prominence, kk_to_json, kk_to_weights,
new_knuckle_state, KnuckleConfig, KnuckleState, FINGER_COUNT,
};
#[path = "jaw_protrusion_control.rs"]
pub mod jaw_protrusion_control;
pub use jaw_protrusion_control::{
default_jaw_protrusion_config, jp_blend, jp_horizontal_offset, jp_is_neutral, jp_reset,
jp_set_lateral, jp_set_plane, jp_set_protrusion, jp_to_json, jp_to_weights,
new_jaw_protrusion_state, JawProtrusionConfig, JawProtrusionState,
};
#[path = "lip_bow_control.rs"]
pub mod lip_bow_control;
pub use lip_bow_control::{
default_lip_bow_config, lb_blend, lb_bow_width, lb_is_flat, lb_reset, lb_set_arch, lb_set_dip,
lb_set_spread, lb_to_json, lb_to_weights, new_lip_bow_state, LipBowConfig, LipBowState,
};
#[path = "nasal_flare_control.rs"]
pub mod nasal_flare_control;
pub use nasal_flare_control::{
default_nasal_flare_config, new_nasal_flare_state, nf_average_flare, nf_blend, nf_is_neutral,
nf_reset, nf_set_base_elevation, nf_set_flare, nf_symmetry, nf_to_json, nf_to_weights,
NasalFlareConfig, NasalFlareSide, NasalFlareState,
};
#[path = "neck_crease_control.rs"]
pub mod neck_crease_control;
pub use neck_crease_control::{
default_neck_crease_config, nc_average_depth, nc_blend, nc_is_neutral, nc_reset, nc_set_depth,
nc_set_spread, nc_to_json, nc_to_weights, new_neck_crease_state, CreaseTier, NeckCreaseConfig,
NeckCreaseState,
};
#[path = "shoulder_slope_control.rs"]
pub mod shoulder_slope_control;
pub use shoulder_slope_control::{
default_shoulder_slope_config, new_shoulder_slope_state, ss_blend, ss_is_neutral, ss_reset,
ss_set_height, ss_set_slope, ss_slope_rad, ss_symmetry, ss_to_json, ss_to_weights,
ShoulderSide, ShoulderSlopeConfig, ShoulderSlopeState,
};
#[path = "thigh_control.rs"]
pub mod thigh_control;
pub use thigh_control::{
default_thigh_config, new_thigh_state, th_average_girth, th_blend, th_is_neutral, th_reset,
th_set_girth, th_set_inner, th_set_outer, th_symmetry, th_to_json, th_to_weights, ThighConfig,
ThighSide, ThighState,
};
#[path = "body_lean_control.rs"]
pub mod body_lean_control;
pub use body_lean_control::{
bl_blend, bl_is_neutral, bl_reset, bl_sagittal_angle_rad, bl_set_backward, bl_set_forward,
bl_set_lateral, bl_to_json, bl_to_weights, default_body_lean_config, new_body_lean_state,
BodyLeanConfig, BodyLeanState,
};
#[path = "brow_wrinkle_control.rs"]
pub mod brow_wrinkle_control;
pub use brow_wrinkle_control::{
bw_blend as brow_wrinkle_blend, bw_intensity, bw_is_neutral, bw_reset as brow_wrinkle_reset,
bw_set_arch, bw_set_horizontal, bw_set_vertical, bw_symmetry,
bw_to_json as brow_wrinkle_to_json, bw_to_weights as brow_wrinkle_to_weights,
default_brow_wrinkle_config, new_brow_wrinkle_state, BrowWrinkleConfig, BrowWrinkleState,
};
#[path = "cheek_puff_depth.rs"]
pub mod cheek_puff_depth;
pub use cheek_puff_depth::{
cpd_average_depth, cpd_blend, cpd_is_neutral, cpd_reset, cpd_set_bias, cpd_set_both,
cpd_set_left, cpd_set_right, cpd_symmetry, cpd_to_json, cpd_to_weights,
default_cheek_puff_depth_config, new_cheek_puff_depth_state, CheekPuffDepthConfig,
CheekPuffDepthState,
};
#[path = "chin_recess_control.rs"]
pub mod chin_recess_control;
pub use chin_recess_control::{
cr_blend, cr_is_neutral, cr_net_offset, cr_reset, cr_set_protrusion, cr_set_recess,
cr_set_vertical, cr_to_json, cr_to_weights, default_chin_recess_config, new_chin_recess_state,
ChinRecessConfig, ChinRecessState,
};
#[path = "ear_rim_control.rs"]
pub mod ear_rim_control;
pub use ear_rim_control::{
default_ear_rim_config, er_average_roll, er_blend, er_is_neutral, er_reset, er_set_both_roll,
er_set_roll, er_set_sharpness, er_symmetry, er_to_json, er_to_weights, new_ear_rim_state,
EarRimConfig, EarRimSide, EarRimState,
};
#[path = "eye_inner_corner.rs"]
pub mod eye_inner_corner;
pub use eye_inner_corner::{
default_eye_inner_corner_config, eic_average_depth, eic_blend, eic_is_neutral, eic_reset,
eic_set_both_depth, eic_set_depth_left, eic_set_depth_right, eic_set_tilt, eic_symmetry,
eic_to_json, eic_to_weights, new_eye_inner_corner_state, EyeInnerCornerConfig,
EyeInnerCornerState,
};
#[path = "face_contour_control.rs"]
pub mod face_contour_control;
pub use face_contour_control::{
default_face_contour_config, fc_blend, fc_contour_intensity, fc_is_neutral, fc_reset,
fc_set_mandible, fc_set_taper, fc_set_temporal, fc_set_zygomatic, fc_to_json, fc_to_weights,
new_face_contour_state, FaceContourConfig, FaceContourState,
};
#[path = "foot_toe_spread.rs"]
pub mod foot_toe_spread;
pub use foot_toe_spread::{
default_foot_toe_spread_config, fts_average_spread, fts_blend, fts_is_neutral, fts_reset,
fts_set_curl, fts_set_left_all, fts_set_right_all, fts_set_toe, fts_to_json, fts_to_weights,
new_foot_toe_spread_state, FootToeSpreadConfig, FootToeSpreadState, TOE_COUNT,
};
#[path = "forehead_raise_control.rs"]
pub mod forehead_raise_control;
pub use forehead_raise_control::{
default_forehead_raise_config, fhr_average_raise, fhr_blend, fhr_is_neutral, fhr_reset,
fhr_set_all, fhr_set_center, fhr_set_sides, fhr_set_tension, fhr_symmetry, fhr_to_json,
fhr_to_weights, new_forehead_raise_state, ForeheadRaiseConfig, ForeheadRaiseState,
};
#[path = "hand_vein_control.rs"]
pub mod hand_vein_control;
pub use hand_vein_control::{
default_hand_vein_config, hv_average_prominence, hv_blend, hv_is_neutral, hv_reset,
hv_set_both, hv_set_branching, hv_set_left, hv_set_right, hv_symmetry, hv_to_json,
hv_to_weights, new_hand_vein_state, HandVeinConfig, HandVeinState,
};
#[path = "jaw_shift_control.rs"]
pub mod jaw_shift_control;
pub use jaw_shift_control::{
default_jaw_shift_config, js_blend, js_displacement_magnitude, js_is_neutral, js_net_ap,
js_reset, js_set_anterior, js_set_lateral, js_set_posterior, js_set_torsion, js_to_json,
js_to_weights, new_jaw_shift_state, JawShiftConfig, JawShiftState,
};
#[path = "nasal_root_control.rs"]
pub mod nasal_root_control;
pub use nasal_root_control::{
default_nasal_root_config, new_nasal_root_state, nr_blend, nr_bridge_prominence, nr_is_neutral,
nr_reset, nr_set_depth, nr_set_height, nr_set_squish, nr_set_width, nr_to_json, nr_to_weights,
NasalRootConfig, NasalRootState,
};
#[path = "neck_flexion_control.rs"]
pub mod neck_flexion_control;
pub use neck_flexion_control::{
default_neck_flexion_config, new_neck_flexion_state, nf_blend as neck_flex_blend,
nf_is_neutral as neck_flex_is_neutral, nf_lateral_angle_rad, nf_reset as neck_flex_reset,
nf_sagittal_angle_rad, nf_set_backward, nf_set_forward, nf_set_lateral,
nf_to_json as neck_flex_to_json, nf_to_weights as neck_flex_to_weights, NeckFlexionConfig,
NeckFlexionState,
};
#[path = "scapula_control.rs"]
pub mod scapula_control;
pub use scapula_control::{
default_scapula_config, new_scapula_state, sc_average_wing, sc_blend, sc_is_neutral, sc_reset,
sc_set_both_wing, sc_set_elevation, sc_set_wing, sc_symmetry, sc_to_json, sc_to_weights,
ScapulaConfig, ScapulaSide, ScapulaState,
};
#[path = "shin_control.rs"]
pub mod shin_control;
pub use shin_control::{
default_shin_config, new_shin_state, shn_average_girth, shn_blend, shn_is_neutral, shn_reset,
shn_set_both_girth, shn_set_curvature, shn_set_girth, shn_symmetry, shn_to_json,
shn_to_weights, ShinConfig, ShinSide, ShinState,
};
#[path = "body_twist_control.rs"]
pub mod body_twist_control;
pub use body_twist_control::{
btwist_blend, btwist_is_neutral, btwist_reset, btwist_set_lower, btwist_set_upper,
btwist_to_json, btwist_to_weights, btwist_total_angle_rad, default_body_twist_config,
new_body_twist_state, BodyTwistConfig, BodyTwistState,
};
#[path = "brow_furrowing_control.rs"]
pub mod brow_furrowing_control;
pub use brow_furrowing_control::{
bfw_blend, bfw_intensity, bfw_is_neutral, bfw_reset, bfw_set_inner, bfw_set_outer,
bfw_set_vertical, bfw_to_json, bfw_to_weights, default_brow_furrow_config,
new_brow_furrow_state, BrowFurrowConfig, BrowFurrowState,
};
#[path = "cheek_rise_control.rs"]
pub mod cheek_rise_control;
pub use cheek_rise_control::{
cr_average as cheek_rise_average, cr_blend as cheek_rise_blend,
cr_is_neutral as cheek_rise_is_neutral, cr_reset as cheek_rise_reset,
cr_set_both as cheek_rise_set_both, cr_set_rise, cr_symmetry as cheek_rise_symmetry,
cr_to_json as cheek_rise_to_json, cr_to_weights as cheek_rise_to_weights,
default_cheek_rise_config, new_cheek_rise_state, CheekRiseConfig, CheekRiseSide,
CheekRiseState,
};
#[path = "chin_recession_control.rs"]
pub mod chin_recession_control;
pub use chin_recession_control::{
chin_rec_blend, chin_rec_is_neutral, chin_rec_net_offset, chin_rec_reset,
chin_rec_set_recession, chin_rec_set_tilt, chin_rec_set_vertical, chin_rec_to_json,
chin_rec_to_weights, default_chin_recession_config, new_chin_recession_state,
ChinRecessionConfig, ChinRecessionState,
};
#[path = "ear_helix_fold.rs"]
pub mod ear_helix_fold;
pub use ear_helix_fold::{
default_ear_helix_config, ehf_average_fold, ehf_blend, ehf_is_neutral, ehf_reset, ehf_set_both,
ehf_set_definition, ehf_set_fold, ehf_symmetry, ehf_to_json, ehf_to_weights,
new_ear_helix_state, EarHelixConfig, EarHelixSide, EarHelixState,
};