docs(chat): 날짜 구분선 요구사항과 검증을 기록한다

This commit is contained in:
Yu Sung
2026-10-19 10:18:36 +09:00
parent 7a6d12e871
commit b0cabf97f6
20 changed files with 610 additions and 0 deletions
@@ -0,0 +1,22 @@
# 네이티브 날짜 구분선 캡처
- 환경: iPhone SE (3rd generation), iOS 18.3, 375×667pt / PNG 750×1334px.
- 캡처: 실제 SwiftUI 날짜 구분선·formatter·모델·앱 폰트·테마를 직접 컴파일한 임시 네이티브 하네스. `xcrun simctl io screenshot`으로 촬영했다.
- 조합: `ko_KR`, `en_US`, `ja_JP` × `normal`, `accessibility3` × `dark`, `light`, 총 12장.
- 가용 폭: 기존 채팅과 같은 좌우 24pt 여백, 날짜 폭 327pt.
- 최종 소스의 `SwiftUI.Font` 명시 후 다시 컴파일하고 12장 모두 재촬영했다. `production-after.sha256`의 원본 소스 9개와 현재 소스 일치를 확인했다.
- 실제 앱 smoke 실행의 추적 권한 팝업이 남은 중간 캡처는 폐기했다. 작업 소유 시뮬레이터의 실제 앱 제거·재부팅으로 가림을 없애고 다시 촬영한 현재 12장 모두 독립 시각 재검토 PASS다.
- 원본 폰트: Pretendard-Regular, NotoSansJP-Regular. 영어는 시스템 caption. locale별 폰트 등록과 날짜별 프레임을 실행 중 검사했다.
- 날짜 항목과 날짜 계산은 원본 production 코드다. 주변 말풍선·상단 설명은 합성 QA UI이며 실제 `UserCreatorChatRoomView`가 아니다.
- 전체 앱도 별도로 빌드·설치·실행했으나, 이 캡처로 실제 DM 로그인·paging·ACK·VoiceOver·스크롤 연속성의 통과를 주장하지 않는다.
- 실제 채팅은 검정 배경을 사용하므로 light/dark 모두 같은 검정 배경이다. 별도 시각 목업이 없어 pixel-diff의 동일성 목표는 해당 없다.
## 관찰값
| locale | normal 날짜 높이 | accessibility3 날짜 높이 | 결과 |
|---|---:|---:|---|
| ko_KR | 14.5pt | 35pt | 전체 날짜 한 줄 |
| en_US | 14.5pt | 77.5pt | 큰 글자에서 두 줄, 전체 필드 유지 |
| ja_JP | 17.5pt | 42pt | 전체 날짜 한 줄 |
기능 판정·미검증 항목·정리 결과는 [리뷰 리포트](../phase1-chat-date-separators.md)에 기록한다. 임시 앱·시뮬레이터·컴파일 캐시는 증거를 옮긴 뒤 제거한다.
Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

@@ -0,0 +1,2 @@
FAIL: Gregorian UTC fixture ko_KR: expected '2026년 10월 16일 금요일', got ''
EXIT_CODE: 1
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

@@ -0,0 +1,9 @@
b7428e768adf7fbe2ebb356505594e5ba1325213d2d53aa624651dc230c4d05e /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/V2/Main/Chat/UserCreatorChat/Components/UserCreatorChatDateSeparatorView.swift
a5c0de9b1b1fdb682708035b1f5fde6e3e2e231a6696ba6f40134caff25b647e /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/V2/Main/Chat/UserCreatorChat/Models/UserCreatorChatDatePresentation.swift
34bddad5cb9cc1791fad5b0d3c84461d4d1f536035cdfd2b184a6989330ac80c /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/V2/Main/Chat/UserCreatorChat/Models/UserCreatorChatDisplayMessage.swift
dba97c4663dd64673d79953b5687ef10fbd4cd358e3b2cdcd5c07ab9f26ee5c3 /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/V2/Main/Chat/UserCreatorChat/Models/UserCreatorChatModels.swift
086fb0a19d884124a4cca638f7c8483de724ee31a61603b2cbd489aabf26a6c6 /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/Extensions/FontModifier.swift
747347d86ade888fe9c1d30629285b4a71991bc0f21189a0d4b76ad314c32364 /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/Extensions/ColorExtension.swift
0f50ec7d3e77e0813fd1a806440c01baf96f8fdfa2a41faccd6dc4df52cf647a /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/UI/Theme/Color.swift
372a73b821236c15449fa022cd628f61556f1381a16f234a4b77e833c2e588c1 /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/UI/Theme/Spacing.swift
cbb8e24dc17b352d30adf3a6cd2b190532f059a02801ecabf7392a013914352c /Users/klaus/Develop/sodalive/iOS/SodaLive/SodaLive/Sources/Settings/Language/Models/LanguageOption.swift
@@ -0,0 +1 @@
FAIL: single TEXT message must have its first separatorDate