mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 03:01:21 +02:00
Queueing several plates of one 3MF built a single filament-override list from every selected plate and posted that same list with each plate's item. A force_color_match entry blocks dispatch until the printer has that exact colour loaded, so a single-colour plate waited on the whole batch's palette. The same shared list also widened required_filament_types, making a PLA plate refuse every printer that lacked a sibling plate's PETG. Narrow the overrides to the slots the plate actually consumes, on create and on update -- in the backend, where the 3MF is, so it holds for every writer of the queue. Dispatch already re-parsed requirements per plate and keyed overrides by slot, so the dropped entries were inert there. When the plate's slots cannot be read the overrides are kept whole: an item waiting on a colour it does not need is visible, one that silently lost a forced colour prints in the wrong filament. Items queued before this would stay stuck with a waiting reason that explains nothing, so a startup migration re-scopes the pending ones. Printing and finished items keep their overrides -- that is a record of what they dispatched with, not an instruction.