mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-11 01:41:03 +00:00
The parallel printing options shipped to testers as is_ixex and ixex_*, became is_imex and imex_* when the feature stopped being called iXex, and the two clearance keys were renamed once more to say what they measure: nozzle to carriage edge on the collision side, not the carriage's full width. Nothing translated any of it, so loading an existing printer profile dropped every one of these values - the keys are unknown and cleared. is_ixex is the one that matters most, because without it the others migrate into a feature that stays switched off, leaving settings that look configured and do nothing. Per-plate mode is persisted twice and only one path went through handle_legacy. Plate metadata in a 3MF is matched by exact attribute name and written with set_key_value, so a project saved between the per-plate mode landing and the rename loaded every plate back on Primary and sliced single-carriage with no warning. The loader now accepts the old attribute name. ixex_primary_col and ixex_primary_row are dropped rather than mapped: the primary is a role inside the mode's active-tools string now, not a grid coordinate, and they were never in an option list, so no saved file carries them. The test drives the full era-1 key list and asserts the enum values rather than non-nullness, since a forward-compatible substitution would otherwise hide a failed deserialize behind a default. handle_legacy had no test before this. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>