← Cockpit Wireframes Pages by level Navigation map
Profile Cockpit · 프로필 압축▾
Shipped app (old grammar)Components · 공유 키트상세 페이지 — 플랫 언어Session Card · 밴드 없는 카드
홈 · Home
Home · 홈
시작 · Entry
Onboarding · 시작
ArchiveStrip Map · 세션 스트립 전체 시나리오Headers · 헤더 아이콘Card Continuity · 카드 = 상세의 예고편Session Hero · 더 조용한 공유 카드 (제안)Session Share Card · 히어로 = 공유 카드Session List Frame · 날짜 섹션 · 패널 필터 · 2+2 카드Compaction — 일정 · 코트 · 스코어카드Compaction — 클럽 상세 · 홈Compaction — 기록 · 프로필Live anchor — 진행 중 밴드Density · 카드 밀도토스트 — 리디자인 제안Club List · 클럽Clubs · 클럽클럽 상세 — 여섯 탭 플랫운영 섹션 — 플랫 목표위저드 내비게이션 — 결정 보드드래프트 복원 — 무음 복원클럽 조 편성 — 모델 결정 보드게스트 → 회원 — 심사 흐름Page polish — titled postsWeb app — desktop layoutProduct questions — openWeb app — desktop adaptation, round 2Visual tone — pure white, flat rows, one Tag, a colour budgetLibrary — chrome, surfaces, rows, labelsLibrary — controls, overlays, states, formsLibrary — page patterns, scaling, motionLibrary — additions from the pagesEmpty-once — 프로필 빈 섹션Notification groups — 할 일 밴드 그룹화Profile Cockpit · 프로필 압축Session Detail — Redesign · 일정Venue Detail — Redesign · 테니스장Profile Detail — Redesign · 프로필Tournament Detail — Redesign · 대항전Applicant Detail — Redesign · 가입 심사Canvas Migration — 회비 · 멤버 · 규칙Record Detail — Redesign · 기록Venue Finder · 코트 찾기Venue Filters · 코트 필터 재구성Notifications · 알림Panel Placement · 하단 고정
Archived — superseded by Pages — 홈 · 기록 · 프로필 · 클럽 홈
Interactive kit · grounded in code

Profile Cockpit · 프로필 압축

Profile cockpit — the audit's density fix, checked against two rulings it missedAn external audit proposed compacting 프로필 into a "one-screen cockpit": an identity block, a "tennis passport" (ELO + next-tier progress + the four core stats in one block), a three-tile social strip (친구 / 업적 / 매너), and a shortcuts row list — all as FOUR CARDS. The density complaint is correct — Phone A below measures the real shipped page at ≈1,010px against this kit's own 560px one-screen reference, about 1.8 screens. But the audit's own mechanism reverses the owner's 2026-09-14 hub-vs-detail ruling (docs/canon/components.md): 홈/클럽/경기/기록 are card-based browsing collections, and 프로필 is the one tab the ruling explicitly keeps flat because it is a single entity, not a collection. The audit's shortcut rows (📤 공유 / 🚪 로그아웃) also violate the glyph law (emoji labels information, never a tappable action) — the shipped app already reserves emoji for identity facts (🥇 tier, 🎾 career) and would need lucide icons on those rows regardless of which phone below ships.
프로필
💬
⚙️
🙂
김민준
⭐
🥇NTRP 3.5
강
강남 테니스 클럽
🎾3년 차
ELO1,482
마스터까지 518점
47총 경기
68%승률
3승연승
12이번 달
92%출석률
친구24명
전체 보기
이
박
최
정
›
업적3/24
전체보기
10명과 경기서로 다른 10명의 상대와 경기를 완료했어요
참석률
연속 참석
5주
매너 태그
⏱️ 시간 약속을 잘 지켜요 ×12😊 매너가 좋아요 ×9🎾 실력이 좋아요 ×6
통계 공유
›
연습 기록
›
환경설정
›
로그아웃
↑ 1 screen · 560px
Phone A — Now (shipped)profile-screen.tsx's real section order (TypeHero → ELO fact+progress → 2-row StatStrip → 친구 → 업적 → 참석률 → 매너 태그 → 4-row menu, no leading icons on any row today). Summing this kit's own primitive heights: ≈1,010px total against the 560px one-screen reference marked above — about 1.8 screens of scrolling before the menu ever appears. This is the real problem the audit is reacting to.
프로필
💬
⚙️
🙂
김민준
⭐
🥇NTRP 3.5
강
강남 테니스 클럽
🎾3년 차
ELO1,482
마스터까지 518점
47총 경기
68%승률
3승연승
12이번 달
24친구
3/24업적
27매너
연습 기록
›
통계 카드 공유
›
로그아웃
↓ ends here · 475px
Phone B — Compact, flatSame flat grammar, denser data: the passport collapses to the real 4-cell branch (no 2nd stat row), 친구/업적/매너 fold into one titleless, self-labeling StatStrip, and the menu gets real lucide leading icons instead of the audit's emoji. Total ≈475px — comfortably under one 560px screen, with room to spare. 참석률 (attendance streak) is dropped, matching the audit's own scope — a real signal this cockpit loses either way.
프로필
💬
⚙️
🙂
김민준⭐
🥇NTRP 3.5🎾3년 차
전적
ELO1,482
마스터까지 518점
47총 경기
68%승률
3승연승
12이번 달
소셜
24친구
3/24업적
27매너
바로가기
연습 기록
›
통계 카드 공유
›
로그아웃
↑ 1 screen · 560px
Phone C — Compact, cardedThe audit's literal four-card grammar, same content as Phone B. Total ≈620px — still under 1.1 screens, so the density win survives either way. The ≈145px difference from Phone B is pure card chrome: 4× card padding (16px×2 each) plus 3 titles now living OUTSIDE their cards (hub section grammar) that the flat page never needed at all — and it is the version the 2026-09-14 ruling doesn't allow for this tab.
Claude recommends: BThe density is the win, the cards are not — B keeps the 2026-09-14 ruling, and the tab reads like the detail pages the profile itself links to (public profile, settings, record detail — all flat).
Also rejected — from the audit, on other groundsRejected
Emoji-labelled action rows (📤/🚪) — the glyph law reserves emoji for information, never a tappable action; both Phone B and Phone C use lucide icons on those rows instead. Middle-dot-joined fact lines — no exceptions, owner-directed 2026-09-06; nothing on this board joins two facts with "·". Moving 경기 기록 (match history) back onto the profile — the audit doesn't propose this, but it's the recurring alternative this class of "compact profile" idea attracts; it stays on 기록 per Protocol J, and nothing here reopens that.
Spec (grounding, anatomy)

PROPOSAL — responding to an external audit's 'compact one-screen profile cockpit' (identity + tennis passport + a three-tile social strip + a shortcuts row list, as four cards). The density complaint is valid (Phone A measures the real shipped page at ≈1,010px, about 1.8 screens); the audit's four-card mechanism reverses the 2026-09-14 hub-vs-detail ruling that keeps 프로필 flat, and its emoji action-row labels violate the glyph law. Phone B compacts the SAME content inside the flat grammar (≈475px, under one screen); Phone C draws the audit's literal card grammar for comparison (≈620px). Open question: which one ships?

grounded in 15 source file(s)
packages/features/profile/src/profile-screen.tsxpackages/features/profile/src/profile-tab/profile-friends-zone.tsxpackages/features/profile/src/profile-tab/profile-achievements-zone.tsxpackages/features/profile/src/trust-record/trust-record-body.tsxpackages/features/profile/src/trust-record/trust-record-rows.tsxpackages/ui/src/stat-strip.tsxpackages/ui/src/type-hero.tsxpackages/ui/src/flat-column.tsxpackages/ui/src/person-row.tsxpackages/app/src/config/i18n/ko/common.tspackages/app/src/config/i18n/ko/settings.tspackages/app/src/config/i18n/ko/share.tspackages/app/src/config/i18n/ko/friendship.tspackages/app/src/config/i18n/ko/home.tsdocs/canon/components.md