MaximeRivest/riddle
Rust0 / 0
reMarkable Paper Pro에서 손글씨 PNG를 LLM으로 전송해 문장 단위 스트리밍으로 손글씨 답변을 재생하는 루트권한 테이크오버형 일기 앱이다.
TL;DR
riddle은 reMarkable Paper Pro에서 펜으로 쓴 글을 래스터화해 손글씨 PNG를 오라클(HTTP 기반 OpenAI 호환 엔드포인트 또는 로컬 pi RPC)로 전송하고 모델의 문장 단위 스트리밍 응답을 Zhang-Suen 세선화와 스트로크 트레이싱으로 필기 애니메이션으로 재생하는 애플리케이션이다. 테이크오버 플래버는 libqsgepaper.so를 직접 구동해 매우 낮은 레이턴시로 즉시 잉크를 표시하며 qtfb 플래버는 xochitl을 유지한 채 창형으로 동작한다. 기본 동작은 페이지 커밋 후 PNG 전송과 즉시 스트리밍 재생이며 장치 상의 메모리 보존과 RIDDLE_MEMORY 환경 제어로 개인정보를 로컬에만 유지할 수 있다. 설치는 remagic을 통한 원클릭 방식이나 릴리스 ZIP의 수동 복사로 가능하며 빌드형은 cross-compile이 필요하고 테이크오버는 장치에서 공급업체 라이브러리를 직접 가져와야 한다.
핵심 포인트
- 완전한 테이크오버 모드에서 libqsgepaper.so 파형 엔진을 직접 구동해 즉각적인 잉크 재생을 달성하는 점은 기존 AppLoad 창형 앱과 다른 낮은 레이턴시 동작을 제공한다. 이 방식은 xochitl을 중지하고 루트 권한으로 전자잉크 엔진을 직접 제어하므로 즉시 쓰기 애니메이션을 얻을 수 있으며 복구를 위한 5-핑거 탭과 systemd 유닛의 복원 후킹을 포함한다. 단, 공급업체 라이브러리(libqsgepaper.so)를 장치에서 직접 추출해야 하므로 배포 제약이 존재한다.
- 손글씨 이미지를 Zhang-Suen 세선화와 스트로크 트레이싱으로 변환해 사용자의 원래 필체로 문장 단위 답변을 다시 쓰게 하는 파이프라인은 시각적 연속성과 기억 재현 기능을 제공한다. 이 파이프라인은 래스터화된 이미지에서 단일 픽셀 경로로 축소해 필기 합성 애니메이션을 만들며, 페이지 '기억' 기능과 결합해 과거 페이지를 손글씨로 재현하는 UX를 실현한다. 따라서 텍스트 기반 챗 UI가 아닌 물리적 잉크 흐름을 유지하는 차별화된 경험을 만든다.
- 오라클 백엔드로 HTTP 기반 OpenAI 호환 엔드포인트와 장치 상주 pi RPC를 모두 지원해 배포 유연성을 제공한다. HTTP 백엔드는 별도의 로컬 소프트웨어 없이도 작동하고 pi 백엔드는 세션을 유지해 반복 턴에서 상태를 유지하는 장점이 있다. 이 두 접근은 네트워크 상황과 보안, 응답 레이턴시 요구에 따라 선택할 수 있게 설계되었다.
- 펜 입력을 고해상도 압력 이벤트로 캡처하고 Zhang-Suen 세선화를 거쳐 단일 픽셀 스트로크로 추적한 뒤 필기 합성 애니메이션으로 재생한다. 이 과정은 래스터화→세선화→스트로크 트레이싱의 파이프라인으로 구성되어 있으며 재생은 획 단위로 쓰기 애니메이션을 생성해 자연스러운 필기 표현을 제공한다. 앱은 답변을 스트리밍 받아 잉크가 모델의 출력과 거의 동기화된 상태로 표시되게 한다.
1.5k
STARS
124
FORKS
+204
TRENDING
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.