File Details
v2.0.0-bcc
- R
- Apr 21, 2026
- 27.85 KB
- 31
- 2.5.5
- Classic TBC
File Name
MinimapButtonCollector-v2.0.0-bcc.zip
Supported Versions
- 2.5.5
Minimap Button Collector
v2.0.0 (2026-04-21)
Full Changelog Previous Releases
- feat!: v2.0.0 — side panel layout, settings panel, per-character SavedVariables (#5)
- feat!: v2.0.0 — side panel layout, settings panel, per-character SavedVariables
BREAKING CHANGES:
- Hex overlay removed in favor of a side panel. The new layout is a
floating grid anchored to a configurable corner of the minimap; the
minimap is no longer covered while the panel is open. Full rationale
in docs/adr/0001-drop-hex-overlay-in-favor-of-side-panel.md. - SavedVariables schema bumped to v2. The trigger angle moves from the
global DB to a new MinimapButtonCollectorPerCharDB (each char keeps
its own trigger position). v1 data is migrated on first v2 login and
the old DB is preserved under _legacy_v1 as a safety net.
Highlights: - New UI.lua implementation around a clean side panel grid with
auto-sized rows x cols, 8 px gap, BackdropTemplate background,
200 ms fade in and out. Panel is parented to UIParent and anchored
via SetPoint — no Minimap:SetAlpha anywhere in the addon now, which
eliminates a whole class of conflicts with ElvUI and other skinners. - Settings.lua adds a native Blizzard settings panel (/mbc config or
right-click the trigger). v2.0.0 exposes the panel anchor and an
About section with version, distribution links and Ko-fi. Behavior
and Collected buttons sections land in v2.1+ as features arrive. - Core.lua migrates schema v1 to v2 on PLAYER_LOGIN, copies the trigger
angle into the per-char DB, and prints a one-shot chat notice
announcing the layout change on first v2 login. - .toc adds SavedVariablesPerCharacter and Settings.lua.
- docs/adr/0001 seeds the project's ADR directory with the layout
decision, Nygard format. - README rewrites Features, Usage, Roadmap and adds a Compatibility
section to reflect the side panel reality.
Follows: v2.1.0 (per-button hide + reorder), v2.2.0 (search/filter),
v2.3.0 (Masque support).
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- chore: apply smoke-test refinements to v2.0.0 PR
Iteration on feat/v2-side-panel after real-user smoke-testing exposed
four refinements to apply before merging and tagging.
- Default anchor LEFT + new LEFT/RIGHT presets.
BOTTOMLEFT left the panel centred below the minimap, wasting the
free space beside a top-right minimap (TBC default). LEFT feels
natural, grows downward and doesn't collide with chat or action
bars. LEFT and RIGHT are new beside-the-minimap options on top of
the four above/below corners. - Settings panel is now a standalone floating frame.
InterfaceOptionsFrame_OpenToCategory in TBC 2.5.5 didn't actually
navigate to our category — right-click opened a generic options
view. The floating frame owns its lifecycle, is drag-movable,
responds to ESC, and works reliably across the client. - "Close panel when clicking outside" toggle, default ON.
Reverts the v1 rc5 non-modal decision for v2.0.0 based on user
feedback. Implementation is a checkbox so anyone preferring the
older non-modal behaviour can opt out. - Collected LibDBIcon buttons no longer look desaturated.
The longest debugging thread of this PR. Five iterations tried to
hide LibDBIcon's decorative textures (TrackingBorder ring and
UI-Minimap-Background disc) via path match, size heuristics, draw
layer, and named attributes — each caught more textures but the
icons kept looking dim.
Tracing MBB's source showed the correct approach: keep the
decorations intact (they're what makes the icon read as a button)
and give the grid enough pitch that adjacent rings don't overlap.
The real desaturation turned out to be visual contrast from the
dark panel backdrop — a near-black plate behind colourful icons
made them read as less vibrant by comparison.
Final shipping look after another round of iteration: thin gold
UI-Tooltip-Border on the panel, pale warm-gold fill at 15 % alpha.
The lighter fill raises pixel luminance where it mixes in, so
icons stand out against the panel rather than being dimmed by it.
No dark plate anywhere in the addon.
Also included:
/mbc debug <ButtonName>slash command for diagnosing unusual
buttons (dumps region layer, size, alpha, vertex colour, tex id).
Argument case is preserved — the existing/mbcparser's
:lower()call only applies to the command token, not its arg.- MoveAny uses
button.border = true(a boolean) rather than a
texture reference; the border-probing code is guarded with
type(button.border) == "table"so AdoptButton no longer crashes
on that pattern. restoreButtonssimplified: collected buttons stay permanently
parented to the panel once adopted, so we no longer reassign
parent / point / alpha every close — only Hide() them so any
OnUpdate loop in the owning addon stops firing while the panel
is down. Panel:Hide() then handles visual disappearance via
parent-alpha inheritance.- Fade animation now touches only the panel (children inherit its
effective alpha) — fewer fadeEntries, same visual result. - CHANGELOG [2.0.0] rewritten to describe the shipping behaviour
rather than the intermediate iterations.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.7 (1M context) noreply@anthropic.com - feat!: v2.0.0 — side panel layout, settings panel, per-character SavedVariables

