File Details
Housing Decor Guide v2.38.0
- R
- Apr 30, 2026
- 1.78 MB
- 11.5K
- 12.0.5+2
- Retail
File Name
HousingDecorGuide-2.38.0.zip
Supported Versions
- 12.0.5
- 12.0.1
- 12.0.0
* New: Decorator Profile composite widget — folds the old XPHero +
DecoratorTitle + TrophyShelf hero band into one full-width card built
around Blizzard's exact Housing Dashboard level ring (laurel wreath +
radial XP sweep + leading-edge sparkle flipbook). Verbatim XML port of
CurrentLevelFrame at native atlas sizes (256×158 host, 130×130 cooldown
sweep at offset 8/-8, six leaf textures at native useAtlasSize positions
— DO NOT scale, the radial fill and frame line up pixel-perfect at exact
Blizzard dimensions). Sweep animates from empty → current XP over 1s
with InOutQuartic easing on each tab open, replays on Show.
* New: Sticky header strip pinned to TOP of the House tab, above the
scroll viewport — `Level N · X / Y XP · Slots O / M · Lumber count ·
+collectible XP` always visible regardless of scroll position. Refreshes
on the same Aggregator broadcast as the dashboard cards.
* New: Daily bestowed title rotation — 50 squirrel-given titles + Vamoose
quips ("Twilight Court Architect — Sleeps with one eye open. The other
is admiring the moonlight." etc.). Deterministic per-day so all alts
see the same title; rolls at server reset. Persisted via
HDG_DB.daily.bestowed = {date, index} for downstream rollover detection.
Disconnected from collection stats — pure date-based rotation.
* New: `/hdg costtest` slash command — validates HDG_VendorDB against
`entryInfo.sourceText` from C_HousingCatalog.GetCatalogEntryInfoByItem.
Parses gold (`Cost: 50g`) and currency hyperlinks (`|Hcurrency:NNNN|h`)
from sourceText, matches against our DB per (itemID, vendor, cid),
reports per-currency totals (DB-uncoll vs API-uncoll, OK/!! markers)
plus per-item mismatches and missing-in-DB lines. Output goes to a
scrollable copy-paste dialog. Discovery: vendor cost lives in sourceText
as parseable text, NOT as a structured field — Bliz API IS authoritative
for most current items but UNDER-reports for older WoD-era items
(sometimes drops AC component, sometimes shows wrong gold). Treat as
"investigate" not "fix automatically."
* New: `/hdg decordump` (alias for `/hdg dump`) — restored layout-dump
copy dialog after the v2.38a TestWindow surface retired.
HDG_HT_LayoutDump module replaces HDG_HT_TestWindow.lua (fewer parallel
renderers; one render path).
* Fix: HDG_VendorDB validation pass via /hdg costtest. 119 cost mismatches
resolved across Voidlight Marl (~80 systematic 750→250 / 2500→500 /
1500→150 drops on Khaz Algar housing vendors), Khaz Algar gold pricing
(High Tides Ren / Xiao Dan / Len Splinthoof / Founder's Point pricing
reshuffled). 7 vendor entries with missing currCost fields patched
(Crafty Palu, Gabbun ×4, The Last Architect, Void Researcher Aemely).
* Fix: VendorDB data integrity — 3 Sin'dorei items (245284 Silvermoon
Wooden Chair, 245330 Enchanted Blood Elven Candelabra, 251997 Sin'dorei
Winged Chaise) were misassigned to Materialist Ophinell at Twilight
Highlands with the wrong currency (Twilight's Blade Insignia 3319).
Items moved to NEW vendor Dethelin (npcID 250982, Silvermoon City,
Midnight) at correct Resonance Crystal prices (3000/3000/5000).
* Fix: VendorDB — Second Chair Pawdo (252312) retagged from Orgrimmar
Classic Horde → Dornogal The War Within Neutral. Nightborne Lantern
(247908) cost added at this vendor (30g + 50 Order Resources).
* Fix: VendorDB — 11 Apexis Crystal entries normalized from item-token
format `{{"i",823,X}}` to currency format `{{"c",823,X}}` (Apexis
Crystal is uniquely both itemID 823 AND currencyID 823; functionally
equivalent but the validation tooling counts only the "c" form).
* Change: House tab source widgets retired — XPHero, DecoratorTitle, and
the standalone TrophyShelf widget folded into Decorator Profile (style
affinity remains as its own slim full-width card). HDG_HT_TestWindow.lua
also retired (its parallel renderer was a v2.38a debug surface no longer
needed). Old `/hdg dashboard` and `/hdg dump` slash handlers removed
from /hdg surface (decordump and dump still work as aliases).
* Change: Design Mode no longer supports drag-to-reorder — reorder via
the up/down arrows in the Customize picker instead. Resize handles
(right-edge width snap, bottom-edge height) and the dimension-slider
gear popover stay. Popover gains a "Reset" button per widget that
clears that widget's saved overrides only. Font keys (titleFont,
subFont, etc.) are hidden from the slider list — they are intentionally
hardcoded for visual consistency and the sliders had no effect.
* Change: TrophyShelf gains optional `showHeader = false` dim — when
hosted inside the composite, hides the "Trophy shelf X/Y" header.
Also gains `iconDrop` dim controlling how far icons sit into the wood
plank (used by composite to place trophies lower on the shelf).
* New: Top $/Lumber widget on House tab — third-width panel, top-5 craftable
decor by gold-per-lumber, lumber-expansion-coloured names with $/lum chip,
click row → Goblin tab. Pulls from HDG_GoblinTab profit data via a public
`GetTopByLumberValue(n)` getter (lazy-computes on first use).
* New: Favorites system — right-click any row in Preview to toggle a star
(auctionhouse-icon-favorite atlas, layered above row chrome), persists in
`HDG_DB.favorites` keyed by itemID (survives catalog cache rebuilds).
"Favorites" filter chip added to the All sub-tag row, after All Decor.
Scrollable Favorites widget on House tab (mouse-wheel only, no scroll bar)
— left-click row → Preview tab Favorites filter, right-click → unfavorite.
* Fix: Resolver and Customize picker now auto-append widgets that were added
AFTER you last saved a layout order, so brand-new widgets appear in both
the cockpit and the customise panel even when your SavedVar order predates
them. New widgets land at the end of the list — use the up/down arrows or
Reset to default to slot them naturally.
* Fix: Decor Currencies panel now colours Midnight currencies (Voidlight
Marl, Brimming Arcana, Angler Pearls, Illusionary Coin, etc.) in the
Midnight expansion colour. Earlier the heuristic picked the earliest
vendor.exp seen, so any currency accepted by a Stormwind/Orgrimmar
capital-city vendor got bucketed Classic. Explicit currency→expansion
override added in HDG_ExpansionData for the 33xx Midnight block.
* Fix: HDG_VendorResolver pcall-hardened against 12.0.5 secret-string taint
when resolving vendor/NPC names via C_TooltipInfo.GetHyperlink. The fault
is on read/comparison of `tooltipData.lines[i].leftText`, not the call
itself, so the entire probe is wrapped — falls back cleanly to cached DB
names instead of cascading the error up through Preview tab tooltips.
* New widgets bound through Aggregator + Registry: A1 Capacity (with B4 Rooms
sub-line), A2 NextRewards (async), A3 MultiHouse (with secure teleport
buttons cribbed from VN), B1 HotPicks, C1 CraftableNow, C2 RecentActivity
(driven by HDG_Settings.craftingHistory), C3 ThemedSets (top closest-to-
complete from HDG_CollectionDefinitions), C4a LumberWallet + C4b
DecorCurrency (split, currency IDs auto-extracted from HDG_VendorDB), D1
persona line (folded into DecoratorTitle), D2 Records + DailyXPTracker
(default-off until logs are dense enough), A4 Refund footer
* Extracted with v2.37 fidelity preserved: XP Hero (level + decor count +
collectible-XP callout), DecoratorTitle (title + tier ladder), TrophyShelf
(alpha-sorted uniques then prey, two-tone header, accent bar), CloseCards
(smooth bars, yellow titles, "X / Y - N to go (P%)" stat format), Featured
(now full-width with 4 weekly-rotated mini-features), Source/Expansion
donuts (Source: % headline + count/total sub; Expansion: count + label;
Expansion sort uses HDG_ExpansionData.EXPANSION_ORDER)
* New: Aggregator computes `housingNeed[currID]` — per-currency cost to buy
every uncollected vendor decor, derived from HDG_VendorByItem index +
VendorDB cost field. DecorCurrency chips render `have / needed` with green
tint + ReadyCheck-Ready icon when sufficient
* New: chrome modes ("card" / "section" / "none") — the hero band renders
flat with section dividers, donut/capacity/etc. keep card chrome. Cards
paint at scheme.panel × 0.6 / scheme.border × 0.3 for v2.37-matching
layered look. Cyan accent bars (2px) left of every section title.
* New: theme propagation across every cockpit widget — every fontstring goes
through Theme.ApplyFont (user font + scale), every color reads scheme.text
/ accent / text_dim / success. Hardcoded RGB triplets eliminated except in
Editor/Placeholder (debug surfaces).
* New: StyleAffinity collapsed to single inline horizontal row in the hero
band with v2.37 tag-namespace filter (skipTagIDs from
C_HousingCatalog.GetAllFilterTagGroups drops Expansion/Size groups so
faction/style tags surface as the dominant aesthetic)
* New: SegmentedBar themed defaults (lit = scheme.success, unlit =
scheme.border × 0.7), GaugeBar tier colors via scheme.success/warning/error
* New: `/hdg dump` slash command + copy dialog — multiline editbox with
auto-select for layout dumps. Captures user picker reorderings as
sequential integer `order` values for round-trip into source.
* New: 2-column Customize panel (was 1-column, 19 widgets fit cleanly now)
* New: `defaultEnabled` field on widget specs — three-state visibility so
data-light widgets (Records) ship off by default
* New: `/hdg order` + `/run HDG_PrintOrder()` for quick order inspection
* House tab body NOT yet replaced — cockpit still lives only in
`/hdg dashboard`. Real House tab integration arrives in next commit.
### v2.38a foundations (folded into 2.38.0)
* New: `/hdg dashboard` slash command opens a standalone layout test window
* New: full data-driven layout system (`HDG_HT_LayoutConfig`) with 17 placeholder
widgets — single source of truth for all dashboard dimensions
* New: pure-math 3-column bin-packer (`HDG_HT_Layout`) with three discrete
card widths (1/3, 2/3, Full); pixel-clean column math at 270/552/834
* New: Resolver (`HDG_HT_Resolver`) merges config defaults with SavedVar overrides
* New: slide-down customisation picker — toggle widgets on/off, change widths,
reorder via ↑↓; state persists in `HDG_DB.houseTab.{enabled, order, width}`
* New: visual layout editor (Design Mode toggle) — drag-reorder cards, resize
handles snap widths, gear-icon dimension popovers with live-preview sliders
* New: `/hdg layout dump` echoes the current effective LAYOUT_CONFIG to chat
for graduating runtime tweaks back into the source file
* New: `HDG_HT_SegmentedBar` primitive (10-segment fillbar with `solid` and
`blizzPip` styles) — built but not yet consumed; ready for v2.38b widgets
* Note: the real House tab remains unchanged in this release. v2.38b will
introduce internal layout patterns and migrate widget rendering into the
new system.