Show HN: Equilect – Rust VR 비디오 플레이어
hackernews
|
|
{'이벤트': '📰', '머신러닝/연구': '📰', '하드웨어/반도체': '📰', '취약점/보안': '📰', '기타 AI': '📰', 'AI 딜': '📰', 'AI 모델': '📰', 'AI 서비스': '📰', 'discount': '📰', 'news': '📰', 'review': '📰', 'tip': '📰'} news
#claude
#review
요약
몇 달 전(2026년 1월) Meta가 무언가를 더 이상 사용하지 않기 때문에 작동이 중단되었습니다. Rust VR 비디오 플레이어 이것이 휴대 가능하거나 휴대 가능한 단계가 되기를 바랍니다.
왜 중요한가
본문
Rust VR 비디오 플레이어 이것이 휴대 가능하거나 휴대 가능한 단계가 되기를 바랍니다.
그래픽에 WebGPU를 사용하므로 잠재적으로 Metal에서 실행될 수 있습니다.
VR 부품에는 OpenXR을 사용합니다.
내 첫 VR 비디오 플레이어가 노후화되었기 때문에 클로드에게 글을 쓰게 했습니다.
몇 달 전(2026년 1월) Meta가 무언가를 더 이상 사용하지 않기 때문에 작동이 중단되었습니다.
뭔지 모르겠어요.
나는 처음에 WebXR 플레이어를 작성하려고 시도했지만 결국에는 작동하지 않았습니다.
마침내 이 전체 AI 코드 생성 작업에 들어가는 것 외에는 이 작업을 시도하지 않았을 것입니다.
그게 당신의 잼이 아니라면 나는 완전히 이해합니다.
그래도 꽤 감동받았어요.
나는 이 저장소에 어떤 코드도 작성하지 않았습니다.
거의 100% 클로드입니다.
20시간 정도 감독을 했어요.
나는 Claude와 함께 문제를 해결했습니다.
코드를 100% 검토하지는 않았지만 Claude가 의심스러운 일을 하는 것을 포착하여 다시 작업하게 했습니다.
예를 들어, 한때 Claude에게 UI 문제를 해결하도록 하려고 했습니다.
Claude는 해결책을 생각해낸 다음 이를 코드의 7개 위치에 적용했습니다.
7곳에 고치는 건 말도 안 되는 일이었죠.
한 곳에서 수정하고 기존 7곳 모두 하나의 수정 사항을 사용하도록 해야 합니다.
Claude가 리뷰어가 처리하지 못하는 작업을 수행하는 것과 같은 몇 가지 문제가 있었습니다.
또 다른 하나는 특별한 솔루션을 원했다는 것입니다.
Claude가 처음에 프로젝션을 위해 구형 메시를 만들었고 저는 왜 그랬을까요?
셰이더에서 투영만 할 수 있는데 구가 필요한 이유는 무엇입니까?
WebXR 버전의 Claude를 예로 들었는데 비슷한 솔루션이 작동했습니다.
반면 클로드는 이것을 처음부터 만들었습니다.
아마도 가장 어려운 부분은 처음부터였을 것입니다. Claude는 wgpu를 OpenXR에 연결하려고 시도하고 더 낮은 수준의 작업을 파헤쳐야 했습니다.
저는 녹도 없고 OpenXR도 없으며 wgpu 경험도 없으며 이러한 것들을 연결하는 방법을 알아내는 데 얼마나 오랜 시간이 걸렸는지 전혀 모릅니다.
Claude가 하드웨어 가속 비디오 디코딩을 활성화하고 실제 크기와 다른 사용 크기와 관련된 YUV 문제를 처리하는 것이 어려울 것이라고 생각한 다른 곳도 있습니다.
이때 발견한 것은 계획서를 작성하고, 클로드에게도 계획서를 작성해달라고 부탁하고, 차근차근 진행하다 보면 좋은 결과가 나오는 경우가 많다.
물론 이것은 꽤 제한된 범위의 앱입니다.
유용하다면 GPU 부분에 대한 비디오를 상자로 분리하려고 할 수도 있습니다.
어쩌면 그것은 wgpu importExternalTexture 구현 상자의 시작일 수도 있습니다.
실행하면 홈 폴더가 열립니다.
비디오로 이동하면 재생됩니다.
저는 Oculus Rift-S에서만 테스트했기 때문에 다른 기기에 대한 PR이 필요할 수도 있습니다.
컨트롤은 B /Y 컨트롤 패널 표시/사라짐A /X 버튼 선택 컨트롤 패널에는 다음 아이콘이 있습니다. [이전][재생/일시 중지][다음][속도][루프][설정][찾아보기][종료] prev = 현재 비디오와 같은 폴더에 있는 이전 비디오로 이동재생\일시 중지 = 재생 및 일시 중지next = 현재 비디오와 같은 폴더에 있는 다음 비디오로 이동속도 = 1x, 2/3x, 1/2x, 1/3x, 1/4xloop = 1번 클릭하면 시작 설정, 두 번째 클릭하면 종료 설정, 세 번째 클릭하면 looping이 꺼집니다. 설정 = 프로젝션 모드를 선택할 수 있습니다.browse = 이름으로 비디오를 선택할 수 있습니다.exit = 앱 종료 비디오를 선택했는데 프로젝션이 잘못된 경우 설정으로 이동하여 비디오에 대한 올바른 설정을 선택하세요.
그들은 기억될 것입니다.
설정이 없는 비디오를 선택하면 마지막으로 재생한 비디오의 설정이 기본적으로 적용됩니다.
다음에 앱을 실행하면 마지막으로 사용한 폴더의 찾아보기 UI에서 앱이 시작됩니다.
명령줄에서 앱을 실행하고 재생할 파일 경로를 전달할 수 있습니다.
또는 폴더 경로를 전달할 수 있습니다. 이 경우 찾아보기 UI로 시작하여 비디오를 선택할 수 있습니다.
http:///path/somevideo.mp4와 같은 네트워크 URL을 전달할 수도 있습니다. Servez 또는 nginx 등과 같은 서버를 실행할 수 있으며 이를 통해 비디오에 액세스할 수 있습니다.
아이콘 텍스처 아틀라스와 로고를 다시 생성하려면 npx svg-texture-atlas 128 resources/icons resources/icons npx svg-to-png resources/images/equirect.svg resources/equiret.png 640 npx svg-to-png resources/images/equiret.svg resources/images/icon-32x32.png 32 32 npx svg-to-png resources/images/equirec.svg resources/images/icon-128x128.png 128 128 예, 빌드하려면 추가해야 하지만 자주 재생성할 필요는 없을 것으로 예상됩니다.
그래픽에 WebGPU를 사용하므로 잠재적으로 Metal에서 실행될 수 있습니다.
VR 부품에는 OpenXR을 사용합니다.
내 첫 VR 비디오 플레이어가 노후화되었기 때문에 클로드에게 글을 쓰게 했습니다.
몇 달 전(2026년 1월) Meta가 무언가를 더 이상 사용하지 않기 때문에 작동이 중단되었습니다.
뭔지 모르겠어요.
나는 처음에 WebXR 플레이어를 작성하려고 시도했지만 결국에는 작동하지 않았습니다.
마침내 이 전체 AI 코드 생성 작업에 들어가는 것 외에는 이 작업을 시도하지 않았을 것입니다.
그게 당신의 잼이 아니라면 나는 완전히 이해합니다.
그래도 꽤 감동받았어요.
나는 이 저장소에 어떤 코드도 작성하지 않았습니다.
거의 100% 클로드입니다.
20시간 정도 감독을 했어요.
나는 Claude와 함께 문제를 해결했습니다.
코드를 100% 검토하지는 않았지만 Claude가 의심스러운 일을 하는 것을 포착하여 다시 작업하게 했습니다.
예를 들어, 한때 Claude에게 UI 문제를 해결하도록 하려고 했습니다.
Claude는 해결책을 생각해낸 다음 이를 코드의 7개 위치에 적용했습니다.
7곳에 고치는 건 말도 안 되는 일이었죠.
한 곳에서 수정하고 기존 7곳 모두 하나의 수정 사항을 사용하도록 해야 합니다.
Claude가 리뷰어가 처리하지 못하는 작업을 수행하는 것과 같은 몇 가지 문제가 있었습니다.
또 다른 하나는 특별한 솔루션을 원했다는 것입니다.
Claude가 처음에 프로젝션을 위해 구형 메시를 만들었고 저는 왜 그랬을까요?
셰이더에서 투영만 할 수 있는데 구가 필요한 이유는 무엇입니까?
WebXR 버전의 Claude를 예로 들었는데 비슷한 솔루션이 작동했습니다.
반면 클로드는 이것을 처음부터 만들었습니다.
아마도 가장 어려운 부분은 처음부터였을 것입니다. Claude는 wgpu를 OpenXR에 연결하려고 시도하고 더 낮은 수준의 작업을 파헤쳐야 했습니다.
저는 녹도 없고 OpenXR도 없으며 wgpu 경험도 없으며 이러한 것들을 연결하는 방법을 알아내는 데 얼마나 오랜 시간이 걸렸는지 전혀 모릅니다.
Claude가 하드웨어 가속 비디오 디코딩을 활성화하고 실제 크기와 다른 사용 크기와 관련된 YUV 문제를 처리하는 것이 어려울 것이라고 생각한 다른 곳도 있습니다.
이때 발견한 것은 계획서를 작성하고, 클로드에게도 계획서를 작성해달라고 부탁하고, 차근차근 진행하다 보면 좋은 결과가 나오는 경우가 많다.
물론 이것은 꽤 제한된 범위의 앱입니다.
유용하다면 GPU 부분에 대한 비디오를 상자로 분리하려고 할 수도 있습니다.
어쩌면 그것은 wgpu importExternalTexture 구현 상자의 시작일 수도 있습니다.
실행하면 홈 폴더가 열립니다.
비디오로 이동하면 재생됩니다.
저는 Oculus Rift-S에서만 테스트했기 때문에 다른 기기에 대한 PR이 필요할 수도 있습니다.
컨트롤은 B /Y 컨트롤 패널 표시/사라짐A /X 버튼 선택 컨트롤 패널에는 다음 아이콘이 있습니다. [이전][재생/일시 중지][다음][속도][루프][설정][찾아보기][종료] prev = 현재 비디오와 같은 폴더에 있는 이전 비디오로 이동재생\일시 중지 = 재생 및 일시 중지next = 현재 비디오와 같은 폴더에 있는 다음 비디오로 이동속도 = 1x, 2/3x, 1/2x, 1/3x, 1/4xloop = 1번 클릭하면 시작 설정, 두 번째 클릭하면 종료 설정, 세 번째 클릭하면 looping이 꺼집니다. 설정 = 프로젝션 모드를 선택할 수 있습니다.browse = 이름으로 비디오를 선택할 수 있습니다.exit = 앱 종료 비디오를 선택했는데 프로젝션이 잘못된 경우 설정으로 이동하여 비디오에 대한 올바른 설정을 선택하세요.
그들은 기억될 것입니다.
설정이 없는 비디오를 선택하면 마지막으로 재생한 비디오의 설정이 기본적으로 적용됩니다.
다음에 앱을 실행하면 마지막으로 사용한 폴더의 찾아보기 UI에서 앱이 시작됩니다.
명령줄에서 앱을 실행하고 재생할 파일 경로를 전달할 수 있습니다.
또는 폴더 경로를 전달할 수 있습니다. 이 경우 찾아보기 UI로 시작하여 비디오를 선택할 수 있습니다.
http:///path/somevideo.mp4와 같은 네트워크 URL을 전달할 수도 있습니다. Servez 또는 nginx 등과 같은 서버를 실행할 수 있으며 이를 통해 비디오에 액세스할 수 있습니다.
아이콘 텍스처 아틀라스와 로고를 다시 생성하려면 npx svg-texture-atlas 128 resources/icons resources/icons npx svg-to-png resources/images/equirect.svg resources/equiret.png 640 npx svg-to-png resources/images/equiret.svg resources/images/icon-32x32.png 32 32 npx svg-to-png resources/images/equirec.svg resources/images/icon-128x128.png 128 128 예, 빌드하려면 추가해야 하지만 자주 재생성할 필요는 없을 것으로 예상됩니다.