mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-11 01:41:03 +00:00
Upstream moved pressure advance onto the extruder variant: enable_pressure_advance, pressure_advance and the four adaptive keys joined filament_options_with_variant, the repeated inline blocks in set_extruder() became a helper, and the lookups moved from the filament id to get_filament_config_index(). All three conflicts were the same collision, because this branch had modified two of those same inline blocks to pass a tool qualifier so each carriage is addressed explicitly in parallel modes. Taking either side whole would have lost something: upstream's drops the qualifier and leaves parallel carriages with no pressure advance, ours drops the per-variant indexing and reads the wrong column on a multi-variant printer. The helper now takes an optional tool, defaulting to -1, which omits the qualifier. imex_pem_tool_for() already returns -1 off IMEX and in primary mode, so non-IMEX output is unchanged, and the three call sites that never passed a tool keep upstream's behavior exactly. The third conflict was two test cases appended at the same place. Both are kept. Separately, one defect that merged cleanly and so was not flagged: the loop that emits pressure advance for secondary carriages at the start of a print still bounded and indexed those vectors with a raw filament id. They are variant expanded now, so their length is columns rather than filament slots -- the value read was the wrong column, and the bound no longer sat in slot space, letting an out-of-slot filament through. It now bounds on filament_diameter and translates with get_filament_config_index(), which is what the sibling second-layer temperature loop already does. Verified: both changed translation units compile clean under -Werror. The merge was resolved independently twice and the two resolutions agree on every line of code. Not yet run: the Release test suite and a parallel-mode slice sweep. 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: