- Adobe에서 Photoshop·Acrobat 같은 대형 앱을 여러 환경으로 옮기며 겪은 크로스플랫폼 포팅 문제가 Renderlet 개발의 출발점이 됨
- Renderlet은 어디서나 실행·임베드 가능한 WASM 그래픽 프레임워크를 목표로 하며, 앱 개발 편의성과 GPU 저수준 활용을 함께 노림
- 공개 런타임 Wander는 GPU 위의 저수준 3D API를 제공하고, 여기에 Rive의 오픈소스 2D 벡터 렌더러를 붙이는 실험이 구현됨
- 현재는 오픈 알파 직전 단계이며, 컴파일러와 플랫폼 통합이 준비되면 Show HN 또는 Launch HN을 진행할 계획임
- Unity가 게임의 크로스플랫폼 개발을 쉽게 만든 것처럼, Renderlet은 다양한 시각 애플리케이션을 여러 환경에서 실행하기 쉽게 만드는 데 초점을 둠
Renderlet이 풀려는 이식성 문제
- Adobe에서 Photoshop, Acrobat 같은 대형 애플리케이션을 데스크톱, 웹, 모바일, 클라우드에서 동작시키는 일은 큰 과제였음
- Lightroom과 Photoshop 웹 버전은 JavaScript, Google PNaCl, asm.js, WebAssembly를 거치는 긴 경로를 거침
- 대상 기기에 맞춰 GPU 아키텍처를 다시 생각해야 했고, 단일 스레드 빌드와 Web Components 기반 UI 재구성도 필요했음
- 웹 빌드는 현재 잘 동작하지만, 그 과정에는 10년에 걸친 작업이 들어감
- 그래픽 스택은 여전히 이식성의 병목으로 남아 있으며, WebAssembly는 어디서나 실행·임베드 가능하고 실시간 그래픽에 필요한 성능을 낼 수 있는 기반으로 선택됨
- Renderlet은 자체 포함된 그래픽 모듈을 만들고 서로 연결해, 어떤 환경 위에서나 어떤 앱 안에서도 실행할 수 있게 하는 구조를 강조함
- 개발자는 YC에 솔로 창업자로 합류했고, 최근 6개월 동안 Renderlet을 개발해 왔음
Rive Renderer 통합 실험
- Rive가 2D 벡터 엔진을 오픈소스로 공개한 뒤, Renderlet의 GPU 백엔드에서 Rive Renderer를 실행할 수 있는지 실험함
- Rive Renderer는 SVG와 비슷한 고수준 2D API로 구성됨
- Wander는 Renderlet의 오픈소스 런타임 부분이며, GPU 위에 저수준 3D API를 제공함
- 구현 결과 Renderlet의 GPU 백엔드에서 Rive Renderer 라이브러리를 실행할 수 있었고, 3D 앱에서도 2D 벡터 백엔드를 사용할 수 있게 됨
- 동작 예시는 Vimeo 영상에서 볼 수 있음
- 기술 상세는 Using renderlet with rive-renderer에 정리돼 있음
- 런타임 Wasm Renderer인 Wander 코드는 renderlet/wander에 공개돼 있음