# Auto Face Target - Future Work

Ideas discussed but not yet implemented. Module works without these; this is
just a todo list so we don't forget.

## 1. Spell whitelist/blacklist

Let server admins exclude (or restrict to) specific spell IDs, e.g. some
class/spec might feel worse with auto-facing than others.

- New config options, e.g. `AutoFaceTarget.SpellBlacklist` /
  `AutoFaceTarget.SpellWhitelist` as comma-separated spell ID lists (parse with
  `Acore::Tokenize` into a `std::unordered_set`, loaded in
  `AutoFaceTarget::LoadConfig()`).
- Checked in `AutoFaceTarget::CorrectFacing()` alongside the existing
  `SPELL_FACING_FLAG_INFRONT` / location-target checks.
- If both are set, decide precedence (blacklist wins is the safer default).

## 2. In-game toggle (chat command)

Let a player flip auto-facing on/off for themselves without editing the
config (some players may prefer manual facing).

- Needs a per-player flag, not just the module-wide `_enabled` config bool -
  e.g. a `bool` keyed by player GUID in `AutoFaceTarget`, checked in
  `CorrectFacing()` before doing anything.
- Command via `CommandScript` (see `src/server/scripts/Commands/` for the
  pattern), e.g. `.autoface [on|off]`, registered under a low permission
  level (RBAC) since it's a personal preference toggle, not a GM command.
- Persistence: decide whether the preference should survive relog (would need
  a small characters-DB table or a `character_settings`-style key) or reset
  every login (simplest - just an in-memory map, no DB/SQL involved).