Internal change
PiperOrigin-RevId: 515044500
This commit is contained in:
parent
13d7e1a7ba
commit
16c2e32a0d
|
@ -2,6 +2,7 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
load("//mediapipe/framework/tool:mediapipe_graph.bzl", "mediapipe_options_library")
|
load("//mediapipe/framework/tool:mediapipe_graph.bzl", "mediapipe_options_library")
|
||||||
|
load("//mediapipe/framework/tool:mediapipe_proto_allowlist.bzl", "rewrite_target_list")
|
||||||
load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library", "py_proto_library")
|
load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library", "py_proto_library")
|
||||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||||
load("@rules_proto_grpc//js:defs.bzl", "js_proto_library")
|
load("@rules_proto_grpc//js:defs.bzl", "js_proto_library")
|
||||||
|
@ -156,6 +157,26 @@ def mediapipe_proto_library_impl(
|
||||||
compatible_with = compatible_with,
|
compatible_with = compatible_with,
|
||||||
))
|
))
|
||||||
|
|
||||||
|
def SourceName(proto_target):
|
||||||
|
"Returns the proto source file name for a target without extension."
|
||||||
|
words = proto_target.split("_")[:-1]
|
||||||
|
return "_".join(words)
|
||||||
|
|
||||||
|
def MessageName(proto_target):
|
||||||
|
"Returns the proto message name for a target."
|
||||||
|
words = proto_target.split("_")[:-1]
|
||||||
|
words_upper = [w.capitalize() for w in words]
|
||||||
|
return "".join(words_upper)
|
||||||
|
|
||||||
|
def SubsituteCommand(old, new):
|
||||||
|
"Returns the shell command to replace a regex."
|
||||||
|
old = old.replace("/", "[/]")
|
||||||
|
new = new.replace('"', '\\"')
|
||||||
|
return "awk '{print gensub(/" + old + '/, "' + new + '", "g");}' + "'"
|
||||||
|
|
||||||
|
rewrite_source_regex = "|".join([SourceName(t) for t in rewrite_target_list])
|
||||||
|
rewrite_message_regex = "|".join([MessageName(t) for t in rewrite_target_list])
|
||||||
|
|
||||||
# After rewrite, all intra-package references refer to "mediapipe",
|
# After rewrite, all intra-package references refer to "mediapipe",
|
||||||
# and all imports refer to rewritten proto source files.
|
# and all imports refer to rewritten proto source files.
|
||||||
def rewrite_mediapipe_proto(name, rewrite_proto, source_proto, **kwargs):
|
def rewrite_mediapipe_proto(name, rewrite_proto, source_proto, **kwargs):
|
||||||
|
@ -167,28 +188,41 @@ def rewrite_mediapipe_proto(name, rewrite_proto, source_proto, **kwargs):
|
||||||
source_proto: the old ".proto" source file name.
|
source_proto: the old ".proto" source file name.
|
||||||
**kwargs: the remaining arguments.
|
**kwargs: the remaining arguments.
|
||||||
"""
|
"""
|
||||||
split_path = r'"\(.*\)/\([^/]*\).proto"'
|
|
||||||
rewrite_package = r"s|package mediapipe;|package mediapipe;|"
|
|
||||||
rewrite_import = r"s|import " + split_path + r'|import "\1/protobuf/\2.proto"|'
|
|
||||||
rewrite_import_public = r"s|import public " + split_path + r'|import public "\1/protobuf/\2.proto"|'
|
|
||||||
rewrite_import_any = r's|import "\(.*\)/protobuf/any.proto"|import "\1/any.proto"|'
|
|
||||||
rewrite_import_status = r's|import "\(.*\)/protobuf/status.proto"|import "\1/status.proto"|'
|
|
||||||
rewrite_ref = r"s|mediapipe\.|mediapipe\.|"
|
|
||||||
rewrite_objc = r's|objc_class_prefix = "MediaPipe"|objc_class_prefix = "MPP"|'
|
|
||||||
|
|
||||||
|
split_path = r"(.*)/(" + rewrite_source_regex + ").proto"
|
||||||
|
join_path = r"\\1/protobuf/\\2.proto"
|
||||||
|
rewrite_package = SubsituteCommand(
|
||||||
|
"package mediapipe;",
|
||||||
|
"package mediapipe;",
|
||||||
|
)
|
||||||
|
rewrite_import = SubsituteCommand(
|
||||||
|
'import "' + split_path + '";',
|
||||||
|
'import "' + join_path + '";',
|
||||||
|
)
|
||||||
|
rewrite_import_public = SubsituteCommand(
|
||||||
|
'import public "' + split_path + '";',
|
||||||
|
'import public "' + join_path + '";',
|
||||||
|
)
|
||||||
|
rewrite_ref = SubsituteCommand(
|
||||||
|
r"mediapipe\\.(" + rewrite_message_regex + ")",
|
||||||
|
r"mediapipe.\\1",
|
||||||
|
)
|
||||||
|
rewrite_objc = SubsituteCommand(
|
||||||
|
r'objc_class_prefix = "MediaPipe"',
|
||||||
|
r'objc_class_prefix = "MPP"',
|
||||||
|
)
|
||||||
native.genrule(
|
native.genrule(
|
||||||
name = name,
|
name = name,
|
||||||
outs = [rewrite_proto],
|
outs = [rewrite_proto],
|
||||||
srcs = [source_proto],
|
srcs = [source_proto],
|
||||||
cmd = "for OUT in $(OUTS); do \n" +
|
cmd = "for OUT in $(OUTS); do \n" +
|
||||||
" cp $(location " + source_proto + ") $$OUT \n" +
|
" cat $(location " + source_proto + ") " +
|
||||||
" sed -i -e '" + rewrite_package + "' $$OUT \n" +
|
" | " + rewrite_package +
|
||||||
" sed -i -e '" + rewrite_import + "' $$OUT \n" +
|
" | " + rewrite_import +
|
||||||
" sed -i -e '" + rewrite_import_public + "' $$OUT \n" +
|
" | " + rewrite_import_public +
|
||||||
" sed -i -e '" + rewrite_import_any + "' $$OUT \n" +
|
" | " + rewrite_ref +
|
||||||
" sed -i -e '" + rewrite_import_status + "' $$OUT \n" +
|
" | " + rewrite_objc +
|
||||||
" sed -i -e '" + rewrite_ref + "' $$OUT \n" +
|
" > $$OUT \n" +
|
||||||
" sed -i -e '" + rewrite_objc + "' $$OUT \n" +
|
|
||||||
"done",
|
"done",
|
||||||
**kwargs
|
**kwargs
|
||||||
)
|
)
|
||||||
|
|
327
mediapipe/framework/tool/mediapipe_proto_allowlist.bzl
Normal file
327
mediapipe/framework/tool/mediapipe_proto_allowlist.bzl
Normal file
|
@ -0,0 +1,327 @@
|
||||||
|
"""mediapipe_proto_library targets enabled for package mediaipipe rewrite."""
|
||||||
|
|
||||||
|
rewrite_target_list = [
|
||||||
|
"acceleration_proto",
|
||||||
|
"adaptive_crop_calculator_proto",
|
||||||
|
"affine_transform_data_proto",
|
||||||
|
"affine_transform_from_rect_calculator_proto",
|
||||||
|
"align_hand_to_pose_in_world_calculator_proto",
|
||||||
|
"anchor_proto",
|
||||||
|
"annotation_overlay_calculator_proto",
|
||||||
|
"annotation_proto",
|
||||||
|
"annotations_to_model_matrices_calculator_proto",
|
||||||
|
"annotations_to_render_data_calculator_proto",
|
||||||
|
"a_r_capture_metadata_proto",
|
||||||
|
"association_calculator_proto",
|
||||||
|
"audio_classifier_graph_options_proto",
|
||||||
|
"audio_decoder_proto",
|
||||||
|
"audio_denoiser_options_proto",
|
||||||
|
"audio_embedder_graph_options_proto",
|
||||||
|
"audio_to_spectrogram_calculator_proto",
|
||||||
|
"audio_to_tensor_calculator_proto",
|
||||||
|
"auto_relighting_proto",
|
||||||
|
"bandpass_calculator_proto",
|
||||||
|
"barcode_reader_calculator_proto",
|
||||||
|
"base_options_proto",
|
||||||
|
"belief_decoder_config_proto",
|
||||||
|
"bert_preprocessor_calculator_proto",
|
||||||
|
"bilateral_filter_calculator_proto",
|
||||||
|
"body_rig_proto",
|
||||||
|
"boxes_and_scores_decoder_proto",
|
||||||
|
"bypass_calculator_proto",
|
||||||
|
"calculator_contract_test_proto",
|
||||||
|
"calculator_graph_template_proto",
|
||||||
|
"calculator_options_proto",
|
||||||
|
"calculator_profile_proto",
|
||||||
|
"calculator_proto",
|
||||||
|
"camera_parameters_proto",
|
||||||
|
"classification_aggregation_calculator_proto",
|
||||||
|
"classification_postprocessing_graph_options_proto",
|
||||||
|
"classification_proto",
|
||||||
|
"classifications_proto",
|
||||||
|
"classifications_to_render_data_calculator_proto",
|
||||||
|
"classifier_options_proto",
|
||||||
|
"clip_vector_size_calculator_proto",
|
||||||
|
"collection_has_min_size_calculator_proto",
|
||||||
|
"color_proto",
|
||||||
|
"combined_prediction_calculator_proto",
|
||||||
|
"combine_joints_calculator_proto",
|
||||||
|
"compressor_calculator_proto",
|
||||||
|
"concatenate_vector_calculator_proto",
|
||||||
|
"constant_side_packet_calculator_proto",
|
||||||
|
"content_provider_calculator_proto",
|
||||||
|
"delay_calculator_proto",
|
||||||
|
"demux_calculator_proto",
|
||||||
|
"denoiser_mask_processor_calculator_proto",
|
||||||
|
"denoiser_spectrum_processor_calculator_proto",
|
||||||
|
"dequantize_byte_array_calculator_proto",
|
||||||
|
"detection_label_id_to_text_calculator_proto",
|
||||||
|
"detection_proto",
|
||||||
|
"detections_to_plm_calculator_proto",
|
||||||
|
"detections_to_rects_calculator_proto",
|
||||||
|
"detections_to_render_data_calculator_proto",
|
||||||
|
"distortion_calculator_proto",
|
||||||
|
"dominant_light_side_calculator_proto",
|
||||||
|
"mediapipe_options_proto",
|
||||||
|
"effect_renderer_calculator_proto",
|
||||||
|
"embedder_options_proto",
|
||||||
|
"embedding_postprocessing_graph_options_proto",
|
||||||
|
"embeddings_proto",
|
||||||
|
"env_generator_calculator_proto",
|
||||||
|
"environment_generator_calculator_proto",
|
||||||
|
"environment_light_estimator_calculator_proto",
|
||||||
|
"environment_proto",
|
||||||
|
"example_calculator_options_proto",
|
||||||
|
"example_subgraph_options_proto",
|
||||||
|
"external_file_proto",
|
||||||
|
"face_blendshapes_graph_options_proto",
|
||||||
|
"face_detection_proto",
|
||||||
|
"face_detections_to_bool_calculator_proto",
|
||||||
|
"face_detector_graph_options_proto",
|
||||||
|
"face_editor_graph_options_proto",
|
||||||
|
"face_gan_graph_options_proto",
|
||||||
|
"face_geometry_proto",
|
||||||
|
"face_landmarks_detector_graph_options_proto",
|
||||||
|
"face_landmarks_output_proto",
|
||||||
|
"face_landmarks_proto",
|
||||||
|
"face_rig_ghum_proto",
|
||||||
|
"face_rig_output_proto",
|
||||||
|
"face_rig_proto",
|
||||||
|
"feature_detector_calculator_proto",
|
||||||
|
"feedback_tensors_calculator_proto",
|
||||||
|
"field_data_proto",
|
||||||
|
"filter_detection_calculator_proto",
|
||||||
|
"filter_detections_calculator_proto",
|
||||||
|
"filter_frame_by_classification_calculator_proto",
|
||||||
|
"flow_container_proto",
|
||||||
|
"flow_limiter_calculator_proto",
|
||||||
|
"frame_annotation_to_rect_calculator_proto",
|
||||||
|
"frame_annotation_tracker_calculator_proto",
|
||||||
|
"frozen_generator_proto",
|
||||||
|
"gate_calculator_proto",
|
||||||
|
"gaze_to_render_data_calculator_proto",
|
||||||
|
"geometry_pipeline_calculator_proto",
|
||||||
|
"geometry_pipeline_metadata_proto",
|
||||||
|
"gesture_classifier_graph_options_proto",
|
||||||
|
"gesture_detection_flume_proto",
|
||||||
|
"gesture_detection_proto",
|
||||||
|
"gesture_embedder_graph_options_proto",
|
||||||
|
"gesture_face_filter_calculator_proto",
|
||||||
|
"gesture_filter_proto",
|
||||||
|
"gesture_recognizer_graph_options_proto",
|
||||||
|
"gesture_temporal_filter_tuner_calculator_proto",
|
||||||
|
"get_vector_item_calculator_proto",
|
||||||
|
"gl_animation_overlay_calculator_proto",
|
||||||
|
"gl_context_options_proto",
|
||||||
|
"gl_mask_transform_calculator_proto",
|
||||||
|
"gpu_origin_proto",
|
||||||
|
"graph_profile_calculator_proto",
|
||||||
|
"gsenet_speech_enhancement_graph_options_proto",
|
||||||
|
"hand_association_calculator_proto",
|
||||||
|
"hand_detector_graph_options_proto",
|
||||||
|
"hand_detector_result_proto",
|
||||||
|
"hand_gesture_recognizer_graph_options_proto",
|
||||||
|
"hand_landmarker_graph_options_proto",
|
||||||
|
"hand_landmarks_detector_graph_options_proto",
|
||||||
|
"hand_tracking_and_gesture_proto",
|
||||||
|
"heatmap_to_detections_calculator_proto",
|
||||||
|
"image_classifier_graph_options_proto",
|
||||||
|
"image_clone_calculator_proto",
|
||||||
|
"image_cropping_calculator_proto",
|
||||||
|
"image_embedder_graph_options_proto",
|
||||||
|
"image_file_properties_proto",
|
||||||
|
"image_format_proto",
|
||||||
|
"image_preprocessing_graph_options_proto",
|
||||||
|
"image_segmenter_graph_options_proto",
|
||||||
|
"image_to_batch_tensor_calculator_proto",
|
||||||
|
"image_to_tensor_calculator_proto",
|
||||||
|
"image_transformation_calculator_proto",
|
||||||
|
"inference_calculator_proto",
|
||||||
|
"inference_subgraph_proto",
|
||||||
|
"is_speaking_from_tensors_proto",
|
||||||
|
"joint_detector_graph_options_proto",
|
||||||
|
"js_native_renderer_calculator_proto",
|
||||||
|
"json_events_packer_calculator_proto",
|
||||||
|
"json_events_unpacker_calculator_proto",
|
||||||
|
"label_map_proto",
|
||||||
|
"labels_to_render_data_calculator_proto",
|
||||||
|
"landmark_projection_calculator_proto",
|
||||||
|
"landmark_proto",
|
||||||
|
"landmarks_detection_result_proto",
|
||||||
|
"landmarks_detector_proto",
|
||||||
|
"landmarks_refinement_calculator_proto",
|
||||||
|
"landmarks_smoothing_calculator_proto",
|
||||||
|
"landmarks_to_detection_calculator_proto",
|
||||||
|
"landmarks_to_floats_calculator_proto",
|
||||||
|
"landmarks_to_matrix_calculator_proto",
|
||||||
|
"landmarks_to_render_data_calculator_proto",
|
||||||
|
"landmarks_to_tensor_calculator_proto",
|
||||||
|
"landmarks_transformation_calculator_proto",
|
||||||
|
"latency_proto",
|
||||||
|
"lift_2d_frame_annotation_to_3d_calculator_proto",
|
||||||
|
"line_detector_graph_options_proto",
|
||||||
|
"local_file_contents_calculator_proto",
|
||||||
|
"location_data_proto",
|
||||||
|
"locus_proto",
|
||||||
|
"logic_calculator_proto",
|
||||||
|
"mask_overlay_calculator_proto",
|
||||||
|
"mask_to_frame_ratio_calculator_proto",
|
||||||
|
"matrix_data_proto",
|
||||||
|
"mediapipe_events_packer_calculator_proto",
|
||||||
|
"mesh_3d_proto",
|
||||||
|
"mobile_ssd_calculator_proto",
|
||||||
|
"model_matrix_proto",
|
||||||
|
"model_resources_calculator_proto",
|
||||||
|
"multi_hand_rig_proto",
|
||||||
|
"multi_hand_tracker_proto",
|
||||||
|
"multi_mic_beamformer_calculator_proto",
|
||||||
|
"multiply_selected_joints_calculator_proto",
|
||||||
|
"multi_scale_rects_calculator_proto",
|
||||||
|
"night_light_calculator_proto",
|
||||||
|
"node_chain_subgraph_proto",
|
||||||
|
"node_decorator_proto",
|
||||||
|
"non_max_suppression_calculator_proto",
|
||||||
|
"normals_gpu_proto",
|
||||||
|
"normals_proto",
|
||||||
|
"object_detector_options_proto",
|
||||||
|
"object_proto",
|
||||||
|
"ola_pitch_shift_calculator_proto",
|
||||||
|
"opencv_encoded_image_to_image_frame_calculator_proto",
|
||||||
|
"opencv_image_encoder_calculator_proto",
|
||||||
|
"packet_cloner_calculator_proto",
|
||||||
|
"packet_cloner_with_decay_calculator_proto",
|
||||||
|
"packet_factory_proto",
|
||||||
|
"packet_frequency_calculator_proto",
|
||||||
|
"packet_frequency_proto",
|
||||||
|
"packet_generator_proto",
|
||||||
|
"packet_generator_wrapper_calculator_proto",
|
||||||
|
"packet_latency_calculator_proto",
|
||||||
|
"packet_resampler_calculator_proto",
|
||||||
|
"packet_test_proto",
|
||||||
|
"packet_thinner_calculator_proto",
|
||||||
|
"pack_media_sequence_calculator_proto",
|
||||||
|
"page_layout_mutator_options_proto",
|
||||||
|
"periodic_auto_light_position_calculator_proto",
|
||||||
|
"pose_landmarks_output_proto",
|
||||||
|
"pose_landmarks_proto",
|
||||||
|
"pose_rig_proto",
|
||||||
|
"pose_tracking_and_rep_counting_proto",
|
||||||
|
"proto_descriptor_proto",
|
||||||
|
"pull_push_denoise_calculator_gl_proto",
|
||||||
|
"quantize_float_vector_calculator_proto",
|
||||||
|
"rasterization_proto",
|
||||||
|
"raw_signals_processor_calculator_proto",
|
||||||
|
"recolor_calculator_proto",
|
||||||
|
"rect_proto",
|
||||||
|
"rect_to_render_data_calculator_proto",
|
||||||
|
"rect_to_render_scale_calculator_proto",
|
||||||
|
"rect_transformation_calculator_proto",
|
||||||
|
"refine_landmarks_from_heatmap_calculator_proto",
|
||||||
|
"regex_preprocessor_calculator_proto",
|
||||||
|
"relighting_proto",
|
||||||
|
"relighting_textures_calculator_proto",
|
||||||
|
"render_data_proto",
|
||||||
|
"renderer_calculator_proto",
|
||||||
|
"reorientation_metadata_generator_proto",
|
||||||
|
"rep_counting_calculator_proto",
|
||||||
|
"rep_counting_results_proto",
|
||||||
|
"resonator_calculator_proto",
|
||||||
|
"reverb_calculator_proto",
|
||||||
|
"roi_tracking_calculator_proto",
|
||||||
|
"rotation_mode_proto",
|
||||||
|
"saturator_calculator_proto",
|
||||||
|
"scale_image_calculator_proto",
|
||||||
|
"scale_mode_proto",
|
||||||
|
"scale_rect_from_anchor_calculator_proto",
|
||||||
|
"score_calibration_calculator_proto",
|
||||||
|
"score_classifications_calculator_proto",
|
||||||
|
"script_detector_graph_options_proto",
|
||||||
|
"seanet_denoiser_options_proto",
|
||||||
|
"seanet_fft_denoiser_post_calculator_proto",
|
||||||
|
"seanet_fft_denoiser_pre_calculator_proto",
|
||||||
|
"seanet_fullband_denoiser_post_calculator_proto",
|
||||||
|
"segmentation_mask_proto",
|
||||||
|
"segmentation_smoothing_calculator_proto",
|
||||||
|
"segmenter_gpu_cpu_proto",
|
||||||
|
"segmenter_options_proto",
|
||||||
|
"segmenter_output_size_calculator_proto",
|
||||||
|
"segmenter_proto",
|
||||||
|
"sequence_shift_calculator_proto",
|
||||||
|
"set_alpha_calculator_proto",
|
||||||
|
"set_joints_visibility_calculator_proto",
|
||||||
|
"sharpen_calculator_gl_proto",
|
||||||
|
"simple_calculator_proto",
|
||||||
|
"single_shot_detector_gpu_cpu_proto",
|
||||||
|
"single_shot_detector_proto",
|
||||||
|
"size_transformation_calculator_proto",
|
||||||
|
"sky_light_calculator_proto",
|
||||||
|
"source_proto",
|
||||||
|
"spatial_denoise_calculator_gl_proto",
|
||||||
|
"spatiotemporal_denoise_calculator_gl_proto",
|
||||||
|
"split_vector_calculator_proto",
|
||||||
|
"ssd_anchors_calculator_proto",
|
||||||
|
"status_handler_proto",
|
||||||
|
"status_list_proto",
|
||||||
|
"stream_handler_proto",
|
||||||
|
"switch_container_proto",
|
||||||
|
"tensor_converter_calculator_proto",
|
||||||
|
"tensor_dumper_calculator_proto",
|
||||||
|
"tensors_to_audio_calculator_proto",
|
||||||
|
"tensors_to_classification_calculator_proto",
|
||||||
|
"tensors_to_detections_calculator_proto",
|
||||||
|
"tensors_to_embeddings_calculator_proto",
|
||||||
|
"tensors_to_face_landmarks_graph_options_proto",
|
||||||
|
"tensors_to_floats_calculator_proto",
|
||||||
|
"tensors_to_image_calculator_proto",
|
||||||
|
"tensors_to_landmarks_calculator_proto",
|
||||||
|
"tensors_to_objects_calculator_proto",
|
||||||
|
"tensors_to_segmentation_calculator_proto",
|
||||||
|
"tensor_to_joints_calculator_proto",
|
||||||
|
"tensor_view_requestor_proto",
|
||||||
|
"test_calculators_proto",
|
||||||
|
"test_format_proto",
|
||||||
|
"text_classifier_graph_options_proto",
|
||||||
|
"text_embedder_graph_options_proto",
|
||||||
|
"text_model_type_proto",
|
||||||
|
"text_preprocessing_graph_options_proto",
|
||||||
|
"tflite_converter_calculator_proto",
|
||||||
|
"tflite_custom_op_resolver_calculator_proto",
|
||||||
|
"tflite_inference_calculator_proto",
|
||||||
|
"tflite_task_classification_result_to_classifications_calculator_proto",
|
||||||
|
"tflite_task_image_classifier_calculator_proto",
|
||||||
|
"tflite_task_object_detector_calculator_proto",
|
||||||
|
"tflite_tensors_to_classification_calculator_proto",
|
||||||
|
"tflite_tensors_to_detections_calculator_proto",
|
||||||
|
"tflite_tensors_to_landmarks_calculator_proto",
|
||||||
|
"tflite_tensors_to_objects_calculator_proto",
|
||||||
|
"tflite_tensors_to_segmentation_calculator_proto",
|
||||||
|
"thread_pool_executor_proto",
|
||||||
|
"thresholding_calculator_proto",
|
||||||
|
"timed_box_list_id_to_label_calculator_proto",
|
||||||
|
"timed_box_list_to_render_data_calculator_proto",
|
||||||
|
"time_series_header_proto",
|
||||||
|
"time_series_sample_framer_calculator_proto",
|
||||||
|
"top_classifications_calculator_proto",
|
||||||
|
"top_k_scores_calculator_proto",
|
||||||
|
"touch_input_converter_calculator_proto",
|
||||||
|
"trigger_extractor_calculator_proto",
|
||||||
|
"trigger_proto",
|
||||||
|
"tween_calculator_proto",
|
||||||
|
"unpack_media_sequence_calculator_proto",
|
||||||
|
"vad_frame_synchronizer_calculator_proto",
|
||||||
|
"vibrato_calculator_proto",
|
||||||
|
"video_data_proto",
|
||||||
|
"visibility_copy_calculator_proto",
|
||||||
|
"visibility_smoothing_calculator_proto",
|
||||||
|
"visualizer_calculator_proto",
|
||||||
|
"visualizer_proto",
|
||||||
|
"visuals_renderer_calculator_proto",
|
||||||
|
"vulkan_shader_calculator_proto",
|
||||||
|
"warp_affine_calculator_proto",
|
||||||
|
"xenomorph_proto",
|
||||||
|
"xenomorph_result_proto",
|
||||||
|
"xenomorph_rig_combined_proto",
|
||||||
|
"xenomorph_rig_proto",
|
||||||
|
"zoo_mutation_calculator_proto",
|
||||||
|
"zoo_mutator_proto",
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user