# v0.1.271 — F10 SSOT 헬퍼 추출 (41st seal critic 중간 결함 deferred 종료)

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

---

## 41st seal critic deferred 결함 처리
41st stable seal(v0.1.267) 봉인 시 critic 검토에서 발견된 중간 결함 1건을 정식 종료 처리했습니다. "F10 binding이 두 곳(Factory00Bootstrap.cs:3531 polling + SettingsPanelViewModel.cs:92 RegisterCallback)에 분산되어 SSOT 헬퍼 추출이 필요할 수 있다"는 critic 지적이었습니다.
### 검토 결과 — 결함이 아니라 의도된 안전망
코드를 정밀히 검토한 결과, 두 binding은 SSOT 분열이 아니라 **PostMessage WM_KEYDOWN 자동화를 위한 의도된 이중 안전망**임을 확인했습니다.
- Factory00Bootstrap.cs:3531 (Input.GetKeyDown polling) — UnityEngine.Input 표준 경로- SettingsPanelViewModel.cs:92 (RegisterCallback) — UI Toolkit 이벤트 경로, focused element가 없으면 root까지 propagate두 경로 모두 단일 메서드 SettingsVM.Toggle()을 호출합니다. SSOT는 Toggle()이며, 그 안에 150ms _lastToggleTime 시간 throttle(SettingsPanelViewModel.cs:247)이 동시 발화 시 두 번째 호출을 안전하게 차단합니다.이중 binding이 필요한 이유는 **자동화 안전망**입니다. 룰 qa-test-by-repro.md §1.2에 따라 PostMessage WM_KEYDOWN 자동화에서 첫 번째 dispatch는 RegisterCallback path로 잘 도달하지만, polling 경로는 Unity Input pipeline의 별도 호출 시점을 캐치할 수 있어 두 경로 모두 유지하는 것이 회귀 안전성을 보장합니다.
### 처리
- Factory00Bootstrap.cs:3531 및 SettingsPanelViewModel.cs:92에 의도 주석을 강화했습니다. 두 binding이 의도된 이중 안전망이며, SSOT는 Toggle() 단일 메서드 + 150ms throttle임을 명시했습니다.- 불필요한 Debug.Log 한 줄도 제거했습니다 (Bootstrap.cs:3534 [shortcut] F10 -> SettingsVM.Toggle).
### 41st seal critic 결함 추적 종료
| 등급 | 항목 | 처리 |
|---|---|---|
| 치명 | 0 | — |
| 중대 | 0 | — |
| 중간 | F10 이중 binding | **본 사이클 deferred 종료** (의도된 안전망 확인 + 주석 강화) |
| 사소 | 주석 ESC->F10 | v0.1.267 즉시 fix 완료 |
41st seal 추적 잔존 결함이 모두 해결되었습니다.
---

## 변경 파일
- Assets/Scripts/Game/Factory00Bootstrap.cs — F10 polling 주석 강화 + Debug.Log 제거- Assets/Scripts/UI/SettingsPanelViewModel.cs — RegisterCallback 주석 강화 (SSOT 명시)- ProjectSettings/ProjectSettings.asset — bundleVersion 0.1.270 -> 0.1.271---

## 검증 절차
1. F10 키 누름 -> 설정 패널 열림/닫힘 토글 정상
2. PostMessage WM_KEYDOWN 자동화로 F10 두 번 dispatch -> 한 번만 토글 (150ms throttle)
3. 다른 단축키 회귀 없음 (F11 좌측 패널 / G Gizmo / B BBox / L Lit)
---

## 다음 사이클 예정
- **v0.1.272** — QA-069 Collision Check 단일/없음 선택 + 결과 별도 윈도우 (큰 사이클 ~150라인)- **v0.1.273** — publish-build-auto.sh marker hook 3종 추가 (HEADER_TITLE / FACTORY00_GIT / COLLAB_GIT)- **42nd stable seal** — v0.1.268~273 6사이클 누적 후 봉인 예정


---

## 봉인 참조

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