feat: 한국어 우선 쇼케이스 정리
All checks were successful
ci / build (push) Successful in 51s
release / release (push) Successful in 2m34s

This commit is contained in:
Yun Chan 2026-08-26 18:14:41 +09:00
parent e4087c29f5
commit 2b7fa32b5b
109 changed files with 437 additions and 279 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 819 KiB

After

Width:  |  Height:  |  Size: 818 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 820 KiB

After

Width:  |  Height:  |  Size: 842 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

After

Width:  |  Height:  |  Size: 375 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

After

Width:  |  Height:  |  Size: 365 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 KiB

After

Width:  |  Height:  |  Size: 455 KiB

Before After
Before After

View file

@ -117,10 +117,10 @@ export const WORK: WorkItem[] = [
/* ── 3행: 3열 모자이크 (2 + 2 + 2) ── */
{
slug: "muwol-coffee",
name: "무월 (霧月)",
name: "무월",
kind: "싱글오리진 원두 정기구독",
concept: "종이 원장처럼 정직한 구독 — 가격은 첫 화면에, 거래 내역은 원장으로 공개",
risk: "세로 GNB와 카드 대신 원장의 행(行) 문법으로 원두를 나열하고, 구독 CTA는 회색조에서 가장 어두운 반전 블록으로",
risk: "세로 GNB와 카드 대신 원장의 행 문법으로 원두를 나열하고, 구독 CTA는 회색조에서 가장 어두운 반전 블록으로",
preset: "quiet-commerce",
date: "2026-08",
metrics: ["가격 첫 화면 노출", "앰버 강조 1색", "산미-바디 좌표 플롯", "하드 게이트 12/12"],
@ -147,17 +147,17 @@ export const WORK: WorkItem[] = [
},
{
slug: "hyang-incense",
name: "향연 (享煙)",
name: "향연",
kind: "자연 침향 아카이브",
concept: "한지 위의 장부 — 여백이 주인공이고 연기 한 줄기가 흔적이다",
risk: "상품 사진 대신 사진 없는 목록(텍스트가 상품)과 한지 그레인, 세로쓰기 캡션으로 장부의 물성을 만듭니다",
concept: "밝은 편집면 위의 기록 — 여백이 주인공이고 연기 한 줄기가 흔적이다",
risk: "상품 사진 대신 사진 없는 목록과 가로 정보 라벨로 기록의 밀도를 만듭니다",
preset: "quiet-luxury",
date: "2026-08",
metrics: ["본문 17px·1.9행간", "한지 SVG 그레인", "수지 장부 공개", "하드 게이트 12/12"],
metrics: ["본문 17px·1.9행간", "중성 배경", "수지 기록 공개", "하드 게이트 12/12"],
href: "/work/hyang-incense/",
shot: hyangIncense,
shotAlt: hyangIncense2,
alt: "향연 — 넓은 한지 여백 위에 세로로 피어오르는 연기 사진과 조용한 숙성 장부",
alt: "향연 — 넓은 밝은 여백 위에 피어오르는 연기 사진과 조용한 숙성 기록",
size: "sm",
},
@ -196,7 +196,7 @@ export const WORK: WorkItem[] = [
/* ── 5행: 3열 모자이크 (2 + 2 + 2) ── */
{
slug: "baekje-celadon",
name: "비색의 침묵 (翡色之靜)",
name: "비색의 침묵",
kind: "고려청자 특별전 큐레이션",
concept: "암실의 세 개의 방 — 사진이 어두울수록 유약이 가까워진다",
risk: "전시 포스터 형식을 버리고 빙렬 매크로를 풀블리드 판으로, 상감 접사와 '제1실·제2실' 방 번호 문법으로 구성합니다",
@ -228,15 +228,15 @@ export const WORK: WorkItem[] = [
slug: "font-foundry",
name: "한성활자연구소",
kind: "본문용 한글 활자 파운드리",
concept: "글자가 상품이다 — 첫 화면의 거대 글리프와 인주각, 나머지는 물성과 눈금",
concept: "글자가 상품이다 — 첫 화면의 거대 글리프, 나머지는 재료와 눈금",
risk: "Lorem ipsum 없는 스페시멘과 자간·행간·크기가 실시간 반영되는 조판 시험대를 전면에 배치합니다",
preset: "editorial-archival",
date: "2026-08",
metrics: ["시험대 슬라이더 3종", "Lorem 0회", "인주 액센트 1색", "하드 게이트 12/12"],
metrics: ["시험대 슬라이더 3종", "Lorem 0회", "벽돌 강조 1색", "하드 게이트 12/12"],
href: "/work/font-foundry/",
shot: fontFoundry,
shotAlt: fontFoundry2,
alt: "한성활자연구소 — 한지 톤 위 거대한 한글 글리프와 슬라이더 3개의 조판 시험대",
alt: "한성활자연구소 — 따뜻한 중성 바탕 위 거대한 한글 글리프와 슬라이더 3개의 조판 시험대",
size: "sm",
},
@ -245,8 +245,8 @@ export const WORK: WorkItem[] = [
slug: "gaon-lms",
name: "가온 학적부",
kind: "학습관리 콘솔 · 8화면",
concept: "종이 학적부를 화면으로 옮긴 관리 콘솔 — 형광펜 밑줄과 날인이 상태를 말한다",
risk: "관리 콘솔의 기본값인 파란 사이드바와 카드 그리드를 버리고, 학적부의 행(行) 문법으로 화면 여덟 개를 묶어 짓습니다",
concept: "기록 중심의 관리 콘솔 — 형광펜 밑줄과 상태 라벨이 정보를 구분한다",
risk: "관리 콘솔의 기본값인 파란 사이드바와 카드 그리드를 버리고, 학적부의 행 문법으로 화면 여덟 개를 묶어 짓습니다",
preset: "ledger-console",
date: "2026-08",
metrics: ["뷰 9종 전환", "모바일 바텀내비 + 더보기 시트", "안드로이드 백 키 = 앱 내 뒤로", "safe area · 44px 터치타깃", "홈 설치(PWA) · 인쇄 2종", "채점 범위 검증", "키보드 단축키 1–9 · /"],
@ -260,28 +260,28 @@ export const WORK: WorkItem[] = [
slug: "dure-enrollment",
name: "두레대학 수강신청",
kind: "수강신청 · 6화면",
concept: "공문처럼 읽히는 수강신청 — 명조 제목과 IBM Plex 본문, 벽돌 申 도장이 상태를 누른다",
risk: "여섯 화면이 하나의 상태(신청·관심)를 공유합니다. 시간 겹침·학점 초과·정원 마감은 도장을 누르기 전에 막습니다",
concept: "정돈된 수강신청 — 명료한 제목과 IBM Plex 본문, 벽돌색 상태 라벨이 정보를 구분한다",
risk: "여섯 화면이 하나의 상태(신청·관심)를 공유합니다. 시간 겹침·학점 초과·정원 마감은 신청 전에 막습니다",
preset: "timetable-ink",
date: "2026-08",
metrics: ["시간 겹침 즉시 차단", "취소 실행취소", "색인탭 6종 · 모바일 바텀내비", "안드로이드 백 키 = 앱 내 뒤로", "safe area · 44px 터치타깃", "홈 설치(PWA) · 인쇄 2종", "이수 학점 실시간 집계"],
href: "/work/dure-enrollment/",
shot: dureEnrollment,
shotAlt: dureEnrollment2,
alt: "두레대학 수강신청 — 과목 원장 목록과 주홍 도장 블록이 놓이는 주간 시간표 격자",
alt: "두레대학 수강신청 — 과목 목록과 벽돌색 상태 라벨이 놓이는 주간 시간표 격자",
size: "md",
},
/* ── 7행: 신규 쇼케이스 3종 (2 + 2 + 2) ── */
{
slug: "cheongon-care",
name: "청온 케어 (淸溫)",
name: "청온 케어",
kind: "위생 케어 & 관제 콘솔 · 2모드",
concept: "임상 수준의 6단계 위생 프로토콜 — 정찰제 견적과 실시간 배차 관제 콘솔",
risk: "고객용 견적 신청 폼과 관리자용 관제 대시보드가 단일 웹앱에서 실시간 상태를 공유하는 풀-루프 인터랙션",
preset: "ledger-console",
date: "2026-08",
metrics: ["고객·관리자 2모드", "실시간 정찰제 견적기", "32개 QC 체크리스트", "에메랄드 1색", "하드 게이트 14/14"],
metrics: ["고객·관리자 2모드", "실시간 정찰제 견적기", "32개 QC 체크리스트", "에메랄드 1색", "하드 게이트 15/15"],
href: "/work/cheongon-care/",
subLinks: [
{ label: "임상 6단계 위생 프로토콜 & ATP 리포트", href: "/work/cheongon-care/protocol/" }
@ -293,13 +293,13 @@ export const WORK: WorkItem[] = [
},
{
slug: "cask-archive",
name: "캐스크 아카이브 (樽室)",
name: "캐스크 아카이브",
kind: "독립병입자 위스키바 & 도슨트",
concept: "시간과 배럴이 빚어낸 단 하나의 원액 — 독립병입자 공식 인증 원장과 1:1 도슨트",
risk: "일반 메뉴판 대신 단일 캐스크 넘버와 통관 필증이 기록된 캐스크 원장 및 향미 필터를 첫 화면에 배치",
preset: "editorial-archival",
date: "2026-08",
metrics: ["독립병입자 4종 인증", "실시간 캐스크 원장 검색", "1:1 도슨트 예약", "앰버 골드 1색", "하드 게이트 14/14"],
metrics: ["독립병입자 4종 인증", "실시간 캐스크 원장 검색", "1:1 도슨트 예약", "앰버 골드 1색", "하드 게이트 15/15"],
href: "/work/cask-archive/",
subLinks: [
{ label: "1:1 위스키 도슨트 테이스팅 마스터클래스", href: "/work/cask-archive/docent/" }
@ -311,13 +311,13 @@ export const WORK: WorkItem[] = [
},
{
slug: "materia-interior",
name: "마테리아 스튜디오 (空間素材)",
name: "마테리아 스튜디오",
kind: "하이엔드 공간 인테리어 건축",
concept: "빛과 트래버틴이 빚어내는 침묵 — 물성과 자연광의 궤적을 설계하는 아틀리에",
risk: "썸네일 그리드를 버리고 트래버틴·오크·리넨의 실측 물성 스펙과 자연광/야간 조도 앰비언스 실시간 전환을 제공",
preset: "editorial",
date: "2026-08",
metrics: ["자연광·야간 조도 전환", "트래버틴 물성 스펙", "더블 베젤 갤러리", "브론즈 1색", "하드 게이트 14/14"],
metrics: ["자연광·야간 조도 전환", "트래버틴 물성 스펙", "더블 베젤 갤러리", "브론즈 1색", "하드 게이트 15/15"],
href: "/work/materia-interior/",
subLinks: [
{ label: "24개 공간 심층 아카이브 갤러리 (한남 듀플렉스)", href: "/work/materia-interior/projects/hannam-duplex/" }
@ -342,7 +342,7 @@ export const WORK: WorkItem[] = [
"라이트/다크 반전을 토큰 규칙으로",
"수치는 전부 개발 저장소 출처",
"정확도 지표는 싣지 않음",
"하드 게이트 14/14",
"하드 게이트 15/15",
],
href: "/work/rfs-cfd/",
shot: rfsCfd,
@ -363,7 +363,7 @@ export const WORK: WorkItem[] = [
"한글 폰트 미지정 → Pretendard 지정",
"현장 전환 JS 0바이트 (라디오 그룹)",
"신호 적색 1색",
"하드 게이트 14/14",
"하드 게이트 15/15",
],
href: "/work/twentyoz-corp/",
shot: twentyozCorp,
@ -373,7 +373,7 @@ export const WORK: WorkItem[] = [
},
{
slug: "saebyeok-cheonggwa",
name: "새벽청과 (曉靑果)",
name: "새벽청과",
kind: "청과 도매 직거래",
concept: "오늘 새벽 두 시의 값 — 값이 매일 바뀐다는 사실을 첫 화면의 주인공으로 삼는다",
risk: "상품 사진 대신 오늘의 시세판이 히어로입니다. 낙찰가와 판매가를 같은 것처럼 적지 않고, 당도를 표시할 수 없는 품목은 '—' 로 둡니다",
@ -384,7 +384,7 @@ export const WORK: WorkItem[] = [
"등급·당도·규격 실제 표준규격 근거",
"제철 12개월 띠 · 이번 달 자동 표시",
"새벽 남색 1색 · 사진만 유채색",
"하드 게이트 14/14",
"하드 게이트 15/15",
],
href: "/work/saebyeok-cheonggwa/",
shot: saebyeokCheonggwa,