Labs로 돌아가기

Swift컴포넌트

Swift 패키지 목록

Nuancery Labs가 공개한 모든 패키지를 소스 저장소, API 문서, 예제, 연동 범위와 함께 확인할 수 있습니다.

Swift컴포넌트

컴포넌트와 담당 범위

각 컴포넌트는 실제 제품에서 분리한 코드로, API, 지원 플랫폼, 의존성, 예제, 앱이 담당하는 범위를 설명합니다.

KLRichTextEngine

v0.1.0

리치 텍스트를 편집해도 문서의 구조를 보존합니다.

KLRichTextEngine은 리치 텍스트, 체크리스트 의미, 런타임 메타데이터, 지원하지 않는 값을 안전하게 다루는 문서 코덱과 편집 라우팅을 제공합니다.

  • 구조화된 리치 텍스트 문서 인코딩
  • 편집 가능한 서식 문자열 변환
  • 체크리스트 의미와 런타임 메타데이터

KLLazyGallery

v0.1.0

갤러리 상태를 예측 가능하게 유지하면서 미디어를 점진적으로 로드합니다.

KLLazyGallery는 이미지와 동영상의 지연 로딩, 취소, 닫기, 플레이어 해제, UIKit사진 브라우저 연동을 조정하는 계층입니다.

  • 이미지와 동영상의 증분 로딩
  • 취소와 요청 식별자 처리
  • 결정적인 닫기와 플레이어 해제

KLOCRPipeline

v0.1.0

명확한 기하와 모델 경계로OCR단계를 실행합니다.

KLOCRPipeline은 이미지 전처리, Vision문자 인식, 읽기 순서 복원, 선택적인PaddleOCR Core ML추론을 단계별로 실행합니다.

  • 명확한 전처리와 인식 단계
  • Vision및 선택적인PaddleOCR경로
  • KLReadingOrder를 통한 읽기 순서 복원

KLPageCurl

v0.1.0

접근성과 동작 줄이기 설정을 고려한 페이지 넘김 전환을 추가합니다.

KLPageCurl은SwiftUI용 페이지 넘김 전환 계층입니다. 페이지 표시, 접근성 동작, 동작을 줄이는 설정에 따른 폴백을 하나의 연동 경계에서 처리합니다.

  • SwiftUI페이지 넘김 전환
  • 동작 줄이기 설정을 반영한 표시
  • 접근성을 고려한 전환 동작

KLGlassSegments

v0.1.2

네이티브 글래스와 머티리얼 폴백 경로에서 내비게이션용 세그먼트 컨트롤을 사용합니다.

KLGlassSegments는SwiftUI와UIKit용 세그먼트 컨트롤입니다. 제네릭 선택ID, 다시 탭하기, 드래그 취소, 접근성 식별자, 동작 줄이기 동작을 일관되게 처리하며 사용할 수 있는 환경에서는iOS네이티브 글래스를 사용합니다.

  • 바인딩 기반SwiftUI API와 `UIControl` 기반UIKit API
  • 세그먼트를 새로 설정해도 안정적인 제네릭 선택ID유지
  • 다시 탭하기, 드래그 취소, VoiceOver활성화 지원

KLAdaptiveSurface

v0.1.0

이미지에서 얻은 색을 화면에 적용하기 전에 읽기 쉬운 표면 색으로 정리합니다.

KLAdaptiveSurface는 동기적인 색상 정책입니다. 원래 색조를 가능한 한 유지하면서 너무 어둡거나 강한 색만 읽기 쉬운 범위로 정리하고 결과에 맞는 전경색을 반환합니다.

  • 밝기와 채도 범위 설정
  • 탁한 색상 임계값으로 깨끗한 색상은 그대로 유지
  • 색조 유지, 중립, 차가운 색, 따뜻한 색 선호도

KLAdaptivePalette

v0.1.2

호스트 컨테이너에 실제로 보이는 이미지 영역에서 팔레트를 만듭니다.

KLAdaptivePalette는 `CGImage`, 컨테이너 크기, 콘텐츠 모드, 크롭 앵커를 사용해 실제 표시 영역을 분석합니다. 소스 색상, 후보 색상, 전경색, 결정적인 캐시 키를 반환합니다.

  • `.aspectFill`과 `.aspectFit` 표시 영역 분석
  • 가중치가 있는 지각적 색상 후보 반환
  • 실제 배경의 밝기에서 전경색 선택

KLCalendarLanes

v0.1.0

달력 격자의 여러 날 종일 이벤트 막대에 결정적으로 레인을 배정합니다.

KLCalendarLanes는UI에 의존하지 않는 달력 격자 레이아웃 엔진입니다. 전달한 `Calendar`로 날짜를 정규화하고 행 경계에서 막대를 나누며 레인, 오버플로, 날짜별 점유 정보를 반환합니다.

  • `Calendar` 기반 여러 날 범위 정규화
  • 행 경계에서 시작과 끝 정보를 가진 세그먼트 생성
  • 결정적인 레인 배정과 오버플로 기록

KLShareLink

v0.1.0

명시적 입력이나 공유 텍스트에서HTTP(S) URL을 선택합니다.

KLShareLink는 외부 라이브러리 없이 동기 방식으로 실행되는Swift패키지입니다. 명시적URL, 텍스트의 링크 후보, 서비스별 도메인, 이전 형식의 식별 문자열을 확인하고 규칙을 통과한HTTP(S) URL과 선택적 서비스 이름을 반환합니다.

  • 안전한 명시적URL을 가장 먼저 사용
  • 본문의HTTP(S) URL을 등장 순서대로 검색
  • 설정한 서비스 도메인과 일치하는URL을 우선 선택

KLSubjectVision

v0.1.0

CGImage에서 정사각형 피사체 또는 장면 썸네일을 만듭니다.

KLSubjectVision은 피사체 분리와 정사각형 배치를 하나로 묶은Swift패키지입니다. `.subject`는 분리한 피사체 전체가 투명한 정사각형 안에 보이도록 배치하고, 분리에 실패하면 원본 이미지로 정사각형을 채웁니다. `.room`은 장소나 실내 사진처럼 장면 전체를 유지해야 하는 이미지에 사용합니다.

  • Apple Vision을 이용한 전경 분리
  • 여백을 지정할 수 있는 피사체 전체 맞춤 배치
  • 장소 사진과 대체 처리에서는 정사각형을 가득 채워 배치

KLCharts

v0.1.0

같은 막대 차트 데이터를Swift Charts평면 모드 또는Canvas입체 모드로 표시합니다.

KLCharts는 `.flat`과 `.dimensional` 두 가지 막대 차트를 제공합니다. 선택 상태, 숫자 형식, 색상, 원본 데이터, 화면 이동은 앱에서 관리합니다. 패키지는 그리기, 모드 전환, 탭 판정, 항목이 많을 때의 가로 스크롤을 담당합니다.

  • 두 표시 방식에서 같은 데이터 모델 사용
  • 모드를 전환해도 주변 레이아웃 유지
  • 선택 상태와 선택 해제는 앱에서 관리

KLReadingOrder

v0.1.0

OCR후보를 가로, 세로 또는 자동 방향에 따라 읽기 행으로 정렬합니다.

KLReadingOrder는 문자열, 신뢰도, 정규화된 사각형, 페이지 번호, 원래 입력 순서를 받아 읽기 순서로 묶은 행을 반환하는Swift패키지입니다. OCR자체나 문서의 의미를 분석하지 않고 인식 결과를 읽기 좋은 순서로 정리하는 작업만 담당합니다.

  • 가로쓰기는 위에서 아래, 같은 행에서는 왼쪽에서 오른쪽
  • 세로쓰기는 오른쪽 열에서 왼쪽으로, 같은 열에서는 위에서 아래
  • 페이지마다 가로쓰기와 세로쓰기를 자동 판정