mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-10 17:21:10 +00:00
fix(imex): key the resolved tool roster and fw-managed flag in the zone/ghost cache
Review follow-up. Removing pem from the ghost cache key also removed its accidental role as the key's only printer-identity signal: the resolved active-tools string (roster + primary) and imex_firmware_managed_zones both shape the baked zone/ghost set but were never keyed directly, so a printer swap between presets with matching mode names and topology could leave a stale ghost set. Key all three in build_imex_cache_key, which also hardens the zone cache against the same pre-existing gap. Also from review: the tooltip swatch reuses the pem/map its label already hoisted (one resolution, not two); the bake constructs ghosts with no color at all, making update_imex_ghost_colors the sole color author; the headless !m_plater guard is documented as the wxGetApp sentinel it is. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
28c0c681fe
commit
8a5bc75e7b
@@ -20293,7 +20293,9 @@ Plater::ImexGhostTooltip Plater::format_imex_ghost_tooltip(int physical_head) co
|
||||
return t;
|
||||
}
|
||||
t.filament_slot_1based = logical + 1;
|
||||
t.swatch = plate->get_imex_head_filament_color(physical_head);
|
||||
// Reuse the pem/map already hoisted above so label and swatch are derived
|
||||
// from one resolution, not two.
|
||||
t.swatch = plate->get_imex_head_filament_color(physical_head, pem, map);
|
||||
t.swatch.a(1.0f); // tooltip swatch opaque
|
||||
t.label = "T" + std::to_string(physical_head) +
|
||||
" -> filament " + std::to_string(t.filament_slot_1based);
|
||||
|
||||
Reference in New Issue
Block a user