Resolve ordinary mixed-filament painted regions to their effective physical
filament on each layer so adjacent same-color zones can merge into one
continuous area instead of being sliced as separate islands.
Add a global "Collapse same-color mixed regions" option, enabled by default,
and automatically turn it off when Local Z dithering is enabled while still
allowing manual re-enable for experimental use.
Add an app preference for mixed filament gradient auto-generation and
sync the manager state from startup and preferences changes.
Prompt before generating large gradient sets, preserve custom rows
when auto-generation is disabled, and refresh remapping/UI handling
accordingly. Add mixed filament coverage and a dumpinfo helper for
inspecting Windows minidumps.
- 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.