SONAX CARE 브랜드와 렌더링 기준

초기 웹 구현의 사진, 박스형 SONAX 로고, 붉은 예약 CTA, 흰 카드와 회색 운영 배경을 기준으로 Jaspr와 Flutter를 맞춘다. 사용자가 소낙스 브랜드 재현을 명시했다. 데모 가격·매장·고객 데이터는 가상 데이터다.

축 결정과 적용 위치
색 초기 기준 red #e52330. Flutter의 흰 14px CTA는 AA 대비를 위해 #e2222f로 미세 조정. surface white, workspace #f5f6f8, decorative outline #e9ebef. package/resources의 AppTheme가 단일 출처다.
타이포 번들 Pretendard. 17개 CoUI 역할을 사용하며 bodyMedium 14, bodyLarge 16, 큰 제목은 bold다.
형태 글로벌 Card radius10, 버튼·입력 radius8. 화면은 named CoreRadius 토큰을 사용한다.
간격·밀도 예약·태블릿은 여유 있는 단계별 입력과 48dp 터치 영역, 점주 화면은 조밀한 지표·표와 가로 스크롤이다.
효과 얇은 장식 경계와 평면 흰 카드. 사진 위 scrim과 접근성 focus ring은 CoUI 토큰을 사용한다.
모션 CoUI 상태 전환과 reduced-motion 기본값을 유지한다.
아이콘 Lucide/SVG CoUI 아이콘, 상태는 색과 글자를 함께 표시한다.

Jaspr의 대응 결정은 site/packages/core/lib/site_core.dart의 CoreComponentTheme에 있다. 사진은 기존 초기 웹의 에셋을 사용한다. 로고는 그 웹의 텍스트·CSS 마크를 재현한다.

라이트·다크의 onSurface/surface, onSurfaceVariant/surface, onPrimary/primary, primaryText/surface, error/surface, onPrimaryContainer/primaryContainer는 package/resources/test/sonax_contrast_test.dart가 CoUI의 CoreContrast로 측정한다. 결과를 반올림해 통과시키지 않는다.

현재 CoUI Flutter 0.160.0, Core/Web 0.159.0은 동일 발행 커밋 7b15c351fea04272d362bc423d75a2037be55a91로 맞췄다. 업그레이드 기준은 최신 발행 태그를 하나의 커밋으로 해석해 core/flutter/web 전체를 맞추는 것이다. 발행 전 main 변경은 별도로 확인하고, 실패한 공급 검증을 무시해 채택하지 않는다. Figma의 발행 라이브러리에 정확한 SONAX 팔레트가 없는 차이는 디자인 결정 기록에서 추적한다.

렌더링 검증은 360/1024/1440의 실제 Flutter release 브라우저와 Jaspr 360/768/1024/1440에서 수행한다. 기능 테스트·골든 캡처·CI 골든 비교·공개 URL 검증은 각각의 실제 결과로 구분한다.