When working on this addon, follow proven patterns from existing, working addons.
SenseiClassResourceBar is the reference implementation for:
- Resource bar architecture
- LibEQOL (Edit Mode) integration
- Position and layout management
- Database structure and persistence
WHEN IN DOUBT, COPY SENSEI EXACTLY.
Do not:
- ❌ Add delays or timers unless Sensei uses them
- ❌ Create "improved" versions of working code
- ❌ Add extra layers of abstraction
- ❌ Invent new patterns or architectures
- ❌ Assume something needs to be "fixed" without evidence
Do:
- ✅ Look at Sensei's implementation first
- ✅ Copy the exact pattern Sensei uses
- ✅ Keep the same initialization timing
- ✅ Use the same callback structure
- ✅ Match the same code flow
Working code > clever code
Sensei is a mature, tested addon that handles:
- LibEQOL integration correctly
- Position persistence across reloads
- Edit Mode enter/exit cycles
- Layout switching and management
- Profile awareness
If Sensei does it a certain way, there's a reason. Don't second-guess it.
-
Resource Bar Positioning Bug (Jan 2026)
- Problem: Bars appeared at default positions on reload
- Failed approaches: Added delays, tried to skip positioning, invented new timing logic
- Solution: Removed the 1-second delay we added - Sensei initializes immediately on ADDON_LOADED
- Time wasted: 5+ hours
- Lesson: Check Sensei first, copy exactly, test
-
LibEQOL Purpose
- LibEQOL handles positioning INSIDE Edit Mode
- Outside Edit Mode, bars position themselves from SavedVariables
- Don't try to make LibEQOL do things it wasn't designed for
- Identify what needs to be implemented
- Find the equivalent in SenseiClassResourceBar
- Copy Sensei's approach exactly
- Adapt variable/function names to match SuaviUI conventions
- Test
- Only if it doesn't work, investigate differences
Only deviate when:
- Sensei has a bug (verify it's actually a bug first)
- SuaviUI has fundamentally different requirements
- You have tested proof that Sensei's approach doesn't work for your case
Even then:
- Document WHY you're deviating
- Keep changes minimal
- Test thoroughly
- SenseiClassResourceBar - Primary reference for resource bars and LibEQOL
- LibEQOL documentation/examples - For understanding the library itself
- Blizzard UI code - Only for native Blizzard systems
The goal is a working addon, not an innovative one.
Proven patterns > novel solutions