프로젝트 소개

Ori Studio는 오리가미 설계와 분석을 위한 워크스페이스다. 브라우저 앱과 Tauri v2 데스크톱 셸에서 공통으로 사용하는 React/Vite 프론트엔드를 여러 Rust 및 WebAssembly 엔진과 결합한 구조다. 기능 상당수는 커뮤니티 오리가미 도구의 포트에서 나왔으며, 그 위에 새로운 기능이 추가됐다. README에서 설명하는 핵심 기능은 다음과 같다. - 주름 패턴 생성과 편집. Orihime의 포크인 Oriedita 편집기를 Rust/WebAssembly로 이식한 것을 기반으로 하며, 접힘 가능성 진단, 복구, 파일 형식을 지원한다. - TreeMaker 기반 모델링. treemaker-core Rust 엔진은 모델 파일, 최적화, 실현 가능성 검사, 주름 패턴 생성, FOLD 변환, 시뮬레이션 준비를 담당한다. treemaker-cli는 모델을 검사, 검증, 최적화, 내보내기하는 명령줄 도구를 제공한다. - Box Pleating Studio에서 이식한 헤드리스 커널을 통한 박스 플리팅 제작. - Origami Simulator의 TypeScript 포트를 사용해 베이스를 대화형 3D 모델로 접는 Simulate 워크스페이스. - 트리를 ExplOri에 보내 가장 가까운 일치 결과를 보여주는 Search 22.5° 방식. - 베타 기능인 이미지에서 CP 감지: 정사각형 주름 패턴 사진이나 렌더링을 자른 뒤 검출 모델에 넣어 정확히 편집 가능한 패턴으로 해석한다. 모델은 한 번만 다운로드되며 45MB이고 기기에 유지된다. 설정 ▸ 모델에서 설치 상태를 확인할 수 있다. - Edit 워크스페이스는 주름 패턴과 함께 참고 이미지 추가를 지원한다. .ori 형식으로 내보낼 때는 기존 도구와의 호환성을 유지하기 위해 이미지가 제외된다. 저장소 구조는 apps/web(공통 프론트엔드), apps/tauri(데스크톱 래퍼), apps/cp-detect-architecture-inspector(검출 및 컴파일러 파이프라인을 단계별로 검사하는 로컬 디버그 UI)를 포함한다. 공개된 크레이트는 treemaker-core, treemaker-cli, treemaker-wasm, treemaker-fold, treemaker-flatfold와 oristudio-cp, oristudio-cp-wasm, oristudio-cp-compiler, oristudio-bp, oristudio-bp-wasm, oristudio-cp-detect, oristudio-cp-detect-wasm, oristudio-cp-eval, oristudio-cp-detect-inspector다. npm 워크스페이스 패키지는 @treemaker/web, @treemaker/tauri, @treemaker/origami-simulator, @treemaker/cp-detect-architecture-inspector를 포함한다. 시작 방법은 `npm ci`를 실행한 뒤 `npm run dev:web` 또는 `npm run dev:desktop`을 실행하는 것이다. Rust에서는 `cargo add treemaker-core` 또는 `cargo install treemaker-cli`로 사용할 수 있으며, WebAssembly 바인딩은 `treemaker-wasm = "0.1"`로 사용한다. 개발 검사는 cargo fmt/clippy/test, 웹 앱용 npm lint/typecheck/test, TreeMaker WASM 크레이트용 wasm-pack build/test를 포함한다. 호스팅 앱은 oristudio.dev에서 이용할 수 있다. 서명된 Apple Silicon DMG는 로컬 공증 빌드로부터 GitHub Releases에 게시되며, 다른 플랫폼은 아직 제공되지 않는다고 안내돼 있다. 이 프로젝트는 TreeMaker의 GPL 모델 코드를 직접 Rust로 이식한 부분을 포함하고 벤더링된 소스에서 WebAssembly로 컴파일한 ReferenceFinder를 번들하기 때문에 GPL-2.0-or-later 라이선스를 사용한다.