mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-11 09:51:06 +00:00
Catches the case where a non-primary IMEX mode's active tools all sit on one gantry — e.g. mode "0:P,1:C" on a 2x2 IQEX where T0 and T1 share gantry 0. The "Copy"/"Mirror" label is decorative there: nothing actually parallel-prints, but the user's mode_gcode still fires and emits firmware setup that doesn't apply, while the slicer treats it as a multi-color parallel print. Conceptually it's just a regular multi-tool single-gantry print and belongs in Primary mode. Changes: - imex_multicolor_block_reason now collects the set of distinct gantries spanned by the active tools and short-circuits with a clear "single gantry — not a parallel-print scenario" message before falling through to the existing within-gantry-swap check. - Drops the redundant pre-slice "Multi-material objects detected" soft warning from collect_imex_warnings — the slice-time block surfaces a more specific message at the right moment, and the soft warning was vague handwaving in front of it. Bed-temp + filament-type checks stay. - New unit test covering the single-gantry block. Behavior matrix on a 2x2 IQEX with multi-color: "0:P,1:C" single gantry -> BLOCK (new) "0:P,2:C" dual gantry, 1 each -> BLOCK (existing within-gantry-swap) "0:P,1:C,2:M,3:M" dual gantry, 2 each -> ALLOW multiple filaments to same physical via pem -> BLOCK (existing MMU sharing) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>