Skip to content

feat: [키링 만들기] 두쫀쿠 템플릿 1차 구현#89

Merged
giljihun merged 15 commits intodevelopfrom
feat/키링-만들기-두쫀쿠-템플릿-뼈대-구현
Feb 12, 2026

Hidden character warning

The head ref may contain hidden characters: "feat/\ud0a4\ub9c1-\ub9cc\ub4e4\uae30-\ub450\ucac0\ucfe0-\ud15c\ud50c\ub9bf-\ubf08\ub300-\uad6c\ud604"
Merged

feat: [키링 만들기] 두쫀쿠 템플릿 1차 구현#89
giljihun merged 15 commits intodevelopfrom
feat/키링-만들기-두쫀쿠-템플릿-뼈대-구현

Conversation

@jini-coding
Copy link
Member

@jini-coding jini-coding commented Feb 11, 2026

📋 요약

두쫀쿠 키링 템플릿 추가 및 프레임 커스터마이징 기능 구현

사진이 두개 들어갈 때 사진을 회전/확대/축소가 독립적으로 이루어지도록 하는 로직 추가만 남음

마찬가지로 템플릿 구현이라 슥 봐도 됨!

🎯 PR 내용

1. 데이터 모델 추가

  • CheckerBoardRect : 프레임 내 사진 영역 정의 (x, y, width, height, cornerRadius)
  • Frame 모델 확장 : checkerBoardRects 배열 추가로 다중 사진 영역 지원
/// 체커보드의 실제 영역 정보 (프레임 기준 비율)
struct CheckerBoardRect: Codable, Identifiable, Hashable {
    
    var id: String?   /// 고유 ID (Firebase 자동 생성 또는 순서)
    
    var x: CGFloat   /// X 위치 (프레임 너비 기준 비율, 0.0 ~ 1.0)
   
    var y: CGFloat    /// Y 위치 (프레임 높이 기준 비율, 0.0 ~ 1.0)
   
    var width: CGFloat    /// 너비 (프레임 너비 기준 비율, 0.0 ~ 1.0)
    
    var height: CGFloat    /// 높이 (프레임 높이 기준 비율, 0.0 ~ 1.0)
    
    var cornerRadius: CGFloat?    /// 모서리 radius
    
    var order: Int?    /// 순서 (여러 개일 때 정렬용)
}
스크린샷 2026-02-12 오전 12 06 14

몇시간 동안 삽질하다가 프레임별로 CheckerBoardRect 만들어주는 걸로 해결..
영역이 두개 이상인 경우에는 배열 형태라 추가해주면 됨!
나중에 인생네컷처럼 여러장 필요한 곳에서 다시 써먹으면 될듯

2. ViewModel 구현

  • DuZzonKuVM : 프레임 선택 및 다중 사진 관리 상태
  • photoImages : 인덱스별 사진 저장 딕셔너리
  • DuZzonKuVM+Firebase : Firebase에서 Frames 컬렉션 로딩
  • DuZzonKuVM+ImageConversion : 다중 사진과 프레임 합성
  • 각 체커보드 영역별로 사진 적용

3. UI 구현

  • DuZzonKuFramePreviewView : 다중 사진 실시간 미리보기
  • DuZzonKuFrameSelectorView : 프레임 선택 UI (수평 스크롤)
  • 여러 사진 영역에 독립적으로 사진 추가
  • 사진에 확대/축소, 회전, 이동 제스처 지원 (아직은 단일 변수라 사진을 두개 이상 넣어도 동일하게 같이 적용됨. 업데이트 예정!)
  • 영역별 플러스 버튼 / 편집 버튼 표시

4. 이미지 합성 로직

  • 레이어 순서: 체커보드 배경 → 사진들 → 프레임
  • CheckerBoardRect 영역별로 순회하며 합성
  • cornerRadius 적용으로 둥근 모서리 처리

📱 스크린샷 (UI 변경 시)

중간에 하나는 UI 수정 전에 찍은거라 감안 부탁드림...

IMG_6440 IMG_6441 IMG_6439 IMG_6442 IMG_6443 IMG_6444

🔗 관련 이슈

#81

✅ 체크리스트

  • 빌드 성공
  • 테스트 완료
  • Self-review 완료

@jini-coding jini-coding self-assigned this Feb 11, 2026
@jini-coding jini-coding linked an issue Feb 11, 2026 that may be closed by this pull request
@giljihun
Copy link
Member

고생하셨습니다....... 잡시다...

@giljihun giljihun merged commit 74936a8 into develop Feb 12, 2026
@giljihun giljihun deleted the feat/키링-만들기-두쫀쿠-템플릿-뼈대-구현 branch February 12, 2026 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: [키링 만들기] 두쫀쿠 템플릿 뼈대 구현

2 participants