소개 → 성별·관계·성 정체성·성적 지향·생년월일 입력. 모두 드롭다운/날짜 입력. 값은 서버로 바로 보내지 않고 화면 이동마다 브라우저에 임시 저장(draft)한다.
나만의 캐릭터를
만들어 볼까요?
기본 정보 → 외형 → 성격을 차례로 정하고
미리보기로 확정하면 대화를 시작할 수 있어요.
PersonaBasicInfoView.vue.clearPersonaDraft). 근거: [[페르소나-생성]].#needs-verification · [[리스크-persona-개수제한-불일치]].캐릭터의 기본 정보를
알려주세요 1
Input / input-icon). 이후 외형이 남/여 갈래로 갈린다.Input / Text_field). 성인 여부 판정에 쓴다.button / CTA 좌측) → 소개로.persona-draft.repository.ts) 후 외형 생성으로. 서버 저장 없음.캐릭터의 기본 정보를
알려주세요
Label을 띄우고 다음 진행을 막는다. 근거: [[성인콘텐츠-정책]].캐릭터의 기본 정보를
알려주세요
지금 나가시겠어요?
작성 중인 캐릭터 정보가 사라져요.
clearPersonaDraft) 후 메인으로(이 화면군 밖). 컴포넌트: popup.큰 미리보기 카드 + 가로 썸네일에서 항목을 고른다. 헤더 우측에 진행 표시(1/4…)를 둔다. create 경로는 임시 저장만 한다. (환경변수 VITE_ENABLE_CRS='true'면 글 묘사형 CRS(Conversational Recommender System) 경로가 대신 등록된다 · router/index.ts:423-461 · #needs-verification #434 확정)
피부·인종을 골라주세요 2
button / options-select). 선택된 항목은 커지고 테두리가 진해진다(icon-check-12).create/PersonaCreateEthnicityView.vue. 서버 저장 없음.피부·인종을 골라주세요
겉보기 나이 1
button / slider-select). 눈금: Young · Prime · Mature.popup.체형을 골라주세요
create/PersonaCreateBodyView.vue(피부톤·skinTone + 여성 breast / 남성 upperBodyShape 하위 단계를 품음 · 피부톤 1
button / options-select). default·selected 두 상태.가슴 사이즈 1
button / options-select).상체 스타일
얼굴형 → 동공 색상(남성은 수염 추가) → 헤어 길이 → 텍스쳐 → 머리 색상. 같은 골격(미리보기 + 팝업 선택)을 반복한다. create 경로는 임시 저장만 한다.
얼굴형을 골라주세요
create/PersonaCreateFaceView.vue(eyeColor + 남성 beardType 하위 단계를 품음 · 동공 색상 1
button / options-select).수염
헤어 길이를 골라주세요
create/PersonaCreateHairStyleView.vue(길이·텍스쳐·색상 세부). 임시 저장만.헤어 텍스쳐 1
button / options-select).머리 색상 1
button / options-select). 외형 마지막 세부.MBTI 4축 → Big Five 5요인 → 가치관·태도 → 관계 세부 → 성격 정리 → 기타(이름). 슬라이더·선택지·입력으로 [[PersonaPersonality]]·[[PersonaEtc]]를 채운다. 마지막 기타 화면이 페르소나를 최종 저장한다.
성격 유형을 정해주세요 2
button / slider-select.settings/PersonaSettingsMbtiView.vue. 임시 저장만.성격 5요인을 정해주세요
settings/PersonaSettingsBigFiveView.vue. 임시 저장만.가치관과 태도를 골라주세요
button / options-select). 다음 → 관계 세부. FE: settings/PersonaSettingsValuesAttitudesView.vue. 임시 저장만.연인 관계의 세부를 정해주세요 1
settings/PersonaSettingsRomanticView.vue. 임시 저장만.성격을 자유롭게 정리해 주세요 1
Input / input-textarea). default·filled 상태.마지막으로,
이름 등을 정해주세요 1
Input / Text_field) + 자유 메모(textarea).PUT /member/persona. FE: settings/PersonaSettingsEtcView.vue.서버가 대표 이미지를 만든다(비동기). 마음에 안 들면 다시 생성(최대 3회). 확정하면 이름을 마지막으로 정하고 완료 안내를 본 뒤 대화로 간다. FE: settings/PersonaSettingsBridgeView.vue → PersonaSettingsCompletedView.vue.
캐릭터를 만드는 중… 1
잠시만 기다려 주세요.
PUT /member/persona/preview. 서버가 이미지를 비동기로 만든다. 근거: [[흐름-페르소나-이미지-생성]].마음에 드시나요? 재생성은 최대 3회까지 할 수 있어요. 1
button / btn-text) → 재생성 PUT /member/persona/preview/regenerate.button / CTA) → 최종 이름 입력 모달로.다시 만들었어요. 남은 재생성 1회. 1
PUT /member/persona/preview/regenerate.재생성을 모두 사용했어요. 지금 캐릭터로 결정해 주세요. 1
이 캐릭터의 이름은? 1
popup + Input / Text_field).PUT /member/persona에서 이뤄짐)캐릭터가 완성됐어요!
이제 바로 대화를 시작할 수 있어요.
/persona/settings/completed)은 정상 흐름으로 들어올 때만 보인다. 직전 화면이 생성 경로가 아니면 메인으로 되돌린다(beforeEnter · router/index.ts 535행). 단계를 건너뛴 우회 진입을 막는다.