﻿Maple Hunt MultiView v0.3.13 - 4화면 룬/캐릭터 감지 확정

실제 스크린샷 2장(룬 있는 프레임 / 룬 없는 프레임)으로 4슬롯 전부 검증했다.
알림 방식(AlertSounds)과 v0.3.12의 레이아웃/HUD 구조는 그대로 두었다.

1. 룬 감지 최소 크기 상향
   ChooseRune의 픽셀 수 하한을 0.18*d^2 -> 0.30*d^2 (하한 6)로 올렸다.
   - 실제 룬 마스크: 룬 ROI 288px 기준 31~36픽셀, 슬롯 폭 700px로 줄여도 6~9픽셀
   - 기존 하한을 통과하던 오탐: 3~5픽셀짜리 2x2 / 2x3 보라 노이즈
   결과: 룬 없는 프레임에서 슬롯1 오탐(창 크기 700~900에서 발생)이 사라졌다.

2. 분석 영역을 룬 LIVE 테두리 밖으로 8px 밀어냄
   보라색 LIVE 테두리는 분석 클립을 복원한 뒤 슬롯 가장자리에 그려진다.
   그런데 캐릭터/룬 ROI는 슬롯 x=0%에서 시작했기 때문에, 우리가 그린 보라 테두리가
   다시 룬 후보로 읽힐 수 있는 구조였다.
   - 테두리 밴드는 고정 5px 펜 + 1px 인셋이므로 8px 인셋으로 완전히 벗어난다.
   - 실측 룬 위치는 ROI 기준 x=142 / x=47 이라 8px 인셋의 영향을 받지 않는다.
   이 수정으로 "룬이 사라져도 보라 테두리가 계속 켜져 있는" 잠재적 무한 래치가 막힌다.

검증 결과 (실제 코드 로직을 그대로 이식해 두 스크린샷에 적용)
  룬 있는 프레임  슬롯1/2 = 룬없음, 슬롯3/4 = 룬있음  -> 슬롯 폭 650~1404px 전 구간 정확히 일치
  룬 없는 프레임  슬롯1~4 전부 룬없음                 -> 전 구간 오탐 0
  캐릭터 마커     두 프레임 모두 4/4 슬롯에서 후보 정확히 1개

권장 창 크기
  2x2 기준 슬롯 하나가 가로 650px 이상 (멀티뷰 창 1300x780 이상)
  그 아래로 줄이면 마커가 2px 이하로 뭉개져 HUD에 "창이 작아 감지 불안정"이 뜬다.

3. 인코딩 정리
   v0.3.12에서 HuntEngine.cs와 MainForm.cs에 UTF-8 BOM이 빠져 있었다.
   csc는 BOM이 없으면 소스를 CP949로 읽기 때문에 두 파일의 한글 문구가 깨진다.
   또 build.bat에 BOM이 들어가 있어 cmd가 첫 줄을 깨뜨릴 수 있었다.
   - 모든 .cs/.txt: UTF-8 BOM + CRLF
   - build.bat / safety_check.ps1 / csproj / sln: BOM 없음 + CRLF

Safety Lock 유지: P/Invoke는 dwmapi.dll / user32.dll / gdi32.dll 3개뿐,
금지 토큰 0개, safety_check.ps1 수정 없음.
