was_occluded was computed AFTER _active_mode and _active_app were updated to the new values, so it always matched now_occluded on the first toggle (both TRUE). The signal condition (was != now) never triggered. Moved the check before the state mutation. This bug affected every GameplayRenderer (world, entities, fog, cursor) and the stance indicator — none of them hid on first fullscreen app open. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>