File Details
Housing Decor Guide v2.34.0
- R
- Apr 24, 2026
- 1.66 MB
- 6.7K
- 12.0.5+2
- Retail
File Name
HousingDecorGuide-2.34.0.zip
Supported Versions
- 12.0.5
- 12.0.1
- 12.0.0
### Added
- Preview tab: new filter layout. The "All" category now has sub-tags
(mutually exclusive radio) -- All Decor, Crafted, House XP. Default is
"All Decor" (full catalog). "Crafted" restricts to craftable items from
the recipe database. "House XP" shows only unowned items that will
grant house XP on first acquisition (uses entryInfo.firstAcquisitionBonus
> 0 and auto-hides unreleased items). Unknown and Stored remain on the
header row as INDEPENDENT toggles so they compose with categories and
tags (e.g. Unknown + Crafted + Alchemy = uncollected Alchemy recipes).
- Preview tab: new "Only Unreleased" toggle alongside "Hide Unreleased"
for a sneak-peek view of upcoming decor items (items with a patch ver
higher than the current client build). The two toggles are mutually
exclusive.
- House Editor tab (injected inside Blizzard's HouseEditorStorageFrame):
unique trophy items now show the trophy icon (house-chest-trophy-icon
atlas) instead of a "1" quantity badge. Matches Blizzard's own catalog
behaviour.
- Collection state now persists across /reload. The owned decor set is
saved to SavedVariables after each update and restored on login, so
tabs paint with last-known collected markers immediately instead of
empty state for ~0.5s. A fresh sweep runs in parallel if stale. The
Refresh button wipes the persisted store and rebuilds from scratch;
all other SavedVariables (crafting/farming history, known recipes,
custom styles, shopping lists, user notes, config) are untouched.
- HDG_ENTRY_UPDATED EventBus event (payload: decorID, itemID, isOwned,
wasOwned, stored, placed, redeemable) fires on each per-entry change
for future per-row UI consumers. Existing tabs continue to use the
coalesced HDG_COLLECTION_READY broadcast.
### Changed
- Recipes tab: "Known" filter is now ACCOUNT-WIDE instead of current-
character only. Shows recipes learned by any character on the account.
Narrow to a single character via the profession tag. Thanks to Jack
for the feedback -- this matches the workflow he outlined: Known +
Expansion + Profession filters to quickly thin down the list for
shopping queue planning.
- Collection detection rewritten to match Blizzard's canonical pattern
(Blizzard_HousingDashboardCatalog.lua). HOUSING_STORAGE_UPDATED (bulk)
runs a full arithmetic sweep; HOUSING_STORAGE_ENTRY_UPDATED (per-entry)
patches a single decor via GetCatalogEntryInfo(entryID). Replaces the
previous debounce / shrink-guard / retry machinery with an O(1)
per-event path. Coalesced HDG_COLLECTION_READY (0.3s) keeps tab
refreshes batched during 100-item acquisition bursts.
### Fixed
- CRITICAL: collection arithmetic was reading nonexistent fields. The
sweep used info.totalNumStored / info.totalNumPlaced, but the real
runtime fields (in-game verified and confirmed in
Blizzard_HousingCatalogEntry.lua:437-438) are info.quantity /
info.numPlaced. Items with no remainingRedeemable were silently
invisible to the sweep -- most of a mature player's collection.
Fixed in both the bulk sweep and per-entry paths.
- CatalogSearcher configured with correct method names. Previous code
called SetStoredOnly(false) and SetBaseVariantOnly(true) -- neither
method exists in Blizzard's searcher API; both silently no-op'd.
Replaced with the canonical SetOwnedOnly(false) and
SetDistinctPerRecordID(true). Similarly removed phantom
SetIncludeMarketEntries calls from the Preview tab's own searcher.
- Preview tab "Loading catalog..." stuck state on cold login. The tab's
persistent searcher kicked at window-open time before Blizzard's
catalog had synced from the server; the callback never fired, the
in-progress flag latched true, and subsequent HOUSING_STORAGE_UPDATED
events couldn't retry. Fix: the storage event handler now re-kicks
the searcher AND clears the stale in-progress flag, so when Blizzard
reports storage ready the next RunSearch produces fresh results and
the callback fires. After /reload the catalog was already cached so
the bug only showed on cold login.
- Preview tab's variant-discovery searcher now uses
SetDistinctPerRecordID(false) to return each dyed copy as a separate
entry (matches Blizzard_HouseEditorStorageFrame storage-mode config).
- Lumber tracker in Recipes tab: "In Stock" column sometimes rendered
the "have/needed" form instead of the collapsed single-count form
on first window open, even for lumber types whose decor was fully
collected. Fix: HDG_COLLECTION_READY handler also refreshes the
embedded in-window tracker, not just the pinned widget.
- Eliminated 17 false positives from the firstAcquisitionBonus
heuristic used in previous versions (Spring Blossom Pond, Lunar
Celebrant's tea set items, Brown Paper Sack, and similar items that
incorrectly showed as collected when they weren't).
### Removed
- HDG_Data.MarkDecorCollected and the HOUSE_DECOR_ADDED_TO_CHEST
optimistic-write kludge. The shopping list now refreshes via the
normal HDG_COLLECTION_READY chain (~300ms after the acquisition event
fires). LumberTracker's event wiring already did the right thing.