mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-10 17:21:10 +00:00
In a parallel mode no tool changes occur, so two loops address each active carriage explicitly: pressure advance before the print, and the second-layer drop off the initial-layer temperature. Neither had coverage, and both fail silently -- a carriage missing from one emits nothing at all, so it holds the initial-layer temperature for the whole job, or runs on whatever pressure advance the firmware was last given. The new case pins that the carriages addressed are exactly the ones the mode declares active, each with the values of the slot physical_extruder_map routes its head to. The test needs filament_self_index, set here on imex_7x4_printer() so the whole file has it. Production authors that key 1..n; its all-1s default collapses every per-filament vector to filament 1's value through get_config_index_base(), which leaves a per-slot assertion comparing a value against itself. Also bounds the second-layer loop on filament_diameter alone. The bound belongs in slot space, and filament_diameter is the one per-filament vector never expanded per variant; the previous min() against nozzle_temperature mixed the two index spaces without changing the result. The pressure advance loop already bounds this way, so the two now read alike. 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: