+TrackHoverInfoPopup now displays switch ID and model if the hovered track is part of a switch
*Fixed typo: renamed the "Switches names" layer to "Switch names"
*Updated ElectrificationResolver to use the new tracks connections logic
*Improved ElectrificationResolver status propagation for switches
*Fixed an issue where ElectrificationResolver would sometimes overwrite tracks having the CONFLICT status
+Added connectTracks scenery parsing function that links Track objects together in the scenery model, including support for one‑to‑many connections (for switches)
+Added an option to include additional aliases indexes in switches definitions
+Added additional aliases indexes for switches Rz 60E1-300-1_9 R / L and Rz 60E1-190-1_9 R / L
*Fixed AlwaysUpText and SimpleLabelText throwing warnings because off how props were passed. Now to set props of the inside text tag, you pass them as textProps
*Updated Object Renderers to use the new text props passing method
+Added AlwaysUpText component that rotates text by 180 degrees if it is upside down (taking view rotation into account)
+Added SimpleLabelText component that always displays text horizontally relative to the view rotation
+Added mapRotationService which stores a subscribable view rotation value
*Refactored all ObjectRenderers to use the above components for object labels
*Refactored ZoomPanWrapper code to be cleaner and more efficient. It now uses refs instead of state and performs camera translation / zooming using transform svg attribute instead of changing the viewbox
*Cleaned up ExtendedSignalsHelper
*Moved extended signal signs height calculations to a separate function
*Fixed mechanical signals arms being rendered in a wrong position
*Split SignalExtendedRenderer into SignalExtendedRenderer (Components) and ExtendedSignalsHelper (Calculating points data etc.)
*Moved all the magic values from the SignalExtendedRenderer to ExtendedSignalsConstants
*Fixed some extended signals components having a fill while not needed