mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-10 17:21:10 +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>
OrcaSlicer tests
Building, running and writing tests is documented on the wiki, under How to Test.
Two files here rather than there, because coding agents only read what is in the repository: