Skip to content

Feat: [키링 만들기] - 십자수 키링 템플릿 구현#146

Open
jini-coding wants to merge 21 commits intodevelopfrom
feat/키링-만들기---십자수-키링-템플릿-구현

Hidden character warning

The head ref may contain hidden characters: "feat/\ud0a4\ub9c1-\ub9cc\ub4e4\uae30---\uc2ed\uc790\uc218-\ud0a4\ub9c1-\ud15c\ud50c\ub9bf-\uad6c\ud604"
Open

Feat: [키링 만들기] - 십자수 키링 템플릿 구현#146
jini-coding wants to merge 21 commits intodevelopfrom
feat/키링-만들기---십자수-키링-템플릿-구현

Conversation

@jini-coding
Copy link
Member

🎯 PR 내용

1. CrossStitchDrawView 구현

  • 그리드 렌더링 시 stitch 이미지 overlap 적용 (VStack/HStack negative spacing)
  • 가장자리 셀이 잘리지 않도록 hOverlapAbs 여백을 포함한 frame 설정

2. 컬러 팔레트 StitchColor enum 추가

  • 23가지 색상 정의
  • 각 색상마다 팔레트에 표시되는 threadImage와 그리드에 그려지는 stitchImage 매핑
  • 색상이 많아 CrossStitchVM+ImageConversion.swift로 분리

너무 많았음... 그치만 많으니까 예쁘긴 하다
덕분에 수업 시간이 잘 갔음...ㅎ...

3. CrossStitchGestureView 제스처 수정

  • Pixel 템플릿의 제스처 뷰 기반으로 구현
  • 싱글탭 그리기 추가 -> UITapGestureRecognizer로 탭 시 즉시 paint 처리
  • 더블탭 줌 리셋 제거 -> 더블탭이 싱글탭과 충돌하는 문제로 제거

4. 색 선택 애니메이션

  • ClearSketch 템플릿의 크레용 선택 애니메이션을 동일하게 적용
  • 선택된 thread 이미지가 위로 올라오고(offset y: -12), 해제 시 원위치로 내려오는 interpolatingSpring 애니메이션
  • 색 선택 시 가벼운 햅틱 피드백 추가

5. 이미지 합성

  • DrawView와 동일한 overlap 비율(horizontal: 0.22, vertical: 0.10)로 그리드를 UIImage로 변환.
    • 가장자리 셀이 잘리지 않도록 hOverlap * 2 여백 확보
  • Firebase Storage에서 프레임 이미지 다운로드 및 캐싱
  • 프레임 위에 스티치 이미지를 합성

6. 수틀 추가 (하는중...)

컨플릭이 있는 거 같은데 마무리하고 리뷰 받으면 해결할게요!

🔗 관련 이슈

#140

✅ 체크리스트

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

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

@giljihun giljihun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수틀까지 고고싱싱

case .black: return .blackStitch
}
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

에셋에 컬러 넣는게 깔끔하지않을까 생각도 했는데
Sitich.~~ 이런식으로
스티치템플릿에서 사용됨을 코드에서 보여주는게 가독성이 훨씬 좋겠네요!

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