// ===== AUTO-GENERATED by tools/config_codegen.py ===== static const std::unordered_map> s_print_steps_map = { {"accel_to_decel_enable", {psGCodeExport}}, {"accel_to_decel_factor", {psGCodeExport}}, {"activate_air_filtration", {psGCodeExport}}, {"activate_air_filtration_during_print", {psGCodeExport}}, {"activate_air_filtration_on_completion", {psGCodeExport}}, {"activate_chamber_temp_control", {psGCodeExport}}, {"additional_cooling_fan_speed", {psGCodeExport}}, {"bed_temperature_formula", {psGCodeExport}}, {"before_layer_change_gcode", {psGCodeExport}}, {"bridge_acceleration", {psGCodeExport}}, {"chamber_temperature", {psSkirtBrim, psWipeTower, psGCodeExport}}, {"change_filament_gcode", {psGCodeExport}}, {"close_fan_the_first_x_layers", {psGCodeExport}}, {"complete_print_exhaust_fan_speed", {psGCodeExport}}, {"cool_plate_temp", {psSkirtBrim, psWipeTower}}, {"cool_plate_temp_initial_layer", {psGCodeExport}}, {"curr_bed_type", {psGCodeExport}}, {"default_acceleration", {psGCodeExport}}, {"default_filament_colour", {psGCodeExport}}, {"deretraction_speed", {psGCodeExport}}, {"disable_m73", {psGCodeExport}}, {"dont_slow_down_outer_wall", {psGCodeExport}}, {"draft_shield", {psSkirtBrim}}, {"during_print_exhaust_fan_speed", {psGCodeExport}}, {"enable_arc_fitting", {psSkirtBrim}}, {"enable_filament_ramming", {psSkirtBrim, psWipeTower}}, {"enable_long_retraction_when_cut", {psGCodeExport}}, {"enable_overhang_bridge_fan", {psGCodeExport}}, {"enable_pressure_advance", {psGCodeExport}}, {"enable_prime_tower", {psSkirtBrim, psWipeTower}}, {"enable_tower_interface_features", {psSkirtBrim, psWipeTower}}, {"enable_wrapping_detection", {psSkirtBrim, psWipeTower}}, {"eng_plate_temp", {psSkirtBrim, psWipeTower}}, {"eng_plate_temp_initial_layer", {psGCodeExport}}, {"exclude_object", {psGCodeExport}}, {"extruder_ams_count", {psSkirtBrim, psWipeTower}}, {"extruder_clearance_height_to_lid", {psGCodeExport}}, {"extruder_clearance_height_to_rod", {psGCodeExport}}, {"extruder_clearance_radius", {psGCodeExport}}, {"extruder_colour", {psGCodeExport}}, {"extruder_offset", {psGCodeExport}}, {"extrusion_rate_smoothing_external_perimeter_only", {psGCodeExport}}, {"fan_cooling_layer_time", {psGCodeExport}}, {"fan_kickstart", {psGCodeExport}}, {"fan_max_speed", {psGCodeExport}}, {"fan_min_speed", {psGCodeExport}}, {"fan_speedup_overhangs", {psGCodeExport}}, {"fan_speedup_time", {psGCodeExport}}, {"filament_adaptive_volumetric_speed", {psSkirtBrim, psWipeTower}}, {"filament_adhesiveness_category", {psSkirtBrim, psWipeTower}}, {"filament_change_length", {psWipeTower}}, {"filament_colour", {psGCodeExport}}, {"filament_cooling_final_speed", {psSkirtBrim, psWipeTower}}, {"filament_cooling_initial_speed", {psSkirtBrim, psWipeTower}}, {"filament_cooling_moves", {psSkirtBrim, psWipeTower}}, {"filament_cost", {psGCodeExport}}, {"filament_density", {psGCodeExport}}, {"filament_diameter", {psGCodeExport}}, {"filament_end_gcode", {psGCodeExport}}, {"filament_flow_ratio", {psGCodeExport}}, {"filament_is_support", {psWipeTower}}, {"filament_loading_speed", {psSkirtBrim, psWipeTower}}, {"filament_loading_speed_start", {psSkirtBrim, psWipeTower}}, {"filament_map", {psSkirtBrim, psWipeTower}}, {"filament_map_mode", {psSkirtBrim, psWipeTower}}, {"filament_max_volumetric_speed", {psSkirtBrim, psWipeTower}}, {"filament_minimal_purge_on_wipe_tower", {psSkirtBrim, psWipeTower}}, {"filament_multitool_ramming", {psSkirtBrim, psWipeTower}}, {"filament_multitool_ramming_flow", {psSkirtBrim, psWipeTower}}, {"filament_multitool_ramming_volume", {psSkirtBrim, psWipeTower}}, {"filament_notes", {psGCodeExport}}, {"filament_printable", {psWipeTower}}, {"filament_ramming_parameters", {psSkirtBrim, psWipeTower}}, {"filament_soluble", {psWipeTower}}, {"filament_stamping_distance", {psSkirtBrim, psWipeTower}}, {"filament_stamping_loading_speed", {psSkirtBrim, psWipeTower}}, {"filament_start_gcode", {psGCodeExport}}, {"filament_toolchange_delay", {psSkirtBrim, psWipeTower}}, {"filament_tower_interface_pre_extrusion_dist", {psSkirtBrim, psWipeTower}}, {"filament_tower_interface_pre_extrusion_length", {psSkirtBrim, psWipeTower}}, {"filament_tower_interface_print_temp", {psSkirtBrim, psWipeTower}}, {"filament_tower_interface_purge_volume", {psSkirtBrim, psWipeTower}}, {"filament_tower_ironing_area", {psSkirtBrim, psWipeTower}}, {"filament_type", {psSkirtBrim, psWipeTower}}, {"filament_unloading_speed", {psSkirtBrim, psWipeTower}}, {"filament_unloading_speed_start", {psSkirtBrim, psWipeTower}}, {"filename_format", {psGCodeExport}}, {"first_layer_print_sequence", {psSkirtBrim, psWipeTower}}, {"flush_into_infill", {psSkirtBrim, psWipeTower}}, {"flush_into_support", {psSkirtBrim, psWipeTower}}, {"flush_volumes_matrix", {psSkirtBrim, psWipeTower}}, {"full_fan_speed_layer", {psGCodeExport}}, {"gcode_add_line_number", {psGCodeExport}}, {"gcode_comments", {psGCodeExport}}, {"gcode_flavor", {psSkirtBrim, psWipeTower}}, {"gcode_label_objects", {psGCodeExport}}, {"grab_length", {psGCodeExport}}, {"hot_plate_temp", {psSkirtBrim, psWipeTower}}, {"hot_plate_temp_initial_layer", {psGCodeExport}}, {"idle_temperature", {psSkirtBrim, psWipeTower}}, {"independent_support_layer_height", {psWipeTower}}, {"initial_layer_acceleration", {psGCodeExport}}, {"initial_layer_infill_speed", {psSkirtBrim, psWipeTower}}, {"initial_layer_line_width", {psSkirtBrim}}, {"initial_layer_speed", {psSkirtBrim, psWipeTower}}, {"initial_layer_travel_acceleration", {psSkirtBrim, psWipeTower}}, {"initial_layer_travel_jerk", {psSkirtBrim, psWipeTower}}, {"initial_layer_travel_speed", {psSkirtBrim, psWipeTower}}, {"inner_wall_acceleration", {psGCodeExport}}, {"internal_bridge_fan_speed", {psGCodeExport}}, {"internal_solid_infill_acceleration", {psGCodeExport}}, {"ironing_fan_speed", {psGCodeExport}}, {"is_infill_first", {psGCodeExport}}, {"layer_change_gcode", {psGCodeExport}}, {"long_retractions_when_cut", {psGCodeExport}}, {"machine_end_gcode", {psGCodeExport}}, {"machine_start_gcode", {psGCodeExport}}, {"manual_filament_change", {psGCodeExport}}, {"max_layer_height", {psSkirtBrim}}, {"max_travel_detour_distance", {psGCodeExport}}, {"max_volumetric_extrusion_rate_slope", {psGCodeExport}}, {"max_volumetric_extrusion_rate_slope_segment_length", {psGCodeExport}}, {"min_layer_height", {psSkirtBrim}}, {"min_skirt_length", {psSkirtBrim}}, {"nozzle_height", {psGCodeExport}}, {"nozzle_hrc", {psGCodeExport}}, {"nozzle_temperature", {psSkirtBrim, psWipeTower}}, {"nozzle_temperature_initial_layer", {psSkirtBrim, psWipeTower}}, {"nozzle_volume", {psGCodeExport}}, {"ooze_prevention", {psSkirtBrim}}, {"other_layers_print_sequence", {psSkirtBrim, psWipeTower}}, {"other_layers_print_sequence_nums", {psSkirtBrim, psWipeTower}}, {"outer_wall_acceleration", {psGCodeExport}}, {"overhang_fan_speed", {psGCodeExport}}, {"overhang_fan_threshold", {psGCodeExport}}, {"part_cooling_fan_min_pwm", {psGCodeExport}}, {"post_process", {psGCodeExport}}, {"preheat_steps", {psGCodeExport}}, {"preheat_time", {psGCodeExport}}, {"pressure_advance", {psGCodeExport}}, {"prime_tower_brim_width", {psSkirtBrim, psWipeTower}}, {"prime_tower_enable_framework", {psSkirtBrim, psWipeTower}}, {"prime_tower_flat_ironing", {psSkirtBrim, psWipeTower}}, {"prime_tower_skip_points", {psSkirtBrim, psWipeTower}}, {"prime_tower_width", {psSkirtBrim, psWipeTower}}, {"prime_volume", {psSkirtBrim, psWipeTower}}, {"print_order", {psSkirtBrim}}, {"print_sequence", {psSkirtBrim, psWipeTower}}, {"printer_notes", {psGCodeExport}}, {"printing_by_object_gcode", {psGCodeExport}}, {"purge_in_prime_tower", {psSkirtBrim, psWipeTower}}, {"reduce_crossing_wall", {psGCodeExport}}, {"reduce_fan_stop_start_freq", {psGCodeExport}}, {"reduce_infill_retraction", {psGCodeExport}}, {"required_nozzle_HRC", {psGCodeExport}}, {"resolution", {psSkirtBrim}}, {"retract_before_wipe", {psGCodeExport}}, {"retract_length_toolchange", {psGCodeExport}}, {"retract_lift_above", {psGCodeExport}}, {"retract_lift_below", {psGCodeExport}}, {"retract_lift_enforce", {psGCodeExport}}, {"retract_restart_extra", {psGCodeExport}}, {"retract_restart_extra_toolchange", {psGCodeExport}}, {"retract_when_changing_layer", {psGCodeExport}}, {"retraction_distances_when_cut", {psGCodeExport}}, {"retraction_length", {psGCodeExport}}, {"retraction_minimum_travel", {psGCodeExport}}, {"retraction_speed", {psGCodeExport}}, {"role_based_wipe_speed", {psGCodeExport}}, {"seam_gap", {psGCodeExport}}, {"single_extruder_multi_material", {psSkirtBrim, psWipeTower}}, {"single_extruder_multi_material_priming", {psGCodeExport}}, {"single_loop_draft_shield", {psSkirtBrim}}, {"skirt_distance", {psSkirtBrim}}, {"skirt_height", {psSkirtBrim}}, {"skirt_loops", {psSkirtBrim}}, {"skirt_speed", {psSkirtBrim}}, {"skirt_start_angle", {psSkirtBrim}}, {"skirt_type", {psSkirtBrim}}, {"slow_down_for_layer_cooling", {psGCodeExport}}, {"slow_down_layer_time", {psGCodeExport}}, {"slow_down_layers", {psSkirtBrim, psWipeTower}}, {"slow_down_min_speed", {psGCodeExport}}, {"sparse_infill_acceleration", {psGCodeExport}}, {"standby_temperature_delta", {psGCodeExport}}, {"supertack_plate_temp", {psSkirtBrim, psWipeTower}}, {"supertack_plate_temp_initial_layer", {psGCodeExport}}, {"support_material_interface_fan_speed", {psGCodeExport}}, {"support_multi_bed_types", {psSkirtBrim, psWipeTower}}, {"textured_cool_plate_temp", {psSkirtBrim, psWipeTower}}, {"textured_cool_plate_temp_initial_layer", {psGCodeExport}}, {"textured_plate_temp", {psSkirtBrim, psWipeTower}}, {"textured_plate_temp_initial_layer", {psGCodeExport}}, {"thumbnails", {psGCodeExport}}, {"thumbnails_format", {psGCodeExport}}, {"time_lapse_gcode", {psGCodeExport}}, {"tool_change_on_wipe_tower", {psSkirtBrim, psWipeTower}}, {"top_surface_acceleration", {psGCodeExport}}, {"travel_acceleration", {psGCodeExport}}, {"travel_slope", {psGCodeExport}}, {"travel_speed", {psSkirtBrim, psWipeTower}}, {"travel_speed_z", {psSkirtBrim, psWipeTower}}, {"upward_compatible_machine", {psGCodeExport}}, {"use_firmware_retraction", {psGCodeExport}}, {"use_relative_e_distances", {psGCodeExport}}, {"volumetric_speed_coefficients", {psGCodeExport}}, {"wall_sequence", {psSkirtBrim}}, {"wipe", {psGCodeExport}}, {"wipe_distance", {psGCodeExport}}, {"wipe_on_loops", {psGCodeExport}}, {"wipe_speed", {psGCodeExport}}, {"wipe_tower_bridging", {psSkirtBrim, psWipeTower}}, {"wipe_tower_cone_angle", {psSkirtBrim, psWipeTower}}, {"wipe_tower_extra_flow", {psSkirtBrim, psWipeTower}}, {"wipe_tower_extra_rib_length", {psSkirtBrim, psWipeTower}}, {"wipe_tower_extra_spacing", {psSkirtBrim, psWipeTower}}, {"wipe_tower_filament", {psSkirtBrim, psWipeTower}}, {"wipe_tower_fillet_wall", {psSkirtBrim, psWipeTower}}, {"wipe_tower_max_purge_speed", {psSkirtBrim, psWipeTower}}, {"wipe_tower_no_sparse_layers", {psSkirtBrim, psWipeTower}}, {"wipe_tower_rib_width", {psSkirtBrim, psWipeTower}}, {"wipe_tower_rotation_angle", {psSkirtBrim}}, {"wipe_tower_type", {psSkirtBrim, psWipeTower}}, {"wipe_tower_wall_type", {psSkirtBrim, psWipeTower}}, {"wipe_tower_x", {psSkirtBrim}}, {"wipe_tower_y", {psSkirtBrim}}, {"wiping_volumes_extruders", {psSkirtBrim, psWipeTower}}, {"wrapping_detection_gcode", {psGCodeExport}}, {"z_hop", {psGCodeExport}}, {"z_offset", {psSkirtBrim, psWipeTower}}, }; static const std::unordered_map> s_object_steps_map = { {"enable_arc_fitting", {posSupportMaterial, posInfill, posPerimeters}}, {"filament_change_length", {posSupportMaterial}}, {"filament_is_support", {posSupportMaterial}}, {"filament_printable", {posSupportMaterial}}, {"filament_shrink", {posSlice}}, {"filament_shrinkage_compensation_z", {posSlice}}, {"filament_soluble", {posSupportMaterial}}, {"independent_support_layer_height", {posSupportMaterial}}, {"initial_layer_line_width", {posSupportMaterial, posInfill, posPerimeters}}, {"initial_layer_print_height", {posSlice}}, {"max_layer_height", {posSupportMaterial, posInfill, posPerimeters}}, {"min_layer_height", {posSupportMaterial, posInfill, posPerimeters}}, {"nozzle_diameter", {posSlice}}, {"precise_z_height", {posSlice}}, {"print_order", {posSupportMaterial, posInfill, posPerimeters}}, {"resolution", {posSupportMaterial, posInfill, posPerimeters, posSlice}}, {"spiral_mode", {posSlice}}, {"wall_sequence", {posSupportMaterial, posInfill, posPerimeters}}, };