* Fix active filament preset not matching wizard selection on first run
After completing the setup wizard with only a non-PLA filament selected
(e.g. Generic ABS), the active filament preset defaulted to Generic PLA
instead of the user's selection. This happened because load_presets()
falls back to Generic PLA when the initial printer differs from the
preferred printer, and the first_added_filament override was disabled.
Add post-load correction in apply_config() that switches the active
filament to the first compatible wizard-selected filament when the
current active filament is not in the wizard selection. Also fix the
guide JS (22.js, 23.js) to use the filalist attribute for building
the filament array, and add platform-specific build test commands to
CLAUDE.md.
* Replace @System filaments with vendor-specific overrides in wizard
When the wizard selects a generic filament like "Generic ABS @System",
check if a vendor-specific override exists (e.g. BBL "Generic ABS")
and use that instead. This ensures printer-tuned profiles are preferred,
preventing load_installed_filaments from adding unwanted BBL defaults.
When printers from the default bundle are also selected, both variants
are kept since those printers need the @System version.
Also adds diagnostic logging for filament loading in LoadProfileFamily.
* Guard against persisting presets for Default Printer and fix filament override logic
Prevent export_selections from saving stale preset settings for the
built-in "Default Printer" placeholder, which is only the initial state
before a real printer is loaded. Also require a non-default vendor printer
to be selected before replacing @System filaments with vendor-specific
overrides in the wizard, avoiding incorrect filament substitution when
only the default bundle is present.
layer_height_profile_adaptive() was using object_print_z_height()
(shrinkage-compensated) to bound the profile, but
update_layer_height_profile() validates against
object_print_z_uncompensated_max. When shrinkage compensation is
active, the mismatch causes the adaptive profile to be silently
cleared every frame and replaced with flat layers.
Use object_print_z_uncompensated_height() instead, matching both
the validator and the existing layer_height_profile_from_ranges()
implementation which already uses the uncompensated value.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add overhang_reverse config to calibration routines
Set the 'overhang_reverse' configuration option to false in both calib_temp and calib_retraction functions to ensure consistent calibration behavior.
* Disable overhang_reverse in calib_pa function
Adds a line to set the 'overhang_reverse' configuration option to false when running the calib_pa function, ensuring this feature is disabled during calibration.
* Disable reverse on even for PA Tower
* Remove unncesary overhang_reverse disablers
* Update Plater.cpp
Update Plater.cpp
* Update Plater.cpp
Changed the help link for the 'symmetric_infill_y_axis' option from 'strength_settings_patterns#zig-zag' to 'strength_settings_infill#symmetric-infill-y-axis' to provide more accurate documentation.
* Fix aligned back seam positioning for mirrored objects
This change makes “Aligned back” seams behave the same on mirrored models as on normal models.
Mirroring flips the model’s surface directions, so the slicer treated the back as the front.
Now it corrects those directions when calculating seam visibility, so seams still line up on the back after mirroring.
* Comments
Add comments to the changes
# Description
When creating a new filament preset and setting the Printer Dependencies to "All", the preset does not save this setting. This issue only occurs on creation due to code that is meant to validate the data to prevent a case where the filament is compatible with none of the printers.
EDIT: While I considered redoing the data validation for this tab overall, I have now preserved the original purpose of the code, which is to add the current printer as a compatible printer only if:
- the base preset is a System preset
- the user has not specified any compatible printers
Notably, this seems to be the cause of #11959
Moving the data validation from `Preset::save_current_preset` to `Tab::save_preset` allows the Preset function to be simplified through removal of the current printer parameter.
# Screenshots/Recordings/Graphs
There is no visible change on the UI.
## Tests
Tested the following combinations of filament presets:
- System->new User
- User->new User
- User->same User
Tried to set them to All, where the System->new User should be the only case where this is replaced by a default.
In any case where there are printers already set, those settings should be kept.
* Fix: GCodeViewer displaying inconsistent data in title and body
* Fix: remove actual flow info from GCodeViewer title
* Refactor: reduce repetition of N/A and headers
* Fix: Add missing categories to print settings (Seam, Wipe, Accel, Scarf)
- Assigns categories (Quality, Speed) to various print settings in PrintConfig.cpp.
- Ensures these settings are correctly tracked in the UI override list (GUI_ObjectList).
- Fixes issue where overriding these settings per-object did not trigger the 'modified' icon.
* Fix: Add missing categories to additional per-object settings
- Assigns categories (Speed, Quality, Strength, Support) to relevant settings.
- Cleans up duplicate definition of 'outer_wall_acceleration' in PrintConfig.cpp.
- Ensures the 'modified' icon (orange arrow) appears correctly in the Object List.
* Fix: Restore original default values for acceleration and skirt angle
- Reverted 'default_acceleration' back to 500.
- Reverted 'skirt_start_angle' back to -135.
* Style: Remove trailing whitespace in print_flow_ratio tooltip
* Fix: Mark skirt_start_angle as advanced setting
* fix values
* Fix dark color rendering in G-code preview by using additive specular lighting
* Revert "Fix dark color rendering in G-code preview by using additive specular lighting"
This reverts commit 2a65bc90607c1b5e9b1beb460bc81a448b011427.
* Fix dark color rendering in G-code preview (Standard & ES shaders) by using additive specular lighting
* Fix dark color preview: Increase minimum brightness to 48/255 (~19%)
* Refactor: Revert to combined lighting calculation in shaders