v1.7.0
v1.7.0 패치노트
기준 범위: v1.6.5 이후부터 v1.7.0까지의 변경 사항입니다.
주요 포함 변경: NVIDIA·AMD 공통 고품질 OCR 경로, Gemma 4와 Anime YOLO를 이용한 보수적 텍스트 그룹 보정, 편집 화면과 내보내기 안정성·성능 개선, 작업 취소 처리 수정.
OCR 및 번역 그룹 안정성 개선
GPU 풀로드 OCR 경로 개편
- 일반
풀로드모드는 NVIDIA CUDA와 AMD ROCm에서 PP-OCRv6 Transformers가 찾은 텍스트 조각과 좌표를 Gemma 4가 의미 단위로 묶는 공통 경로를 사용합니다. - 기존 NVIDIA PaddleOCR-VL 레이아웃 경로가 필요한 경우에는 새
CUDA 레거시 풀로드를 별도로 선택할 수 있습니다. - 두 풀로드 모드는 GPU 전용입니다. OCR 장치가 CPU이면 지나치게 느린 경로를 실행하지 않고
절약품질로 안전하게 전환합니다. - AMD 설정에 CUDA 레거시 값이 남아 있으면 AMD에서 지원되는 일반 풀로드 경로로 자동 전환합니다.
- 일본어 원문에서 일본어를 지원하지 않는 PP-OCRv6 tiny 인식 모델이 선택되지 않도록
최소품질의 모델 선택을 수정했습니다.
Gemma 4 의미 그룹 검토 강화
- Gemma 4는 OCR 원문과 좌표를 다시 작성하지 않고, 후보 텍스트 조각을 같은 대사로 묶을지 여부만 판단합니다.
- 말풍선 본문, 후리가나, 효과음과 서로 다른 읽기 방향을 구분하고, 세로쓰기와 가로쓰기의 실제 읽기 순서에 맞춰 결과를 정렬합니다.
- 모델 응답에 중복·누락된 조각이나 잘못된 그룹이 있으면 해당 응답을 적용하지 않고 검증된 기존 OCR 결과로 되돌아갑니다.
- 고정된 번역 블록도 원문 보존, 블록 수와 식별자, 번역 응답의 완전성을 검사해 일부 블록이 빠지거나 다른 블록과 섞이는 문제를 줄였습니다.
- 모델 요청 실패와 취소를 구분해, 취소는 즉시 전달하고 일반적인 검토 실패만 안전한 기존 결과로 복구합니다.
Anime YOLO 보조 그룹 판정
붙어 나온 말풍선과 효과음의 보수적 분리
- Anime YOLO가 찾은 텍스트 영역을 OCR 대체 결과가 아닌 추가 검토 근거로 사용합니다. YOLO가 OCR 원문이나 좌표를 직접 변경하지는 않습니다.
- 서로 다른 말풍선이나 읽기 시작 열이 하나로 합쳐진 경우, 독립된 검출 영역과 읽기 띠가 충분히 확인될 때만 분리 장벽을 적용합니다.
- 하나의 연속된 세로 문장이 위아래 OCR 조각으로 나뉜 정상 사례는 다시 합치고, 서로 겹쳐 보이더라도 실제로 다른 말풍선인 사례는 분리된 상태를 유지합니다.
- Paddle 분류가 불확실한 효과음이나 본문 조각은 엄격한 위치·검출 조건을 만족하는 후보에 한해서만 복구합니다.
- 일반적인 정상 페이지에는 기존 결과가 유지되도록 낮은 신뢰도, 좌표 불일치, 애매한 중복 영역은 아무 변경 없이 무시합니다.
속도와 기존 결과 보호
- YOLO 근거를 사용할 수 있는 애매한 페이지에서만 검출기를 실행하며, 이미 명확한 페이지에서는 모델을 초기화하지 않습니다.
- 여러 페이지를 처리할 때는 하나의 검출기 실행 자원을 재사용해 페이지마다 모델을 다시 준비하지 않습니다.
- YOLO는 번역용 GPU 설정과 별개로 CPU에서 실행되며, 검출 실패나 선택적 진행률 보고 실패가 OCR·번역 작업 전체를 중단시키지 않습니다.
- 기존 OCR 캐시는 Paddle OCR을 다시 실행하지 않고 새 그룹 판정 근거만 갱신하도록 캐시 스키마를 마이그레이션합니다.
- WebP 원본은 앱이 이미 변환한 PNG 데이터를 그룹 검토용 crop에도 재사용해, 일부 WebP 페이지에서 검토 박스가 나오지 않던 문제를 수정했습니다.
편집 화면과 작품 기억 관리
이미지 보기 조절 추가
- 작업 화면에 확대, 축소, 현재 배율 표시와 배율 초기화 버튼을 추가했습니다.
화면 맞춤,가로 맞춤,세로 맞춤,100%중 이미지 맞춤 방식을 선택할 수 있습니다.- 보기 조절 패널은 접거나 다시 펼칠 수 있으며, 한국어·영어·일본어·중국어 UI에 같은 기능을 제공합니다.
- 페이지를 바꾸거나 작업 화면 크기가 달라져도 현재 페이지에 맞는 배율과 스크롤 상태가 안정적으로 갱신됩니다.
용어·기억 전체 초기화
- 서식·용어 관리 화면에서 현재 작품의 용어집, 캐릭터 기억과 모든 화의 스토리 메모리를 한 번에 초기화할 수 있습니다.
- 번역 규칙, 원본 페이지와 기존 번역 결과는 유지하며, 삭제 범위와 되돌릴 수 없다는 안내를 확인한 뒤 실행합니다.
- 초기화가 끝나면 스토리 메모리를 비운 화의 수를 표시합니다.
렌더링과 내보내기 성능 개선
- 같은 페이지 이미지를 원본, 선택 페이지와 인접 페이지에서 동시에 요청할 때 실제 이미지 요청 하나를 공유합니다.
- 인접 페이지 이미지는 URL만 미리 받는 데 그치지 않고 디코딩까지 준비해 페이지 전환 시 표시 지연을 줄였습니다.
- 다른 페이지로 이동하는 동안 직전 페이지 이미지가 잠깐 나타나지 않도록 페이지별 이미지 프레임을 분리했습니다.
- 블록 이동과 크기 조절 중 변경되지 않은 번역 블록의 텍스트 배치를 다시 계산하지 않도록 렌더링 범위를 줄였습니다.
- 빠르게 연속되는 진행 로그와 작업 이벤트를 묶어 전달해 대량 페이지 작업 중 메인 프로세스와 편집 화면의 불필요한 렌더링을 줄였습니다.
- 이미지·PDF용 페이지 출력은 편집 화면과 같은 프로덕션 페이지 구성 요소와 스타일을 사용하도록 통합했습니다.
- 화면과 내보내기의 블록 위치, 글꼴, 배경과 변형 결과를 픽셀 단위로 비교하는 회귀 검사를 추가했습니다.
- 여러 페이지를 내보낼 때 렌더러를 재사용하고, 이미지 디코딩·페이지 로드·캡처 제한 시간과 실패 후 정리를 보강했습니다.
작업 취소와 런타임 안정성
- 번역, 인페인팅과 페이지 이미지 내보내기 작업을 취소하면
취소됨완료 이벤트를 먼저 전달한 뒤 활성 작업 상태를 정리하도록 순서를 수정했습니다. - 작업 상태를 너무 일찍 지워 취소 결과가 화면에 나타나지 않거나 이전 진행 이벤트가 다시 표시될 수 있던 문제를 방지했습니다.
- 앱 종료와 개발 서버 재시작 시 남은 자식 프로세스, 오래된 임시 파일과 로그를 정리하는 흐름을 보강했습니다.
- OCR·Gemma·인페인팅 실행기의 시작, 출력 처리와 오류 보고를 분리해 실제 실패 원인이 일반 오류에 가려지지 않도록 했습니다.
검증
- Gemma 4 12B를 사용한 40페이지 기존 방식·개선 방식 비교에서 문제가 확인된 4페이지의 합침·분리·박스 누락 결과를 교정하고 나머지 36페이지의 그룹 구조가 유지되는 것을 확인
- 정상 페이지에서는 YOLO를 실행하지 않는 경로, 검출 실패 시 무변경 복구, 캐시 마이그레이션과 WebP 검토 crop 회귀 테스트
- TypeScript 및 JavaScript 타입 검사, ESLint, Prettier와 프로덕션 빌드 통과
- Vitest 전체 248개 파일, 1,591개 테스트 통과·2개 건너뜀
- Python OCR 테스트 60개 통과
- 편집 화면과 페이지 내보내기의 DOM·픽셀 일치 검사 및 이미지 프로토콜 smoke test 통과
- 프로덕션 컴포넌트를 사용한 Chromium UI QA에서 보기 조절의 배치, 접힘 상태와 좁은 화면 동작 확인
git diff --check통과
Code signing policy
SignPath.io가 제공하고 SignPath Foundation이 인증서를 제공하는 무료 코드 서명 정책을 사용합니다.
v1.7.0 Windows 설치 파일에는 Authenticode 서명이 적용되지 않으므로 SignPath Foundation 정책의 보호 대상이 아닙니다. 유효한 SignPath Foundation 서명이 있는 산출물만 해당 정책의 적용을 받습니다.
v1.7.0 Apple Silicon macOS 산출물은 ad-hoc 서명만 적용되며 Apple이 확인한 개발자 신원이나 공증을 포함하지 않습니다. Gatekeeper 승인 전에 릴리스의 체크섬과 다운로드한 파일을 대조하세요.