fix(alignment): demo-final PlacementGuide settings 에 METHOD_D 옵션 추가

증상 (사용자 보고 2026-08-04):
  Alignment 설정 화면 · Detection 셀렉터에 A/B/C 만 있고 D 가 없음.
  Clinical / Alignment 에서 Method D 가 적용 안 된 것처럼 보임.

원인:
  demo-final PlacementGuideView.kt:1323-1327 에 METHOD_D 항목 누락.
  최근 default detectionMethod 를 METHOD_D 로 변경 (`0184c6d`) 했으나 이 셀렉터
  UI 는 여전히 A/B/C 만 노출 · 사용자가 선택 화면 진입 시 어떤 버튼도 highlight
  되지 않아 "적용 안됨" 으로 오인.

  실제로는 default METHOD_D 가 코드에서 정상 적용 중 (BV 계산 · walls 검출 모두).
  UI 만 옵션 4개 중 3개만 보였던 것.

수정:
  methods 리스트에 METHOD_D 추가 · colors 도 4개로 확장 (D=magenta).
  cloud-mvp 는 이미 4개 옵션 노출 중이었음 · demo-final 이 뒤쳐진 상태였음.
This commit is contained in:
2026-08-04 16:22:25 +09:00
parent 253312b4b0
commit 97e4933871
@@ -1315,7 +1315,10 @@ fun PlacementGuideView(appState: AppState) {
.shadow(12.dp, RoundedCornerShape(14.dp))
) {
Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
// Method A/B/C
// Method A/B/C/D
// 2026-08-04: METHOD_D 옵션 추가 (기존 A/B/C 만 있어 default D 상태에서
// 버튼 하이라이트 없어 사용자가 "적용 안됨" 으로 인지하던 UX 버그).
// cloud-mvp 는 D 있었음 · demo-final 은 누락되어 있었음.
var selectedMethod by remember { mutableStateOf(com.medithings.vesiscan.managers.GreenZoneConstants.detectionMethod) }
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
Text("Detection", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
@@ -1323,9 +1326,15 @@ fun PlacementGuideView(appState: AppState) {
val methods = listOf(
com.medithings.vesiscan.managers.DetectionMethod.METHOD_A to "A",
com.medithings.vesiscan.managers.DetectionMethod.METHOD_B to "B",
com.medithings.vesiscan.managers.DetectionMethod.METHOD_C to "C"
com.medithings.vesiscan.managers.DetectionMethod.METHOD_C to "C",
com.medithings.vesiscan.managers.DetectionMethod.METHOD_D to "D",
)
val colors = listOf(
Color(0xFF9C27B0), // A: purple
MlPrimary, // B: blue
Color(0xFFFF5722), // C: deep orange
Color(0xFFAB47BC), // D: magenta (cloud-mvp 와 통일)
)
val colors = listOf(Color(0xFF9C27B0), MlPrimary, Color(0xFFFF5722))
Row(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
methods.forEachIndexed { idx, (m, label) ->
val sel = selectedMethod == m