와이어프레임 · 저충실도 · 화면 31/N (v2.46 확장)

공통 상태·확인 규격 — 13종

개별 화면은 “데이터가 정상적으로 있는 상태”만 그려져 있어, 비어 있거나 끊기거나 실패했을 때의 화면이 정의되지 않았습니다. 여기서 공통 규격으로 못박고 각 화면은 이를 참조합니다.
①~⑥ 상태(v2.28) 빈 상태 · 로딩 · 에러 · 연결 끊김 · 결제 실패 · 권한 없음  /  ⑦~⑫ 저장·확인·뷰포트(v2.31 신규) 저장 4상태 · 확인 L1 · 문구입력 L2 · 되돌리기 L0 · 리모컨 OFF 배너 · 뷰포트 정책.
⑦~⑩은 방송사고 방지 장치입니다 — 방송 중에는 확인 강도가 한 단계 올라갑니다(§00 저장 원칙 · 파괴적 액션 위험도).
⑬ 승인됨 · 반영 확인 중(v2.46 신규) — 금전 사고 방지 장치입니다. ⑤ 와 짝이며, 둘을 가르는 기준은 “PG 승인이 났는가”입니다.
1
EMPTY
아직 등록된 시그니처가 없어요
시그니처를 등록하면 후원 페이지 첫 탭에 바로 노출됩니다. 이미지·가격만 있으면 1분이면 끝나요.
시그니처 등록하기
온보딩 직후 — 위젯 0개 케이스(v2.31 추가)
크리에이터 모드 3스텝을 마치고 처음 /studio에 들어오면 위젯이 하나도 없는 상태입니다. 이때는 빈 상태 대신 “첫 오버레이 만들기 — 채팅창부터 시작하기”를 대시보드 최상단에 띄우고, 채팅창 설정 → URL 복사 → OBS 등록까지 이어지도록 유도합니다.
여기서 이탈하면 그 크리에이터는 서비스를 한 번도 못 써본 채 끝납니다 — 온보딩의 실질적 마지막 관문이라 빈 상태 중 가장 중요합니다.
2
실제 레이아웃과 동일한 골격 · 셰이딩 애니메이션 1.2s
3
ERR
목록을 불러오지 못했습니다
일시적인 문제일 수 있습니다. 잠시 후 다시 시도해 주세요.
오류 코드 E-5031 · 21:14:07
정정 v2.48 — 429(요청 제한)는 문구가 다릅니다. “실패”가 아니라 “너무 빠릅니다”입니다 — “요청이 조금 빨랐어요. 잠시 뒤 다시 눌러 주세요.” 상태를 따로 만들지 않고 이 프레임 안에서 문구만 가릅니다(레이아웃·액션이 같습니다). 후원 연타로 걸린 429 에 “실패했습니다”라고 쓰면 도너가 다시 눌러 이중 결제를 시도합니다 — 멱등키가 막지만(INV-19) 화면이 그걸 유도할 이유는 없습니다. 오류 코드는 노출하지 않습니다
다시 시도
고객센터
4
21:12 · 아네이모어 · 시그니처9,000
21:08 · 하시유튜브 · 텍스트1,000
21:03 · 익명 · 룰렛3,000
5
FAIL
결제에 실패해 후원되지 않았습니다
카드사 승인이 거절되었습니다(한도 초과). 캐시는 차감되지 않았고 후원도 기록되지 않았습니다.
정정 v2.46 — 이 문구는 승인 자체가 거절된 경우에만 참입니다. 승인이 난 뒤 우리 트랜잭션이 실패하면 도너 돈은 이미 빠져나간 상태라 “차감되지 않았다”고 말할 수 없습니다. 그 경우는 이 상태가 아니라 ⑬ 승인됨 · 반영 확인 중으로 갑니다(신설 예정).
다른 수단으로 결제
닫기
6
LOCK
이 화면에 접근할 수 없습니다
정산은 계정 소유자만 볼 수 있습니다. 매니저 권한으로는 리모컨·위젯·후원 내역까지만 접근할 수 있어요.
대시보드로
7
미저장 (방송 중)
변경 3건 ▾ ● 저장하면 시청자 화면에 즉시 반영됩니다 되돌리기저장
저장 중 — 버튼 비활성, 중복 클릭 차단
변경 3건 되돌리기저장 중…
저장 완료 — 저장 바가 사라지고 토스트 3초
저장되었습니다 · 송출에 반영됨
저장 실패 ★ 가장 위험한 상태
저장하지 못했습니다 — 송출은 이전 설정 그대로입니다 다시 시도
저장했다고 믿었는데 반영이 안 된 상태가 가장 위험합니다. 실패 시 저장 바를 절대 닫지 않고 경고색으로 유지하며, 변경 내용도 그대로 보존합니다.
8
● 방송 중 · 후원목표 위젯을 삭제할까요?
지금 방송 중이라 시청자 화면에서 즉시 사라집니다.
이 위젯의 설정(그래프 형태·색상·목표값)이 함께 삭제되며 되돌릴 수 없습니다.
OBS에 등록된 URL은 빈 화면이 됩니다 — OBS 소스도 함께 정리하세요.
취소삭제
기본 포커스는 [취소]. Enter가 파괴 쪽으로 떨어지지 않게 한다.
9
소속 해제 — (주)미디어컬처
해제 이후 발생하는 후원은 본인 귀속으로 돌아갑니다. 이미 귀속된 과거 후원은 소속사 소유로 유지됩니다.
계속하려면 소속사명을 입력하세요.
(주)미디어컬처|
취소해제
입력이 정확히 일치할 때까지 실행 버튼은 비활성. 관계·정산처럼 되돌릴 수 없고 금전이 걸린 액션에만 쓴다.
10
숨김 닉네임 “Nightbot” 을 삭제했습니다되돌리기 (5)
목록 항목 제거·알림 삭제처럼 가벼운 액션은 다이얼로그로 막지 않고 즉시 실행한 뒤 5초 되돌리기를 준다.
단 방송 중에는 L1으로 승격 — 방송 중 실수는 시청자가 즉시 알아차리고, 복구하는 동안 방송이 비어 버린다.
11
설정은 정상인데 화면에 안 나온다며 문의가 들어오는 대표 상황. 실제 송출 = 위젯 사용하기 AND 리모컨 ON(§00 리모컨 마스터 원칙).
12
영역정책브레이크포인트
도너 공개(홈·후원페이지·랭킹·검색·로그인)모바일 우선360 / 768 / 1024
/me · 영수증 · 알림센터 · 캐시충전모바일 대응 필수360 / 768
크리에이터 스튜디오데스크톱 전용≥1280 · 미만은 안내
리모컨 ★모바일 대응 필수(예외)375 / ≥1280
OBS 오버레이 URL고정 캔버스반응형 없음
리모컨만 스튜디오에서 예외인 이유 — 방송 중에는 PC가 OBS로 점유돼 있어 폰으로 끄는 것이 사실상 유일한 사고 대응 수단입니다.
13
PEND
결제는 완료됐습니다 — 캐시 반영을 확인하고 있어요
승인번호 0021-8843-77 · 11,000원 · 21:14:07 승인
확인되면 알림으로 알려드립니다. 반영되지 않으면 자동으로 결제가 취소되며 따로 안내드립니다 — 지금 하실 일은 없습니다.
결제 내역 보기
고객센터
⑤ 가 아니라 이 화면이어야 하는 이유
payment_intents 가 approved 인데 payment_id 가 비어 있는 상태입니다 — PG 는 승인했고 돈은 카드에서 빠져나갔는데 우리 트랜잭션이 실패한 경우입니다. 이 건을 ⑤ 로 보내면 돈이 나간 사람에게 “차감되지 않았습니다”라고 말하게 됩니다.

재시도 버튼을 두지 않습니다 — 다시 누르게 하면 이중 결제 위험을 도너에게 떠넘기는 것입니다. 해소는 v_payment_intent_gap 대사 배치가 매분 처리합니다(§14.0 ⑬ · INV-20).
아이콘은 경고색입니다. ⑤ 와 같은 빨강을 쓰면 그것만으로 실패로 읽힙니다.
[결제 내역 보기]는 v_payment_history 로 들어갑니다(§14.0 ⑬) — payments 만 읽으면 이 건이 목록에 없어 도너가 나중에 다시 들어와도 아무것도 못 봅니다.

주석 — 상태별 규격 및 적용 화면

#상태패턴필수 구성규칙적용 화면
1빈 상태full-area아이콘 + 제목 + 다음 행동 1개 + CTA“데이터가 없습니다”로 끝내지 않고 반드시 다음 행동을 제시. 필터 결과가 0건인 경우는 별도 문구(“조건에 맞는 결과가 없어요 — 필터 초기화”)로 구분 — 진짜 빈 것과 필터로 비어 보이는 것은 대응이 다르다시그니처·룰렛·위젯 목록, /me 인벤토리·즐겨찾기, 소속 계정 목록, 알림 센터, 후원 내역
2로딩skeleton실제 레이아웃과 동일한 골격 블록스피너를 쓰지 않는다 — 목록·카드·테이블은 최종 레이아웃과 같은 형태의 스켈레톤. 200ms 미만에 끝나는 응답은 아무것도 표시하지 않음(깜빡임 방지). 버튼 자체의 처리 중 상태만 인라인 스피너 허용라이브 허브, 후원 내역, 테마 갤러리, 대시보드 통계
3에러(조회)full-area아이콘 + 제목 + 오류 코드·시각 + 재시도 + 고객센터기술 메시지를 그대로 노출하지 않되 오류 코드와 발생 시각은 반드시 표기(CS 대응에 필요). 재시도는 지수 백오프, 3회 실패 후 자동 재시도 중단전 조회 화면 공통
4실시간 연결 끊김banner + 기존 화면 유지배너 + 마지막 갱신 시각 + 자동 재연결 안내화면을 비우지 않는다 — 이미 받은 데이터는 그대로 두고 상단 배너로만 알린다. 복구 시 누락분을 created_at 기준으로 채워 넣고 “+N건 반영됨” 토스트. 방송 중에 쓰는 화면이라 화면이 사라지는 게 가장 위험§02 후원 내역(실시간), 리모컨, 배틀 콘솔, 알림 큐
5결제 실패modal실패 사유 + “차감되지 않았음” 명시 + 대체 수단§00 캐시 모델대로 결제→충전→차감이 한 트랜잭션이라 부분 성공이 없다. 이 사실을 문구로 반드시 알려 “돈만 나갔다”는 오인을 막는다. 사유는 PG 응답을 사용자 언어로 매핑(한도 초과·잔액 부족·카드 정지·인증 실패·네트워크)§01 후원 페이지 전 탭, 캐시 충전, 구독 결제
6권한 없음full-area잠금 아이콘 + 왜 막혔는지 + 대체 경로3가지 원인을 문구로 구분한다 — ⓐ 매니저 권한 범위 밖(account_managers.scope) ⓑ 소속사 편입 계정이라 정산 메뉴 자체가 없음 ⓒ 유료 구독 미가입(subscription_plans.features). ⓒ만 “구독하기” CTA를 노출하고 ⓐⓑ는 대체 경로만 안내§08 정산·소속사 관리, §04 시그니처 빙고판, 계정설정
⑦~⑫ 저장 · 확인 · 뷰포트 — v2.31 신규
7저장 상태4상태미저장 / 저장 중 / 완료 / 실패저장 실패를 반드시 구현한다 — 저장했다고 믿었는데 반영이 안 된 상태가 가장 위험한 사고 유형이다. 실패 시 저장 바를 닫지 않고 경고색으로 유지하고 변경 내용도 보존한다. 저장 중에는 버튼을 비활성해 중복 클릭을 막는다"저장하지 못했습니다"
8확인 L1modal위젯 삭제, 프리셋 삭제, 채널 연결 해제, 이력 초기화, 룰렛 확률판 삭제기본 포커스는 [취소] — Enter가 파괴 쪽으로 떨어지지 않게 한다. 방송 중이면 🔴 LIVE 문구와 "시청자 화면에서 즉시 사라집니다"를 덧붙이고, OBS 소스 정리 안내도 함께 노출—
9확인 L2modal + text소속 해제, 계정 공유 해제, 정산 등록 정보 삭제, 크루 해체대상명을 정확히 입력해야 실행 버튼이 활성화된다. 되돌릴 수 없고 금전이 걸린 액션에만 쓴다 — 남용하면 L1의 무게가 같이 가벼워진다"(주)미디어컬처"
10되돌리기 L0toast 5초목록 항목 제거, 알림 삭제, 즐겨찾기 해제, 숨김 닉네임 제거가벼운 액션은 다이얼로그로 막지 않고 즉시 실행 + 5초 되돌리기. 단 방송 중에는 L1으로 승격한다(§00 위험도 규격)"되돌리기 (5)"
11리모컨 OFFbanner위젯 설정 화면 상단위젯의 "사용하기"는 ON인데 리모컨 토글이 OFF라 송출되지 않는 상태. "설정은 했는데 화면에 안 나온다"는 대표 문의 상황이라 화면에서 바로 알려주고 [리모컨에서 켜기] 바로가기를 준다(§00 리모컨 마스터 원칙)—
12뷰포트정책 표영역별 대응 범위도너 화면은 모바일 우선, 스튜디오는 데스크톱 전용. 리모컨만 예외로 모바일 필수 — 방송 중 PC가 OBS로 점유된 상태에서 폰으로 끄는 것이 유일한 대응 수단이기 때문(§11 뷰포트 정책)375 / ≥1280
13승인됨 · 반영 확인 중 v2.46full-area경고색 아이콘 + 승인번호·금액·승인시각 + 안내 2줄 + [내역 보기]·[고객센터]“실패”라고 쓰지 않는다 — 승인은 성공했고 실패한 것은 우리 쪽 반영이다. 재시도 버튼을 두지 않는다(이중 결제 위험을 도너에게 넘기는 것). 승인번호를 노출해 카드 명세서와 대조할 수 있게 한다. 10초 간격 3회 폴링 후 멈추고 알림 안내로 남긴다 — 이탈해도 상태는 서버에 남고 대사 배치가 끝낸다캐시 충전, 잔액 부족 후원(결제 동반), 구독 결제
통합 후원 플랫폼(가칭) · 와이어프레임 v1 · 저충실도 · 기준 문서: 통합 플랫폼 기획서 전 화면 공통 · v2.28 누락 화면 보완 · v2(v2.31): 저장 4상태·확인 L1/L2·되돌리기 L0·리모컨 OFF 배너·뷰포트 정책 6종 추가(6종 → 12종) · 2026-08-14