* Shellcheck all shell scripts
* Implement Shellcheck's recommendations
* Shellcheck the distribution-specific files
* Include the distro scripts to trigger action
* Fix array usage (hopefully)
* Use single-quote string
TIL: single quote string in yaml treats everything as literal, but
double quote allows backslash escaping.
* Make all cmake commands use set+-x dance and fix macos getopts line
Make Claude happy
getopts has colon after a command which takes an argument
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
- Reduced total amount of retraction as stock PTFE liner may not be able to take the heat. (7mm to 3mm)
- Added X Y to final G28 to avoid crashing into prints.
Co-authored-by: frawg <>
* fixes: 999 CMake Warnings at src/dev-utils/CMakeLists.txt:39 (add_custom_command)
* cmake clenup: adds PUBLIC/PRIVATE to libslic3r; attempt to reduce warnigns from eigen
* src/*/CMakeLists.txt: adds SYSTEM to arget_include_directories()
* src/*/CMakeLists.txt: removes duplicate sources from lisbslic3r_sources and SLIC3R_GUI_SOURCES"
* .gititnore: adds CMakeLists.txt.user and CMakeLists.txt.autosave
* deps_src/*/CMakeLists.txt: adds SYSTEM to arget_include_directories()
* removes #pragma once from .cpp file
As you can see, it's checkin the local variable
`custom_gcode_placeholders` which comes from
`custom_gcode_specific_placeholders()` which is:
```
const std::map<t_custom_gcode_key, t_config_option_keys>& custom_gcode_specific_placeholders()
{
return s_CustomGcodeSpecificPlaceholders;
}
```
not s_CustomGcodeSpecificOptions
/run/build/BambuStudio/src/slic3r/Utils/WxFontUtils.hpp: At global scope:
/run/build/BambuStudio/src/slic3r/Utils/WxFontUtils.hpp:44:56: error: ‘wxDC’ has not been declared
44 | static void get_suitable_font_size(int max_height, wxDC &dc);
| ^~~~
(cherry picked from commit 7f24d5123766fbcfcec6f1343eefa32edb6254d6)
In file included from /run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.cpp:1:
/run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.hpp:60:17: error: ‘wxBitmapButton’ was not declared in this scope
60 | std::vector<wxBitmapButton*> radio_btns;
| ^~~~~~~~~~~~~~
/run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.hpp:60:32: error: template argument 2 is invalid
/run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.hpp:65:14: error: field ‘checked_bmp’ has incomplete type ‘wxBitmap’
65 | wxBitmap checked_bmp;
| ^~~~~~~~~~~
(cherry picked from commit ab345221437f52606c54c76fd9837bd9dad98d1c)
In file included from /run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.cpp:1:
/run/build/BambuStudio/src/slic3r/GUI/FilamentGroupPopup.hpp:33:18: error: ‘wxTimerEvent’ has not been declared
33 | void OnTimer(wxTimerEvent &event);
| ^~~~~~~~~~~~
(cherry picked from commit b890f0a39fcb48a1f1e1ee01f2aacf5d2fa35ad6)
/run/build/BambuStudio/src/slic3r/GUI/WipeTowerDialog.cpp: In constructor ‘WipingDialog::WipingDialog(wxWindow*, const std::vector<std::vector<int>, std::allocator<std::vector<int> > >&, int)’:
/run/build/BambuStudio/src/slic3r/GUI/WipeTowerDialog.cpp:123: error: ‘wxDisplay’ was not declared in this scope; did you mean ‘wxGetDisplay’?
123 | double scale_factor = wxDisplay().GetScaleFactor();
(cherry picked from commit c6f2b0e950e607b24a74e797534e0aa7f6216d6f)
/run/build/BambuStudio/src/slic3r/GUI/ImGuiWrapper.cpp: In static member function ‘static ImVec2 Slic3r::GUI::ImGuiWrapper::suggest_location(const ImVec2&, const Slic3r::Polygon&, const ImVec2&)’:
/run/build/BambuStudio/src/slic3r/GUI/ImGuiWrapper.cpp:2201: error: ‘intersection’ is not a member of ‘Slic3r’; did you mean ‘PrinterFunction’?
2201 | if (Slic3r::intersection(interest, Polygon(moved_polygon)).empty())
(cherry picked from commit de2b5b74cecda595d75fef894da4a92936e0cb7f)
In file included from /run/build/BambuStudio/src/slic3r/GUI/WipeTowerDialog.cpp:4:
/run/build/BambuStudio/src/slic3r/GUI/WipeTowerDialog.hpp:8:1: error: expected class-name before ‘{’ token
8 | {
| ^
(cherry picked from commit 989d9f36b5a495e2d9b2e3c76d849a3b79f49799)
/run/build/BambuStudio/src/slic3r/GUI/CapsuleButton.cpp: In member function ‘void Slic3r::GUI::CapsuleButton::OnPaint(wxPaintEvent&)’:
/run/build/BambuStudio/src/slic3r/GUI/CapsuleButton.cpp:63: error: ‘wxAutoBufferedPaintDC’ was not declared in this scope
63 | wxAutoBufferedPaintDC dc(this);
/run/build/BambuStudio/src/slic3r/GUI/FilamentMapPanel.cpp: In member function ‘void Slic3r::GUI::FilamentMapBtnPanel::OnPaint(wxPaintEvent&)’:
/run/build/BambuStudio/src/slic3r/GUI/FilamentMapPanel.cpp:182: error: ‘wxAutoBufferedPaintDC’ was not declared in this scope
182 | wxAutoBufferedPaintDC dc(this);
(cherry picked from commit 05d977b553c24338286d9b01d8888e46214216c6)
/run/build/BambuStudio/src/slic3r/GUI/DragDropPanel.hpp:36:5: error: ‘wxGridSizer’ does not name a type; did you mean ‘wxSizer’?
36 | wxGridSizer *m_grid_item_sizer;
| ^~~~~~~~~~~
| wxSizer
(cherry picked from commit 06a146e20cbc9642b3f65a5173ffbee3c052798c)
/run/build/BambuStudio/src/slic3r/GUI/3DScene.hpp: At global scope:
/run/build/BambuStudio/src/slic3r/GUI/3DScene.hpp:65:5: error: ‘FilamentMapMode’ does not name a type
65 | FilamentMapMode mode;
| ^~~~~~~~~~~~~~~
(cherry picked from commit eaec4c997eca8310e9037b70567dceed79dd210c)
/run/build/BambuStudio/src/libslic3r/FilamentGroupUtils.cpp: In lambda function:
/run/build/BambuStudio/src/libslic3r/FilamentGroupUtils.cpp:92:18: error: ‘regex’ is not a member of ‘std’
92 | std::regex r1(R"(^Sup.(\w+)$)");
| ^~~~~
(cherry picked from commit bba6fa71a4a7fb931a93b9e5aa3be02865a0357e)
/run/build/BambuStudio/src/slic3r/GUI/Widgets/DropDown.cpp:281:10: error: ‘set’ is not a member of ‘std’
281 | std::set<wxString> groups;
| ^~~
(cherry picked from commit 842152b65a3584a9a59950f52260b20951dd09a5)
/run/build/BambuStudio/src/libslic3r/GCode/ToolOrderUtils.hpp:14:26: error: ‘numeric_limits’ is not a member of ‘std’
14 | const int INF = std::numeric_limits<int>::max();
| ^~~~~~~~~~~~~~
/run/build/BambuStudio/src/libslic3r/GCode/ToolOrderUtils.cpp:545:66: error: ‘unordered_set’ in namespace ‘std’ does not name a template type
545 | static std::vector<T> collect_filaments_in_groups(const std::unordered_set<unsigned int>& group, const std::vector<unsigned int>& filament_list) {
| ^~~~~~~~~~~~~
(cherry picked from commit 059e18aa38ccc715a6c1f2dc1ceb9af1940c7a17)
/run/build/BambuStudio/src/libslic3r/PrintConfig.cpp: In function ‘std::vector<std::map<int, int> > Slic3r::get_extruder_ams_count(const std::vector<std::__cxx11::basic_string<char> >&)’:
/run/build/BambuStudio/src/libslic3r/PrintConfig.cpp:454:27: error: ‘split’ is not a member of ‘boost::algorithm’
454 | boost::algorithm::split(ams_infos, str, boost::algorithm::is_any_of("|"));
| ^~~~~
(cherry picked from commit bf32b5a489670df588ee2ac217275c6c0b8170ba)
/run/build/BambuStudio/src/libslic3r/PresetBundle.cpp: In member function ‘unsigned int Slic3r::PresetBundle::sync_ams_list(std::vector<std::pair<Slic3r::DynamicPrintConfig*, std::__cxx11::basic_string<char> > >&, bool, std::map<int, Slic3r::AMSMapInfo>&, bool, Slic3r::MergeFilamentInfo&)’:
/run/build/BambuStudio/src/libslic3r/PresetBundle.cpp:1973:49: error: ‘L’ was not declared in this scope
1973 | unknowns.emplace_back(&ams, L("The filament model is unknown. Still using the previous filament preset."));
| ^
(cherry picked from commit a8d792ecf8508c030e27aae139eeaf45884ebdc7)
/run/build/BambuStudio/src/libslic3r/GCode/WipeTower.cpp:3327:26: error: ‘offset’ was not declared in this scope; did you mean ‘off_t’?
3327 | outer_wall = offset(outer_wall, scaled(spacing)).front();
| ^~~~~~
| off_t
(cherry picked from commit c77afa7096c48c2b3e2559b39252bafca3f87b28)
1. For cases where light color switch to dark color, multiply the value
with 1.3
jira : NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6b5b2f8e9578d031bbf830ecf18f0069865af2e6
(cherry picked from commit cfa54c55058cd9ed2bd76de7a1158b06bf3501a9)