릴리즈 노트 1.3.0
TroublePainter 릴리즈 노트 - 버전 1.3.0
주요 기능 및 개선 사항:
- OCR 성능 향상:
- 캔버스 크기 조정을 통해 OCR 이미지 처리 시간을 단축했습니다.
pureimage라이브러리를node-canvas로 교체하여 렌더링 속도를 향상시켰습니다.- 이미지 분석 시간을 10초로 단축했습니다.
- 게임플레이 개선:
- Clova Studio를 통합하여 인식된 단어가 제시어와 관련 있는지 판단하고, 관련 없을 경우 패널티를 적용하는 기능을 추가했습니다.
- Redis pub/sub 기능을 사용하여 서로 다른 소켓 네임스페이스 간에 데이터를 공유하는 메커니즘을 구현하여 클라이언트 간 캔버스 표시 및 게임 로직의 일관성을 유지했습니다.
- OCR 처리 시간 동안 모달 창을 표시하도록 했습니다.
- Docker 이미지 최적화:
- 멀티 스테이지 빌드를 구현하고, 프로덕션 단계에서 불필요한 의존성을 제거하여 Docker 이미지 크기를 47.2% (2.58GB에서 1.22GB로) 감소시켰습니다.
- Docker 레이어 캐싱을 구현하여 빌드 시간을 단축했습니다.
- Alpine Linux에서 의존성이 올바르게 설치되도록 수정했습니다.
- 기타 개선 사항:
- 더 빠른 통신을 위해 HTTP/2 및 HTTP/3 지원을 활성화했습니다.
- 배경 음악 및 효과음을 기본적으로 끄도록 설정했습니다.
- 클라이언트 측 타입 처리를 개선했습니다.
버그 수정:
- OCR 동작 중 채팅이 전송되는 버그를 수정했습니다.
- 클라이언트 측 타입 에러를 해결했습니다.
전체 변경 사항: [1.2.0...1.3.0]
풀 리퀘스트:
- Feature/#54: Clova OCR로 단어 인식 구현 (#62)
- Refactor/#63: 캔버스 내 글자 지우는 부분 비동기로 변경 (#65)
- Feature/#64: OCR 탐지 시간 동안 캔버스 이미지 숨기는 기능 추가 (#66)
- fix: 클라이언트 타입 에러 수정 (#68)
Feature/#69: 배경음 및 효과음 기본 끄기로 설정 (#70) - bug/#72: OCR 동작 시간 동안 채팅 전송 오류 수정 (#73)
- Refactor/#75: pureimage에서 node-canvas로 변경 (#76)
- Feature/#71: Clova Studio 적용하여 제시어와 연관된 단어 발견 시 패널티 적용 (#77)
- Deploy/#74: 서버 도커 경량화, core minify, docker server 의존성 추가, 로컬 빌드 명령어 추가 (#78)
- Deploy/#74: docker image 캐싱 적용, tsconfig 의존성 dockerfile 추가 (#79)
- build(docker-build/prod/nginx.conf): http 2, 3 버전 활성화 (#80)
- build(github/*-ci-cd.yml): server, client paths 업데이트 (#81)
- Refactor/#82: 그림 분석 시간 10초로 단축 (#83)
Deploy/#74: alpine linux 상에서 의존성 설치 (#84)