## Interface: 50504
## Title: Enhanced Transmog Browser |cff00ff00[V15.24.3]|r
## Notes: Enhanced Transmog Browser with Raid BiS Browser — Browse transmog appearances, track collection progress, and see BiS gear rankings per spec.
## Author: Josh (ETB Team)
## Version: 15.67.0
## OptionalDeps: ETBDataMapper
## SavedVariables: ETBDB, ETB_Settings, ETB_Favorites, ETB_MinimapSettings, ETB_ProfileData, ETB_CustomSets, ETB_CustomSetsData, ETB_SetBuilder_Data, ETBTUI_Settings, ETBTUI_SavedOutfits, ETBTUI_AccountData, ETB_FixedSetItems, ETB_RuntimeNPCNames, ETBCollectionHistoryDB, ETB_HiddenSets, ETB_HiddenAppearances, ETB_SavedSearches, ETB_CommunitySetsAudit, ETB_CompletedSets, EMT_Settings, EMT_NPCNames, EPT_Settings, EPT_NPCNames
## SavedVariablesPerCharacter: ETB_CharDB, ETB_Wishlist, ETB_CustomBiS

# ============================================================================
# ENHANCED TRANSMOG BROWSER v12.41.0 — ERB merged back into main addon
# ============================================================================
# 54,575 items across 5 expansions, cross-validated and corrected
# 1,891 NPC names, 523 encounter names, 102 instance names, 138 zone names
# 11,702 items with class restrictions, 5,832 PVP items flagged
# 3,604 vendor cost entries, 912 reputation requirements, 205 recipe entries
# 7,073 confirmed world/zone drops indexed, 524 encounter→NPC mappings
# Runtime NPC name resolver (mouseover/target → SavedVariables cache)
# LootAudit transmog-eligibility filter (orphan count ~2960 → ~60)
# ============================================================================

# Core Systems (load order matters!)
Core\Compat.lua
Core\EventBus.lua
Core\LRUCache.lua
Core\Init.lua
Modules\TooltipStyle.lua

# Data Definitions (load before API/BlizzardData)
Data\Categories\Categories.lua
Data\Categories\SourceTypes.lua
Data\Categories\ArmorTypes.lua
Data\Categories\WeaponTypes.lua
Data\Categories\ClassData.lua

# API Wrappers (load before BlizzardData)
API\TransmogAPI.lua
API\ItemAPI.lua

# Core Data Layer
Core\BlizzardData\Player.lua
Core\BlizzardData\Items.lua
Core\BlizzardData\Diagnostics.lua
Core\BlizzardData.lua
Core\CollectionAPI.lua
Core\ArmorData.lua
Core\WeaponData.lua
Core\SetsData.lua
Core\SourceMapper.lua
Core\Filtering.lua
Core\CommandRegistry.lua
Core\Commands.lua
# Source Data (compact format — 65% smaller than verbose, lazy-decoded)
Data\Compact\Strings.lua
Data\Compact\Decode.lua
Data\Compact\Classic.lua
Data\Compact\TBC.lua
Data\Compact\Wrath.lua
Data\Compact\Cata.lua
Data\Compact\MoP.lua
Data\Compact\Names.lua
Data\Compact\AuditPatch.lua

# Source Enrichment (18,845 items — boss names, instance keys)
Data\Source\Source_Classic.lua
Data\Source\Source_TBC.lua
Data\Source\Source_Wrath.lua
Data\Source\Source_Cata.lua
Data\Source\Source_MoP.lua
Data\Source\SourceDB.lua
Data\Source\RareMobLoot.lua

# Item Metadata (class restrictions, PVP, costs, reputation, professions)
Data\ItemMetadata.lua
Data\TierTokenMap.lua
Data\ReagentData.lua

Data\MapperBridge.lua
Data\NPCSources.lua
Data\ZoneIndex.lua
Data\ZonePets.lua
Data\ZoneTransmogIndex.lua
Data\RareZoneTransmog.lua
Data\Sets\Sets.lua
Data\Sets\CustomSets.lua
Data\Sets\CommunitySets.lua
Data\Accessories.lua
Data\ColorMap.lua
Data\BossLoot.lua

# Configuration
Config\Settings.lua

# UI Components needed at module file-scope load time
# v12.52.1: CustomDropdown was loading at line 97 but SetBuilder.lua/Export.lua
# at lines 84-85 capture `local ETBDropdown = NS.ETBDropdown` at file scope.
# That captured nil. CustomDropdown is dependency-free at load time, so it's
# safe to load earlier. Other consumers (FilterBar, SetsUI, MainFrame) load
# after the original position so they're unaffected.
UI\Components\CustomDropdown.lua

# Modules
Modules\Forge.lua
Modules\TooltipEnhancer.lua
Modules\BagOverlay.lua
Modules\CollectionHistory.lua
Modules\OutfitCompatibility.lua
Modules\HiddenAppearances.lua
Modules\CollectionToast.lua
Modules\SetCompletion.lua
Modules\CustomSetExport.lua
Modules\NativeCard.lua
Modules\NativeSetsTab.lua
Modules\NativeSavedOutfitsTab.lua
Modules\SavedSearches.lua
Modules\Favorites\FavoritesManager.lua
Modules\ProfileManager.lua
Modules\SetBuilder\Export.lua
Modules\SetBuilder\Items.lua
Modules\SetBuilder\Frame.lua
Modules\SetBuilder.lua
Modules\BossLootTooltip\Index.lua
Modules\BossLootTooltip\Render.lua
Modules\BossLootTooltip\Events.lua
Modules\NPCSourceTooltip.lua
Modules\BossLootTooltip.lua
Modules\CommunitySets\CommunitySetLoader.lua
Modules\ColorSearch.lua
Modules\ClassRestrictions.lua
Modules\SourceLookup.lua
Modules\CollectionTooltip.lua
Modules\Wishlist.lua
Modules\LootAudit.lua
Modules\RuntimeNPCNames.lua
Modules\ChatAutocomplete.lua
Modules\CollectionPlanner.lua
# UI Components
UI\Components\ItemRow.lua
UI\Components\FilterBar.lua
UI\Components\ModelPreview.lua
UI\Components\ProfileSelector.lua

# UI Windows
UI\Windows\SourcesModal.lua
UI\Windows\OutfitOptions.lua
UI\Windows\SetsUI\Sources.lua
UI\Windows\SetsUI\List.lua
UI\Windows\SetsUI\Detail.lua
UI\Windows\SetsUI.lua
UI\Windows\SourcesSummaryPanel.lua
UI\Windows\AppearanceDetailPanel.lua
UI\Windows\WishlistPanel.lua
UI\Windows\PlannerUI.lua
UI\MainFrame\Views.lua
UI\MainFrame\LivePreview.lua
UI\MainFrame\Filters.lua
UI\MainFrame\ItemGrid.lua
UI\MainFrame\Lifecycle.lua
UI\MainFrame\Construction.lua
UI\MainFrame.lua

# TransmogUI submodules (loaded before TransmogUI.lua so the main file can reference them)
UI\TransmogUI\Preview.lua
UI\TransmogUI\CategoryBar.lua
UI\TransmogUI\ItemRows.lua
UI\TransmogUI\Outfits.lua
UI\TransmogUI\Frame.lua
UI\TransmogUI\Slots.lua
UI\TransmogUI\Sets.lua
UI\TransmogUI\Capture.lua
UI\TransmogUI\Apply.lua
UI\TransmogUI\Blizzard.lua

UI\TransmogUI.lua
UI\LauncherPanel.lua
UI\Tutorial.lua
UI\MinimapButton.lua

# ============================================================================
# ERB — Raid BiS Browser (merged back into main addon in v12.41.0)
# ============================================================================
# Previously a separate LoadOnDemand addon (ETB_ERB) from v12.39.0–v12.40.2.
# Merged back because two-folder deployment was painful for users, and the
# parse-cost savings (~50KB) weren't worth the UX friction.
# ============================================================================
ERB\Init.lua
ERB\Data\BiSData.lua
ERB\Data\BiSNpcBridge.lua
ERB\Core\DataBridge.lua
ERB\Core\CustomBiS.lua
ERB\Modules\BossTooltip.lua
ERB\UI\MainFrame\Construction.lua
ERB\UI\MainFrame\Selection.lua
ERB\UI\MainFrame\Display.lua
ERB\UI\MainFrame.lua

# ============================================================================
# EMT — Enhanced Mount Tracker (merged into main addon in v15.22.0)
# Previously a separate sibling addon (EnhancedMountTracker). Namespace NS.EMT
# coexists with NS.ETB on the shared addon namespace; init is PLAYER_ENTERING_WORLD
# driven so it runs unchanged inside ETB.
# ============================================================================
EMT\Core\Init.lua
EMT\Data\MountData.lua
EMT\Data\MountDataPatch.lua
EMT\Data\SourceData.lua
EMT\Core\NPCNames.lua
EMT\Core\MountAPI.lua
EMT\Modules\SourceInfo.lua
EMT\Modules\MountTooltip.lua
EMT\UI\MountBrowser.lua
EMT\UI\MinimapButton.lua
EMT\Core\Commands.lua

# ============================================================================
# EPT — Enhanced Pet Tracker (merged into main addon in v15.22.0)
# Previously a separate sibling addon (EnhancedPetTracker). Namespace NS.EPT.
# ============================================================================
EPT\Core\Init.lua
EPT\Data\PetData.lua
EPT\Data\PetDataPatch.lua
EPT\Data\SourceData.lua
EPT\Core\NPCNames.lua
EPT\Core\PetAPI.lua
EPT\Core\Waypoint.lua
EPT\Modules\SourceInfo.lua
EPT\Modules\PetTooltip.lua
EPT\UI\PetBrowser.lua
EPT\UI\MinimapButton.lua
EPT\Core\Commands.lua

# Zone Scan (open-world mount/pet 'what's missing here' mini-list; reads EMT/EPT)
Modules\ZoneScan.lua
Modules\BlizzardSetExport.lua
APIProbe.lua
