fix(alignment): 탈착 상태에서 Start 누를 시 팝업 재발생 + 진행 차단

증상 (사용자 보고 2026-08-04):
  1. 센서 탈착 → "센서 분리" 팝업 뜸 (rising edge · 1회)
  2. 사용자가 팝업 dismiss
  3. 센서 여전히 탈착 상태 · 사용자가 "정렬 시작" 버튼 다시 누름
  4. 팝업 안 뜨고 스텝만 0/3 → 1/3 → 0/3 회귀 · 이유 없이 되돌려짐

원인:
  - Start onClick 은 waitingForStart=false 로 진행만 시킴
  - 다음 scan cycle 이 line 883 (detach 지속) 감지 → waitingForStart=true 재설정
  - showDetachAlert 는 `nowDetached && !prevDetached` rising edge 만 발동 → prev 여전히
    true 라 팝업 재발생 안 됨
  - 결과: 스텝이 침묵 회귀 · 사용자 혼란

수정:
  Start onClick 진입 시 prevDetached=true 이면 즉시 showDetachAlert=true 후 return.
  Start 진행 자체가 차단됨 · 사용자에게 "센서 부착 후 다시 시도" 명확 안내.
This commit is contained in:
2026-08-04 15:24:05 +09:00
parent 96895e5c08
commit 1e3610ca0f
@@ -1208,6 +1208,15 @@ fun PlacementGuideView(appState: AppState) {
if (waitingForStart) { if (waitingForStart) {
Button( Button(
onClick = { onClick = {
// 2026-08-04: 탈착 상태에서 Start 눌러도 진행 안 되던 사용자 혼란 fix.
// 기존: waitingForStart=false → 다음 scan 이 detach 재감지 → 다시
// waitingForStart=true 로 회귀 · rising edge 이미 소진되어 팝업 없음.
// 변경: onClick 시점에 prevDetached 감지 → 팝업 재발생 + Start 진행 차단.
// "센서 부착 후 다시 시도" 를 사용자에게 명확히 안내.
if (prevDetached) {
showDetachAlert = true
return@Button
}
waitingForStart = false waitingForStart = false
isContinuousMode = true isContinuousMode = true
// V2 alignment 리셋 — baseline 동안 silent push 가 없었더라도 안전망. // V2 alignment 리셋 — baseline 동안 silent push 가 없었더라도 안전망.