=====================================================
ADDON REFACTORING INSTRUCTIONS - GRS (/axi)
=====================================================

1. FILE STRUCTURE & DESCRIPTION
-----------------------------------------------------
The addon has been split into four distinct files to separate concerns and ensure maintainability.

- Constants.lua:
  Contains all static data (Classes, Races, Defaults, Tabs).
  This file MUST be loaded first.

- Core.lua:
  Initialize the AddOn Namespace (NS).
  Creates the main frame object (GR).
  Sets up Event Handling (ADDON_LOADED, WHO_LIST_UPDATE, etc.).
  Handles Database initialization.
  Registers the Slash Command: /axi.

- Ui.lua:
  Contains all Visual elements.
  Helper functions: CreateBg, CreateBorder, SkinButton.
  Constructs the Main Window, SideBar, Home View, and Whisper Pane.
  Attaches visual methods to the Core GR object.

- Engine.lua:
  Contains all Logic and Processing.
  Handles Scanning (StartSearch, ProcessWhoResults).
  Handles Data Management (AddPlayerToTable, SortPlayers).
  Handles Chat Logic (SendMessageSequence, HandleChatEvent).
  Handles Filter Logic (BuildFilterUI, RefreshMainFilterList).

2. INSTALLATION / TOC FILE ORDER
-----------------------------------------------------
To ensure the addon loads correctly, your .toc file must list the files in this EXACT order:

## Interface: 110007 (or current version)
## Title: Guild Recruiter System
## SavedVariables: GRS_DB

Constants.lua
Core.lua
Ui.lua
Engine.lua

3. USAGE
-----------------------------------------------------
- The new slash command is: /axi
- The command /grs has been removed/replaced by /axi.

4. DEVELOPER NOTES
-----------------------------------------------------
- The namespace `NS` is shared across all files.
- `NS.GR` holds the main frame and all logic methods.
- `NS.Constants` holds static tables.
- `NS.Engine` holds logic helpers.
- Do not modify Core.lua unless changing event registration.
- Add new visual elements to Ui.lua.
- Add new logic/features to Engine.lua.