프로젝트 소개

Astrofox는 오디오를 시각적 영상으로 변환하도록 설계된 모션 그래픽 프로그램입니다. MIT 라이선스 하에 오픈소스 프로젝트로 배포되며, 웹 애플리케이션 또는 오프라인 데스크톱 애플리케이션으로 실행할 수 있습니다. 핵심 워크플로 프로젝트는 로컬 .afx 파일로 열고 저장합니다. README에는 .json 프로젝트와 레거시 gzip 압축 .afx 프로젝트도 여전히 열 수 있다고 명시되어 있습니다. 이 애플리케이션은 클라이언트 측 Next.js 앱으로 설명되며, 개발에 백엔드나 인증 서비스가 필요하지 않습니다. 소스에서 실행하기 README에는 pnpm 기반 워크플로가 문서화되어 있습니다: 저장소를 클론하고, pnpm install로 의존성을 설치하고, pnpm build로 빌드하고, pnpm start로 시작합니다. 개발 시에는 pnpm dev가 앱을 실행합니다. 웹 배포 커밋은 표준 pnpm build 스크립트를 사용하여 Vercel을 통해 배포됩니다. README에서는 데스크톱 패키징을 위해 이 스크립트를 변경하지 말라고 경고합니다. 데스크톱 (Electron, 오프라인) 개발에는 Next 개발 서버와 Electron 셸을 결합한 pnpm dev:desktop을 사용합니다. 프로덕션 패키징에는 pnpm package를 사용하며, 이는 BUILD_TARGET=desktop으로 out/에 정적 내보내기를 수행한 다음 electron/과 out/을 electron-builder로 패키징합니다. 설치 프로그램은 release/에 작성됩니다. 플랫폼별 및 언팩 변형은 pnpm package:dir, package:mac, package:win, package:linux를 통해 사용할 수 있습니다. 파일 입출력 웹과 데스크톱은 동일한 브라우저 선택기를 공유하며, File System Access API를 input/download 폴백과 함께 사용합니다. Electron 브리지는 창 크롬, 임시 파일, ffmpeg 내보내기용으로 예약되어 있으며, 필요할 때만 절대 경로를 사용합니다. 자세한 내용은 docs/desktop-capabilities.md에 있습니다. 영상 내보내기 웹에서는 내보내기가 브라우저 MediaRecorder(WebM, 지원되는 경우 MP4)를 사용합니다. 데스크톱에서는 내보내기가 오프라인 프레임 렌더링을 수행한 다음 번들된 ffmpeg 바이너리를 사용하여 MP4(H.264/AAC)를 생성합니다. 패키징 명령은 플랫폼 바이너리를 다운로드하여 bin/ 아래에 포함합니다. 커뮤니티 및 지원 README에는 데모 영상, 프로젝트 웹사이트, Discord 채팅, Reddit 포럼, 버그 보고를 위한 GitHub 이슈 트래커 링크가 있습니다.