Reddit

PhotoSuite: A free, open source Photoshop with the looks and compatibility

PhotoSuite: Photoshop 외형과 호환성을 내세운 오픈소스 이미지 편집기

PhotoSuite는 Photoshop 2020과 비슷한 인터페이스와 PSD·PSB 호환성을 내세운 데스크톱 이미지 편집기입니다. Tauri와 웹 기술을 바탕으로 macOS·Linux·Windows용 패키지를 제공하며, PSD 왕복 호환성과 프로젝트 공개 이력을 두고 Reddit에서 질문과 검증 요구가 이어졌습니다.

AI 요약

PhotoSuite는 Photoshop 2020의 인터페이스와 동작을 재현하고 PSD·PSB 파일을 원본 형식으로 다루는 데스크톱 이미지 편집기입니다. 개발자는 Photoshop을 쓰던 사용자라면 익숙한 패널 배치와 단축키, 대화상자, 도구 동작을 그대로 만날 수 있다고 설명합니다. macOS용 범용 DMG, Linux용 DEB·RPM, Windows용 설치 파일을 제공하며, 소스에서 실행하려면 저장소를 하위 모듈과 함께 복제한 뒤 Node.js와 Rust, Tauri 의존성을 설치해야 합니다.

구현과 기능

PhotoSuite는 Tauri v2 기반으로, HTML5·WebAssembly·WebGL을 시스템 웹뷰에서 실행하고 Rust 호스트가 파일 접근, 메뉴, 대화상자, 클립보드, 인쇄를 맡습니다. 개발자는 데이터가 로컬에 머물며 텔레메트리나 클라우드 기능이 필요하지 않다고 안내합니다.

PSD가 단순 가져오기용 변환 형식이 아니라 편집기의 기본 형식이라는 점이 프로젝트의 주요 주장입니다. 레이어 기록, 마스크, 블렌딩 모드, 채널 데이터, 레이어 효과, 스마트 필터, 텍스트 데이터, 벡터 경로, 색상 프로필을 저장하고 Photoshop과 파일을 주고받아도 레이어 구조가 유지된다고 설명합니다. 대형 문서를 위한 PSB도 지원합니다. 다만 Reddit에서는 ‘1:1 호환성’ 주장을 뒷받침할 왕복 테스트 파일을 공개해 텍스트 편집 가능 여부와 스마트 오브젝트·마스크 보존을 보여달라는 요청이 나왔습니다. 개발자는 대형 PSD·PSB를 Photoshop과 PhotoSuite에서 여러 차례 시험했고 눈에 띄는 차이 없이 왕복 저장했다고 답했습니다. 아직 완성하지 못한 기능으로는 Cutout 필터를 들었고, 버그가 남아 있어 버전 번호를 1 미만으로 두었다고 밝혔습니다.

기능 목록에는 래스터·벡터 레이어와 그룹, 클리핑 마스크, 레이어 스타일, 스마트 오브젝트와 비파괴 스마트 필터, Photoshop Actions 재생, JavaScript·JSX 스크립팅, HTML·CSS·JavaScript 기반 플러그인이 포함됩니다. Liquify, Lens Correction, 필터 갤러리와 WebAssembly 기반 이미지 처리도 내세웁니다. Affinity 파일 지원은 역공학을 바탕으로 한 진행 중 기능이라고 개발자가 별도로 설명했습니다.

개발 기반과 공개 이력

저장소는 JavaScript와 TypeScript를 중심으로 구성하고 일부 처리를 WebAssembly와 Rust에 맡깁니다. 테스트 명령은 1,600개 이상의 동작 테스트를 실행하며, 정적 검증과 ESLint 검사도 제공합니다. 개발자는 Photopea가 브라우저 환경에서 PSD 호환 이미지 편집기를 구현한 점에서 영감을 얻었다고 밝혔습니다. 데스크톱의 성능과 병렬 처리를 살리기 위해 픽셀 저장과 연산을 Rust 타일 엔진으로 옮기고, Rayon·SIMD·wgpu·메모리 매핑 파일 입출력을 활용하는 방안도 계획으로 언급했습니다.

Reddit에서는 공개 저장소의 커밋이 하나뿐이라는 점을 두고 논쟁이 있었습니다. 개발자는 약 1년간 비공개로 개발했고, 기존 저장소의 커밋 기록에는 정리되지 않은 내용이 많아 공개 저장소에 옮기지 않았다고 설명했습니다. AI 보조 사용 여부를 묻는 질문에는 AI를 보조 도구로 썼으며 JavaScript와 TypeScript를 20년 넘게 개발해 왔다고 답했습니다. 또한 PSD 호환성을 검증할 예시와 README의 스크린샷을 요청하는 댓글이 이어졌습니다. 프로젝트가 주장하는 호환성은 실제 파일로 확인하려는 요구가 함께 제기됐습니다.

Reddit 반응

  • @u/maneek21 — PSD 호환성이 여기서 흥미로운 부분입니다. 익숙한 도구 모음도 좋지만 ‘1:1’은 큰 약속입니다. Photoshop에서 PhotoSuite로 갔다가 다시 Photoshop으로 돌아오는 샘플 파일이 있나요? 텍스트를 계속 편집할 수 있고 스마트 오브젝트와 마스크가 그대로인지 보여준다면, UI를 닮았다는 것보다 훨씬 설득력 있는 시연이 됩니다.
    • @u/patrik667 — 아직 제대로 구현하지 못한 건 Cutout 필터뿐입니다. 버그도 있어서 버전 번호를 1보다 낮게 매겼습니다. 공개 사용자들의 도움으로 마무리하려 합니다. 대형 PSD·PSB 파일을 Photoshop과 PhotoSuite에서 많이 시험했고, 왕복 저장에서도 눈에 띄는 차이는 발견하지 못했습니다.
  • @u/CerberusMulti — README에 적고 제3자 라이선스를 넣는 것만으로는 부족합니다. 저장소와 프로젝트의 원본 코드 전체에 적용할 라이선스도 추가해야 합니다.
    • @u/patrik667 — 라이선스는 모두 src/vendor/js와 src/vendor/wasm에 있습니다.
    • @u/HayStacky_337 — 와, 라이선스가 정말 복잡하네요. 🤣
  • @u/klumpp — 커밋이 하나뿐이네요.
    • @u/patrik667 — 나머지는 제 비공개 GitLab에 있습니다. 시행착오가 많았고, 오픈소스로 공개하기 전에 제대로 작동하는 제품으로 다듬고 싶었습니다.
    • @u/journaljemmy — 그럼 GitHub 저장소를 원격 저장소로 추가해 푸시하지 않은 이유가 있나요? 그렇게 하면 커밋 기록을 보존할 수 있습니다.
    • @u/patrik667 — 기록이 너무 어수선했고 욕설도 많았습니다. 한동안 어떻게 할지 몰랐고, 판매하는 건 답이 아니라고 생각했습니다.
  • @u/Rusty_Chest — AI 사용 사실을 공개하나요?
    • @u/patrik667 — 여기서요? [수정] 네, AI 보조를 받았습니다. 하지만 JavaScript와 TypeScript를 20년 넘게 개발했습니다. 대충 만든 결과물은 아닙니다.
    • @u/Rusty_Chest — 알겠습니다. 꼭 대충 만든 결과물이라고 비난한 건 아닙니다. AI 보조를 받는 프로젝트가 많아져서 개인적으로는 알고 싶었습니다. 어느 정도나 AI 보조를 받았다고 보나요?
  • @u/xxCorsicoxx — 프로젝트 전체가 커밋 하나로 올라왔고 큰 주장에 비해 시연 자료도 거의 없어서 의심스럽습니다.
    • @u/patrik667 — Photopea 없이는 불가능했을 겁니다. README에도 그렇게 적었습니다. Photopea에서 개발한 개념과 공유 라이브러리를 많이 활용하되, Rust 기반으로 데스크톱 성능과 병렬 처리를 개선하려 합니다. 픽셀 저장과 연산을 웹뷰 밖의 Rust 타일 엔진으로 옮기고, Rayon·SIMD·wgpu, 메모리 매핑 파일 입출력, 사용자 화면으로 타일을 전달하는 Tauri 프로토콜을 계획하고 있습니다.
  • @u/riyoskopy — 이미지가 없습니다. README에 스크린샷을 넣으면 더 많은 사람이 써볼 겁니다.

원문: Reddit / 번역·요약: Trawling