Repository navigation
Conversation
…napmaker#1052) Single-filament projects slice from the edited filament preset (PresetBundle::full_fff_config), but machine sync only renamed filament_presets[i]. After Edge's CANVAS Generic / vendor-colour fallback, defer Tab::select_preset plus on_config_change via CallAfter so the pre-print page and the next slice use the synced filament without freezing the UI. Deft Co-authored-by: aceRage <aceRage@users.noreply.github.com>
Avoid a second wxGetApp() lookup between the null check and full_config(). Deft
This branch has not been deployed
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
Careful port of Snapmaker #1052 (merged to
build_platform_engineering). Single-filament projects assemble the slice from the edited filament preset (PresetBundle::full_fff_config()), but machine sync only renamedfilament_presets[i]. After a 1-filament sync of a different type (PLA↔PETG), the pre-print page kept the old filament and the print could not be started.Adaptations (not a cherry-pick)
Edge's match lives in
Sidebar::apply_machine_filament_sync(shared by U1 and Elegoo CANVAS). Slot 0'smatchedname is recorded after Edge's own fallback:@ECC(canvas_generic_preset_name)resolve_filament_preset(... vendor, colour)Upstream records a single
resolve_filament_preset(name, type)insideshow_sync_filament_dialog. That would skip the CANVAS Generic path.After
on_filaments_change, if there is one filament and the edited preset is not the slot-0 match,CallAfterre-fetcheswxGetApp().plater()and runs Edge's normal filament-select path (Tab::select_presetthenPlater::on_config_change) so the Tab and config propagate without freezing the UI.on_config_changealso runs for multi-filament syncs, as upstream. No profile JSON was rewritten.Screenshots/Recordings/Graphs
N/A (logic fix, no UI layout change).
Overlap
Touches
src/slic3r/GUI/Plater.cppnext to two open Edge PRs. Keep this diff to the shared sync tail; rebase whichever lands second.Sidebar::on_filaments_change. This PR only calls that function, then queues the CallAfter.show_cfs_sync_dialog, which callsapply_machine_filament_sync. This PR edits that shared tail, so CFS 1-filament sync will get the same edited-preset switch once Creality: sync CFS filaments into the project (C6) #619 lands.Tests
GUI-only path (wx
CallAfter/Tab::select_preset). No new Catch2 cases. Catch2 binaries were not present in this environment.Broker (owed, REAPER
C:/Dev/wt_snap-1052):libslic3r_tests+slic3rutils_tests. Gate:--gateexpected identical=10 / diff=0 (no G-code change). Russ review.Manual (U1 / CANVAS)
@ECC(or Generic type) preset, then the same 1-filament switch.job 357: built @2fc6ddb2fb; libslic3r_tests 2261/2264 (3 expected fails), slic3rutils_tests 1314/1314, GATE_RESULT identical=10 config_only=0 diff=0 failed=0 missing=0 vs windows baseline 6b47212, copy:
C:\Dev\EdgeSlicerTest\pr647