File Details
v2.0.0
- R
- Feb 23, 2026
- 40.15 KB
- 14
- 12.0.1
- Retail
File Name
Diameter-v2.0.0.zip
Supported Versions
- 12.0.1
Diameter
v2.0.0 (2026-02-23)
- Added a report concerning memory usage.
- IDs replaced from GetTime() to increment.
- EventBus now can clear listeners of a closed window passing owner param.
Removed a dead event nobody was firing: EVT.ADDON_BOOTED - Even more stuff to do. I might add "Cleaning bathroom" to TODO.md, too.
- Fixed: can't close window if there's only one.
A small fix on Util.count so it can count with or without a predicate. - New module: Database (singleton). Abstracts all DB operations :3.
Presenter now just use an in-memory/in-DB reference to currentState.
Fixed: a bad reference in Presenter:New; "self" instead of "obj".
Fixed: a NASTY bug due to a shared dataArray in Data.lua.
Reduced UI.MaxBars to 50 because I think Blizz caps at 40. Idk tho, I am just a dog. - Adding/sorting priorities.
- Multiple window feature with another massive singleton -> OO refactor.
I could write a frikkin essay here; there's still A LOT to be done, but the raw functionality is here.
It persists new windows into DiameterDB and restores them too.
Fixed: upon creating a new window, it'd be black until a /reload come in. Reason was, ScrollChild would never get a Width. It's inheriting ScrollFrame's width now.
Added a Diameter.Debug:Frame before I went nuts.
EventBus is now instanced AND has a singleton for global events. Now we have Diameter.EventBus and Diameter.EventBusClass. I don't love this, but it works.
Menu is now OO instead of singleton.
Presenter is working with instances of EventBus and UI now.
UI starts new windows in a much cuter size.
Removed space for a scroll bar in UI.
Added a big TODO.md file to keep track of important stuff that still required attention. - Diameter now handles a dynamic amount of windows/presenters.
Diameter.lua now it MUCH lighter, it doesn't hold state anymore.
Diameter.Current is gone. It should be merged with viewState, IMO.
EVT.MAINFRAME_BOOTED renamed to ADDON_BOOTED.
Presenter.lua now can be put in an array, loads from DB and holds the state Diameter.lua used to hold. - Loop refactored to OO and became Presenter.lua. Beautiful, I know.
Cleared some method calls to show data after boot.
Version bumped to 2.0.0. Because I can. - Navigation module migrated to OO approach.
Code smell Diameter:RefreshUI() was removed in favor of events. Even then, less events are needed. - Saved a reference to created Header.
- UIHeader refactored into OO design.
UI assembling is much cleaner now, with "Create" returning components instead of assembling them.
Added abstraction for the SegmentBtn text (no abstraction leak).
fixed: jittery segment button jumping around. Fixed width now. - Fixed: bug on /reload mid combat. The reloading was triggering stuff before CurrentState was fetched from DiameterDB.
- Moving architecture to OO, starting with UI.
Found a bug: /reload while in combat throws a lua error. - I forgot to bump the version up, as always. I need to automate this.