COMMANDS
/fct diag start - Opt into live event observation for up to 5 minutes.
/fct diag stop - Stop diagnostic collection.
/fct diag report - Open copyable results (Ctrl+A then Ctrl+C).
/fct diag clear - Clear diagnostic history.
/fct diagnostic - Alias for diag. /ftp equivalents also work.
/fct threshold early NUMBER - Set yellow warning percentage to pull (1-99).
/fct threshold high NUMBER - Set orange warning percentage to pull (2-100).
/fct threshold reset - Restore 75/90 defaults. Early must remain below high.
/fct commands - Open Commands & Shortcuts (also /fct help).
/fct nameplates integrated - Tank text and health percentage inside Blizzard enemy health bars.
/fct nameplates box - Restore the separate threat box above nameplates.
/fct analysis - Open Fight Analysis.
/fct record - Begin recording your successful player casts.
/fct record stop - Stop recording.
All /ftp commands remain aliases.
/fct fights - List recorded Blizzard fights.
/fct fight ID - Select a recorded fight by ID, for example /fct fight 4.
/fct fight current - Show the current or last fight.
/fct fight total - Show overall totals.
/fct damage - Open the Damage section. Use the metric dropdown to choose a view.
/fct damage dps|taken|avoidable|enemy - Open a specific Damage view.
/fct healing - Open Healing Done; /fct healing hps opens HPS.
/fct actions - Open Interrupts; /fct actions dispels|deaths selects another view.
/fct threat - Return to the original threat overview.
/fct interactive on|off - Enable controls or make the dashboard click-through.
/fct meter sessions - List recorded Blizzard fight IDs and names.
/fct meter session ID - Select a specific Blizzard fight.
/fct meter fight|total - Choose Current/Last or Overall/Session Total.
/fct meter reset - Explain where to reset Blizzard meter history.
/fct - Open settings.
/fct test - Toggle a simulated overview with safe, dangerous, lost, and unavailable threat examples.
/fct overviewscale 0.75 - Scale only the overview (0.5 to 1.5; 1 = 100%).
/fct os 0.75 - Short alias for overviewscale.
/fct overview - Toggle the scrollable visible-enemy overview. Drag its frame to move it.
/fct tank on - Tank mode (default).
/fct tank off - Damage/healer mode; warns when you approach pulling or have aggro.
/fct group on|off - Require group involvement (on by default).
/fct personal on|off - Require your or your pet's readable threat (off by default).
/fct combat on|off - Require the addon user to be in combat (off by default).
/fct unavailable on|off - Allow unavailable/unrelated-target fallback data (off by default).
/fct tanks on|off - Recognize other assigned tanks (on by default).
/fct tanktarget - Toggle manual tank assignment for your targeted group member.
/fct cleartanks - Clear manual tank assignments.
/fct quiet on|off - Hide securely tanked nameplate strips.
/fct on|off - Enable/disable live displays.
/fct offset 24 - Set vertical nameplate offset (-100 to 100).
/fct scale 1 - Set nameplate strip scale (0.5 to 2).
/fct debug - Print client build, Interface number, and API availability.
/fct reset - Restore default settings and overview position.
/fct help or /fct commands - Open the in-game command reference.

Forever Combat Tracker 0.2.4
Standalone first test release for World of Warcraft Forever. No Forever Statistics dependency.

INSTALLATION
Exit WoW. Extract the ForeverThreatPlates folder into your Forever client's
Interface\AddOns folder. The resulting path must be:
Interface\AddOns\ForeverThreatPlates\ForeverThreatPlates.toc
Enable the addon and enemy nameplates (normally V).
TOC Interface: 16001, matched to WoW Forever 1.60.1, build 70245 (Oct 5 2026).
For this installation, fully exit and restart the game after extracting. This
ensures the newly installed addon folder and TOC are discovered. /reload is
useful for Lua edits after an addon is already discovered and enabled.
Look for "Forever Combat Tracker 0.2.4 loaded." in chat, then run /fct.
The AddOns folder must contain ForeverThreatPlates directly, without another
ForeverThreatPlates-0.1.5 directory enclosing it.

DISPLAY
A colored strip above each visible hostile nameplate shows the API-reported
threat owner and readable threat values. Green: securely tanking; yellow:
a known contender at 75% to pull; orange: 90% to pull, or insecure tanking;
red: you lack aggro while participating in the mob's threat table (tank mode).
Damage/healer mode uses red when you have aggro.
Gray means threat ownership/status is unavailable.
"Target: Name" is ONLY a current-target fallback. It is not confirmed tanking:
a mob can target someone temporarily while casting or using a special ability.
"Threat unavailable" is used when neither source can be read.

Scaled percentage means progress toward pulling aggro, not share of total
threat. It incorporates the game's pull threshold. Tank displays typically
read 100%; contender percentages cannot be treated as direct raw threat ratios.
Lead is the owner's raw threat minus the known contender's raw threat. It may
be negative while the tank still holds aggro because a contender must cross a
pull threshold. No exact value is invented when the API does not provide one.

Roster scanning includes you, party/raid members, their pets, and readable
current mob target/target/focus units. Arbitrary non-group players and players
outside available unit tokens cannot be exhaustively scanned. "Closest" means
the highest scaled percentage among readable candidates, not a guaranteed
complete server threat list. Only visible nameplates appear in the overview.

FEATURES
- Nameplate ownership, optional percentage, raw threat, and raw threat lead.
- Tank and damage/healer modes; low-clutter tank mode.
- Lost-aggro indicator and brief regained-aggro indicator.
- Optional warning sound with a three-second global throttle (off by default).
- Elite/boss emphasis; nameplate markers and Blizzard health bars remain intact.
- Scrollable overview sorted by urgency, with persistent position.
- Settings window, offset/scale commands, and simulated test overview.
- Reused overlay frames and 0.2-second refresh; no combat-log estimates or networking.
- Safeguards for absent APIs, inaccessible nameplates, and restricted values.

FIRST IN-GAME TEST
1. Enable enemy nameplates; /fct and /fct test verify the interface loads.
2. Turn test off with /fct test. Enable /fct overview.
3. Attack one mob solo: confirm your name, status, and available threat values.
4. In a party, tank a mob while another player builds threat. Compare the strip
   to actual target changes and note whether percentages/raw threat are readable.
5. Let another player take aggro; confirm red LOST AGGRO. Regain it and check
   AGGRO REGAINED. Try /fct quiet on during a multi-mob pull.
6. Test pets, elites, entering/leaving combat, disappearing/reappearing plates,
   party changes, and /reload. Check that raid target markers remain visible.
7. Report Lua errors, screenshots, and /fct debug output for client validation.

VALIDATION
Lua syntax checked; mocked runtime checks cover ownership, near-pull danger,
loss/regain, restricted-value fallback, reversible commands, and nameplate reuse.
Not yet tested inside WoW Forever. Test preview is simulated data, not a live
API validation. Other nameplate addons may require offset/scale adjustments.

CHANGELOG
0.1.0 - Initial standalone test release; features and limitations described above.

0.1.1 - Defer overview creation until requested so UI initialization cannot prevent slash-command registration. Add startup confirmation and settings error reporting.

0.1.2 - Match client Interface 16001; identify threat status 2 as insecure tank ownership; retain orange insecure-tanking warning; allow regained message in quiet mode; defer saved overview restoration; throttle runtime error reports; correct debug version.

0.1.3 - Compact 180-wide nameplate tooltip box with WoW tooltip background and border; anchor above health bar and mob name; smaller fonts; collapse unused warning row; migrate previous default offset to 24.

0.1.4 - Default party-engaged filtering, optional personal-threat and combat-only
filters, unavailable-data filtering, blue other-tank status, role/raid main-tank
recognition, manual tank assignment commands, scrollable settings, and a brief
0.6-second visibility hold for transient group-involvement changes.

NEW VISIBILITY BEHAVIOR (0.1.4)
Default: require readable involvement from you, your party/raid, or group pets.
A readable threat status (including status 0), positive threat, or positive
percentage establishes involvement. A mob in combat targeting a group unit is
also included, even if detailed threat is not readable. "Target:" remains a
current-target fallback, not confirmed threat ownership. Unrelated targets and
fully unavailable boxes are hidden by default. Personal mode requires your or
your pet's threat; it tracks involvement, not a literal history of your attacks.
All enabled visibility filters combine. Combat-only requires you personally to
be in combat, so it may hide a mob your healer pulled before you enter combat.
Both the nameplate boxes and live overview use these filters. Simulated test
rows bypass them. Turn group and personal filters off, combat-only off, and
unavailable on to inspect every visible hostile plate.

Other assigned tanks show blue with OTHER TANK, without a false lost-aggro sound.
Roles are used only if the API exposes them. Target a group member and run
/fct tanktarget to toggle a manual assignment. Manual assignments persist by
character GUID, but apply only while the character is in your current group.
/fct cleartanks clears them. Automatic role assignments are still recognized.
Quiet mode also hides mobs held by another assigned tank. /fct tanks off turns
this recognition off. Unknown roles are not guessed from class or equipment.

Validation added: group-only involvement before personal engagement, strict
personal and combat filters, role/manual tank recognition, assignment clearing,
and hiding uninvolved mobs. These are mocked checks; live group testing is next.

0.1.5 - Independent saved overview scaling from 50% to 150%; minus/plus controls in 5% steps and Reset button; /fct overviewscale and /fct os commands; keep overview on screen. Drag the overview to position it after adjusting size. Nameplate scale is unchanged.

0.1.6 - First threat ownership shows AGGRO GAINED; AGGRO REGAINED requires prior ownership followed by confirmed loss. Track by mob GUID across brief nameplate recycling, expire unseen history after 60 seconds, clear on visible death. Unknown threat does not count as lost aggro. Refresh panel styling with WoW tooltip borders, softer backgrounds, thinner row accents and green acquisition text.

0.1.7 - Support custom threat overview textures from the optional ForeverThreatPlatesMedia companion addon created by the desktop Background Helper. Reads image opacity and dark overlay settings. The helper preserves the core addon and all SavedVariables. Restart WoW after applying a new texture and enable Forever Combat Tracker Media.

0.2.0 - All-in-one first test release based on the preferred 0.1.7 visual design.
Adds Threat / Damage / Healing / Actions tabs in the same background-enabled,
scalable window. Native C_DamageMeter is preferred for damage done, DPS, damage
taken, avoidable damage taken, enemy damage taken, healing done, HPS, interrupts,
dispels, and deaths. Native values/order are passed to display controls; secret
values are not sorted, compared, formatted in Lua, or used in custom arithmetic.
Adds interactive and non-interactive (click-through) dashboard modes.

USING THE DASHBOARD
Open /fct damage, /fct healing, /fct actions, or /fct threat.
Click the tabs to change sections. Click the wide metric button to cycle through
that section's measurements. Click Current/Last or Session Total to change scope.
With native data, Session Total means Blizzard's Overall session, not a local
login session. /fct overview still toggles the shared dashboard window.
Your existing backgroundhelper and ForeverThreatPlatesMedia work on every tab.
No new helper installation is required. The addon folder and commands keep the
ForeverThreatPlates name so existing installations and media paths keep working.
/fct test previews THREAT data only; combat tabs show real recorded data.

NATIVE METER
Enable Blizzard's built-in damage meter so it records sessions. The dashboard
subtitle identifies Blizzard meter versus Local log. Native avoidable damage
uses Blizzard's own classification; no manual spell list is needed in that mode.
If the API exists but its data is unavailable, the dashboard says so rather than
silently replacing it with a different calculation. Resetting local fallback
meters does not reset Blizzard's shared session history. Use Blizzard's meter
controls to reset its history. The native API provides the client's definitions
of healing, absorbed damage, encounter timing, pet attribution, and enemy damage.
Live availability/restricted-value display must be tested in Forever 1.60.1.

LOCAL FALLBACK (ONLY WHEN NATIVE METER IS UNAVAILABLE)
Collects observable party/raid combat-log events, plus group pet output credited
to owners. Requires readable combat-log data. Missed/out-of-range/restricted events
cannot be recovered, and no synchronization with other addon users is attempted.
Damage excludes overkill; healing excludes overhealing and does NOT include
absorbs. Damage taken and deaths concern group players, not group pets.
Enemy damage taken is group damage to enemy GUIDs observed in the combat log.
Successful SPELL_INTERRUPT counts interrupts; SPELL_DISPEL/SPELL_STOLEN count
removals/steals; UNIT_DIED counts player deaths. Full death recaps are not included.
Avoidable damage begins with an EMPTY verified spell-ID list and counts only
tagged spells. It is not a complete claim about all avoidable damage. Later
changes to this list affect future events, not prior recorded totals.
DPS/HPS use shared encounter duration, with a one-second minimum. A fight starts
with relevant damage or in-combat healing/actions, and closes after the group is
out of combat and three seconds without relevant events. These fallback rates
can differ from Blizzard's timing/definitions. Current/Last preserves the last
fight until another begins; Session Total covers fights since login/reset.
Fallback aggregates are in-memory and clear on /reload/logout. Only its avoidable
spell-ID configuration is saved. No full combat log is retained.

CLICK-THROUGH
/fct interactive off disables mouse input on the dashboard and controls so clicks
reach the game. /fct interactive on restores tabs, scrolling, dragging, scaling,
and closing. The separate /fct settings window remains interactive. This mode
changes UI interaction only; it does not unlock restricted combat data.

FIRST TEST
1. Replace the addon folder with this version; keep the existing media folder.
2. /reload. Confirm the 0.2.0 loaded message and /fct debug output.
3. Enable Blizzard's built-in damage meter. Fight a mob with a party.
4. Compare Damage Done, DPS, Healing/HPS and action counts against Blizzard.
5. Open Avoidable Damage and Enemy Damage Taken; check what the client records.
6. Confirm your custom image appears on Threat, Damage, Healing and Actions.
7. /fct interactive off; confirm clicks pass through. Restore with on.
8. Send screenshots and any errors, particularly during combat if values are
   restricted. Native and fallback results should never be assumed identical.

VALIDATION
Lua syntax, existing threat/command/scale checks, and mocked integration checks
passed. Added event fixtures verify effective damage/healing, pet merge, incoming
and tagged avoidable damage, enemy totals, interrupts, dispels, deaths, rates,
segment closure, native metric precedence, restricted display paths and mode
commands. Real Forever gameplay and native meter display remain untested.

0.2.1 - Reference review of the supplied Details! build: correct native DPS/HPS bar geometry using total amounts with rates shown as text; display one event per native death entry; add recorded Blizzard session browsing using the scope button, /fct meter sessions, and /fct meter session ID. Existing media helper and preferred 0.1.7 styling remain compatible. Details! is a reference only and is not bundled or required.

NATIVE DEATHS AND HISTORY
Blizzard death records are individual events, so a player who dies twice can
appear twice with 1 on each row. Local fallback retains per-player death counts.
The scope button cycles Current/Last, Overall, and available recorded fights.
Only native meter history is browsable; the local fallback retains last/current
and session totals only. If a selected Blizzard session expires or is reset,
choose Current/Last again. Native reset controls belong to Blizzard.

0.2.2 - Add /fct fights, /fct fight ID, /fct fight current, and /fct fight total. Keep all /fct meter commands as aliases. Invalid fight commands show usage without changing the selected fight.

0.2.4 - Remove restricted COMBAT_LOG_EVENT_UNFILTERED registration and the local
combat-log fallback. Meters now use Blizzard native data only. No protected
combat-log function is called. Add blocked-function diagnostics in chat. Original
threat features, shared background and short fight commands remain available.

IMPORTANT CURRENT BEHAVIOR (0.2.4 SUPERSEDES FALLBACK SECTIONS ABOVE)
All combat metrics come from Blizzard's native meter. Enable the built-in meter
so it records fights. If unavailable, the addon displays a status instead of
attempting restricted combat-log collection. Manual avoidable spell tagging and
local resets are retired; use Blizzard classification and Blizzard reset controls.
This fixes a likely source of the protected-action popup from versions 0.2.0-0.2.2.
Perform one complete restart after installing to test in a fresh UI session.
If the popup recurs, report the "FTP blocked function:" line printed in chat.

Forever Combat Tracker 0.2.5
INSTALL: Close WoW completely. Replace the old ForeverThreatPlates folder with the included ForeverThreatPlates settings-migration folder; install ForeverCombatTracker alongside it in Interface/AddOns. Enable both entries for the first start so previous settings load. The old folder contains only a TOC, not another running add-on. After settings transfer and a normal logout, you may disable the migration entry. Keep its folder for compatibility with your existing Background Helper. Keep ForeverThreatPlatesMedia installed.

Fight Analysis: click Record Fight before engaging an enemy. Click Stop Recording to end manually. Auto Stop waits 10 seconds after leaving combat and cancels when combat resumes; Manual Stop continues until you stop it. The recording dropdown selects from saved recordings. Up to 100 recordings are stored without automatic deletion. At the limit, delete recordings before starting another. Up to 10,000 successful player casts are retained per recording and persist through normal logout. These are personal successful spellcast events, not a full combat log: auto-attacks, damage results, interrupted/failed casts, other players, and unreported events are not included. Restricted spell IDs are counted as skipped; unavailable targets are labeled. Cast targets are taken only from a matching spellcast-sent event, never guessed from your selected target. Reloading interrupts an active recording. Timing is relative to clicking Record Fight. No automatic rotation scoring is provided.
Validation: Lua syntax and mocked event/UI regression checks; actual Forever-client behavior requires testing.

Forever Combat Tracker 0.2.6
Fight Analysis now has a Manage button. Click Select beside a recording to review or rename it; type a name in the field at the top and click Save Name (or press Enter). Custom names persist and appear in the overview heading.
Check individual recordings, or click Select All, then Delete Selected and Confirm Delete. Clear Selection cancels the selection. Active recordings cannot be deleted; stop them first. Recordings are never automatically removed when new fights are recorded. Capacity is 100 recordings, with 2,000 cast entries each. Existing recordings migrate without data loss.

Forever Combat Tracker 0.2.7
Recording management now appears inside the Fight Analysis tab, using the same window, background and scaling. Manage opens the recording list; Select chooses a recording for renaming and review. Back returns to its timeline. Other tabs remain accessible. No separate management window or extra close button. Naming, selection, deletion confirmation and saved recordings remain supported.

Forever Combat Tracker 0.2.8
Damage, Healing, and Actions now use Blizzard-style dropdown menus to select their metric directly. Damage: Damage Done, DPS, Damage Taken, Avoidable Damage, Enemy Damage Taken. Healing: Healing Done, HPS. Actions: Interrupts, Dispels, Deaths. The selected option is marked in the menu and displayed on the dropdown. Existing direct commands still work. Fight Analysis retains its Record Fight button and inline management screen.

Forever Combat Tracker 0.2.9
Fixed the Combat.lua dropdown label error when opening Damage, Healing, or Actions. Uses Blizzard's full WowStyle1DropdownTemplate, which includes selection text support, rather than the arrow-only template. Existing settings, recordings, backgrounds and commands are retained.

Forever Combat Tracker 0.2.10
Fight selection now uses a dropdown instead of cycling buttons. Damage, Healing and Actions offer Current / Last Fight, Overall / Session Total, and Blizzard-recorded fights with their IDs and names. Fight Analysis offers saved personal recordings with their custom names. Long lists scroll. Fight Analysis keeps the Manage button and inline Back navigation.

Forever Combat Tracker 0.2.11
Fight Analysis has a recording-mode button at the bottom right: Auto Stop: 10s (default) or Manual Stop. Both modes start with Record Fight and allow Stop Recording at any time. Auto Stop shows a countdown after leaving combat. Returning to combat before the countdown ends keeps the same recording. Pressing Record Fight before combat arms recording without starting a stop timer. In Manual Stop, out-of-combat breaks remain part of the recording and elapsed time. No automatic boss-attempt splitting is included: use Stop Recording to separate attempts.
The chosen mode is saved. Timers work even with the dashboard hidden. Cast capacity increased to 10,000 per recording; the heading indicates when capacity is reached. Timelines show 200 entries per page with < and > navigation; the last page follows new casts until you select an earlier page. Existing recordings and names remain intact.
Validation: syntax plus mocked delayed-stop, reentry, manual-mode, mode-change, capacity and pagination checks. Actual client testing still required.

Forever Combat Tracker 0.2.12
Compact overview rows: Damage, Healing, Actions and Fight Analysis use 20-pixel rows with 2-pixel spacing, down from 34-pixel rows with 4-pixel spacing. Threat rows now use 20 pixels for a single line or 32 pixels when secondary information is present, with 2-pixel spacing, replacing the fixed 54-pixel height. Existing fonts, nameplate boxes, backgrounds and window scaling remain unchanged. More players fit in the same overview; longer raid lists still scroll.

Forever Combat Tracker 0.2.13
Integrated nameplates enabled by default: tank label inside the existing enemy health bar, readable health percentage at the right, and a colored threat border. Blizzard retains control of the health fill, enemy name, cast bar, auras and targeting. This is an integration with native plates, not a full replacement or an exact reproduction of the concept artwork. Missing readable health displays --; unknown aggro displays Tank: Unknown. Existing engagement, quiet and combat filters apply. Settings include an Integrated tank / health nameplates checkbox; /fct nameplates box returns to the previous layout. If the health-bar anchor is unavailable, the separate box is used. Syntax and mocked behavior verified; in-game rendering and client restrictions still require testing.

Forever Combat Tracker 0.2.14
Three nameplate styles are available in /fct settings: Original (Default), Integrated, and Two-Line. Original is the default for installations without a saved style choice, including upgrades from 0.2.13. Integrated uses a clearer two-pixel solid threat border. Two-Line places readable health percentage inside Blizzard's bar, with the current tank and a compact status strip beneath it: SAFE, HIGH THREAT, AGGRO LOST, OTHER TANK or UNKNOWN. In damage/healer mode, pulling aggro shows YOU HAVE AGGRO. The challenger name stays in Threat Overview. During an enemy cast the strip follows beneath the existing cast bar to avoid covering it.
Settings include simulated safe/lost nameplate previews that update when selecting a style; Toggle style preview shows or hides them. /fct nameplates original|integrated|twoline selects a style directly; box remains an alias for original. Existing saved settings and recordings remain intact. These are native-nameplate integrations, not exact artwork reproductions. In-game visual verification is still needed.

Forever Combat Tracker 0.2.15
Added Commands button in Settings with a scrollable Commands & Shortcuts reference in the same window and Back to Settings navigation. /fct help and /fct commands open the reference directly; /ftp aliases work too. Includes all commands, metric and nameplate aliases, examples, ranges, and legacy commands. Meter fight selection is distinguished from personal recordings, and reset limitations are explained.
Validation: Lua syntax and mocked navigation/command-reference coverage checks plus the existing regression suite. In-game rendering still requires client testing.

Forever Combat Tracker 0.2.16
Configurable early/yellow and high/orange threat warning sliders at the top of the Settings options list. Defaults remain 75% and 90% to pull. Tank mode watches the closest challenger; damage/healer mode watches your threat. Values are whole percentages, saved across sessions, with early strictly below high. Actual aggro changes, unstable tanking and other assigned tanks retain priority. Reset thresholds button restores 75/90; /fct reset also restores these defaults. Commands: /fct threshold early NUMBER, high NUMBER, reset; /ftp equivalents work. In-game Commands reference updated.
Validation: Lua syntax, mocked threshold boundaries, both role modes, sliders, saved-value normalization and regression checks. In-game appearance needs testing.

Forever Combat Tracker 0.2.17
Both warning sliders now retain a fixed 1-100% visual scale. Adjusting one threshold no longer shifts the other handle when its percentage is unchanged. Yellow remains at least one percentage point below orange; dragging across the other threshold stops the edited slider at that boundary. Existing saved thresholds, commands and default 75/90 values are retained.
Validation: Lua syntax, mocked fixed-range/handle stability, boundary clamping and full regression suite. In-game rendering still requires testing.

Forever Combat Tracker 0.2.18
Manage Recordings: each Select button now checks that completed recording and loads it as the rename target. Previously it only changed the viewed/rename target without checking the delete-selection box. Selecting multiple rows retains existing checks for bulk deletion; Clear Selection or individual checkboxes uncheck them. Save Name applies to the most recently selected recording, while Delete Selected applies to all checked completed recordings and still requires confirmation. Active recordings can be selected for renaming but remain unchecked and protected from deletion.
Validation: Lua syntax and mocked Select/checkbox synchronization, correct rename target, additive selection, confirmed deletion, active protection and row-reuse checks plus regression suite. Client testing still needed.

Forever Combat Tracker 0.2.19
Opt-in live event diagnostic, disabled until /fct diag start. Tests guarded registration of combat-log, unit combat, spellcast, aura, encounter and combat-state events. Collects event counts, restricted-field counts and up to five sanitized samples per event type with relative timestamps; probes a few readable aura fields. Combat-log payload read errors or blocked actions disable further combat-log attempts. No restricted value is converted or persisted. Automatically stops after five minutes and never resumes after reload. Retains the last three diagnostic runs separately from Fight Analysis recordings. Report shows registration outcomes and event samples; zero events may simply mean the event did not occur. Not a complete combat recorder or a bypass of restrictions.
Testing: /fct diag start, fight a normal monster and a dungeon caster, /fct diag stop, /fct diag report. Copy the report, or exit normally and upload WTF/Account/ACCOUNT/SavedVariables/ForeverCombatTracker.lua (contains addon settings, recordings and diagnostic history). Record Fight and /combatlog are independent and not required. Syntax and mocked checks performed; actual client access remains to be tested.

0.2.20
- Live diagnostic no longer registers COMBAT_LOG_EVENT_UNFILTERED or queries aura data. Client 70291 rejected these probes.
- Stop cleans up only events confirmed registered by the diagnostic frame.
- UNIT_AURA notifications remain observational; no named aura access is attempted.
- Diagnostic remains opt-in, with a five-minute limit and restricted-value sanitization.
- Install with the game closed to clear the previous diagnostic state before testing.

0.2.21
- Opt-in diagnostic probes UnitCastingInfo on cast start and UnitChannelInfo on channel start.
- Cast names and other API fields are stored only when accessible; restricted values remain placeholders.
- Missing APIs or failed queries disable that API probe for the run; a protected-action notification disables both probes.
- No Blizzard frame text scraping, OCR, combat-log registration, or aura queries.
- This is a capability test; enemy spell-name recording in Fight Analysis is pending client verification.

0.2.22
- /fct diag display on: opt-in target cast-name display test, separate from diagnostic reporting.
- /fct diag display off: stop and hide the display test; /fct diag clear also stops it.
- Cast names pass directly from UnitCastingInfo/UnitChannelInfo to a text label. No widget text reads, OCR, saved names, or secret-value conversions.
- Query/display errors or addon protected-action notifications stop the test. Five-minute automatic stop; off after reload.
- Only target cast events are displayed. This tests visual rendering, not readable spell names for Fight Analysis.

0.2.23
- /fct diag meter checks the current built-in meter session after combat and opens the copyable diagnostic report.
- Queries local-player Damage Taken, Damage Done and Healing Done spell breakdowns.
- Reports accessible spell IDs, resolved names, totals and creature labels. Restricted fields remain placeholders.
- Does not reset meter history. Run before starting another fight; current session may otherwise change.
- This capability test does not attach results to saved fights or infer individual cast names from totals.

0.2.24
- Fight Analysis footer dropdown: Ability Timeline / Spell Summary, within the existing window.
- New recordings save post-combat local-player Damage Taken, Damage Done and Healing Done spell totals when readable.
- Manual recordings retain separate summaries for each combat segment; totals are not summed or assigned to individual cast events.
- Stopping during combat waits for combat to end; capture occurs after a short half-second delay. Combat reentry before capture marks the missed segment unavailable.
- Built-in session totals may include activity before Record Fight; old recordings cannot be backfilled from unrelated current meter data.
- Readable names/IDs/amounts only, 128 spells per category and 100 summaries per recording. Normal recording rename/delete includes summaries.

0.2.25
- Moved size minus/plus, Reset and size percentage to the top-right overview header beside Close.
- Reserved header space for controls and left the footer clear for Fight Analysis view selection, paging and stop mode.

0.2.26
- Fight Analysis view dropdown remains visible during periodic refresh, preventing menu interruption.
- View labels update only when changed; selecting Ability Timeline or Spell Summary renders immediately and resets scrolling.

0.2.27
- Updated the in-game Commands overview with diag display on/off, diag meter, diag on/off aliases and expanded diag clear behavior.
- Added Ability Timeline / Spell Summary instructions and Auto Stop / Manual Stop explanations.
- Open the reference with /fct commands, /fct help or the Commands button in Settings.

0.2.28
- Added hidden party/raid/instance/guild addon-message version exchange, automatic with no on/off setting.
- /fct version shows status; version check queues a cooldown-limited exchange.
- Optional version channel on/off setting. Join manually with /join ForeverCombatTracker. Client support and cross-ruleset reach are unverified. Rejected channel sends have no visible-chat fallback.
- Broadcasts only the installed numeric release version; does not relay peer claims or access websites.
- Local notice once per newer reported version. Peer reports are not proof that a public release exists.
- Minimum 60 seconds between broadcasts, periodic refresh every five minutes. Old versions without this protocol cannot receive notifications.

0.2.30
- Added custom texture-atlas background animation support across the shared dashboard.
- Settings: Animate custom background; /fct background animation on/off also works. Off shows the first frame. Hidden windows pause playback.
- Existing static Background Helper media remains compatible. ForeverCombatTrackerMedia takes priority when both media addons are installed.
- Optional GIF-derived media is packaged separately from the main addon. Install both folders in Interface/AddOns and restart the game.

0.2.30
Added a one-time Custom Background Support notice with a selectable support email
and Don't show again checkbox. Reopen it in /fct settings using the
Custom Background Support button below the background animation option.
Images and GIF-derived animations use an optional, separately distributed helper.
For preparation and installation help: forevercombattracker@gmail.com
No executable, helper program, or external download link is included in this addon ZIP.
