Files
OrcaSlicer/src/libslic3r
Clifford GarwoodandClaude Opus 4.7 6a3de6a28f feat(imex): effective_physical_extruder_map helper + diagnostic no-filament tooltip
Centralize the project→printer→printer_extruder_id fallback for the physical
extruder map. PrintApply, PartPlate (ghost color + cache key), Plater (tooltip
+ click gate) all previously open-coded the three-step lookup, and each handled
the "pem unset, derive from pei" case slightly differently — an IDEX printer
without an explicit pem could paint an UNPRINTABLE_COLOR ghost even though the
slicer would have derived a valid mapping.

- IMEXHelpers: add effective_physical_extruder_map(explicit_pem, pei) and a
  PresetBundle overload that wraps the project→printer precedence.
- PrintApply: use the helper in place of the inline pei→pem normalization.
- PartPlate / Plater: call the PresetBundle overload at every ghost-color,
  ghost-cache-key, tooltip, and click-gate site.
- Plater::format_imex_ghost_tooltip: when no filament resolves to a head,
  surface an actionable message directing the user to extend the extruder
  count in the Machine tab, instead of the generic "(no filament routed)".
- IMEXFilamentPickerPopover: hold m_pem by value so callers can pass a
  stack-local derived pem without lifetime worries.
- Tests: 5 new cases covering explicit-wins, default-pem fallback, null
  inputs, and the IDEX ghost-color regression that motivated this.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 22:51:31 -04:00
..
2025-07-18 16:01:25 +08:00
2024-10-05 21:53:16 +03:00
2023-08-08 19:08:13 +08:00
2024-01-26 20:18:10 +08:00
2023-12-01 10:42:45 +00:00
2024-08-22 10:13:45 +03:00
2025-06-14 21:05:25 +08:00
2025-10-28 15:29:47 +08:00
2023-08-08 19:08:13 +08:00
2024-01-26 20:18:10 +08:00
2025-12-08 22:42:11 +08:00
2023-07-07 17:25:51 +08:00
2023-12-01 10:42:45 +00:00
2024-05-12 23:35:41 +08:00
2025-10-28 15:29:55 +08:00
2025-10-28 15:29:55 +08:00
2025-09-18 17:08:18 +08:00
2025-09-18 17:08:18 +08:00
2024-01-26 20:18:10 +08:00
2025-12-08 22:42:11 +08:00
2024-01-26 20:18:10 +08:00
2025-12-08 22:42:11 +08:00
2025-12-08 22:42:11 +08:00
2023-11-04 11:41:03 +08:00
…
2025-11-18 19:50:48 -05:00
2023-08-08 19:08:13 +08:00
2023-08-08 19:08:13 +08:00
2026-01-29 19:19:37 +08:00
2026-01-23 17:05:56 +08:00
2025-12-08 22:42:11 +08:00
2025-12-08 22:42:11 +08:00