# v0.1.246 — QA-047 Delete Undo + QA-041 설정창 수치 필드 입력

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

---

## 협업자 PM 회신 2건 fix
QA-047 [P0] 높음 — Delete Undo(Ctrl+Z) 미동작
QA-041 [P1] spot-check 탈락 — 설정창 감도 슬라이더 수치 필드 편집 불가

## QA-047 root cause 확정
editDeleteBtn.clicked += () => DeletePart(...) 직접 호출 -> UndoStack 미경유 -> Ctrl+Z 무동작.Delete 키 (Update L3437) 도 동일 패턴.

## QA-047 fix

### 1. DeleteSelectedPart() 헬퍼 신설
DuplicateSelectedPart 옆 패턴 미러. selection 없으면 토스트 + return.

### 2. DeleteCommand IEditCommand 신설
VisibilityCommand 옆 패턴 미러:
- Execute: GameObject.SetActive(false) + _partHidden[id]=true + selection 해제 + UI 갱신- Undo: GameObject.SetActive(true) + _partHidden 복원 + selection 복원 + UI 갱신- DeletePart() 보존 정책과 동일 (.glb 원본 불변, Parts 리스트 유지)
### 3. 호출처 교체 (2건)
- editDeleteBtn.clicked += DeletePart(...) -> += DeleteSelectedPart()- Input.GetKeyDown(KeyCode.Delete) 분기 -> DeleteSelectedPart()
## QA-041 root cause 확정
 — Label은 read-only 위젯. 사용자가 우측 "수치 필드 클릭·입력" 시도하지만 입력 받지 못함.QA-036/037 (RenderInspector 주기 Clear)과 **다른 원인** — PM 메모 "동일 루트" 가정 정정.

## QA-041 fix

### 1. UXML Label -> FloatField (3건)
 -> . label-pan-sens / label-fp-sens 동일.
### 2. SettingsPanelViewModel.cs BindSlider 양방향 sync
Label _labelMouse, _labelPan, _labelFp -> FloatField. BindSlider 시그니처 변경.- Slider 드래그 -> f.SetValueWithoutNotify(round 0.1) (no callback echo)- FloatField 직접 입력 -> Mathf.Clamp(low~high) + s.SetValueWithoutNotify + setter
### 3. USS .c-settings__numfield 추가
width 60px + 좌측 6px margin. 시각 일관성.

## 변경 파일
- Assets/Scripts/Game/Factory00Bootstrap.cs (+85라인) — DeleteCommand class + DeleteSelectedPart 헬퍼- Assets/Scripts/UI/SettingsPanelViewModel.cs (~15라인) — FloatField 타입 + 양방향 sync- Assets/UI/MainHUD.uxml (3 element 타입 변경)- Assets/UI/Theme/components.uss (+7라인 .c-settings__numfield)- ProjectSettings/ProjectSettings.asset (bundleVersion 0.1.245 -> 0.1.246)
## 검증 시나리오

### QA-047
1. 부품 선택 -> Edit Delete (또는 Delete 키) -> 부품 사라짐
2. Ctrl+Z -> 부품 복원 + selection 복원 + Inspector 재표시
3. Ctrl+Y (또는 다시 Ctrl+Z 후) -> 다시 삭제

### QA-041
1. 설정창 열기 -> 마우스 회전 감도 슬라이더 드래그 -> 우측 수치 필드 실시간 갱신
2. 우측 수치 필드 클릭 -> 키보드 입력 -> 슬라이더 동기화
3. 범위 외 값 입력 (예: 100) -> low/high clamp 자동 적용
4. 패닝 감도 / 1인칭 감도 동일 동작

## 다음 사이클
- v0.1.247 — QA-014 Persp/Ortho v0.1.240 퇴행 (PM 회신 받으면)- v0.1.248 — QA-007 splitter 드래그 시 씬 드래그 누수 (감도 슬라이더 3종 포함)- v0.1.249 — QA-033/035 Simulation Inspector 진입 차단


---

## 봉인 참조

본 사이클은 **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)
