Refactor custom GCode handling and mixed filament management

- Updated `custom_tool_changes` function to use filament IDs instead of extruder IDs, ensuring better compatibility with mixed filament configurations.
- Enhanced `MixedFilament` structure to include a `stable_id` for persistent identity across mixed filament entries, improving remapping during updates.
- Introduced new methods for stable ID allocation and normalization in `MixedFilamentManager`.
- Updated serialization and loading functions to maintain stable IDs, ensuring consistent behavior when mixed filament entries are modified.
- Added tests to verify the correct handling of tool changes and stable ID remapping in mixed filament scenarios.
This commit is contained in:
Rad
2026-03-02 16:05:41 +01:00
parent 21d9bffb45
commit db0ccb1210
13 changed files with 389 additions and 117 deletions
+2
View File
@@ -7,8 +7,10 @@ add_executable(${_TEST_NAME}_tests
test_clipper_offset.cpp
test_clipper_utils.cpp
test_config.cpp
test_custom_gcode.cpp
test_elephant_foot_compensation.cpp
test_geometry.cpp
test_mixed_filament.cpp
test_placeholder_parser.cpp
test_polygon.cpp
test_mutable_polygon.cpp