Skip to content

Improve debug mode animation and add simulator connection checks#27

Merged
AussieScorcher merged 1 commit intov2from
feature/debug-mode-upgrade
Feb 11, 2026
Merged

Improve debug mode animation and add simulator connection checks#27
AussieScorcher merged 1 commit intov2from
feature/debug-mode-upgrade

Conversation

@llamavert
Copy link
Contributor

Summary

Adds smooth fade-in/fade-out animations to the debug mode indicator and implements simulator connection checks to ensure debug mode can only be activated when a simulator is connected.

Changes Made

  • Added smooth fade-in/fade-out animations to the debug mode indicator with opacity and scale transforms
  • Implemented text caching mechanism (_debugModeTextCache) to prevent text from clearing during exit animation
  • Modified UpdateDebugModeText() to only update when debug mode is active, avoiding text flash during fade-out
  • Added guard in ToggleDebugMode() to prevent activation when simulator is disconnected
  • Modified SimulatorConnected setter to auto-disable debug mode when simulator disconnects
  • Adjusted warning icon vertical alignment (Margin="0,-2,8,0")
  • Adjusted timing: 200ms fade-in, 150ms fade-out with proper easing functions

Additional Information

Author Information

Discord Username:
VATSIM CID:


Checklist:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

- Add smooth fade-in/fade-out animations with scale and opacity transforms
- Fix text disappearing before box fades by caching text during animation
- Prevent debug mode activation when simulator is disconnected
- Auto-disable debug mode when simulator disconnects
@greptile-apps
Copy link

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

Enhanced the debug mode indicator with smooth fade-in/fade-out animations and implemented simulator connection checks to ensure debug mode can only be activated when a simulator is connected.

Key Changes

  • Added smooth animation system with opacity (0→1) and scale transforms (0.9→1) using CubicEase easing functions
  • Implemented text caching (_debugModeTextCache) to prevent text from clearing during exit animation
  • Modified UpdateDebugModeText() to only update when debug mode is active, avoiding text flash during fade-out
  • Added guard in ToggleDebugMode() to prevent activation when SimulatorConnected is false
  • Auto-disables debug mode when simulator disconnects via SimulatorConnected setter
  • Updated debug mode text format to "Debug Mode — State: {_debugStateId}" (removed toggle instruction)

Animation Details

  • Fade-in: 200ms duration with EaseOut for smooth appearance
  • Fade-out: 150ms duration with EaseIn for quick dismissal
  • Visibility changes properly synchronized with animation keyframes

Confidence Score: 5/5

  • This PR is safe to merge with no issues identified
  • The changes are well-implemented with proper animation timing, correct state management, and appropriate guards for simulator connection. The text caching mechanism elegantly solves the animation flash issue, and the auto-disable on disconnect prevents invalid states.
  • No files require special attention

Important Files Changed

Filename Overview
MainWindow.xaml Added smooth fade-in/fade-out animations to debug mode indicator with opacity and scale transforms, adjusted timing to 200ms fade-in and 150ms fade-out with proper easing functions
Presentation/ViewModels/MainWindowViewModel.cs Implemented text caching mechanism to prevent text clearing during exit animation, added simulator connection guards to prevent debug mode activation when disconnected, auto-disables debug mode on simulator disconnect

@AussieScorcher AussieScorcher merged commit f0417d5 into v2 Feb 11, 2026
2 checks passed
@AussieScorcher AussieScorcher deleted the feature/debug-mode-upgrade branch February 11, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants