# 2026-02-10 - Lemontropia Suite Session ## Session Summary Intensive debugging session with user testing the new HUD overlay and settings. ## Key Issues Resolved ### 1. Python Cache Hell - **Problem**: Code changes not taking effect despite git pull - **Root Cause**: `__pycache__` folders with stale `.pyc` files - **Solution**: User must run `Remove-Item -Recurse -Force "ui\__pycache__"` after every pull - **Lesson**: Document this prominently - Python cache is the #1 cause of "changes not showing" ### 2. Settings Dialog Missing Avatar Name - **Problem**: Settings showed placeholder text, no avatar name field - **Fix**: Updated `SettingsDialog` class with `player_name_edit` field and `get_player_name()` method - **Commit**: `90595a8` ### 3. Global Counter Wrong - **Problem**: Counting all globals, not just user's - **Fix**: Added player name comparison in `on_personal_global()` handler - **Commit**: `90595a8` ### 4. Cost Tracking Not Working - **Problem**: Weapon/Armor/Healing costs stayed at 0.00 - **Root Cause**: Removed calls to non-existent `update_cost()` method - **Fix**: Added proper calls to `update_weapon_cost()`, `update_armor_cost()`, `update_healing_cost()` - **Commit**: `e17f7e3` ### 5. Loot Tracking Broken - **Problem**: Loot events threw "takes 2 positional arguments but 3 were given" - **Fix**: Updated `on_loot()` to use `update_kills()` and `update_loot()` with correct params - **Commit**: `e17f7e3` ### 6. Stylesheet Crash - **Problem**: `Could not parse stylesheet of object QLabel` crash - **Fix**: Wrapped `_refresh_display()` in try/except, added widget existence checks - **Commit**: `b8bd462` ### 7. Wrong HUD Used - **Problem**: App using old `hud_overlay.py` instead of new `hud_overlay_clean.py` - **Fix**: Changed import in `main_window.py` - **Commit**: `c0cb42c` ## Code Patterns Established ### Event Handler Pattern ```python def on_event(event): from decimal import Decimal try: value = event.data.get('key', 0) if value: self.hud.method_name(Decimal(str(value))) # Additional tracking... except Exception as e: logger.error(f"Error: {e}") ``` ### Cost Tracking via _session_costs - Store `cost_per_shot`, `cost_per_hit`, `cost_per_heal` in `_session_costs` - Update HUD on each relevant event ## Git Workflow Reminders - Always clear `__pycache__` after pull - Use `git stash` if local changes block pull - Commit messages: `type(scope): description` ## User Testing Notes - User name: Roberth Noname Rajala - Testing live with ArMatrix BP-25, Frontier Adjusted armor - HUD shows: Cost, Total, S (Shrapnel), R (Regular), Highest loot - Live DPP calculation was showing 1000+ (fixed by removing bad calc)