UI revert: PiezoMonitoring 설정 패널 라벨 28sp → 14sp 복원

문서 빌드 117 묘사를 그대로 적용한 28sp가 실제 화면에서 너무 커서
Bladder Capacity / Catheter Threshold 라벨이 줄바꿈되고 divider padding
28dp가 카드를 과도하게 늘리는 곱창 결과 발생. 원본 14sp + divider padding
없음으로 일괄 되돌림.

- 9개 라벨 fontSize 28sp → 14sp
- 9개 HorizontalDivider modifier 제거 (padding 28dp 삭제)
- Column verticalArrangement.spacedBy 9.dp → 6.dp

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 09:58:43 +09:00
parent e370d9c702
commit e716763cc4
@@ -1315,9 +1315,9 @@ fun PiezoMonitoringView(appState: AppState) {
) { ) {
// Max Volume // Max Volume
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text("Bladder Capacity", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("Bladder Capacity", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
Text("${appState.piezoSettings.maxVolume} mL", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary) Text("${appState.piezoSettings.maxVolume} mL", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
} }
Slider( Slider(
value = appState.piezoSettings.maxVolume.toFloat(), value = appState.piezoSettings.maxVolume.toFloat(),
@@ -1356,13 +1356,14 @@ fun PiezoMonitoringView(appState: AppState) {
} }
} }
HorizontalDivider() HorizontalDivider()
// Catheterization Threshold // Catheterization Threshold
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text("Catheter Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("Catheter Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary) Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
} }
Slider( Slider(
value = appState.bladderLevel.catheterizationThreshold.toFloat(), value = appState.bladderLevel.catheterizationThreshold.toFloat(),
@@ -1374,13 +1375,13 @@ fun PiezoMonitoringView(appState: AppState) {
// ── 개발자 전용 설정 ── // ── 개발자 전용 설정 ──
if (appState.isDevMode) { if (appState.isDevMode) {
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// Low Echo Threshold (Otsu / manual) // Low Echo Threshold (Otsu / manual)
var otsuEnabled by remember { mutableStateOf(analyzer.useAdaptiveThreshold) } var otsuEnabled by remember { mutableStateOf(analyzer.useAdaptiveThreshold) }
var currentThreshold by remember { mutableStateOf(GreenZoneConstants.lowEchoAmp) } var currentThreshold by remember { mutableStateOf(GreenZoneConstants.lowEchoAmp) }
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text("Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.width(8.dp)) Spacer(modifier = Modifier.width(8.dp))
Text( Text(
if (otsuEnabled) "Otsu: ${"%.0f".format(analyzer.lastOtsuThreshold)}" else "${"%.0f".format(currentThreshold)}", if (otsuEnabled) "Otsu: ${"%.0f".format(analyzer.lastOtsuThreshold)}" else "${"%.0f".format(currentThreshold)}",
@@ -1404,12 +1405,12 @@ fun PiezoMonitoringView(appState: AppState) {
) )
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// DPS // DPS
var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) } var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) }
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text("DPS", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("DPS", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
OutlinedTextField( OutlinedTextField(
value = dpsText, value = dpsText,
@@ -1421,12 +1422,12 @@ fun PiezoMonitoringView(appState: AppState) {
) )
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// Detection Method A/B/C // Detection Method A/B/C
var selectedMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod) } var selectedMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod) }
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
Text("Detection", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("Detection", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
val methods = listOf( val methods = listOf(
com.example.medilightv2android.managers.DetectionMethod.METHOD_A to "A", com.example.medilightv2android.managers.DetectionMethod.METHOD_A to "A",
@@ -1453,12 +1454,12 @@ fun PiezoMonitoringView(appState: AppState) {
} }
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// BV Method (Frustum / V41) // BV Method (Frustum / V41)
var selectedBvMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.bvMethod) } var selectedBvMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.bvMethod) }
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
Text("BV", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("BV", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
val bvMethods = listOf( val bvMethods = listOf(
com.example.medilightv2android.managers.BvMethod.FRUSTUM to "Frustum", com.example.medilightv2android.managers.BvMethod.FRUSTUM to "Frustum",
@@ -1484,23 +1485,23 @@ fun PiezoMonitoringView(appState: AppState) {
} }
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// SG Filter // SG Filter
var sgEnabled by remember { mutableStateOf(analyzer.useSgFilter) } var sgEnabled by remember { mutableStateOf(analyzer.useSgFilter) }
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
Text("SG Filter", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("SG Filter", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
Switch(checked = sgEnabled, onCheckedChange = { sgEnabled = it; analyzer.useSgFilter = it }, Switch(checked = sgEnabled, onCheckedChange = { sgEnabled = it; analyzer.useSgFilter = it },
colors = SwitchDefaults.colors(checkedTrackColor = MlPrimary)) colors = SwitchDefaults.colors(checkedTrackColor = MlPrimary))
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// Post Max Index (바닥반사 무시 경계) // Post Max Index (바닥반사 무시 경계)
var postMaxVal by remember { mutableStateOf(GreenZoneConstants.postMaxIdx.toFloat()) } var postMaxVal by remember { mutableStateOf(GreenZoneConstants.postMaxIdx.toFloat()) }
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text("Post Max", fontSize = 28.sp, fontWeight = FontWeight.SemiBold) Text("Post Max", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
Spacer(modifier = Modifier.width(8.dp)) Spacer(modifier = Modifier.width(8.dp))
Text("${postMaxVal.toInt()} / 100", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary) Text("${postMaxVal.toInt()} / 100", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
@@ -1514,7 +1515,7 @@ fun PiezoMonitoringView(appState: AppState) {
) )
} }
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
// Disconnect // Disconnect
var showDisconnectConfirm by remember { mutableStateOf(false) } var showDisconnectConfirm by remember { mutableStateOf(false) }
@@ -1544,7 +1545,7 @@ fun PiezoMonitoringView(appState: AppState) {
} }
Spacer(modifier = Modifier.height(8.dp)) Spacer(modifier = Modifier.height(8.dp))
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp)) HorizontalDivider()
Spacer(modifier = Modifier.height(8.dp)) Spacer(modifier = Modifier.height(8.dp))
// Version (BuildConfig.VERSION_NAME) — read-only // Version (BuildConfig.VERSION_NAME) — read-only