mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-01 07:12:07 +00:00
# Description This PR expands profile validation so we can catch backward compatibility issues with custom presets generated by older OrcaSlicer releases. It also adds missing `renamed_from` metadata for presets that were renamed or moved, so older user presets can resolve their original parent names against the current system profiles. ## Background Many users have reported missing preset issues after upgrading past 2.4.1. Investigation showed two common causes: - preset lookup and compatibility checks did not always account for `renamed_from` - some renamed base presets were missing the old preset name in their `renamed_from` metadata The existing profile workflow validates the current system profile tree and a single nightly-generated custom preset bundle. That is useful for catching current profile errors, but it does not validate user presets generated by older OrcaSlicer versions against the current system profiles. As a result, older missing-parent compatibility gaps can slip through. ## Changes - Update `check_profiles.yml` to validate historical custom preset fixtures from `OrcaSlicer/OrcaSlicer-profile-validator`. - Download the fixture manifest from the public `fixture-archive` release. - Validate each `orca_custom_presets_<version>.zip` fixture independently against the current PR's `resources/profiles`. - Generate per-version validation logs and upload them as workflow artifacts. - Fail profile validation if any historical fixture version fails. - Add missing `renamed_from` aliases for renamed/moved presets found by the historical fixture validation. ## Profile Compatibility Fixes This PR adds aliases for older parent names including: - `0.20mm Bambu Support W @BBL X1C` -> `0.20mm Standard @BBL X1C` - `Bambu PLA Impact @BBL X1C` -> `Bambu PLA Impact @System` - `Ginger Generic rPLA` -> `Ginger Generic PLA` - `Ginger Generic rPETG` -> `Ginger Generic PETG` - legacy `Panchroma PLA Stain` BBL filament names -> current `Panchroma PLA Satin` names - legacy Elegoo casing/name variants such as `Elegoo RAPID PLA+`, `Elegoo RAPID PETG`, `Elegoo RAPID PETG+`, and `Elegoo PETG Pro @System` ## Validation Flow The custom preset validation step now: 1. Downloads `manifest.json` from the `fixture-archive` release. 2. Iterates over every fixture listed in the manifest. 3. Copies the current branch's `resources/profiles` into a temporary profile tree. 4. Removes any existing `user` directory from that temporary tree. 5. Unzips exactly one historical fixture into the temporary tree. 6. Runs `OrcaSlicer_profile_validator -p <temp profile tree> -l 2`. 7. Writes a version-specific log and a consolidated summary. This keeps validation scoped per fixture version and avoids mixing generated user presets from different OrcaSlicer releases. ## Fixture Source Historical fixtures are stored as public release assets in: `OrcaSlicer/OrcaSlicer-profile-validator`, release tag `fixture-archive` Each release asset is expected to be named like: ```text orca_custom_presets_v2.4.1.zip ``` ## Testing Validated locally with: - current system profile validation - BBL filament subtype validation - historical custom preset fixture validation - extra profile JSON check in a clean profile tree The affected historical fixture set passed after adding the missing `renamed_from` aliases. The release manifest controls which fixture versions are validated. [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
269 lines
8.7 KiB
JSON
269 lines
8.7 KiB
JSON
{
|
|
"type": "process",
|
|
"name": "0.20mm Standard @Creality K1 SE",
|
|
"renamed_from": "0.20mm Fast @Creality K1 SE 0.4",
|
|
"inherits": "fdm_process_creality_common",
|
|
"from": "system",
|
|
"setting_id": "eR9pRC1qPENNx8U9",
|
|
"instantiation": "true",
|
|
"max_travel_detour_distance": "0",
|
|
"bottom_surface_pattern": "monotonic",
|
|
"bottom_shell_layers": "3",
|
|
"bottom_shell_thickness": "0",
|
|
"bridge_flow": "0.95",
|
|
"bridge_speed": "50",
|
|
"internal_bridge_speed": "150%",
|
|
"brim_width": "5",
|
|
"brim_object_gap": "0.1",
|
|
"compatible_printers": [
|
|
"Creality K1 SE 0.4 nozzle"
|
|
],
|
|
"default_acceleration": "10000",
|
|
"bridge_no_support": "0",
|
|
"draft_shield": "disabled",
|
|
"elefant_foot_compensation": "0.15",
|
|
"outer_wall_line_width": "0.42",
|
|
"outer_wall_speed": "200",
|
|
"outer_wall_acceleration": "5000",
|
|
"inner_wall_acceleration": "5000",
|
|
"line_width": "0.42",
|
|
"infill_direction": "45",
|
|
"sparse_infill_density": "15%",
|
|
"sparse_infill_pattern": "grid",
|
|
"initial_layer_acceleration": "1000",
|
|
"initial_layer_line_width": "0.5",
|
|
"initial_layer_print_height": "0.2",
|
|
"initial_layer_speed": "60",
|
|
"gap_infill_speed": "250",
|
|
"infill_combination": "0",
|
|
"sparse_infill_line_width": "0.45",
|
|
"infill_wall_overlap": "30%",
|
|
"sparse_infill_speed": "270",
|
|
"interface_shells": "0",
|
|
"ironing_flow": "10%",
|
|
"ironing_spacing": "0.15",
|
|
"ironing_speed": "30",
|
|
"ironing_type": "no ironing",
|
|
"layer_height": "0.2",
|
|
"reduce_infill_retraction": "1",
|
|
"filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode",
|
|
"detect_overhang_wall": "1",
|
|
"overhang_1_4_speed": "0",
|
|
"overhang_2_4_speed": "50",
|
|
"overhang_3_4_speed": "25",
|
|
"overhang_4_4_speed": "10",
|
|
"only_one_wall_top": "1",
|
|
"inner_wall_line_width": "0.45",
|
|
"inner_wall_speed": "300",
|
|
"wall_loops": "2",
|
|
"raft_layers": "0",
|
|
"seam_position": "aligned",
|
|
"skirt_distance": "2",
|
|
"skirt_height": "1",
|
|
"skirt_loops": "0",
|
|
"minimum_sparse_infill_area": "15",
|
|
"internal_solid_infill_line_width": "0.42",
|
|
"internal_solid_infill_speed": "250",
|
|
"initial_layer_infill_speed": "60",
|
|
"standby_temperature_delta": "-5",
|
|
"enable_support": "0",
|
|
"resolution": "0.012",
|
|
"support_type": "normal(auto)",
|
|
"support_style": "default",
|
|
"support_on_build_plate_only": "0",
|
|
"support_top_z_distance": "0.2",
|
|
"support_bottom_z_distance": "0.2",
|
|
"support_filament": "0",
|
|
"support_line_width": "0.42",
|
|
"support_interface_loop_pattern": "0",
|
|
"support_interface_filament": "0",
|
|
"support_interface_top_layers": "2",
|
|
"support_interface_bottom_layers": "2",
|
|
"support_interface_spacing": "0.5",
|
|
"support_expansion": "0",
|
|
"support_interface_speed": "80",
|
|
"support_base_pattern": "rectilinear",
|
|
"support_base_pattern_spacing": "2.5",
|
|
"support_speed": "150",
|
|
"support_threshold_angle": "30",
|
|
"support_object_xy_distance": "0.35",
|
|
"tree_support_branch_diameter": "2",
|
|
"tree_support_branch_angle": "45",
|
|
"tree_support_wall_count": "0",
|
|
"detect_thin_wall": "0",
|
|
"top_surface_pattern": "monotonicline",
|
|
"top_surface_line_width": "0.42",
|
|
"top_surface_acceleration": "2000",
|
|
"top_surface_speed": "150",
|
|
"top_shell_layers": "5",
|
|
"top_shell_thickness": "0.8",
|
|
"travel_acceleration": "10000",
|
|
"initial_layer_travel_speed": "100%",
|
|
"travel_speed": "500",
|
|
"enable_prime_tower": "1",
|
|
"wipe_tower_no_sparse_layers": "0",
|
|
"prime_tower_width": "35",
|
|
"xy_hole_compensation": "0",
|
|
"xy_contour_compensation": "0",
|
|
"gcode_label_objects": "1",
|
|
"precise_outer_wall": "0",
|
|
"accel_to_decel_enable": "1",
|
|
"accel_to_decel_factor": "50",
|
|
"acceleration_limit_mess_enable": "0",
|
|
"ai_infill": "0",
|
|
"alternate_extra_wall": "0",
|
|
"bottom_solid_infill_flow_ratio": "1",
|
|
"bridge_acceleration": "50%",
|
|
"bridge_angle": "0",
|
|
"bridge_density": "100%",
|
|
"brim_ears_detection_length": "1",
|
|
"brim_ears_max_angle": "125",
|
|
"brim_type": "auto_brim",
|
|
"counterbore_hole_bridging": "none",
|
|
"default_jerk": "10",
|
|
"detect_narrow_internal_solid_infill": "1",
|
|
"dont_filter_internal_bridges": "disabled",
|
|
"elefant_foot_compensation_layers": "1",
|
|
"enable_arc_fitting": "1",
|
|
"enable_overhang_speed": "1",
|
|
"enforce_support_layers": "0",
|
|
"ensure_vertical_shell_thickness": "ensure_all",
|
|
"exclude_object": "1",
|
|
"extra_perimeters_on_overhangs": "0",
|
|
"filter_out_gap_fill": "0",
|
|
"flush_into_infill": "0",
|
|
"flush_into_objects": "0",
|
|
"flush_into_support": "1",
|
|
"fuzzy_skin": "none",
|
|
"fuzzy_skin_first_layer": "0",
|
|
"fuzzy_skin_point_distance": "0.8",
|
|
"fuzzy_skin_thickness": "0.3",
|
|
"gap_fill_target": "everywhere",
|
|
"gcode_add_line_number": "0",
|
|
"gcode_comments": "0",
|
|
"hole_to_polyhole": "0",
|
|
"hole_to_polyhole_threshold": "0.01",
|
|
"hole_to_polyhole_twisted": "1",
|
|
"independent_support_layer_height": "1",
|
|
"infill_anchor": "400%",
|
|
"infill_anchor_max": "20",
|
|
"infill_jerk": "10",
|
|
"initial_layer_jerk": "10",
|
|
"initial_layer_min_bead_width": "85%",
|
|
"inner_wall_jerk": "10",
|
|
"internal_bridge_flow": "1",
|
|
"internal_solid_infill_acceleration": "100%",
|
|
"internal_solid_infill_pattern": "monotonic",
|
|
"ironing_angle": "90",
|
|
"ironing_pattern": "zig-zag",
|
|
"ironing_support_layer": "0",
|
|
"is_infill_first": "0",
|
|
"make_overhang_printable": "0",
|
|
"make_overhang_printable_angle": "55",
|
|
"make_overhang_printable_hole_size": "0",
|
|
"material_flow_dependent_temperature": "0",
|
|
"material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]",
|
|
"max_bridge_length": "10",
|
|
"max_volumetric_extrusion_rate_slope": "0",
|
|
"max_volumetric_extrusion_rate_slope_segment_length": "3",
|
|
"min_bead_width": "85%",
|
|
"min_feature_size": "25%",
|
|
"min_length_factor": "0.5",
|
|
"min_width_top_surface": "300%",
|
|
"minimum_support_area": "5",
|
|
"mmu_segmented_region_interlocking_depth": "0",
|
|
"mmu_segmented_region_max_width": "0",
|
|
"only_one_wall_first_layer": "0",
|
|
"ooze_prevention": "0",
|
|
"outer_wall_jerk": "8",
|
|
"overhang_reverse": "0",
|
|
"overhang_reverse_internal_only": "0",
|
|
"overhang_reverse_threshold": "50%",
|
|
"overhang_speed_classic": "0",
|
|
"overhang_totally_speed": "50",
|
|
"prime_tower_brim_width": "3",
|
|
"prime_tower_enhance_type": "chamfer",
|
|
"prime_volume": "45",
|
|
"print_flow_ratio": "1",
|
|
"print_order": "default",
|
|
"print_sequence": "by layer",
|
|
"raft_contact_distance": "0.1",
|
|
"raft_expansion": "1.5",
|
|
"raft_first_layer_density": "90%",
|
|
"raft_first_layer_expansion": "2",
|
|
"reduce_crossing_wall": "0",
|
|
"role_based_wipe_speed": "1",
|
|
"scarf_angle_threshold": "155",
|
|
"scarf_joint_flow_ratio": "1",
|
|
"scarf_joint_speed": "100%",
|
|
"scarf_overhang_threshold": "40%",
|
|
"seam_gap": "10%",
|
|
"seam_slope_conditional": "0",
|
|
"seam_slope_entire_loop": "0",
|
|
"seam_slope_inner_walls": "0",
|
|
"seam_slope_min_length": "20",
|
|
"seam_slope_start_height": "0",
|
|
"seam_slope_steps": "10",
|
|
"seam_slope_type": "none",
|
|
"single_extruder_multi_material_priming": "0",
|
|
"skirt_speed": "50",
|
|
"slice_closing_radius": "0.049",
|
|
"slicing_mode": "regular",
|
|
"slow_down_layers": "0",
|
|
"slowdown_for_curled_perimeters": "0",
|
|
"small_area_infill_flow_compensation": "0",
|
|
"small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"",
|
|
"small_perimeter_speed": "50%",
|
|
"small_perimeter_threshold": "0",
|
|
"solid_infill_filament": "1",
|
|
"sparse_infill_acceleration": "100%",
|
|
"sparse_infill_filament": "1",
|
|
"speed_limit_to_height_enable": "0",
|
|
"spiral_mode": "0",
|
|
"spiral_mode_max_xy_smoothing": "200%",
|
|
"spiral_mode_smooth": "0",
|
|
"staggered_inner_seams": "1",
|
|
"support_angle": "0",
|
|
"support_bottom_interface_spacing": "0.5",
|
|
"support_critical_regions_only": "0",
|
|
"support_interface_not_for_body": "1",
|
|
"support_interface_pattern": "auto",
|
|
"support_remove_small_overhang": "1",
|
|
"support_xy_overrides_z": "xy_overrides_z",
|
|
"thick_bridges": "0",
|
|
"thick_internal_bridges": "1",
|
|
"timelapse_type": "0",
|
|
"top_solid_infill_flow_ratio": "1",
|
|
"top_surface_jerk": "10",
|
|
"travel_jerk": "10",
|
|
"travel_speed_z": "0",
|
|
"tree_support_adaptive_layer_height": "1",
|
|
"tree_support_angle_slow": "25",
|
|
"tree_support_auto_brim": "1",
|
|
"tree_support_branch_angle_organic": "40",
|
|
"tree_support_branch_diameter_angle": "5",
|
|
"tree_support_branch_diameter_double_wall": "3",
|
|
"tree_support_branch_diameter_organic": "2",
|
|
"tree_support_branch_distance": "5",
|
|
"tree_support_branch_distance_organic": "1",
|
|
"tree_support_brim_width": "3",
|
|
"tree_support_tip_diameter": "0.8",
|
|
"tree_support_top_rate": "30%",
|
|
"wall_direction": "auto",
|
|
"wall_distribution_count": "1",
|
|
"wall_filament": "1",
|
|
"wall_generator": "classic",
|
|
"wall_sequence": "inner wall/outer wall",
|
|
"wall_transition_angle": "10",
|
|
"wall_transition_filter_deviation": "25%",
|
|
"wall_transition_length": "100%",
|
|
"wipe_before_external_loop": "0",
|
|
"wipe_on_loops": "0",
|
|
"wipe_speed": "80%",
|
|
"wipe_tower_bridging": "10",
|
|
"wipe_tower_cone_angle": "0",
|
|
"wipe_tower_extra_spacing": "100%",
|
|
"wipe_tower_rotation_angle": "0",
|
|
"wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70"
|
|
}
|