Conversation
…caSlicer#15472 adapt) Port OrcaSlicer OrcaSlicer#15472 onto Edge without adding ConfigValueFormatter. Index coFloatsOrPercents in Search, add a 3-arg get_option with a safe miss (empty Option, variant_index=-2), and format absolute vs percent inline in UnsavedChangesDialog::get_string_value. Keep Edge #21 crash guards so copy/unsaved-changes still shows keys absent from the search index. deep_diff/apply_only gain per-slot coFloatsOrPercents transfer so Catch2 can assert 50 vs 50% per variant. Cereal is untouched. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Port of OrcaSlicer #15472 (merged) onto Edge.
Indexed speed settings (
coFloatsOrPercents, e.g.small_perimeter_speed#0) were missing or formatted wrong in Unsaved Changes after Orca OrcaSlicer#13712. This adapt lands the UI/search/test work without inventing Orca’sConfigValueFormattermodule (Edge formats inline inUnsavedChangesDialog::get_string_value).Edge adapt
coFloatsOrPercentsformatting inget_string_value(absolute vs%, including whole-vector serialize when unindexed).get_option(opt_key, type, variant_index&)with safe miss (empty Option,variant_index = -2). Keep the 2-arg overload’soptions[0]fallback for other callers.coFloatsOrPercentsinappend_options(printer/SLA switch + print-level only; do not index every print vector type — Edge has no*_options_with_variantsets from Orca Add nozzle flow variant & make some options multi-variant OrcaSlicer/OrcaSlicer#13712).options[0].*_extruder_variant/*_extruder_id; Normal/Silent suffixes whensilent_modeis on for Machine limits.deep_diff+apply_onlyhandle per-slotcoFloatsOrPercents/key#indexso transfer of50→50%is index-accurate. Cereal is not touched.Forbidden areas left untouched: CLI (
Snapmaker_Orca.cpp), MixedFilament, wipe-tower, paint-depth.Screenshots/Recordings/Graphs
Upstream screenshots live on Orca OrcaSlicer#15472. No GUI runtime in this environment to recapture Edge Unsaved Changes.
Tests
tests/libslic3r/test_preset_diff.cpp:deep_diff distinguishes absolute and percentage speeds for each variant([PresetDiff][Config]). Uses Catch2 v2 (catch.hpp), not Orca’s v3catch_all.hpp.build// deps in this environment. Please run:cmake --build build --target libslic3r_tests --parallel ./build/tests/libslic3r/libslic3r_tests "[PresetDiff]" --order rand --warn NoAssertionssmall_perimeter_speed50 → 50% on one variant; Unsaved Changes should list that index with%and transfer it. Multi-extruder labels should match printer tabs; newly added variants should appear. Copy-parameters / missing search keys must stay visible.