# v0.1.244 — QA-009 Space 패널 접힘 + QA-031 Ctrl 카메라 충돌 fix

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

---

## 협업자 PM 일괄 점검 요청 (handshake.md 2026-05-20)
PM 명시 동일 패턴의 UI 이벤트 전파 누수 다수 발견. 일괄 fix 권장.
| QA | 현상 | 본 사이클 fix |
|---|---|---|
| QA-009 | 스페이스바 입력 시 패널 접힘 | [완료] Ribbon Button focus 해제 + Space 가드 |
| QA-031 | Ctrl+D/A 시 카메라도 이동 | [완료] WASD 카메라 Ctrl/Alt 수식키 가드 |
| QA-008 | 휠 누수 (v0.1.235 이미 fix) | 그대로 |
| QA-007 | splitter 드래그 누수 | 별도 사이클 (슬라이더 3종 일괄) |
| QA-052 | 프로퍼티 스크롤바 Gizmo 누수 | 별도 사이클 |

## QA-009 fix — Ribbon Button Space 키 차단
PM 회신 (QA-023): "트리거 = 스페이스바". root cause:
- toggle-left Button click 후 Unity UI Toolkit 기본 동작 = 버튼 포커스 유지- 그 다음 Space 키 누르면 포커스된 버튼의 click 발화 -> ToggleCollapse() 재호출 -> 패널 접힘**fix**: SetupRibbonShell 안:
1. **ribbon 컨테이너 KeyDownEvent 가드** — Space 키 StopPropagation + PreventDefault
2. **모든 Ribbon Button click 후 Blur()** — 포커스 해제 (다음 Space가 click 트리거 못 함)
`csharpvar ribbonRoot = root.Q("ribbon");ribbonRoot.RegisterCallback(evt => {    if (evt.keyCode == KeyCode.Space) {
        evt.StopPropagation();
        evt.PreventDefault();
    }
}, TrickleDown.TrickleDown);
foreach (var btn in ribbonRoot.Query().ToList()) {    var bb = btn;
    bb.clicked += () => bb.Blur();
}
`영향 범위: Ribbon 안 모든 버튼 (8 탭 헤더 + 45 명령 버튼 + 우측 위젯). Space 키로 버튼 활성화 차단.

## QA-031 fix — WASD 카메라 Ctrl/Alt 수식키 가드
PM 보고: "Ctrl+D/A 시 카메라도 이동" — Ctrl+D (Duplicate) / Ctrl+A (Select All) 누를 때 카메라 WASD D/A도 처리.
**fix**: CameraViewController.cs Update WASD 분기에 Ctrl/Alt 가드 추가.
`csharpbool ctrlDown = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl);
bool altDown  = Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt);
if (!textFocused && !ctrlDown && !altDown) {
    // WASD 이동 ...
}
`영향: Ctrl/Alt 수식키 조합 누를 때 카메라 이동 비활성 -> 단축키 (Ctrl+D/A/Z/Y) 우선.

## 변경 파일
- Assets/Scripts/Game/Factory00Bootstrap.cs (+22라인)- SetupRibbonShell 안 Ribbon 컨테이너 Space 가드 + 모든 Button Blur (line 1397 부근)- Assets/Scripts/Game/CameraViewController.cs (+4라인)- UpdateCamera WASD 분기 Ctrl/Alt 가드 (line 380 부근)
## 검증 시나리오 (PM checklist)
1. **QA-009**: ≡ 클릭 -> 패널 접힘 -> Space 키 -> 패널 그대로 (이전: 패널 다시 접힘)
2. **QA-031**: 부품 선택 -> Ctrl+D (Duplicate) 누름 -> 복제 동작 + 카메라 D 이동 X (이전: 카메라도 오른쪽 이동)

## 다음 사이클
- v0.1.245 — QA-036/037 프로퍼티 드롭다운/입력 fix- v0.1.246 — QA-014 Persp/Ortho v0.1.240 퇴행 추적- v0.1.247 — QA-007/052 splitter/스크롤바 일괄 (드래그 누수)- v0.1.248 — QA-006 씬 클릭 간헐 재발 추적


---

## 봉인 참조

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