// screens/analysis.jsx — AI 진단 결과 (항목별 점수 + radar) function AnalysisScreen({ persona, setRoute }) { const Icons = window.Icons; const [overlay, setOverlay] = React.useState("pores"); const [showBaseline, setShowBaseline] = React.useState(true); const overlayOpts = [ { v: "pores", l: "모공" }, { v: "sebum", l: "유분/피지광" }, { v: "redness", l: "홍조" }, { v: "pigment", l: "색소" }, { v: "wrinkle", l: "주름/탄력" }, ]; const scores = persona.skinScores; const overall = Math.round(Object.values(scores).reduce((a, b) => a + b, 0) / Object.keys(scores).length); const baselineAvg = Math.round(Object.values(BASELINE_SCORES).reduce((a, b) => a + b, 0) / Object.keys(BASELINE_SCORES).length); const sortedKeys = [...SCORE_KEYS].sort((a, b) => scores[a] - scores[b]); // worst → best const worst3 = sortedKeys.slice(0, 3); const best3 = sortedKeys.slice(-3).reverse(); const TIME_STEPS = [ { l: "이미지 수집", t: "5장 · 12MB", done: true }, { l: "Region 분할", t: "8 영역", done: true }, { l: "지표 추출", t: "47 features", done: true }, { l: "점수화", t: "10 dimensions", done: true }, { l: "Cohort 매칭", t: "유사 환자 142", done: true }, ]; return (
10개 지표의 정량 분석 결과입니다. 막대 위 검은 마커는 동일 연령대 일반 기준 점수이며, 표준화된 cohort {persona.id === "P-2026-0489" ? "286" : "142"}명 데이터와 매칭되었습니다.