File Details
Housing Decor Guide v2.36.0
- R
- Apr 26, 2026
- 1.67 MB
- 8.3K
- 12.0.5+2
- Retail
File Name
HousingDecorGuide-2.36.0.zip
Supported Versions
- 12.0.5
- 12.0.1
- 12.0.0
### Added
- Dyed model preview: Preview tab's 3D model now renders with the actual
dye colors applied for variant entries, matching Blizzard's housing
catalog. Uses the new 12.0.5 SetGradientMaskWithDyes API on the model
scene actor with per-channel dye color IDs from
C_HousingCatalog.GetAllVariantInfosForEntry.
- Inline dye droplets on Preview tab list rows: dyed variants now show
their dye colors as small droplets after the item name (replacing the
"(Dyed)" text suffix). Visual matches Blizzard's catalog droplet style.
- House Editor variant cards:
- Dyed-item indicator changed from a plain white droplet to Blizzard's
"housing-dyable-palette-icon" atlas (small palette shape).
- Dye swatches moved to TOP-RIGHT of the card, tightly stacked, using
droplet-shaped atlas textures (dye-drop_32) tinted via SetVertexColor.
- Mirrors Blizzard's HousingCatalogDyeDisplayMixin.
- Tooltip transparency for variant placed counts: Owned and Dyed variant
cards now show the row-aggregate placed total ("N placed across all
variants") with an explicit note that per-variant split isn't exposed
by Blizzard's API. Replaces silent "0 placed" misattribution.
- Materials List bag chip icon swapped to "plunderstorm-icon-item" atlas
(visual refresh, no behavioural change).
- Crafting Queue dropdown indicator (Recipes tab) swapped from yellow
triangle (common-button-collapseExpand-up/-down) to the curved
"common-icon-rotateright" atlas, with green tint when expanded. Avoids
the yellow-triangle "warning indicator" misread reported by a player.
### Fixed
- 12.0.5 catalog searcher API: SetDistinctPerRecordID was hard-removed
in 12.0.5, replaced by SetBaseVariantOnly (semantic inverse). The
defensive `if searcher.X then` guard meant the old call silently
no-op'd, leaving distinct-variant filtering broken since the patch.
Now uses SetBaseVariantOnly(false) on 12.0.5+, falls back to legacy
SetDistinctPerRecordID(true) on older builds.
- Materials List recipe popout anchor: clicking a material row no longer
positions the recipe panel at the bottom-right of the screen. The Y
offset was reading the row's content-frame Y (often -300 deep into a
scroll), which combined with SetClampedToScreen pushed the popout off
the materials window entirely. Now uses screen-relative offsets so the
popout always lands directly to the right of the materials window,
vertically aligned with the clicked row.
- Materials List row tooltip overlap: hovering a row no longer shows the
item tooltip on top of the materials list. The default ANCHOR_TOPRIGHT
positioned the tooltip at the row's top-right (inside the list).
Tooltip now anchors to the right of the materials window (or to the
right of the recipe popout if it's open) so it never covers list rows.
- Materials List resize tab: clicking-and-dragging the bottom resize tab
no longer makes the window jump to full height before settling. Cause
was StartSizing("BOTTOM") on a frame with a single non-top anchor —
WoW had to compute the effective top edge on first drag, mis-snapping
the height. Now pins TOPLEFT to current screen position before resize
and persists the new anchor so position survives reload.
- Preview tab vendor tooltip: currency-priced items now show the actual
currency name + icon + amount (e.g. "150 [icon] Voidlight Marl") on
the "Available from vendor:" lines instead of the literal placeholder
text "currency". Calls HDG_VendorResolver.GetCurrencyCost(itemID) once
per tooltip and reuses the resolved tuple across all vendor rows,
matching the pattern already used by the Acquisition tab.
- Alts tab Character Details: characters no longer show empty stub rows
for every decor profession (Alchemy, Blacksmithing, Enchanting, etc.)
with "Open a profession window..." prompts. CollectCharacterProfessions
was unconditionally creating an entry in newProfessions for every
decor-recipe-bearing profession, regardless of whether the character
actually had it. Now only persists an entry when there's evidence the
character owns the profession: it appears in GetProfessions() (prof1,
prof2, cooking, archaeology, fishing slots), prior cached non-empty
skill levels exist, or the character knows at least one decor recipe
in that profession (the safety net for Cooking when GetProfessions
returns nil for the cooking slot).
- Alts tab Character Details: gathering professions (Skinning, Herbalism,
Mining) now appear under the character's row when owned. Loop now
iterates the union of "professions with decor recipes" and
"professions the character has per GetProfessions()", so gathering
professions (which have no decor recipes and were previously skipped)
are included whenever the character actually has them.
- Alts tab phantom collapse arrow: the yellow collapse/expand triangle
no longer leaks onto per-character header rows. The "No Professions"
section header was lazy-attaching a collapseArrow to a frame in the
shared charHeaderPool; when ReleaseAll recycled that frame back to a
per-character header, the arrow stayed visible (and clicking it
toggled the No Professions section instead of doing anything
character-related). Per-char header acquisition now hides any leaked
collapseArrow, resets the label anchor, and clears the section
OnMouseUp script. Section header path also now hides any leaked
per-char hideBtn/deleteBtn for the inverse direction.