Repository navigation
Releases: tbeaty91/SlotCast
Releases · tbeaty91/SlotCast
Release list
2.8.7
SlotCast
2.8.7 (2026-10-04)
Full Changelog Previous Releases
- Add CurseForge project ID to the TOC
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add project logo; keep art/ out of the packaged addon
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add tag-triggered packager workflow for CurseForge releases
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Restore the Author line
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Ignore dist/
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Drop the Author line from the TOC for public release
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add WoW Forever's interface version (16001) to the TOC
A Forever beta update started rejecting SlotCast as incompatible, even with
"Load out of date AddOns" on: the TOC listed only retail versions newer than
the client. 2.8.7.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Switch to the spellbook tab after opening Click Bindings
WoW Forever's beta opens the spells window on Talents whichever way Click
Bindings is opened, leaving nothing to drag spells from. Calling
PlayerSpellsUtil.OpenToSpellBookTab() afterwards was confirmed in game to
fix it, and is a no-op where the bug is absent. 2.8.6.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Open Click Bindings via ToggleClickBindingFrame first
Blizzard's own opener load-on-demands the UI and needs no chat-box
borrowing. It toggles, so an already-open window is detected first rather
than closed. /clickcasting and the frame pokes remain as fallbacks. 2.8.5.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Offer rank/max for the top rank too; re-check ranks when a spell is learned
A slot holding your best rank now gets the same R3/max toggle as a lower
rank: identical today, but R3 stays on Rank 3 and max moves to Rank 4 once
it is learned. The rank verdict cache was never wiped, so learning a rank
would not have been noticed until /reload. Bump to 2.8.4.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Show the highest rank on the rank button instead of "-"
A slot holding your best rank greyed out with a "no ranks" tooltip, which
read as broken. It now shows the rank (e.g. R3), still disabled, and says
it's the same spell as max until a higher rank is learned. Bump to 2.8.3.
Also corrects the backstop comment: the Forever probe (1.60.1) shows the
name test works there; Rank 2 resolved to its own id.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - probe: trace the rank decision for each bar spell
Prints SpellRank, what the bare name resolves to and its subtext, and the
running version, so a greyed-out rank button points at the test that failed.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Bump version to 2.8.2
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Detect lower ranks by the slot's spell id, not just the name parser
WoW Forever resolves "Healing Wave(Rank 3)" to the top rank's id, so the
name test called every rank flavour text and a Rank 3 slot cast max rank
with the rank toggle hidden. A slot holding a different spell than the bare
name resolves to, with a different rank subtext, is now a real rank.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Only defer, and only warn, when something actually changed
"binding change held until you leave combat" fired on any refresh that
happened during combat, and plenty of events land there for reasons
unrelated to bindings: roster updates, spell overrides, macro edits. The
message was accurate about the deferral and wrong about the cause.
DoRefresh now builds the plan first -- building only reads, so it is safe
in combat -- and compares a sorted signature of it, plus the settings
that affect frame writes, against what was last applied. Identical means
return silently. Nothing is deferred and nothing is announced unless the
result would genuinely differ.
Also skips the secure writes entirely out of combat when nothing changed,
and adds /slotcast quiet for anyone who wants the notice gone regardless.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Add bar click labels, enemy-frame skipping, and a stop-casting option
Three opt-in behaviours:- Labels.lua draws each slot's click on the action button itself, so the
bar documents its own grid. Decorative only -- no attributes, no
secure code -- and the font falls back if the narrow one is missing. - Enemy-ish frames (target, focus, boss, arena) can be left alone, since
a heal aimed at a boss frame burns a click and sometimes a global.
Excluded frames are actively restored, so the toggle takes effect at
once rather than at the next reload. - /stopcasting can be prepended so a click-cast interrupts the cast in
progress instead of being swallowed by it.
Clique ships eight per-group frame toggles; one switch covers the case
people actually have and costs a fraction of the panel space.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
- Labels.lua draws each slot's click on the action button itself, so the
- Stop the recommendation callout clipping its own text
The box was sized for two lines and the text ran to three, so it cut off
mid-word. Box and label are taller, everything below shifts to match,
and the copy is trimmed to two lines -- the reasoning already sits in
the alignment line directly beneath it and in the Map button's tooltip,
so the callout only needs to be the nudge.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Make the vertical-bar recommendation read as one
A tip set in the same grey as the surrounding explanation is not a tip.
The horizontal-bar nudge and the reshaped-bar warning now sit in a
tinted callout with a coloured edge -- amber for the recommendation, red
for the warning -- and lead with the problem before the fix.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Give the panel room, and lead the grid with what it means
The two blocks that grow -- the warning list and the conflict list --
were spaced for their empty state, so a couple of messages ran into the
section below. Both now have room to grow into and a fixed height so
they clip rather than overlap. Wrapped text gets line spacing, and the
hints are shortened, with the detail left in the tooltips where it
already was.
The line describing what the grid means sat below the grid, which is the
wrong order: it now reads "Current grid alignment: 3 wide x 4 tall.
Columns are Left / Middle / Right; rows are none / Shift / Ctrl / Alt"
directly above the picture it describes, under the vertical-bar tip.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Open Edit Mode rather than rewriting the user's layout
Adds an Open Edit Mode button next to the grid controls, and a probe
section reporting which Edit Mode APIs exist so the question of whether
orientation is settable from code can be answered with evidence.
Opening rather than setting is a deliberate choice independent of what
the API allows: a bar's orientation lives in the player's saved UI
layout, which is shared across characters and often carefully arranged.
Rewriting that to suit one addon's preferred grid is not a trade an
addon gets to make on someone's behalf.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Recommend a vertical bar for the grid mapping
Both orientations work, but only one reads well: a vertical bar three
columns wide puts Left / Middle / Right across the top and the modifiers
down the side, matching how a mouse is laid out. A wide bar puts the
mouse buttons on the rows, so left and right run downwards -- correct,
and confusing to look at.
Say so where it is useful: in the slot hint, in the Map button tooltip,
and as a prompt on the preview itself when the bar is wider than it is
tall. The README leads with it.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - Draw the click mapping, and warn when the bar was reshaped
Reported symptom: switching a bar from vertical to horizontal swaps
left and right clicks. That is the mapping working as designed and being
impossible to reason about -- the shape change moves every slot to a
different cell AND flips which axis carries the mouse buttons, so the
same spell lands on a different click.
Explaining that in prose did not land twice, so draw it: a grid of cells
under the slot list showing the click each position gets, read from the
live bindings rather than recomputed so the picture cannot disagree with
the behaviour. Flip the bar and the picture flips with it.
Also remember the shape a mapping was made for, and say plainly when the
bar no longer matches it, instead of leaving it looking like the
bindings scrambled themselves.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com - State the whole grid mapping, not just which axis wins
Two different Edit Mode settings can produce the same shape with the
slots filled in differently inside it: horizontal with 4 rows and
vertical with 3 rows are both 3x4. The mapping is posi...