Some checks failed
PR Check / lint-and-test (pull_request) Failing after 1s
Printing via OrcaSlicer "Upload and print" failed or fed the wrong spool when the slot below the used filament was empty (e.g. Filament 4 with slot 3 empty); all-slots-full worked. _start_print -> _build_auto_ams_box_mapping keeps the AMS mapping positional (entry N = TN) by inserting a placeholder at each gap. The placeholder's ams_index pointed at the gap's own index, which for an empty slot references a physically empty tray. The printer rejects a mapping entry aimed at an empty tray even for a tool the GCode never calls, so the print broke. Point gap placeholders (ams_index/color/material) at a definitely-loaded fallback tray (the highest loaded slot) instead. Positional alignment is preserved; the all-full path is unchanged. Adds tests/test_auto_ams_box_mapping_empty_slot.py (invariant: every mapping entry references a loaded/status-5 tray). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>