--[[
    Horizon Suite - Insight - SetDB routing keys
    Exports INSIGHT_KEYS used by OptionsData_SetDB to trigger
    Insight.ApplyInsightOptions when any Insight tooltip setting changes.
]]
local addon = _G.HorizonSuite
if not addon then return end

addon.INSIGHT_KEYS = {
    insightAnchorMode            = true,
    insightCursorSide            = true,
    insightFixedPoint            = true,
    insightFixedX                = true,
    insightFixedY                = true,
    insightCursorOffsetX         = true,
    insightCursorOffsetY         = true,
    insightFocusDynamicInFixed   = true,
    insightHideTooltipsInCombat  = true,
    insightBgOpacity             = true,
    insightShowMount             = true,
    insightShowIlvl              = true,
    insightItemLevelMode         = true,
    insightShowSpecRole          = true,
    insightShowCharacterTitle    = true,
    insightRealmNameMode         = true,
    insightRaceIcons             = true,
    insightPlayerNameColor       = true,
    insightPlayerNameGradient    = true,
    insightPlayerTooltipBorder   = true,
    insightTitleColorMode        = true,
    insightTitleMatchNameColor   = true,
    insightTitleColor            = true,
    insightTitleColorR           = true,
    insightTitleColorG           = true,
    insightTitleColorB           = true,
    insightShowHonorLevel        = true,
    insightHonorLevelMode        = true,
    insightAchievementPointsMode = false,
    insightShowStatusBadges      = true,
    insightStatusBadgeCombat     = true,
    insightStatusBadgeAFK        = true,
    insightStatusBadgeAFKInHeader = true,
    insightStatusBadgePVP        = true,
    insightStatusBadgeGroup      = true,
    insightStatusBadgeFriend     = true,
    insightStatusBadgeTargeting  = true,
    insightShowTargeting         = true,
    insightNpcShowTargeting      = true,
    insightShowMythicScore       = true,
    insightMythicScoreMode       = true,
    insightRatingsIcons          = true,
    insightShowTransmog          = true,
    insightShowGuildRank         = true,
    insightSeparatorMode         = true,
    insightBlankSeparator        = true,
    insightShowIcons             = true,
    insightClassIconSource       = true,
    insightFontPath              = true,
    insightHeaderSize            = true,
    insightBodySize              = true,
    insightBadgesSize            = true,
    insightStatsSize             = true,
    insightMountSize             = true,
    insightTransmogSize          = true,
    insightMountOwnershipDisplay = true,
    -- Per-type background colours
    insightPlayerBgColor         = true,
    insightNpcBgColor            = true,
    insightItemBgColor           = true,
    -- Gradient brightness bias
    insightPlayerGradientBias    = true,
    insightItemGradientBias      = true,
    -- NPC tooltip
    insightNpcReactionBorder     = true,
    insightNpcReactionName       = true,
    insightNpcShowLevelLine      = true,
    insightNpcShowIcons          = true,
    insightNpcHeaderSize         = true,
    insightNpcBodySize           = true,
    -- Item tooltip
    insightItemQualityBorder     = true,
    insightItemNameGradient      = true,
    insightItemSectionSpacing    = true,
    insightItemHeaderSize        = true,
    insightItemBodySize          = true,
    insightItemTransmogSize      = true,
    -- Player tooltip (per-type font sizes)
    insightPlayerHeaderSize      = true,
    insightPlayerBodySize        = true,
    insightPlayerBadgesSize      = true,
    insightPlayerStatsSize       = true,
    insightPlayerMountSize       = true,
    -- Total RP 3 integration
    insightTRP3Enabled          = true,
    insightTRP3RPName           = true,
    insightTRP3CustomColor      = true,
    insightTRP3Pronouns         = true,
    insightTRP3ICStatus         = true,
    insightTRP3Currently        = true,
    insightTRP3Icon             = true,
    insightTRP3ICStatusIcon     = true,
    insightTRP3Title            = true,
    insightTRP3WowTitle         = true,
    insightTRP3RaceClass        = true,
    insightTRP3Guild            = true,
    insightTRP3BorderColor      = true,

}

addon.INSIGHT_DEFAULTS = {
    insightAnchorMode            = "cursor",
    insightCursorSide            = "center",
    insightCursorOffsetX         = 0,
    insightCursorOffsetY         = 0,
    insightFixedPoint            = "BOTTOMRIGHT",
    insightFixedX                = -60,
    insightFixedY                = 120,
    insightFocusDynamicInFixed   = false,
    insightBgOpacity             = 0.75,
    insightFontPath              = "__global__",
    insightHideTooltipsInCombat  = false,
    insightShowIcons             = true,
    insightBlankSeparator        = false,
    -- Player
    insightPlayerNameColor       = "faction",
    insightPlayerNameGradient    = false,
    insightPlayerTooltipBorder   = "class",
    insightRealmNameMode         = "full",
    insightShowGuildRank         = true,
    insightShowCharacterTitle    = true,
    insightTitleMatchNameColor   = false,
    insightTitleColorR           = 1.00,
    insightTitleColorG           = 0.82,
    insightTitleColorB           = 0.00,
    -- Status
    insightShowStatusBadges      = true,
    insightStatusBadgeCombat     = true,
    insightStatusBadgeAFK        = true,
    insightStatusBadgeAFKInHeader = false,
    insightStatusBadgePVP        = true,
    insightStatusBadgeGroup      = true,
    insightStatusBadgeFriend     = true,
    insightStatusBadgeTargeting  = true,
    insightShowTargeting         = true,
    insightNpcShowTargeting      = true,
    -- Ratings/gear
    insightShowMythicScore       = false,
    insightShowIlvl              = false,
    insightShowHonorLevel        = false,
    insightRatingsIcons          = true,
    -- Mount
    insightShowMount             = true,
    insightMountOwnershipDisplay = "text",
    -- Class
    insightShowSpecRole          = true,
    insightRaceIcons             = true,
    insightClassIconSource       = "custom",
    -- Gradient brightness bias
    insightPlayerGradientBias    = 0,
    insightItemGradientBias      = 0,
    -- Player font sizes
    insightPlayerHeaderSize      = 14,
    insightPlayerBodySize        = 12,
    insightPlayerBadgesSize      = 12,
    insightPlayerStatsSize       = 11,
    insightPlayerMountSize       = 11,
    -- NPC
    insightNpcReactionBorder     = true,
    insightNpcReactionName       = true,
    insightNpcShowLevelLine      = true,
    insightNpcShowIcons          = true,
    insightNpcHeaderSize         = 14,
    insightNpcBodySize           = 12,
    -- Item
    insightShowTransmog          = true,
    insightItemQualityBorder     = true,
    insightItemNameGradient      = false,
    insightItemSectionSpacing    = false,
    insightItemHeaderSize        = 14,
    insightItemBodySize          = 12,
    insightItemTransmogSize      = 11,
}

addon.INSIGHT_LIMITS = {
    insightCursorOffsetX     = { min = -100, max = 100 },
    insightCursorOffsetY     = { min = -100, max = 100 },
    insightBgOpacity         = { min = 0,    max = 100 },
    insightPlayerHeaderSize  = { min = 8,    max = 24  },
    insightPlayerBodySize    = { min = 8,    max = 20  },
    insightPlayerBadgesSize  = { min = 6,    max = 20  },
    insightPlayerStatsSize   = { min = 6,    max = 20  },
    insightPlayerMountSize   = { min = 6,    max = 20  },
    insightNpcHeaderSize     = { min = 8,    max = 24  },
    insightNpcBodySize       = { min = 8,    max = 20  },
    insightItemHeaderSize    = { min = 8,    max = 24  },
    insightItemBodySize      = { min = 8,    max = 20  },
    insightItemTransmogSize      = { min = 6,   max = 20  },
    insightPlayerGradientBias    = { min = -50, max = 50  },
    insightItemGradientBias      = { min = -50, max = 50  },
}
