Housing Decor Guide

All 1,690 housing decorations in one addon. Browse every acquirable item, plan vendor shopping routes with built-in waypoints, queue crafting recipes with material tracking, and monitor profit margins — all with account-wide alt awareness.

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.