1P by GN⁺ 4시간전 | ★ favorite | 댓글 1개
  • 데스크톱용으로 개발된 SolveSpace CADemscripten을 통해 브라우저에서 실행 가능한 형태로 포팅됨
  • 웹 버전은 최신 개발 브랜치 기반의 실험적 빌드로, 일부 속도 저하와 버그가 존재함
  • 한 번 로드되면 네트워크 연결 없이 오프라인에서도 동작하며, 정적 웹사이트처럼 직접 호스팅 가능
  • GitHub의 “building for web (very experimental)” 섹션을 참고해 사용자가 직접 빌드 및 배포할 수 있음
  • 브라우저 환경에서 경량 CAD 엔진의 확장 가능성을 보여주는 오픈소스 실험 프로젝트

SolveSpace 웹 실험 버전

  • SolveSpace는 원래 데스크톱용 CAD 소프트웨어로 개발된 프로그램임
    • emscripten을 이용해 브라우저에서도 실행될 만큼 코드가 작고 효율적인 구조임
    • 웹 버전은 일부 속도 저하버그가 있으나, 작은 모델에서는 충분히 동작함
  • 현재 제공되는 웹 버전은 최신 개발 브랜치에서 빌드된 실험적 형태
    • 데스크톱 버전에서는 나타나지 않는 문제나 오류가 발생할 수 있음
    • 발견된 버그는 GitHub의 공식 이슈 트래커를 통해 보고 가능함
  • 웹 버전은 로드 이후 네트워크 의존성이 없음
    • 한 번 로드되면 오프라인 상태에서도 사용 가능
    • 사용자는 직접 빌드 및 호스팅하여 정적 웹사이트처럼 배포할 수 있음
  • 자체 호스팅은 GitHub 저장소의 “building for web (very experimental)” 섹션을 참고해 진행 가능함
    • 빌드된 결과물은 일반적인 정적 웹사이트처럼 서버에 업로드해 사용할 수 있음
  • SolveSpace의 웹 버전은 브라우저 기반 오픈소스 CAD의 가능성을 보여주는 실험적 시도
    • 데스크톱 수준의 기능을 웹 환경에서 구현하려는 경량 CAD 엔진의 확장 사례
Hacker News 의견들
  • SolveSpace는 파라메트릭 CAD에 대한 독특한 접근을 보여주는 멋진 도구임
    하지만 개발 속도가 많이 느려졌고, 모따기(chamfer) 같은 기본 기능조차 구현이 어려운 한계가 있음
    요즘은 Dune 3D가 사실상 정신적 후속작처럼 느껴짐

    • 다음 주요 목표가 바로 Chamfer와 Fillet 기능임
      일반적인 경우에 구현하기 매우 어렵기 때문에 모든 케이스를 다루지는 못할 예정임
      예전에 이 실험을 했을 때는 단순한 직선 압출의 위아래만 처리할 수 있었음
      이번에는 좀 더 일반화된 버전을 시도 중이며, 세 개의 필렛이 만나는 코너는 특히 골치 아플 것 같음
    • Dune3D는 내부적으로 SolveSpace를 엔진으로 사용하고 있음
    • FreeCAD는 SolveSpace의 제약이 없고, UX도 꽤 괜찮아짐
      그래서 나는 FreeCAD로 완전히 옮겼음
    • Dune3D와 FreeCAD의 비교가 궁금함
    • 오픈소스 CAD 생태계에는 Fusion 360을 대체할 천재 개발자가 필요함
      다들 힘을 합쳐서 제대로 된 CAD 엔진을 만들면 좋겠음
      Gimp는 아쉽고, Photoshop은 점점 폐쇄적으로 변하는데 이를 해결할 인재들이 움직이지 않는 게 안타까움
  • SolveSpace는 여러 한계에도 불구하고 사용하는 즐거움이 있는 도구임
    인터페이스가 단순하고 직관적이라 작업이 재미있음
    다만 제약 조건을 삭제하거나 충돌할 때 뜨는 모달 대화창은 흐름을 끊어서 불편함
    웹 포트를 만든 사람에게 경의를 표함. 정말 멋진 작업임

    • 그 공로는 2020년에 SolveSpace 유지보수를 그만둔 whitequark에게 돌아감
      이후 브랜치가 방치되었지만 몇몇 개발자들이 다시 살려냈고, 최신 릴리스에서는 사이트에 직접 통합함
      최근에도 PR을 병합했으며, whitequark의 기여가 여전히 크다고 생각함
  • 나는 FreeCAD를 점점 더 많이 쓰고 있지만, SolveSpace는 여전히 가벼운 설계 도구로 훌륭함
    특히 SendCutSend나 Oshcut 같은 서비스에 보낼 레이저 커팅용 부품 설계에 적합함
    브라우저에서 동작하게 만든 것도 인상적임

    • FreeCAD는 요즘 정말 놀라움
      Autodesk Fusion 360을 완전히 대체했고, 목공 프로젝트에도 충분히 쓸 수 있음
      UI도 이해하기 쉽고 기능도 깊음
      Blender나 Inkscape처럼 상용 툴에 맞먹는 수준으로 발전 중임
      다만 렌더링 기능은 아직 미흡함
    • 주말에 FreeCAD를 처음 써봤는데, 3시간 만에 PCI 브래킷을 만들어 3D 프린트까지 했음
      유튜브 튜토리얼만 따라 했는데, 25년 전 3D Studio Max 배울 때보다 훨씬 쉬웠음
  • 브라우저 기반 CAD 프로젝트 vcad.io를 직접 만들어봄
    Rust로 커널을 구현하고 WebAssembly로 컴파일했음
    소스코드도 공개함

    • 공차 처리와 부동소수점 오차 누적은 어떤 전략으로 다루고 있는지 궁금함
    • 모델 파일을 찾을 수 없다는 에러가 발생함
      huggingface 링크에서 파일이 누락된 듯함
    • 이 프로젝트가 경계 표현(B-rep) 방식을 사용하는지 궁금함
    • LLM에게 Rust 코드를 작성시켜서 CAD 디자인을 생성할 수도 있는 건지 흥미로움
  • 최근 3D 프린팅을 시작하면서 유튜브 광고로 많이 본 OnShape를 먼저 써봤음
    SolveSpace와 OnShape를 둘 다 써본 사람들의 비교 의견이 궁금함
    개인적으로 OnShape는 직관적이고 반응성도 좋음
    Fusion 360은 너무 느려서 5분 만에 꺼버렸음

  • 스트림 이벤트를 보면 "type":"content_block_delta" 같은 긴 문자열이 반복됨
    Anthropic이 약어를 도입하면 시스템 대역폭을 쉽게 절약할 수 있을 것 같음

  • 렌더링된 텍스트가 픽셀화된 폰트로 보여서 거슬림
    마치 힌팅 없이 픽셀 그리드에 억지로 맞춘 느낌임

    • GNU Unifont이라는 비트맵 폰트를 사용함
      텍스트가 약간 늘어지는 버그가 있을 수도 있음. 이전 윈도우 버전에서도 같은 문제가 있었음
    • 데스크톱 버전에서도 동일한 폰트를 쓰고 있어서 의도된 디자인일 가능성이 높음
  • 브라우저 기반 CAD나 디자인 제품을 만들어서 비싼 상용 플러그인을 대체할 수 있을지 늘 궁금했음
    요즘 흐름을 보면 충분히 실현 가능성이 있어 보임

  • SolveSpace는 공식적으로 Windows(Vista~11), Linux, macOS를 지원하고
    Emscripten으로 컴파일해 브라우저에서도 실행
    약간의 수정만 하면 Windows 2000에서도 동작
    관련 이슈 참고
    즉, 지난 26년간의 주요 플랫폼(단, MacOS 9 제외)에서 모두 실행 가능함