From fea5879cdcbc95d1c06364e595ce4b3885f8b8a5 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Thu, 18 Jun 2026 11:16:24 +0900 Subject: [PATCH] =?UTF-8?q?fix(align=20V1):=20edge=20fail=20hint=20?= =?UTF-8?q?=EA=B0=84=EC=86=8C=ED=99=94=20+=20step=203=20=ED=9A=8C=EA=B7=80?= =?UTF-8?q?=20=EC=B0=A8=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) hint 텍스트에서 채널 정보 제거: "Slide up slightly ↑ (ch3 short)" → "Slide up slightly ↑" "Slide down slightly ↓ (ch0 short)" → "Slide down slightly ↓" 사용자 피드백 — 채널 번호 표시 빼고 방향만. 2) edge 만 fail (CV·lrPass·rPeakOk 통과) 인 경우 GREEN 유지: 기존: 방향 화살표면 무조건 nextPhase = VERTICAL → step indicator 3 → 1 회귀. 변경: edgeOnlyFail 시 stayGreen=true → nextPhase = GREEN, step 3 유지. 이유: edge 비대칭은 mm 단위 미세조정 — 전체 vertical 재시작 불필요. CV/lrPass 가 진짜 어긋난 경우는 기존대로 VERTICAL 회귀. Co-Authored-By: Claude Opus 4.7 --- .../ui/views/monitoring/PlacementGuideView.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt index 4ad3445..14fcc58 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt @@ -1935,11 +1935,11 @@ private fun computePlacementGuide( } // Edge 비대칭 — ch3 짧음 (센서 너무 아래) → 위로 미세 조정 !edgePass && edgeAsym > 0 -> { - adjustHint = "Slide up slightly ↑ (ch3 short)"; adjustIcon = "arrow.up" + adjustHint = "Slide up slightly ↑"; adjustIcon = "arrow.up" } // Edge 비대칭 — ch0 짧음 (센서 너무 위) → 아래로 미세 조정 !edgePass && edgeAsym < 0 -> { - adjustHint = "Slide down slightly ↓ (ch0 short)"; adjustIcon = "arrow.down" + adjustHint = "Slide down slightly ↓"; adjustIcon = "arrow.down" } gradient > 0.3 -> { adjustHint = "Slide down ↓"; adjustIcon = "arrow.down" @@ -1966,8 +1966,11 @@ private fun computePlacementGuide( } } } - // 구체적 방향(↑↓←→)이면 VERTICAL 복귀, 아니면 GREEN 유지 - val stayGreen = adjustIcon == "checkmark.circle" + // 구체적 방향(↑↓←→)이면 보통 VERTICAL 복귀, 아니면 GREEN 유지. + // 단 edge 만 fail(CV·lr 통과)인 케이스는 mm 단위 미세조정이라 + // GREEN 그대로 유지 — step indicator 3 → 1 회귀 방지. + val edgeOnlyFail = !edgePass && cv <= cvThr && lrPass && rPeakOk + val stayGreen = adjustIcon == "checkmark.circle" || edgeOnlyFail val nextPh = if (stayGreen) PlacementPhase.GREEN else PlacementPhase.VERTICAL return PlacementGuideResult(adjustHint, adjustIcon, 50, cv, false, lrDev, lrPass, phase = PlacementPhase.GREEN, nextPhase = nextPh)