Files

다중행 입력 native 증거

기준 소스 commit은 b0cabf9다. before/after의 입력창·입력/전송 가드·sendText 블록은 실제 UserCreatorChatRoomView.swift에서 그대로 추출했다. provenance.json의 SHA-256 및 추출본으로 확인한다. 주변 VStack, 연결 상태, 전송 sink, 일부 컴파일용 문자열은 임시 하네스이며 제품 코드에 추가하지 않았다.

  • 환경: iPhone SE3, iOS18.3.1, 375pt 폭 / 750×1334px PNG.
  • before/after 각각22장, 총44장. 시스템 권한 팝업이나 실제 사용자 데이터 없이 simctl io screenshot으로 촬영했다.
  • after/matrix.json: 실제 native 편집기 bounds/contentSize/contentOffset, binding/native 문자열, 전송 sink 상태. before/matrix.json은 기존 단일행 기준이다.
  • verification.json: 동작·소스22개 검사와 PNG형식·크기44개 검사, 합계66개다. 비즈니스 테스트66개라는 뜻이 아니다.
  • cleanup.json: 작업 소유 시뮬레이터 삭제와 하네스 프로세스 종료 영수증.
입력 줄 before 높이 after 높이 after 내용 높이
1 18.5 17 17
2 18.5 34 34
3 18.5 50 51
4 18.5 50 67
8 18.5 50 134

8줄 입력의 내부 offset은0→84pt로 이동하며 전체 문자열은 보존된다. Return은 native UIKeyInput으로 삽입했고, 전송 확인은 원본 sendText를 합성 sink에 직접 호출했다. 삭제·비우기·전송 후17pt로 축소된다.

미검증: 실제 터치 스크롤, 소프트웨어 키보드·한글 IME, 클립보드 붙여넣기, 전송 버튼 탭, 비활성 상태의 GUI 입력 차단, 서버 저장·재조회, 전체 채팅방의 키보드/목록 연동. 상태 주입을 실제 붙여넣기라고 주장하지 않으며 native isEditable 값만으로 GUI 차단을 판정하지 않는다.

독립 코드 검토 APPROVE, 최종22장 시각 검토 PASS. 캡처는 입력창 하네스 범위만 증명한다. 자세한 결과는 리뷰 리포트를 따른다.