gitextract_1h23g_5j/ ├── .github/ │ └── workflows/ │ └── cmake.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── art/ │ └── assets.blend ├── assets/ │ ├── assets.dia │ ├── assets.ysce │ ├── engines/ │ │ ├── atg-video-1/ │ │ │ ├── 01_honda_trx520.mr │ │ │ ├── 02_kohler_ch750.mr │ │ │ ├── 03_harley_davidson_shovelhead.mr │ │ │ ├── 04_hayabusa.mr │ │ │ ├── 05_honda_vtec.mr │ │ │ ├── 06_subaru_ej25.mr │ │ │ ├── 07_audi_i5.mr │ │ │ ├── 08_radial_5.mr │ │ │ ├── README.md │ │ │ └── radial.mr │ │ ├── atg-video-2/ │ │ │ ├── 01_subaru_ej25_eh.mr │ │ │ ├── 02_subaru_ej25_uh.mr │ │ │ ├── 03_2jz.mr │ │ │ ├── 04_60_degree_v6.mr │ │ │ ├── 05_odd_fire_v6.mr │ │ │ ├── 06_even_fire_v6.mr │ │ │ ├── 07_gm_ls.mr │ │ │ ├── 08_ferrari_f136_v8.mr │ │ │ ├── 09_radial_9.mr │ │ │ ├── 10_lfa_v10.mr │ │ │ ├── 11_merlin_v12.mr │ │ │ ├── 12_ferrari_412_t2.mr │ │ │ ├── README.md │ │ │ └── radial.mr │ │ ├── audi/ │ │ │ └── i5.mr │ │ ├── bmw/ │ │ │ └── M52B28.mr │ │ ├── chevrolet/ │ │ │ ├── chev_truck_454.mr │ │ │ └── engine_03_for_e1.mr │ │ └── kohler/ │ │ └── kohler_ch750.mr │ ├── main.mr │ ├── part-library/ │ │ ├── part_library.mr │ │ └── parts/ │ │ ├── cam_lobes.mr │ │ ├── camshafts.mr │ │ ├── heads.mr │ │ ├── ignition_modules.mr │ │ └── intakes.mr │ └── themes/ │ ├── amateur.mr │ ├── bubble_gum.mr │ ├── default.mr │ ├── minimalistic.mr │ ├── night_vision.mr │ └── paper.mr ├── configuration/ │ └── delta.conf ├── dependencies/ │ ├── CMakeLists.txt │ ├── discord/ │ │ ├── CMakeLists.txt │ │ ├── Discord.cpp │ │ ├── Discord.h │ │ ├── LICENSE │ │ ├── discord_register.h │ │ ├── discord_rpc.h │ │ └── lib/ │ │ └── discord-rpc.lib │ └── submodules/ │ └── CMakeLists.txt ├── es/ │ ├── actions/ │ │ └── actions.mr │ ├── constants/ │ │ ├── constants.mr │ │ └── units.mr │ ├── engine_sim.mr │ ├── infrastructure/ │ │ └── infrastructure.mr │ ├── objects/ │ │ └── objects.mr │ ├── part-library/ │ │ ├── part_library.mr │ │ └── parts/ │ │ ├── cam_lobes.mr │ │ ├── camshafts.mr │ │ ├── heads.mr │ │ ├── ignition_modules.mr │ │ └── intakes.mr │ ├── settings/ │ │ └── application_settings.mr │ ├── sound-library/ │ │ └── impulse_responses.mr │ ├── types/ │ │ ├── atomic_types.mr │ │ ├── conversions.mr │ │ └── operations.mr │ └── utilities/ │ └── utilities.mr ├── include/ │ ├── adaptive_volume_filter.h │ ├── afr_cluster.h │ ├── application_settings.h │ ├── audio_buffer.h │ ├── butterworth_low_pass_filter.h │ ├── camshaft.h │ ├── combustion_chamber.h │ ├── combustion_chamber_object.h │ ├── connecting_rod.h │ ├── connecting_rod_object.h │ ├── constants.h │ ├── convolution_filter.h │ ├── crankshaft.h │ ├── crankshaft_object.h │ ├── csv_io.h │ ├── cylinder_bank.h │ ├── cylinder_bank_object.h │ ├── cylinder_head.h │ ├── cylinder_head_object.h │ ├── cylinder_pressure_gauge.h │ ├── cylinder_temperature_gauge.h │ ├── delay_filter.h │ ├── delta.h │ ├── derivative_filter.h │ ├── direct_throttle_linkage.h │ ├── dtv.h │ ├── dynamometer.h │ ├── engine.h │ ├── engine_sim_application.h │ ├── engine_view.h │ ├── exhaust_system.h │ ├── feedback_comb_filter.h │ ├── filter.h │ ├── firing_order_display.h │ ├── fuel.h │ ├── fuel_cluster.h │ ├── function.h │ ├── gas_system.h │ ├── gauge.h │ ├── gaussian_filter.h │ ├── geometry_generator.h │ ├── governor.h │ ├── ignition_module.h │ ├── impulse_response.h │ ├── info_cluster.h │ ├── intake.h │ ├── jitter_filter.h │ ├── labeled_gauge.h │ ├── leveling_filter.h │ ├── load_simulation_cluster.h │ ├── low_pass_filter.h │ ├── mixer_cluster.h │ ├── oscilloscope.h │ ├── oscilloscope_cluster.h │ ├── part.h │ ├── performance_cluster.h │ ├── piston.h │ ├── piston_engine_simulator.h │ ├── piston_object.h │ ├── preemphasis_filter.h │ ├── right_gauge_cluster.h │ ├── ring_buffer.h │ ├── scs.h │ ├── shaders.h │ ├── simulation_object.h │ ├── simulator.h │ ├── standard_valvetrain.h │ ├── starter_motor.h │ ├── synthesizer.h │ ├── throttle.h │ ├── throttle_display.h │ ├── transmission.h │ ├── ui_button.h │ ├── ui_element.h │ ├── ui_manager.h │ ├── ui_math.h │ ├── ui_utilities.h │ ├── units.h │ ├── utilities.h │ ├── valvetrain.h │ ├── vehicle.h │ ├── vehicle_drag_constraint.h │ └── vtec_valvetrain.h ├── scripting/ │ ├── include/ │ │ ├── actions.h │ │ ├── camshaft_node.h │ │ ├── channel_types.h │ │ ├── compiler.h │ │ ├── connecting_rod_node.h │ │ ├── crankshaft_node.h │ │ ├── cylinder_bank_node.h │ │ ├── cylinder_head_node.h │ │ ├── engine_context.h │ │ ├── engine_node.h │ │ ├── engine_sim.h │ │ ├── exhaust_system_node.h │ │ ├── fuel_node.h │ │ ├── function_node.h │ │ ├── ignition_module_node.h │ │ ├── ignition_wire_node.h │ │ ├── impulse_response_node.h │ │ ├── intake_node.h │ │ ├── language_rules.h │ │ ├── node.h │ │ ├── object_reference_node.h │ │ ├── object_reference_node_output.h │ │ ├── piranha.h │ │ ├── piston_node.h │ │ ├── rod_journal_node.h │ │ ├── standard_valvetrain_node.h │ │ ├── throttle_nodes.h │ │ ├── transmission_node.h │ │ ├── valvetrain_node.h │ │ ├── vehicle_node.h │ │ └── vtec_valvetrain_node.h │ └── src/ │ ├── channel_types.cpp │ ├── compiler.cpp │ ├── engine_context.cpp │ └── language_rules.cpp ├── src/ │ ├── afr_cluster.cpp │ ├── audio_buffer.cpp │ ├── camshaft.cpp │ ├── combustion_chamber.cpp │ ├── combustion_chamber_object.cpp │ ├── connecting_rod.cpp │ ├── connecting_rod_object.cpp │ ├── convolution_filter.cpp │ ├── crankshaft.cpp │ ├── crankshaft_object.cpp │ ├── cylinder_bank.cpp │ ├── cylinder_bank_object.cpp │ ├── cylinder_head.cpp │ ├── cylinder_head_object.cpp │ ├── cylinder_pressure_gauge.cpp │ ├── cylinder_temperature_gauge.cpp │ ├── delay_filter.cpp │ ├── derivative_filter.cpp │ ├── direct_throttle_linkage.cpp │ ├── dynamometer.cpp │ ├── engine.cpp │ ├── engine_sim_application.cpp │ ├── engine_view.cpp │ ├── exhaust_system.cpp │ ├── feedback_comb_filter.cpp │ ├── filter.cpp │ ├── firing_order_display.cpp │ ├── fuel.cpp │ ├── fuel_cluster.cpp │ ├── function.cpp │ ├── gas_system.cpp │ ├── gauge.cpp │ ├── gaussian_filter.cpp │ ├── geometry_generator.cpp │ ├── governor.cpp │ ├── ignition_module.cpp │ ├── impulse_response.cpp │ ├── info_cluster.cpp │ ├── intake.cpp │ ├── jitter_filter.cpp │ ├── labeled_gauge.cpp │ ├── leveling_filter.cpp │ ├── load_simulation_cluster.cpp │ ├── low_pass_filter.cpp │ ├── main.cpp │ ├── mixer_cluster.cpp │ ├── oscilloscope.cpp │ ├── oscilloscope_cluster.cpp │ ├── part.cpp │ ├── performance_cluster.cpp │ ├── piston.cpp │ ├── piston_engine_simulator.cpp │ ├── piston_object.cpp │ ├── right_gauge_cluster.cpp │ ├── shaders.cpp │ ├── simulation_object.cpp │ ├── simulator.cpp │ ├── standard_valvetrain.cpp │ ├── starter_motor.cpp │ ├── synthesizer.cpp │ ├── throttle.cpp │ ├── throttle_display.cpp │ ├── transmission.cpp │ ├── ui_button.cpp │ ├── ui_element.cpp │ ├── ui_manager.cpp │ ├── ui_math.cpp │ ├── ui_utilities.cpp │ ├── utilities.cpp │ ├── valvetrain.cpp │ ├── vehicle.cpp │ ├── vehicle_drag_constraint.cpp │ └── vtec_valvetrain.cpp └── test/ ├── function_test.cpp ├── gas_system_tests.cpp └── synthesizer_tests.cpp