# v0.1.247 — QA-007/052 splitter·스크롤바 드래그 누수 fix

- 버전: v0.1.247
- 분류: 48th stable seal (v0.1.366) 일괄 봉인 사이클
- 다운로드: [factory00-windows-x64-v0.1.247.zip](../../downloads/archive/factory00-windows-x64-v0.1.247.zip) (archive 보존)
- 캡처: [qa-screenshots/v0.1.247/](../../qa-screenshots/v0.1.247/)

---

## 협업자 PM 회신 2건 root cause 동일
QA-007 [P1] — splitter 빠른 드래그 시 씬 드래그 누수 + 감도 슬라이더 3종 동일 (좌측 패널 splitter / 마우스회전 / MMB 패닝 / 1인칭 시선)
QA-052 [P1] — 프로퍼티 패널 스크롤바 드래그 시 Transform Gizmo 이벤트 누수
PM 추정 동일 루트 — StopPropagation() 미적용. **실제 root cause는 다름** ↓
## root cause 확정
Bootstrap Update L3236 — 단순 click 분기에 overUIAtDown 가드 누락`csharp// 기존 (v0.1.246)
bool overUI = IsPointerOverUI(Input.mousePosition);   // UP 시점
if (inViewport && !overUI && !overGizmo && _cursorMode == CursorMode.Select
    && (Time.frameCount - _lmbDownFrame) {
    var picked = PickPartUnderMouse();   //     ...
}
`빠른 splitter/스크롤바 drag 패턴:
1. DOWN — splitter / 스크롤바 위 (UI element)
2. 빠르게 drag -> 마우스가 viewport 영역으로 빠짐
3. UP — viewport 위치. IsPointerOverUI(UP) = false4. 거리 5px 미만 + 30 frame 이내 -> **click 판정 -> PickPartUnderMouse -> 부품/Gizmo 선택 변경**
drag-select 분기 (L3211)는 이미 overUIAtDown 가드 있어 차단됨. **단순 click 분기만 가드 누락**.
## fix
`csharp// v0.1.247
bool overUI = IsPointerOverUI(Input.mousePosition);       // UP 시점
bool overUIAtDown = IsPointerOverUI(_lmbDownPos);         // DOWN 시점 (추가)
if (inViewport && !overUI && !overUIAtDown && !overGizmo && _cursorMode == CursorMode.Select
    && ... )
{
    PickPartUnderMouse();
}
`DOWN 시점 UI 위였으면 마우스 down 자체가 UI element 상호작용 -> 씬 click 판정 0.

## 영향 범위 (단일 가드 추가로 4건 cascade 차단)
| QA | 시나리오 | 차단 |
|----|----------|------|
| QA-007 | 좌측 패널 splitter 빠른 drag | [완료] |
| QA-007 확장 | 감도 슬라이더 3종 (마우스/MMB/1인칭) | [완료] |
| QA-052 | 프로퍼티 스크롤바 click -> Transform Gizmo | [완료] |
| QA-009/031 잔존분 | UI 위 5px 미만 drag -> 부품 선택 | [완료] |
StopPropagation() 추가 필요 X — Input.GetMouseButton 폴링은 PointerEvent system과 별개로 동작하므로 overUIAtDown 단일 가드로 충분.
## 변경 파일
- Assets/Scripts/Game/Factory00Bootstrap.cs (+5라인) — overUIAtDown 가드 추가- ProjectSettings/ProjectSettings.asset (bundleVersion 0.1.246 -> 0.1.247)
## 검증 시나리오

### QA-007 splitter
1. 좌측 패널 splitter 빠른 drag (수십 px) -> 씬 부품 선택 변경 0
2. 감도 슬라이더 핸들 빠른 drag -> 씬 선택 0
3. 마우스 천천히 drag (정상 케이스) -> 회귀 없음

### QA-052 스크롤바
1. 프로퍼티 패널 스크롤바 click -> Transform Gizmo 이동 0
2. 스크롤바 drag -> 오브젝트 위치 변경 0

## 다음 사이클
- v0.1.248 — QA-035 Play Mode 진입 시 Scenario Play 자동 시작 fix- v0.1.249 — QA-033 Simulation Tab Play 버튼 누락- v0.1.250 — QA-009 좌측 패널 내부창 간헐 공백 진단협업자 git 신규 commit 없음 (origin/main = local). QA-014 회신 계속 대기.


---

## 봉인 참조

본 사이클은 **48th stable seal (v0.1.366, 2026-05-24)** 일괄 봉인에 포함됨.

- journal: [2026-05-24-v0.1.298-366-48th-stable-seal.md](../../journal/2026-05-24-v0.1.298-366-48th-stable-seal.md)
- alias zip: [factory00-windows-x64-v0.1.366-stable.zip](../../downloads/factory00-windows-x64-v0.1.366-stable.zip) (170 MB)
