Replaces the single layer height display with a grid showing current height, time elapsed, layer print time, and time remaining. Updates property to accept a data dictionary and adds localization for labels to improve user information and internationalization.
Replaces currentLayerHeight and minimumLayerHeight properties with currentLayerData and minimumLayerData, returning all relevant layer data as QVariantMap. This provides more comprehensive information for each layer, including height, time elapsed, layer time, and time remaining.
Replaces the layer heights cache with a unified layer data cache that stores both height and formatted time metrics (elapsed, per-layer, and remaining) for each layer. Adds parsing of gcode for ;TIME_ELAPSED comments and updates public API to provide all layer data in a single dict. Improves efficiency and enables time-based features in SimulationView.
Updated the caching logic in SimulationView to use the id of the layer_data object instead of the node. This ensures the cache is correctly invalidated when layer_data changes, preventing potential issues when nodes are reused.
Added logic to track which node's layer heights are cached and only recalculate the cache if the data source changes. This improves performance by avoiding unnecessary recalculations and ensures cache validity when the scene changes.
Introduced a cache for layer heights to avoid recalculating them on every query. Added a method to populate the cache for all layers at once, and updated layer height retrieval methods to use the cache, improving efficiency when accessing layer height data.
Adds display of the current and minimum layer heights (in mm) to the Simulation View slider labels. Implements new properties and logic in SimulationView and SimulationViewProxy to retrieve accurate layer heights for both sliced and gcode data. Bumps plugin version to 1.1.0.
Updated warning icon visibility logic to display warnings only for enabled extruders in the simulation view menu. This prevents warnings from appearing for extruders that are not active.
Updated the warning icon visibility check to only consider extruders that exist in the current printer, preventing false warnings for non-existent extruders.
Updated the id from lineTypeLabel to SchemeTypeLabel and adjusted references accordingly for clarity and consistency in SimulationViewMenuComponent.qml.
Introduces warning icons in the SimulationView menu to indicate when extruder visibility is low or unchecked. Updates layout logic to accommodate the new icons and increments the plugin version to 1.0.2.
CURA-12660
This required a refactoring of the management of the active view. The previous behavior was that anyone could set the active view, depending on certain conditions. But now we also have a view that is set by a tool, so sometimes the actually set view would be incorrect. Now each Stage requests an active view, and each tool CAN also request an active view. Then the Controller decides which view should actually be active depending on the active stage and tool.
CURA-12544
The word in French to describe a geometric flat surface if "plan", which is a valid word in English but it doesn't have the same meaning, this got me confused. So replacing "plan" by "plane" because we are actually dealing with a geometrical "plane" (although it doesn't fly).