ABProfileManager
────────────────────────────────────────────────────

특성 바꿀 때마다 액션바가 엉망이 되시나요?
전문기술 주간 포인트, 이번 주에 다 챙겼는지 매번 까먹으시나요?
한밤(Midnight) 시즌 1 BIS 추천 장비를 게임 안에서 바로 보고 싶으신가요?

ABProfileManager는 그 작업들을 한 창과 몇 개의 오버레이로 정리합니다.

버전: v1.11.10 로컬 패치
제작: 밍밍이와코코 (crono1232@gmail.com)

════════════════════════════════════════════════════
  핵심 기능
════════════════════════════════════════════════════

▶ 액션바 템플릿 관리
  특성별·캐릭터별 액션바 배치를 템플릿으로 저장하고,
  한 번의 클릭으로 정확히 복구합니다.
  - 저장 / 복제 / 비교 / 부분 적용 / 되돌리기 지원
  - 가져오기·내보내기로 다른 캐릭터나 지인과 공유 가능
  - 적용 전 확인 창으로 실수 방지

▶ 전문기술 포인트 자동 추적
  이번 주 주간 퀘스트, 논문, 드랍, 평판/풍요 지식서,
  1회성 보물까지 자동으로 계산합니다.
  - 완료·미완료 색상 구분과 포인트 진행도를 한눈에 확인
  - 화면 위 전문기술 오버레이로 창 열지 않고 빠르게 체크
  - TomTom 연동 시 미완료 보물을 오버레이 우클릭으로
    바로 waypoint 등록

▶ 한밤(Midnight) 지도 오버레이
  실버문, 영원노래 숲, 하란다르, 보이드스톰의
  포탈·시설·전문기술·평판상인·던전·구렁 위치를
  월드맵 위 텍스트 라벨로 표시합니다.
  - 필터로 원하는 종류만 골라 표시
  - 글자 크기를 슬라이더로 자유롭게 조절

▶ BIS 추천 장비 오버레이
  현재 캐릭터 특성 기준 한밤 시즌 1 추천 장비를
  부위별로 정리해 보여줍니다.
  - `쐐기 / 레이드 / 제작 / 티어` 4개 필터
  - 필터 후 살아남은 후보 전체를 부위별로 표시
  - 첫 2개는 `1순위 / 2순위`, 나머지는 `3순위+` 재번호화
  - `레이드 off + 쐐기만 on`이어도 쐐기 드랍템과 인던 유지
  - `mythicplus / raid`는 비전투 중 가능한 경우 모험 안내서 랜딩
  - `crafted / tier`는 랜딩하지 않음
  - 아이콘 앞 즐겨찾기 / 보유 체크박스, 캐릭터별·전문화별 저장
  - 즐겨찾기 최상단 섹션, 보유 아이템명 취소선 표시
  - 쐐기 항목에 던전 종료 영웅 / 금고 신화 후보 트랙과 템렙 안내
  - 상단 아이템 토글 on 시 DB2 검토 selector로 M+ Myth 1/6 272 preview 자동 생성
  - 생성 preview 또는 수동 override가 실제 272로 검증된 경우에만 실제 스탯 / 실제 ilvl 점수화
  - 종료보상 Hero 3/6 266 링크만 있으면 272 기준 라벨만 표시하고 미검증 fallback 유지
  - 검토되지 않은 bonusID 임의 조립 금지
  - 검증 preview full item link는 한 번 스캔한 뒤 계정 SavedVariables snapshot schema v3로 재사용
  - preview hyperlink가 늦게 로드되면 exact selector 링크를 최대 2회 재검증
  - M+ 드랍 출처는 비전투 중 현재 시즌 tier와 검증 던전 ID로 모험 안내서 랜딩
  - 전투 중 드랍 출처 클릭은 자동 랜딩을 건너뛰어 보호 기능 차단 팝업 방지
  - 스크롤 중에는 행 hover 툴팁 생성을 잠시 멈춰 끊김 완화
  - M+ 아이템 hover는 addon-owned Blizzard item tooltip으로 원본 2차 스탯 표시
  - 레이드 / 제작 / 티어 hover도 기본 Blizzard item tooltip 표시

▶ 드랍템 레벨 오버레이
  쐐기, 구렁, 레이드, 제작 기준의 드랍 아이템 레벨과
  위대한 금고 보상, 드랍 문장 등급을 한 표로 확인합니다.
  - `단/난이도 | 클리어보상 | 드랍문장 | 위대한 금고` 4열 구조
  - 우측 고정 `나의 문장` 패널로 현재 보유량 통합 표시
  - `나의 열쇠` 패널에서 오늘의 풍요 4개와 열쇠 자원 확인
  - 쐐기 타이틀 옆에 챔피언 / 영웅 / 신화 최고 강화 레벨 요약
  - 마우스 휠로 오버레이 크기 조절

▶ 파티찾기 시즌 최고기록 아이콘 오버레이
  신화+ 던전 탭의 시즌 최고기록 던전 이미지 위에
  `평점 + 던전명`을 직접 표시합니다.
  - Utility 탭 체크박스로 켜고 끌 수 있습니다

▶ 캐릭터 스탯 오버레이
  치명/가속/특화/유연 수치와 현재 특성의 선호 스탯
  우선순위를 화면 어디든 떠 있는 오버레이로 확인합니다.
  - 탱커 특성일 때 회피·반격·막기 수치 함께 표시
  - 수치에 마우스를 올리면 전용 안전 툴팁으로 설명 표시
  - 메인 창 `스탯 우선순위 표`에서 한밤 시즌 1 v1.7 기준
    40개 전문화 단일 대표 우선순위 확인

▶ 전투메시지 모드 설정
  한밤(Midnight) 클라이언트에서 기본 UI에 노출되지 않는
  전투메시지 표출 방식을 애드온 설정 탭에서 바로 적용합니다.
  - 위로 / 아래로 / 부채꼴(아크) 모드 선택 및 즉시 적용
  - 로그인·월드 진입 직후 선택한 모드를 자동 재적용
  - 방향성 분산 on/off

════════════════════════════════════════════════════
  v1.11.10 로컬 패치
════════════════════════════════════════════════════

  - BISOverlay의 시즌 preview helper를 SourcePreview 테이블로 묶어
    WoW Lua main function local 변수 제한 초과 오류를 수정했습니다.
  - validate_bis_tooltip_contract.py가 BISOverlay top-level local 개수도
    검증해 같은 로드 오류 재발을 막습니다.
  - 레이드/티어/제작 preview와 M+ 272 snapshot 경로는 유지합니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.10.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.

════════════════════════════════════════════════════
  v1.11.9 로컬 패치
════════════════════════════════════════════════════

  - 레이드 / 티어 BIS hover는 시즌 preview 링크를 먼저 검증해
    신화 트랙 Blizzard 기본 아이템 툴팁으로 표시합니다.
  - 제작 BIS hover는 r5 285 제작 preview 링크를 먼저 검증해
    Blizzard 기본 아이템 툴팁으로 표시합니다.
  - preview가 실제 신화/285 기준으로 확인되지 않으면 기존 기본 링크로 fallback합니다.
  - M+ Myth/신화 1/6 272 snapshot과 MoneyFrame 차단 경로는 유지합니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.9.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.

════════════════════════════════════════════════════
  v1.11.8 로컬 패치
════════════════════════════════════════════════════

  - BIS 오버레이 상단 아이템 툴팁 체크박스는 기본 선택 상태로 시작합니다.
    사용자가 직접 끄면 이후에는 그 선택을 유지합니다.
  - 티어 BIS hover에서 full itemLink가 아직 로드되지 않아도
    기본 item:<itemID> 링크를 Blizzard GameTooltip:SetHyperlink()에 먼저 시도합니다.
  - 성공한 기본 itemID 링크는 세션 캐시에 저장해 같은 아이템 재 hover 시
    불필요한 로딩을 줄입니다.
  - 레이드 / 제작 / 티어는 검증 시즌 full link가 없는 경우 임의 bonusID를
    조립하지 않고 Blizzard 기본 아이템 툴팁만 사용합니다.
  - M+ Myth/신화 1/6 272 검증 snapshot과 shopping tooltip 기반
    MoneyFrame 차단 경로는 유지합니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.8.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.

════════════════════════════════════════════════════
  v1.11.7 로컬 패치
════════════════════════════════════════════════════

  - 레이드 / 제작 / 티어 hover도 상단 아이템 토글 on 시
    addon-owned Blizzard GameTooltip:SetHyperlink() 기본 item tooltip을 표시합니다.
  - 검증된 시즌 full link가 없는 정적 itemID 후보에는 임의 bonusID를
    조립하지 않고, 클라이언트가 로드한 기본 itemLink만 세션 캐시에 재사용합니다.
  - M+ Myth/신화 1/6 272 검증 snapshot과 shopping tooltip 기반
    MoneyFrame 차단 경로는 유지합니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.7.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.

════════════════════════════════════════════════════
  v1.11.6 로컬 패치
════════════════════════════════════════════════════

  - selector 12801은 extracted ItemBonus DB2 build 12.0.1.66838에서
    검토한 Midnight 시즌 M+ Myth 1/6 272 selector입니다.
  - 상단 아이템 토글을 켜면 검증된 full item link를
    계정 SavedVariables snapshot schema v3로 한 번 저장하고 재사용합니다.
  - M+ hover는 addon-owned Blizzard GameTooltip:SetHyperlink() 경로로
    원본 2차 스탯을 표시합니다.
  - BIS 전용 item tooltip은 shopping tooltip 경로를 사용해
    sell price MoneyFrame 렌더링을 차단합니다.
  - StatsOverlay의 미사용 PaperDollFrame setter를 제거하고,
    SafeNumber secret fallback은 0으로 고정했습니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.6.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.

════════════════════════════════════════════════════
  v1.11.5 로컬 패치
════════════════════════════════════════════════════

  - BIS 드랍 출처 클릭의 모험 안내서 랜딩에서 보호된
    C_EncounterJournal.SetTab 직접 호출을 제거했습니다.
  - 전투 중에는 자동 랜딩을 건너뛰어
    Blizzard 보호 기능 차단 팝업을 방지합니다.
  - 비전투 중 M+ 랜딩은 현재 시즌 tier 선선택,
    availability guard, 검증 던전 ID 경로를 유지합니다.
  - 로컬 배포는 작업공간 dist/ABProfileManager-v1.11.5.zip
    생성까지만 수행하며 WoW 설치 폴더로 복사하지 않습니다.
  - 원격 GitHub 공개 최신 릴리스는 계속 v1.11.0입니다.

════════════════════════════════════════════════════
  v1.11.4 로컬 패치
════════════════════════════════════════════════════

  - M+ 모험 안내서 랜딩은 현재 시즌 tier를 먼저 선택하고,
    사용 가능 여부를 확인한 뒤 검증된 던전 ID를 사용합니다.
  - 한밤 시즌 1의 M+ 8개 던전 ID를 검증값으로 고정했습니다.
  - selector preview hyperlink가 늦게 로드되어 snapshot이 비어 있으면
    비동기 아이템 로드 뒤 snapshot 채우기를 다시 시도합니다.
  - snapshot이 없는 M+ 행 hover도 즉시 해석을 한 번 시도합니다.
  - 로컬 패키지는 dist/ABProfileManager-v1.11.4.zip이며,
    원격 GitHub 공개 최신 릴리스는 계속 v1.11.0입니다.

════════════════════════════════════════════════════
  v1.11.3 로컬 패치
════════════════════════════════════════════════════

  - 가방에 없는 M+ 후보도 내장 selector 12801로
    Myth 1/6 272 preview item string을 자동 생성합니다.
  - 생성 preview는 클라이언트가 실제 272로 확인한 경우에만
    tooltip line / 색상 / 실제 스탯 snapshot으로 저장합니다.
  - 한 번 저장한 snapshot은 이후 hover와 자동 점수화에서 재사용합니다.
  - 수동 full link DB는 예외 항목용 override로 유지합니다.

════════════════════════════════════════════════════
  v1.11.2 로컬 패치
════════════════════════════════════════════════════

  - BIS 목록 스크롤 중 행 hover 툴팁 생성을 잠시 억제합니다.
  - 검증된 Myth 1/6 272 full link는 한 번 스캔하고,
    tooltip line / 색상 / 실제 스탯을 SavedVariables에 저장합니다.
  - 이후 hover와 자동 점수화는 저장 스냅샷만 읽습니다.
  - 가방 최고 링크 우선 정렬과 가방 이벤트 전체 rebuild를 제거했습니다.
  - 정확한 272 full link가 없는 행은 수치를 추측하지 않습니다.

════════════════════════════════════════════════════
  v1.11.1 로컬 패치
════════════════════════════════════════════════════

  - BIS 아이템 툴팁 수동 렌더러가 Blizzard line color와 품질 색을 보존합니다.
  - 상단 아이템 토글을 켜면 검증 링크 DB에서 M+ 후보 full link를 찾습니다.
  - full link 자체가 위대한 금고 Myth 1/6 272로 검증된 경우에만
    해당 링크의 실제 스탯 / 실제 ilvl로 자동 점수화합니다.
  - 종료보상 Hero 3/6 266 링크만 있으면 272 기준 라벨은 표시하지만
    점수는 미검증 fallback으로 유지합니다.
  - itemID만으로 itemLink/bonusID를 조립하지 않습니다.
  - hover/자동 큐에서 모험 안내서 UI 상태를 변경하지 않습니다.
  - 실제 장비/가방 링크 우선, 점수 캐시, 아이템 요청 dedupe,
    분산 큐로 rebuild 부담을 줄였습니다.

════════════════════════════════════════════════════
  v1.11.0 업데이트
════════════════════════════════════════════════════

  - MidnightS1 M+ Addon v1.7 컴팩트 런타임 점수 코어를 연결했습니다.
  - 정적 BIS 후보 풀은 기존 3130행을 유지합니다.
    mythicplus 2554 / raid 285 / crafted 91 / tier 200
  - 장비 또는 가방에서 실제 itemLink를 찾은 후보끼리는 실제 아이템 레벨과
    스탯으로 계산한 점수를 슬롯 정렬에 우선 적용합니다.
  - 실제 링크가 없는 후보는 기존 정적 순서를 유지합니다.
  - 장비/가방 스캔은 오버레이 rebuild마다 한 번만 수행합니다.
  - 40개 전문화 스탯 우선순위 표를 v1.7 기준으로 갱신했습니다.

════════════════════════════════════════════════════
  v1.10.0 업데이트
════════════════════════════════════════════════════

  - BIS 카탈로그 생성 입력을 MidnightS1 M+ Addon v1.3 기준으로 갱신했습니다.
  - v1.3 DB는 중간 return 위치를 제거하고 EOF의 최종 return 하나만 유지합니다.
  - 40개 전문화 단일 대표 스탯 우선순위를 반영했습니다.
  - BIS 카탈로그는 총 3130행을 유지합니다.
    mythicplus 2554 / raid 285 / crafted 91 / tier 200
  - v1.3 점수 정책은 생성 메타데이터까지만 반영했습니다.
    실제 itemLink 기반 점수 엔진 연결은 후속 설계 범위입니다.
  - v1.9.0의 캐릭터별·전문화별 즐겨찾기 / 보유 기능은 그대로 유지합니다.

════════════════════════════════════════════════════
  v1.9.0 업데이트
════════════════════════════════════════════════════

  - BIS 아이템 아이콘 앞에 즐겨찾기 / 보유 체크박스를 추가했습니다.
  - 상태는 캐릭터별·전문화별로 저장됩니다.
  - 즐겨찾기는 무기 위 최상단 섹션으로 이동하고, 보유 아이템명은 취소선으로 표시됩니다.
  - M+ hover 미리보기는 모험 안내서 신화 던전(M0) Champion 1/6 246 기준을 사용합니다.
  - GameTooltip:SetHyperlink 금지, source filter, 모험 안내서 랜딩 guard 정책은 유지합니다.

════════════════════════════════════════════════════
  v1.8.0 업데이트
════════════════════════════════════════════════════

  - BIS M+/티어 후보를 새 DOC DB 기준으로 재생성했습니다.
  - 레이드/제작 행은 기존 카탈로그에서 보존하고, 런타임 데이터 소스는
    계속 Data/BISCatalog.lua 하나만 사용합니다.
  - M+ 후보는 던전 종료 영웅 3/6 266과 위대한 금고·Voidcore 신화 1/6 272를
    분리 표시하지만 정적 itemLink/bonusID는 만들지 않습니다.
  - BIS 오버레이 헤더와 툴팁에 스탯 우선순위, 런타임 링크 필요,
    Myth 트랙 미검증, 심크 필요 상태를 분리 표시합니다.

════════════════════════════════════════════════════
  v1.7.6 업데이트
════════════════════════════════════════════════════

  - 스탯 오버레이의 `특화` 마우스오버 설명이 현재 전문화의 실제
    특화 주문 설명을 표시하도록 수정했습니다.
  - 특화 설명은 ABPM 전용 툴팁에 표시해 기존 GameTooltip taint 방어 정책을 유지합니다.
  - 특화 툴팁 아래의 평점 기여/DR 구간 안내는 그대로 유지됩니다.

════════════════════════════════════════════════════
  v1.7.5 업데이트
════════════════════════════════════════════════════

  - 전투부대 은행/은행 창을 연 상태에서 캐릭터 창, 특성 창 등
    Blizzard 기본 창을 추가로 열 때 중앙에 겹쳐지는 현상을 줄였습니다.
  - 저장 좌표가 없는 Blizzard UIPanel 창은 기본 레이아웃에 맡기고,
    직접 드래그해 저장한 창만 위치를 복원합니다.
  - 이전 버전에서 저장된 Blizzard 기본 창 좌표는 안정화를 위해 한 번 초기화됩니다.
  - ABPM 내부에서 보호 처리한 오류는 `/abpm log` 또는 `/abpm errors`에서
    나중에 확인할 수 있습니다.
  - Blizzard PrivateAuras 반복 assertion 팝업은 좁은 조건에서만 자동 완화합니다.
  - 다른 애드온 오류까지 숨기지 않도록 전역 Lua 오류 표시 설정은 변경하지 않습니다.

════════════════════════════════════════════════════
  v1.7.4 업데이트
════════════════════════════════════════════════════

  - 액션바 / 모험 안내서 / Pawn 아이템 hover에서 발생할 수 있던
    `MoneyFrame.lua secret number` 오류를 막았습니다.
  - WoW 12.0.7 계열 클라이언트 대응을 위해 Interface 번호에 120007을 추가했습니다.
  - ABPM 자체 hover 설명은 전역 GameTooltip 대신 애드온 전용 툴팁을
    사용하도록 바꿨습니다.
  - BIS 아이템 hover는 Blizzard 기본 툴팁을 직접 열지 않고,
    판매가 라인을 제외한 안전한 텍스트 툴팁으로 표시합니다.
  - 쐐기 BIS 항목에 던전 종료 / 위대한 금고 보상 트랙과
    대표 아이템 레벨 안내를 추가했습니다.
  - Patch 12.0.5 기준 40개 전문화 `스탯 우선순위 표`를 추가했습니다.
  - 첫 설치 언어는 WoW 클라이언트 기준으로 적용됩니다.
    한국어 클라이언트는 한국어, 영어/미지원 클라이언트는 영어로 열립니다.
  - 이전 버전에서 영어 클라이언트에 한국어가 저장된 경우 한 번만 영어로
    자동 보정합니다.
  - 한밤 시즌 1 BIS 카탈로그와 한글/영문 출처 표기를 다시 정리했습니다.

════════════════════════════════════════════════════
  Midnight 버그 자동 수정
════════════════════════════════════════════════════

▶ 마우스 이동 자동 복구
  한밤(Midnight)에서 NPC·오브젝트 상호작용 후
  마우스 이동(우클릭 드래그)이 꺼지는 버그가 있습니다.
  설정 탭에서 "마우스 이동 자동 복구"를 켜두면
  로그인 시 자동으로 다시 활성화해 이 버그를 방지합니다.

════════════════════════════════════════════════════
  이런 분께 추천합니다
════════════════════════════════════════════════════

  - 특성 전환이나 부캐 플레이가 잦아 액션바 정리가 번거로운 분
  - 전문기술 포인트를 매주 빠짐없이 챙기고 싶은 분
  - 한밤(Midnight) 지역 길찾기에 시간을 낭비하고 싶지 않은 분
  - BIS와 드랍 템렙을 게임 안에서 바로 확인하고 싶은 분
  - 내 캐릭터 스탯을 플레이 중에도 한눈에 확인하고 싶은 분
  - 부채꼴 모드가 로그인마다 풀려서 스트레스 받으신 분

════════════════════════════════════════════════════
  시작 방법
════════════════════════════════════════════════════

  /abpm  입력  →  메인 창 열기
  미니맵 버튼  →  클릭해서 메인 창 열기

════════════════════════════════════════════════════
  다운로드
════════════════════════════════════════════════════

  저장소:       https://github.com/cronocros/ABProfileManager
  원격 GitHub 공개 최신 릴리스(v1.11.0): https://github.com/cronocros/ABProfileManager/releases/latest
  원격 GitHub 직접 다운로드: https://github.com/cronocros/ABProfileManager/releases/download/v1.11.0/ABProfileManager-v1.11.0.zip
  로컬 패키지: dist/ABProfileManager-v1.11.10.zip

════════════════════════════════════════════════════
  최근 유지보수
════════════════════════════════════════════════════

  - 스탯 오버레이 전투 중 0 표시와 secret number 방어 경로를 보강했습니다.
  - 고스트 일괄 정리 버튼과 전투 중 재시도 로그 폭주 방지를 추가했습니다.
  - 영어 클라이언트 신규 설치와 기존 affected 유저의 언어 fallback을 보정했습니다.
  - BIS 정적 후보 풀은 로컬 Lua 데이터만 읽고, 런타임 웹 조회는 하지 않습니다.
  - 로컬 패키징과 릴리스 노트를 v1.11.10 패치 기준으로 동기화했습니다.
