열 가지 가상 데모의 브랜드

공개 화면은 독립적인 가상 브랜드다. 실제 회사의 로고, 상품 사진, 연락처, 매출, 제휴 관계를 사용하지 않는다. 모든 거래·예약·상담·배송은 고정된 샘플 세계 안에서만 동작한다.

브랜드의 단일 구현은 feature/outreach/app/lib/src/outreach_theme.dart의 outreachTheme이며, 앱·운영 콘솔·Widgetbook·골든 테스트가 같은 함수를 호출한다. 화면은 CoUI 의미 토큰과 텍스트 역할을 사용한다.

가상 브랜드 성격 기본 색상 hue 사용 맥락
ONGIL EXPRESS 명료함·이동·안정 215 노선·좌석 예약
BARAMDEUL CC 자연·여유·정돈 145 골프·패키지 예약
GABYEOWOON TRAVEL 탐색·따뜻함·가벼움 30 여행 상품 비교
IEUM TOUR 대화·발견·개성 275 여행 탐색·상담
DOYAK ACADEMY 집중·계획·신뢰 245 시험 목표·수강
BODEURAN BABY 돌봄·부드러움·명료함 350 월령 큐레이션·정기배송
GOYO BEDDING 차분함·편안함·정돈 175 침구 탐색·주문
SEOMGYEOL BREWERY 섬·공예·탐험 195 브랜드·방문·판매처
HANGEORUM ENGLISH 호기심·성장·친근함 55 레벨 체험·상담
DAMON GALBI 따뜻함·모임·정성 5 룸·선물 예약

실제 구현한 7축

축 결정과 구현 근거·범위
색 PrimitiveColors.generate에 브랜드별 hue, 공통 saturation/lightness와 보조 hue 오프셋을 주입하고 CoUI 의미 매핑으로 라이트·다크 생성 같은 정보 구조를 유지하면서 브랜드별 방향을 구분한다. 원색 값은 테마 파일 한 곳에 있다.
타이포 CoUI CoreTypography.coui의 17개 역할. 본문은 번들 Pretendard를 사용한다. 제목·본문·라벨 역할을 공유하며 화면별 임의 글자 크기를 만들지 않는다. 브랜드별 글꼴·굵기 재정의는 현재 없다.
형태 공통 버튼 CoreRadius.radius12, 카드 CoreRadius.radius16 손가락 조작과 읽기 중심의 친근한 형태를 공유한다. 브랜드별 형태 차이는 현재 없다.
간격·밀도 Gap.space*와 CoUI 기본 컴포넌트 간격, XL 조작 버튼 좁은 화면에서는 단일 열, 가용 폭이 충분할 때만 두 열을 사용한다.
효과 CoUI 기본 표면·테두리·그림자·상태 레이어·포커스 토큰 브랜드별 임의 그림자를 덧붙이지 않는다.
모션 CoUI 기본 컴포넌트 모션 별도 브랜드 애니메이션은 없다. 기준 골든은 애니메이션을 고정한다.
아이콘 CoUI 컴포넌트의 기본 Lucide 아이콘과 크기 실제 회사 로고나 별도 이미지 아이콘을 복제하지 않는다.

각 브랜드의 Widgetbook에는 실제 테마의 의미 색 조합·대비 수치, 17개 타이포 역할, 버튼의 활성·보조·비활성 상태와 상호작용이 있다. 색 이외의 축을 공통으로 유지하는 것은 현재 구현 범위이며, 열 개가 모두 별도의 형태·모션 체계를 가진다고 주장하지 않는다.

측정과 시각 검증

feature/outreach/widgetbook/test/outreach_widgetbook_test.dart는 열 브랜드 × 라이트·다크 × 여섯 의미 색 조합을 CoreContrast.ratio로 측정한다. 본문 기준 4.5:1을 요구한다. 측정 결과 표는 최종 테마 검증 후 이 문서 아래에 기록한다.

골든은 기능 소유 feature/outreach/app/test/golden/outreach_golden_test.dart에 있다. 열 데모 각각 정상·검증 오류·빈 상태·운영 콘솔을 실제 OutreachPage로 그린다. 360px/데스크톱 × 라이트/다크 × 한국어/아랍어 × 글자 배율 1.0/1.3을 pairwise로 계획한다. 각 시나리오 6개, 총 240개 변형이다. Dart 업무 세계의 기준 시각은 2026-10-16T09:00:00Z다.

기준 이미지 생성·비교 환경은 이 저장소의 tool/golden/update.sh와 CI 계약인 Darwin/arm64다. 캡처, 기준 생성, 비교, 갤러리 배포는 서로 별도의 증거다. 모바일 큰 글자·아랍어 RTL은 자동 레이아웃 검사와 골든의 검토 대상이며, 번역의 언어 전문가 검수나 모든 보조공학의 적합성을 의미하지 않는다.

최종 의미 색 대비 실측

2026-10-16, Darwin/arm64, 고정된 의존성으로 위 Widgetbook 테스트를 실행했다. 테마의 최종 high-contrast 의미 매핑과 호스트 표면 토큰을 함께 측정한 결과다. 표의 여섯 조합 모두 본문 AA 4.5:1 이상이다. 초기 일반 매핑의 세 브랜드 버튼 대비 미달을 발견해 중앙 테마에서 수정한 뒤 다시 측정했다.

브랜드 테마 onSurface onSurfaceVariant onPrimary primaryText error onPrimaryContainer
ONGIL EXPRESS light 21.000 14.740 15.387 15.387 15.648 12.547
ONGIL EXPRESS dark 17.867 15.970 17.124 14.569 14.156 11.768
BARAMDEUL CC light 21.000 14.359 11.624 11.624 15.648 10.238
BARAMDEUL CC dark 17.867 16.062 18.497 15.737 14.156 9.183
GABYEOWOON TRAVEL light 21.000 14.491 13.548 13.548 15.648 11.527
GABYEOWOON TRAVEL dark 17.867 15.990 17.867 15.202 14.156 10.613
IEUM TOUR light 21.000 14.795 16.560 16.560 15.648 13.001
IEUM TOUR dark 17.867 15.970 16.487 14.027 14.156 12.395
DOYAK ACADEMY light 21.000 14.879 17.671 17.671 15.648 13.537
DOYAK ACADEMY dark 17.867 15.970 16.087 13.687 14.156 13.098
BODEURAN BABY light 21.000 14.766 15.921 15.921 15.648 12.572
BODEURAN BABY dark 17.867 15.990 16.583 14.109 14.156 11.903
GOYO BEDDING light 21.000 14.318 11.368 11.368 15.648 10.089
GOYO BEDDING dark 17.867 16.072 18.638 15.858 14.156 9.019
SEOMGYEOL BREWERY light 21.000 14.459 13.048 13.048 15.648 11.216
SEOMGYEOL BREWERY dark 17.867 16.072 18.050 15.358 14.156 10.197
HANGEORUM ENGLISH light 21.000 14.213 11.051 11.051 15.648 10.022
HANGEORUM ENGLISH dark 17.867 16.092 19.045 16.204 14.156 8.883
DAMON GALBI light 21.000 14.766 15.670 15.670 15.648 12.502
DAMON GALBI dark 17.867 15.990 16.754 14.255 14.156 11.771

명령: cd feature/outreach/widgetbook && flutter test --no-pub test/outreach_widgetbook_test.dart — 43개 테스트 통과. 색 대비 통과는 레이아웃·보조공학·문구 검수 전체의 통과를 대신하지 않는다.

최종 골든 실행 기록

2026-10-16 Darwin/arm64에서 최종 번들 다국어 글꼴·표면 토큰으로 다음 검증을 실행했다.

단계 실행 결과
캡처 CO_GOLDEN_MODE=capture CO_GOLDEN_OUTPUT=<repo>/build/co_golden flutter test --no-pub test/golden/outreach_golden_test.dart 240/240 통과, 40개 시나리오 manifest
기준 생성 위 최종 캡처의 240개 PNG를 기능 소유 test/golden/goldens/에 보관 10개 suite × 4개 상태 × 6개 변형
비교 CO_GOLDEN_MODE=compare flutter test --no-pub test/golden/outreach_golden_test.dart 240/240 통과
Widgetbook 검증 flutter test --no-pub test/outreach_widgetbook_test.dart 43/43 통과: 30개 use case, 실제 페이지 상태 전환, 데이터 보존, 120개 색 대비 실측
정적 검사 기능 Widgetbook·골든·커머스 테스트의 dart analyze 오류·경고·info 없음

오류 시나리오는 실제 검증 오류를 발생시키고 그 알림을 스크롤해 캡처한다. 빈 상태도 실제 조건·목록·장바구니 상태를 바꾸고 페이지를 스크롤한다. 운영 시나리오는 동일 엔진의 실제 샘플 명령으로 예약·주문·구독·상담 기록을 만든다. 대체용 빈 화면이나 미리 그린 목업은 사용하지 않는다. 골든 갤러리와 Widgetbook 웹 빌드·공개 URL 검증은 호스트 배포 파이프라인의 별도 단계다.